@payloadcms/ui 3.73.0-internal.e61e2ce → 3.73.0-internal.ff401d9
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.
- package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/index.js +15 -12
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/Link/index.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.js +5 -1
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/exports/client/{CodeEditor-QOURTFMT.js → CodeEditor-6KT2JS6X.js} +2 -2
- package/dist/exports/client/{DatePicker-KIFZZD6G.js → DatePicker-TDXLCEZV.js} +2 -2
- package/dist/exports/client/chunk-TBYRZYQJ.js +27 -0
- package/dist/exports/client/chunk-TBYRZYQJ.js.map +7 -0
- package/dist/exports/client/chunk-UN66UDCU.js +29 -0
- package/dist/exports/client/{chunk-SXTBYES4.js.map → chunk-UN66UDCU.js.map} +4 -4
- package/dist/exports/client/index.js +12 -12
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.js +1 -1
- package/dist/exports/shared/index.js.map +1 -1
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +6 -0
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/hooks/useEffectEvent.d.ts +14 -1
- package/dist/hooks/useEffectEvent.d.ts.map +1 -1
- package/dist/hooks/useEffectEvent.js +12 -34
- package/dist/hooks/useEffectEvent.js.map +1 -1
- package/dist/providers/LivePreview/index.d.ts.map +1 -1
- package/dist/providers/LivePreview/index.js +4 -1
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/upsertPreferences.d.ts.map +1 -1
- package/dist/utilities/upsertPreferences.js +2 -1
- package/dist/utilities/upsertPreferences.js.map +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +17 -0
- package/dist/views/Edit/index.js.map +1 -1
- package/package.json +8 -8
- package/dist/exports/client/chunk-53XJ3K67.js +0 -27
- package/dist/exports/client/chunk-53XJ3K67.js.map +0 -7
- package/dist/exports/client/chunk-SXTBYES4.js +0 -29
- /package/dist/exports/client/{CodeEditor-QOURTFMT.js.map → CodeEditor-6KT2JS6X.js.map} +0 -0
- /package/dist/exports/client/{DatePicker-KIFZZD6G.js.map → DatePicker-TDXLCEZV.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upsertPreferences.d.ts","sourceRoot":"","sources":["../../src/utilities/upsertPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAO7E,KAAK,aAAa,CAAC,CAAC,IAAI;IACtB,EAAE,EAAE,qBAAqB,GAAG,SAAS,CAAA;IACrC,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS,CAAA;CACtB,CAAA;AAED,KAAK,YAAY,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,CAAA;AAQ5E,eAAO,MAAM,cAAc,GAClB,CAAC,OACD,MAAM,WACF,OAAO,UACR,qBAAqB,YACnB,MAAM,KACf,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CA+B5B,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAU,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,oDAK/E;IACD,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,YAAY,KAAK,CAAC,CAAA;IACnF,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,cAAc,CAAA;IACnB,KAAK,EAAE,CAAC,CAAA;CACT,KAAG,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"upsertPreferences.d.ts","sourceRoot":"","sources":["../../src/utilities/upsertPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAO7E,KAAK,aAAa,CAAC,CAAC,IAAI;IACtB,EAAE,EAAE,qBAAqB,GAAG,SAAS,CAAA;IACrC,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS,CAAA;CACtB,CAAA;AAED,KAAK,YAAY,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,CAAA;AAQ5E,eAAO,MAAM,cAAc,GAClB,CAAC,OACD,MAAM,WACF,OAAO,UACR,qBAAqB,YACnB,MAAM,KACf,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CA+B5B,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAU,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,oDAK/E;IACD,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,YAAY,KAAK,CAAC,CAAA;IACnF,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,cAAc,CAAA;IACnB,KAAK,EAAE,CAAC,CAAA;CACT,KAAG,OAAO,CAAC,CAAC,CA0DZ,CAAA"}
|
|
@@ -46,7 +46,7 @@ export const upsertPreferences = async ({
|
|
|
46
46
|
const existingPrefs = req.user ? await getPreferences(key, req.payload, req.user.id, req.user.collection) : {};
|
|
47
47
|
let newPrefs = existingPrefs?.value;
|
|
48
48
|
if (!existingPrefs?.id) {
|
|
49
|
-
await req.payload.create({
|
|
49
|
+
const createdPrefs = await req.payload.create({
|
|
50
50
|
collection: 'payload-preferences',
|
|
51
51
|
data: {
|
|
52
52
|
key,
|
|
@@ -60,6 +60,7 @@ export const upsertPreferences = async ({
|
|
|
60
60
|
disableTransaction: true,
|
|
61
61
|
user: req.user
|
|
62
62
|
});
|
|
63
|
+
return createdPrefs.value;
|
|
63
64
|
} else {
|
|
64
65
|
let mergedPrefs;
|
|
65
66
|
if (typeof customMerge === 'function') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upsertPreferences.js","names":["dequal","cache","removeUndefined","defaultMerge","existingValue","incomingValue","getPreferences","key","payload","userID","userSlug","result","find","collection","depth","limit","pagination","where","and","equals","then","res","docs","upsertPreferences","customMerge","req","value","existingPrefs","user","id","newPrefs","create","data","disableTransaction","mergedPrefs","update"],"sources":["../../src/utilities/upsertPreferences.ts"],"sourcesContent":["import type { DefaultDocumentIDType, Payload, PayloadRequest } from 'payload'\n\nimport { dequal } from 'dequal/lite'\nimport { cache } from 'react'\n\nimport { removeUndefined } from './removeUndefined.js'\n\ntype PreferenceDoc<T> = {\n id: DefaultDocumentIDType | undefined\n value?: T | undefined\n}\n\ntype DefaultMerge = <T>(existingValue: T, incomingValue: T | undefined) => T\n\nconst defaultMerge: DefaultMerge = <T>(existingValue: T, incomingValue: T | undefined) =>\n ({\n ...(typeof existingValue === 'object' ? existingValue : {}), // Shallow merge existing prefs to acquire any missing keys from incoming value\n ...removeUndefined(incomingValue || {}),\n }) as T\n\nexport const getPreferences = cache(\n async <T>(\n key: string,\n payload: Payload,\n userID: DefaultDocumentIDType,\n userSlug: string,\n ): Promise<PreferenceDoc<T>> => {\n const result = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n and: [\n {\n key: {\n equals: key,\n },\n },\n {\n 'user.relationTo': {\n equals: userSlug,\n },\n },\n {\n 'user.value': {\n equals: userID,\n },\n },\n ],\n },\n })\n .then((res) => res.docs?.[0])) as { id: DefaultDocumentIDType; value: T }\n\n return result\n },\n)\n\n/**\n * Will update the given preferences by key, creating a new record if it doesn't already exist, or merging existing preferences with the new value.\n * This is not possible to do with the existing `db.upsert` operation because it stores on the `value` key and does not perform a deep merge beyond the first level.\n * I.e. if you have a preferences record with a `value` key, `db.upsert` will overwrite the existing value. In the future if this supported we should use that instead.\n * @param req - The PayloadRequest object\n * @param key - The key of the preferences to update\n * @param value - The new value to merge with the existing preferences\n */\nexport const upsertPreferences = async <T extends Record<string, unknown> | string>({\n customMerge,\n key,\n req,\n value: incomingValue,\n}: {\n customMerge?: (existingValue: T, incomingValue: T, defaultMerge: DefaultMerge) => T\n key: string\n req: PayloadRequest\n value: T\n}): Promise<T> => {\n const existingPrefs: PreferenceDoc<T> = req.user\n ? await getPreferences<T>(key, req.payload, req.user.id, req.user.collection)\n : ({} as PreferenceDoc<T>)\n\n let newPrefs = existingPrefs?.value\n\n if (!existingPrefs?.id) {\n await req.payload.create({\n collection: 'payload-preferences',\n data: {\n key,\n user: {\n collection: req.user.collection,\n value: req.user.id,\n },\n value: incomingValue,\n },\n depth: 0,\n disableTransaction: true,\n user: req.user,\n })\n } else {\n let mergedPrefs: T\n\n if (typeof customMerge === 'function') {\n mergedPrefs = customMerge(existingPrefs.value, incomingValue, defaultMerge)\n } else {\n // Strings are valid JSON, i.e. `locale` saved as a string to the locale preferences\n mergedPrefs =\n typeof incomingValue === 'object'\n ? defaultMerge<T>(existingPrefs.value, incomingValue)\n : incomingValue\n }\n\n if (!dequal(mergedPrefs, existingPrefs.value)) {\n newPrefs = await req.payload\n .update({\n id: existingPrefs.id,\n collection: 'payload-preferences',\n data: {\n key,\n user: {\n collection: req.user.collection,\n value: req.user.id,\n },\n value: mergedPrefs,\n },\n depth: 0,\n disableTransaction: true,\n user: req.user,\n })\n ?.then((res) => res.value)\n }\n }\n\n return newPrefs\n}\n"],"mappings":"AAEA,SAASA,MAAM,QAAQ;AACvB,SAASC,KAAK,QAAQ;AAEtB,SAASC,eAAe,QAAQ;AAShC,MAAMC,YAAA,GAA6BA,CAAIC,aAAA,EAAkBC,aAAA,MACtD;EACC,IAAI,OAAOD,aAAA,KAAkB,WAAWA,aAAA,GAAgB,CAAC,CAAC;EAC1D,GAAGF,eAAA,CAAgBG,aAAA,IAAiB,CAAC;AACvC;AAEF,OAAO,MAAMC,cAAA,GAAiBL,KAAA,CAC5B,OACEM,GAAA,EACAC,OAAA,EACAC,MAAA,EACAC,QAAA;EAEA,MAAMC,MAAA,GAAU,MAAMH,OAAA,CACnBI,IAAI,CAAC;IACJC,UAAA,EAAY;IACZC,KAAA,EAAO;IACPC,KAAA,EAAO;IACPC,UAAA,EAAY;IACZC,KAAA,EAAO;MACLC,GAAA,EAAK,CACH;QACEX,GAAA,EAAK;UACHY,MAAA,EAAQZ;QACV;MACF,GACA;QACE,mBAAmB;UACjBY,MAAA,EAAQT;QACV;MACF,GACA;QACE,cAAc;UACZS,MAAA,EAAQV;QACV;MACF;IAEJ;EACF,GACCW,IAAI,CAAEC,GAAA,IAAQA,GAAA,CAAIC,IAAI,GAAG,EAAE;EAE9B,OAAOX,MAAA;AACT;AAGF;;;;;;;;AAQA,OAAO,MAAMY,iBAAA,GAAoB,MAAAA,CAAmD;EAClFC,WAAW;EACXjB,GAAG;EACHkB,GAAG;EACHC,KAAA,EAAOrB;AAAa,CAMrB;EACC,MAAMsB,aAAA,GAAkCF,GAAA,CAAIG,IAAI,GAC5C,MAAMtB,cAAA,CAAkBC,GAAA,EAAKkB,GAAA,CAAIjB,OAAO,EAAEiB,GAAA,CAAIG,IAAI,CAACC,EAAE,EAAEJ,GAAA,CAAIG,IAAI,CAACf,UAAU,IACzE,CAAC;EAEN,IAAIiB,QAAA,GAAWH,aAAA,EAAeD,KAAA;EAE9B,IAAI,CAACC,aAAA,EAAeE,EAAA,EAAI;IACtB,
|
|
1
|
+
{"version":3,"file":"upsertPreferences.js","names":["dequal","cache","removeUndefined","defaultMerge","existingValue","incomingValue","getPreferences","key","payload","userID","userSlug","result","find","collection","depth","limit","pagination","where","and","equals","then","res","docs","upsertPreferences","customMerge","req","value","existingPrefs","user","id","newPrefs","createdPrefs","create","data","disableTransaction","mergedPrefs","update"],"sources":["../../src/utilities/upsertPreferences.ts"],"sourcesContent":["import type { DefaultDocumentIDType, Payload, PayloadRequest } from 'payload'\n\nimport { dequal } from 'dequal/lite'\nimport { cache } from 'react'\n\nimport { removeUndefined } from './removeUndefined.js'\n\ntype PreferenceDoc<T> = {\n id: DefaultDocumentIDType | undefined\n value?: T | undefined\n}\n\ntype DefaultMerge = <T>(existingValue: T, incomingValue: T | undefined) => T\n\nconst defaultMerge: DefaultMerge = <T>(existingValue: T, incomingValue: T | undefined) =>\n ({\n ...(typeof existingValue === 'object' ? existingValue : {}), // Shallow merge existing prefs to acquire any missing keys from incoming value\n ...removeUndefined(incomingValue || {}),\n }) as T\n\nexport const getPreferences = cache(\n async <T>(\n key: string,\n payload: Payload,\n userID: DefaultDocumentIDType,\n userSlug: string,\n ): Promise<PreferenceDoc<T>> => {\n const result = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n and: [\n {\n key: {\n equals: key,\n },\n },\n {\n 'user.relationTo': {\n equals: userSlug,\n },\n },\n {\n 'user.value': {\n equals: userID,\n },\n },\n ],\n },\n })\n .then((res) => res.docs?.[0])) as { id: DefaultDocumentIDType; value: T }\n\n return result\n },\n)\n\n/**\n * Will update the given preferences by key, creating a new record if it doesn't already exist, or merging existing preferences with the new value.\n * This is not possible to do with the existing `db.upsert` operation because it stores on the `value` key and does not perform a deep merge beyond the first level.\n * I.e. if you have a preferences record with a `value` key, `db.upsert` will overwrite the existing value. In the future if this supported we should use that instead.\n * @param req - The PayloadRequest object\n * @param key - The key of the preferences to update\n * @param value - The new value to merge with the existing preferences\n */\nexport const upsertPreferences = async <T extends Record<string, unknown> | string>({\n customMerge,\n key,\n req,\n value: incomingValue,\n}: {\n customMerge?: (existingValue: T, incomingValue: T, defaultMerge: DefaultMerge) => T\n key: string\n req: PayloadRequest\n value: T\n}): Promise<T> => {\n const existingPrefs: PreferenceDoc<T> = req.user\n ? await getPreferences<T>(key, req.payload, req.user.id, req.user.collection)\n : ({} as PreferenceDoc<T>)\n\n let newPrefs = existingPrefs?.value\n\n if (!existingPrefs?.id) {\n const createdPrefs = await req.payload.create({\n collection: 'payload-preferences',\n data: {\n key,\n user: {\n collection: req.user.collection,\n value: req.user.id,\n },\n value: incomingValue,\n },\n depth: 0,\n disableTransaction: true,\n user: req.user,\n })\n return createdPrefs.value\n } else {\n let mergedPrefs: T\n\n if (typeof customMerge === 'function') {\n mergedPrefs = customMerge(existingPrefs.value, incomingValue, defaultMerge)\n } else {\n // Strings are valid JSON, i.e. `locale` saved as a string to the locale preferences\n mergedPrefs =\n typeof incomingValue === 'object'\n ? defaultMerge<T>(existingPrefs.value, incomingValue)\n : incomingValue\n }\n\n if (!dequal(mergedPrefs, existingPrefs.value)) {\n newPrefs = await req.payload\n .update({\n id: existingPrefs.id,\n collection: 'payload-preferences',\n data: {\n key,\n user: {\n collection: req.user.collection,\n value: req.user.id,\n },\n value: mergedPrefs,\n },\n depth: 0,\n disableTransaction: true,\n user: req.user,\n })\n ?.then((res) => res.value)\n }\n }\n\n return newPrefs\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAIlE,OAAO,KAAsE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAIlE,OAAO,KAAsE,MAAM,OAAO,CAAA;AAoC1F,OAAO,cAAc,CAAA;AAKrB,MAAM,MAAM,aAAa,GAAG;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAKD,wBAAgB,eAAe,CAAC,EAC9B,sBAAsB,EACtB,WAAW,EACX,aAAa,EACb,WAAW,EAAE,iBAAiB,EAC9B,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,MAAM,EACN,MAAM,EAAE,YAAY,EACpB,cAAc,GACf,EAAE,uBAAuB,qBAsrBzB"}
|
package/dist/views/Edit/index.js
CHANGED
|
@@ -4,6 +4,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
4
4
|
import { useRouter, useSearchParams } from 'next/navigation.js';
|
|
5
5
|
import { formatAdminURL, hasAutosaveEnabled } from 'payload/shared';
|
|
6
6
|
import React, { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
7
|
+
import { toast } from 'sonner';
|
|
7
8
|
import { DocumentControls } from '../../elements/DocumentControls/index.js';
|
|
8
9
|
import { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js';
|
|
9
10
|
import { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js';
|
|
@@ -35,6 +36,7 @@ import { SetDocumentStepNav } from './SetDocumentStepNav/index.js';
|
|
|
35
36
|
import { SetDocumentTitle } from './SetDocumentTitle/index.js';
|
|
36
37
|
import './index.scss';
|
|
37
38
|
const baseClass = 'collection-edit';
|
|
39
|
+
const PENDING_SUCCESS_TOAST_KEY = 'payload-pending-success-toast';
|
|
38
40
|
// This component receives props only on _pages_
|
|
39
41
|
// When rendered within a drawer, props are empty
|
|
40
42
|
// This is solely to support custom edit views which get server-rendered
|
|
@@ -257,6 +259,10 @@ export function DefaultEditView({
|
|
|
257
259
|
});
|
|
258
260
|
}
|
|
259
261
|
if (!isEditing && depth < 2 && redirectAfterCreate !== false) {
|
|
262
|
+
// Store success message to show after redirect
|
|
263
|
+
if (json.message && typeof window !== 'undefined') {
|
|
264
|
+
window.sessionStorage.setItem(PENDING_SUCCESS_TOAST_KEY, json.message);
|
|
265
|
+
}
|
|
260
266
|
// Redirect to the same locale if it's been set
|
|
261
267
|
const redirectRoute = formatAdminURL({
|
|
262
268
|
adminRoute,
|
|
@@ -383,6 +389,16 @@ export function DefaultEditView({
|
|
|
383
389
|
abortAndIgnore(abortOnSave);
|
|
384
390
|
};
|
|
385
391
|
}, []);
|
|
392
|
+
// Show pending success toast after redirect from create
|
|
393
|
+
useEffect(() => {
|
|
394
|
+
if (!isInitializing && typeof window !== 'undefined') {
|
|
395
|
+
const pendingMessage = window.sessionStorage.getItem(PENDING_SUCCESS_TOAST_KEY);
|
|
396
|
+
if (pendingMessage) {
|
|
397
|
+
window.sessionStorage.removeItem(PENDING_SUCCESS_TOAST_KEY);
|
|
398
|
+
toast.success(pendingMessage);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
}, [isInitializing]);
|
|
386
402
|
const shouldShowDocumentLockedModal = documentIsLocked && currentEditor && (typeof currentEditor === 'object' ? currentEditor.id !== user?.id : currentEditor !== user?.id) && !isReadOnlyForIncomingUser && !showTakeOverModal && !documentLockState.current?.hasShownLockedModal && !isLockExpired;
|
|
387
403
|
const isFolderCollection = config.folders && collectionSlug === config.folders?.slug;
|
|
388
404
|
return /*#__PURE__*/_jsx("main", {
|
|
@@ -393,6 +409,7 @@ export function DefaultEditView({
|
|
|
393
409
|
action: action,
|
|
394
410
|
className: `${baseClass}__form`,
|
|
395
411
|
disabled: isReadOnlyForIncomingUser || isInitializing || !hasSavePermission || isTrashed,
|
|
412
|
+
disableSuccessStatus: !isEditing && depth < 2 && redirectAfterCreate !== false,
|
|
396
413
|
disableValidationOnSubmit: !validateBeforeSubmit,
|
|
397
414
|
initialState: !isInitializing && initialState,
|
|
398
415
|
isDocumentForm: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useRouter","useSearchParams","formatAdminURL","hasAutosaveEnabled","React","Fragment","useCallback","useEffect","useMemo","useRef","useState","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","LivePreviewWindow","Upload","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useLivePreviewContext","usePreviewURL","OperationProvider","useRouteCache","useRouteTransition","useServerFunctions","UploadControlsProvider","useUploadEdits","abortAndIgnore","handleAbortRef","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","BeforeDocumentControls","Description","EditMenuItems","LivePreview","CustomLivePreview","PreviewButton","PublishButton","SaveButton","SaveDraftButton","Status","CustomUpload","UploadControls","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","data","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","documentLockState","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialState","isEditing","isInitializing","isLocked","isTrashed","lastUpdateTime","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","setCurrentEditor","setData","setDocumentIsLocked","setLastUpdateTime","unlockDocument","updateDocumentEditor","clearDoc","drawerSlug","onDelete","onDuplicate","onRestore","onSave","onSaveFromContext","isInDrawer","Boolean","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","serverURL","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","startRouteTransition","clearRouteCache","isLivePreviewEnabled","isLivePreviewing","previewWindowType","setURL","setLivePreviewURL","typeofLivePreviewURL","url","livePreviewURL","isPreviewEnabled","setPreviewURL","abortOnChangeRef","abortOnSaveRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","preventLeaveWithoutSaving","schemaPathSegments","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","nextHrefRef","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","hasShownLockedModal","lastEditedAt","getTime","handlePrevent","nextHref","handleLeaveConfirm","lockUser","isLockOwnedByCurrentUser","nextPath","URL","pathname","isInternalView","some","path","includes","err","console","error","json","ctx","context","formState","controller","document","doc","result","updatedAt","toISOString","redirectRoute","push","docPreferences","previewURL","state","renderAllFields","returnLivePreviewURL","returnLockStatus","returnPreviewURL","schemaPath","join","signal","skipValidation","file","onChange","prevFormState","submitted","currentTime","timeSinceLastUpdate","updateLastEdited","abortOnChange","abortOnSave","shouldShowDocumentLockedModal","isFolderCollection","folders","_jsx","className","filter","_jsxs","disabled","disableValidationOnSubmit","isDocumentForm","method","onSuccess","AfterHeader","showDocumentID","isActive","onReadOnly","onTakeOver","documentLockStateRef","isWithinDoc","onConfirm","onPrevent","pluralLabel","labels","plural","useAsTitle","fallback","toString","customComponents","onDrawerCreateNew","permissions","readOnlyForIncomingUser","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","uploadConfig","fields","forceSidebarWrap","_Fragment"],"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientUser, DocumentViewClientProps } from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL, hasAutosaveEnabled } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { FormOnSuccess } from '../../forms/Form/types.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 { LivePreviewWindow } from '../../elements/LivePreview/Window/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 { useLivePreviewContext, usePreviewURL } from '../../providers/LivePreview/context.js'\nimport { OperationProvider } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { UploadControlsProvider } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.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\nexport type OnSaveContext = {\n getDocPermissions?: boolean\n incrementVersionCount?: boolean\n}\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 function DefaultEditView({\n BeforeDocumentControls,\n Description,\n EditMenuItems,\n LivePreview: CustomLivePreview,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Status,\n Upload: CustomUpload,\n UploadControls,\n}: DocumentViewClientProps) {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n data,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n documentLockState,\n getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialState,\n isEditing,\n isInitializing,\n isLocked,\n isTrashed,\n lastUpdateTime,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n setCurrentEditor,\n setData,\n setDocumentIsLocked,\n setLastUpdateTime,\n unlockDocument,\n updateDocumentEditor,\n } = useDocumentInfo()\n\n const {\n clearDoc,\n drawerSlug,\n onDelete,\n onDuplicate,\n onRestore,\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 serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\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 const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n const {\n isLivePreviewEnabled,\n isLivePreviewing,\n previewWindowType,\n setURL: setLivePreviewURL,\n typeofLivePreviewURL,\n url: livePreviewURL,\n } = useLivePreviewContext()\n const { isPreviewEnabled, setPreviewURL } = usePreviewURL()\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 = hasAutosaveEnabled(docConfig)\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 const isLockExpired = Date.now() > lockExpiryTime\n\n const preventLeaveWithoutSaving =\n !isReadOnlyForIncomingUser &&\n (typeof disableLeaveWithoutSaving !== 'undefined'\n ? !disableLeaveWithoutSaving\n : !autosaveEnabled)\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 nextHrefRef = React.useRef<null | string>(null)\n\n const handleDocumentLocking = useCallback(\n (lockedState: LockedState) => {\n setDocumentIsLocked(true)\n const previousOwnerID =\n typeof documentLockState.current?.user === 'object'\n ? documentLockState.current?.user?.id\n : documentLockState.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 (!documentLockState.current || lockedUserID !== previousOwnerID) {\n if (previousOwnerID === user.id && lockedUserID !== user.id) {\n setShowTakeOverModal(true)\n documentLockState.current.hasShownLockedModal = true\n }\n\n documentLockState.current = {\n hasShownLockedModal: documentLockState.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user as ClientUser,\n }\n setCurrentEditor(lockedState.user as ClientUser)\n }\n\n // Update lastUpdateTime when lock state changes\n if (lockedState.lastEditedAt) {\n setLastUpdateTime(new Date(lockedState.lastEditedAt).getTime())\n }\n }\n },\n [documentLockState, setCurrentEditor, setDocumentIsLocked, setLastUpdateTime, user?.id],\n )\n\n const handlePrevent = useCallback((nextHref: null | string) => {\n nextHrefRef.current = nextHref\n }, [])\n\n const handleLeaveConfirm = useCallback(async () => {\n const lockUser = documentLockState.current?.user\n\n const isLockOwnedByCurrentUser =\n typeof lockUser === 'object' ? lockUser?.id === user?.id : lockUser === user?.id\n\n if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {\n // Check where user is trying to go\n const nextPath = nextHrefRef.current ? new URL(nextHrefRef.current).pathname : ''\n const isInternalView = ['/preview', '/api', '/versions'].some((path) =>\n nextPath.includes(path),\n )\n\n // Remove the lock if the user is navigating away from the document view they have locked\n if (isLockOwnedByCurrentUser && !isInternalView) {\n try {\n await unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n } catch (err) {\n console.error('Failed to unlock before leave', err) // eslint-disable-line no-console\n }\n }\n }\n }, [\n collectionSlug,\n documentIsLocked,\n documentLockState,\n globalSlug,\n id,\n isLockingEnabled,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n user?.id,\n ])\n\n const onSave: FormOnSuccess<any, OnSaveContext> = useCallback(\n async (json, ctx) => {\n const { context, formState } = ctx || {}\n\n const controller = handleAbortRef(abortOnSaveRef)\n\n const document = json?.doc || json?.result\n\n const updatedAt = document?.updatedAt || new Date().toISOString()\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 setLastUpdateTime(updatedAt)\n\n if (context?.incrementVersionCount !== false) {\n incrementVersionCount()\n }\n\n if (typeof setData === 'function') {\n void setData(document || {})\n }\n\n if (typeof onSaveFromContext === 'function') {\n const operation = id ? 'update' : 'create'\n\n void onSaveFromContext({\n ...(json as Record<string, unknown>),\n context,\n operation,\n // @ts-expect-error todo: this is not right, should be under `doc`?\n updatedAt:\n operation === 'update'\n ? new Date().toISOString()\n : document?.updatedAt || new Date().toISOString(),\n })\n }\n\n if (!isEditing && depth < 2 && redirectAfterCreate !== false) {\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n\n startRouteTransition(() => router.push(redirectRoute))\n } else {\n resetUploadEdits()\n }\n\n if (context?.getDocPermissions !== false) {\n await getDocPermissions(json)\n }\n\n if (id || globalSlug) {\n const docPreferences = await getDocPreferences()\n\n const { livePreviewURL, previewURL, state } = await getFormState({\n id,\n collectionSlug,\n data: document,\n docPermissions,\n docPreferences,\n formState,\n globalSlug,\n operation,\n renderAllFields: false,\n returnLivePreviewURL: isLivePreviewEnabled && typeofLivePreviewURL === 'function',\n returnLockStatus: false,\n returnPreviewURL: isPreviewEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: true,\n })\n\n // For upload collections, clear the file field from the returned state\n // to prevent the File object from persisting in form state after save\n if (upload && state) {\n delete state.file\n }\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n if (isLivePreviewEnabled && typeofLivePreviewURL === 'function') {\n setLivePreviewURL(livePreviewURL)\n }\n\n if (isPreviewEnabled) {\n setPreviewURL(previewURL)\n }\n\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'update',\n updatedAt,\n })\n\n abortOnSaveRef.current = null\n\n return state\n } else {\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'create',\n updatedAt,\n })\n }\n },\n [\n user,\n collectionSlug,\n userSlug,\n id,\n setLastUpdateTime,\n setData,\n onSaveFromContext,\n isEditing,\n depth,\n redirectAfterCreate,\n globalSlug,\n refreshCookieAsync,\n incrementVersionCount,\n adminRoute,\n locale,\n startRouteTransition,\n router,\n resetUploadEdits,\n getDocPermissions,\n getDocPreferences,\n getFormState,\n docPermissions,\n operation,\n isLivePreviewEnabled,\n typeofLivePreviewURL,\n isPreviewEnabled,\n schemaPathSegments,\n upload,\n isLockingEnabled,\n reportUpdate,\n drawerSlug,\n entitySlug,\n setDocumentIsLocked,\n setLivePreviewURL,\n setPreviewURL,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\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 result = await getFormState({\n id,\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n renderAllFields: false,\n returnLockStatus: isLockingEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: !submitted,\n updateLastEdited,\n })\n\n if (!result) {\n return\n }\n\n const { lockedState, state } = result\n\n if (isLockingEnabled) {\n handleDocumentLocking(lockedState)\n }\n\n abortOnChangeRef.current = null\n\n return state\n },\n [\n editSessionStartTime,\n isLockingEnabled,\n getDocPreferences,\n getFormState,\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n operation,\n schemaPathSegments,\n handleDocumentLocking,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n setShowTakeOverModal(false)\n }\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 !documentLockState.current?.hasShownLockedModal &&\n !isLockExpired\n\n const isFolderCollection = config.folders && collectionSlug === config.folders?.slug\n\n return (\n <main\n className={[\n baseClass,\n (id || globalSlug) && `${baseClass}--is-editing`,\n globalSlug && `global-edit--${globalSlug}`,\n collectionSlug && `collection-edit--${collectionSlug}`,\n isLivePreviewing && previewWindowType === 'iframe' && `${baseClass}--is-live-previewing`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission || isTrashed}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isDocumentForm={true}\n isInitializing={isInitializing}\n key={`${isLocked}`}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {isInDrawer && (\n <DocumentDrawerHeader\n AfterHeader={Description}\n drawerSlug={drawerSlug}\n showDocumentID={!isFolderCollection}\n />\n )}\n {isLockingEnabled && shouldShowDocumentLockedModal && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router, serverURL })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: false,\n setCurrentEditor,\n updateDocumentEditor,\n user,\n })\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router, serverURL })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {preventLeaveWithoutSaving && (\n <LeaveWithoutSaving onConfirm={handleLeaveConfirm} onPrevent={handlePrevent} />\n )}\n {!isInDrawer && (\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n isTrashed={isTrashed}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\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 BeforeDocumentControls={BeforeDocumentControls}\n customComponents={{\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Status,\n }}\n data={data}\n disableActions={disableActions || isFolderCollection || isTrashed}\n disableCreate={disableCreate}\n EditMenuItems={EditMenuItems}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n isInDrawer={isInDrawer}\n isTrashed={isTrashed}\n onDelete={onDelete}\n onDrawerCreateNew={clearDoc}\n onDuplicate={onDuplicate}\n onRestore={onRestore}\n onSave={onSave}\n onTakeOver={() =>\n handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: true,\n setCurrentEditor,\n setIsReadOnlyForIncomingUser,\n updateDocumentEditor,\n user,\n })\n }\n permissions={docPermissions}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n redirectAfterRestore={redirectAfterRestore}\n slug={collectionConfig?.slug || globalConfig?.slug}\n user={currentEditor}\n />\n <div\n className={[\n `${baseClass}__main-wrapper`,\n previewWindowType === 'popup' && `${baseClass}--detached`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[\n `${baseClass}__main`,\n previewWindowType === 'popup' && `${baseClass}__main--popup-open`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n // eslint-disable-next-line react-compiler/react-compiler\n useAPIKey={auth.useAPIKey}\n username={data?.username}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n <UploadControlsProvider>\n {CustomUpload || (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n UploadControls={UploadControls}\n />\n )}\n </UploadControlsProvider>\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n Description={Description}\n docPermissions={docPermissions}\n fields={docConfig.fields}\n forceSidebarWrap={isLivePreviewing}\n isTrashed={isTrashed}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission || isTrashed}\n schemaPathSegments={schemaPathSegments}\n />\n {AfterDocument}\n </div>\n {isLivePreviewEnabled && !isInDrawer && livePreviewURL && (\n <>\n {CustomLivePreview || (\n <LivePreviewWindow collectionSlug={collectionSlug} globalSlug={globalSlug} />\n )}\n </>\n )}\n </div>\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["useRouter","useSearchParams","formatAdminURL","hasAutosaveEnabled","React","Fragment","useCallback","useEffect","useMemo","useRef","useState","toast","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","LivePreviewWindow","Upload","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useLivePreviewContext","usePreviewURL","OperationProvider","useRouteCache","useRouteTransition","useServerFunctions","UploadControlsProvider","useUploadEdits","abortAndIgnore","handleAbortRef","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","PENDING_SUCCESS_TOAST_KEY","DefaultEditView","BeforeDocumentControls","Description","EditMenuItems","LivePreview","CustomLivePreview","PreviewButton","PublishButton","SaveButton","SaveDraftButton","Status","CustomUpload","UploadControls","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","data","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","documentLockState","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialState","isEditing","isInitializing","isLocked","isTrashed","lastUpdateTime","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","setCurrentEditor","setData","setDocumentIsLocked","setLastUpdateTime","unlockDocument","updateDocumentEditor","clearDoc","drawerSlug","onDelete","onDuplicate","onRestore","onSave","onSaveFromContext","isInDrawer","Boolean","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","serverURL","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","startRouteTransition","clearRouteCache","isLivePreviewEnabled","isLivePreviewing","previewWindowType","setURL","setLivePreviewURL","typeofLivePreviewURL","url","livePreviewURL","isPreviewEnabled","setPreviewURL","abortOnChangeRef","abortOnSaveRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","preventLeaveWithoutSaving","schemaPathSegments","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","nextHrefRef","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","hasShownLockedModal","lastEditedAt","getTime","handlePrevent","nextHref","handleLeaveConfirm","lockUser","isLockOwnedByCurrentUser","nextPath","URL","pathname","isInternalView","some","path","includes","err","console","error","json","ctx","context","formState","controller","document","doc","result","updatedAt","toISOString","message","window","sessionStorage","setItem","redirectRoute","push","docPreferences","previewURL","state","renderAllFields","returnLivePreviewURL","returnLockStatus","returnPreviewURL","schemaPath","join","signal","skipValidation","file","onChange","prevFormState","submitted","currentTime","timeSinceLastUpdate","updateLastEdited","abortOnChange","abortOnSave","pendingMessage","getItem","removeItem","success","shouldShowDocumentLockedModal","isFolderCollection","folders","_jsx","className","filter","_jsxs","disabled","disableSuccessStatus","disableValidationOnSubmit","isDocumentForm","method","onSuccess","AfterHeader","showDocumentID","isActive","onReadOnly","onTakeOver","documentLockStateRef","isWithinDoc","onConfirm","onPrevent","pluralLabel","labels","plural","useAsTitle","fallback","toString","customComponents","onDrawerCreateNew","permissions","readOnlyForIncomingUser","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","uploadConfig","fields","forceSidebarWrap","_Fragment"],"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientUser, DocumentViewClientProps } from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL, hasAutosaveEnabled } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { FormOnSuccess } from '../../forms/Form/types.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 { LivePreviewWindow } from '../../elements/LivePreview/Window/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 { useLivePreviewContext, usePreviewURL } from '../../providers/LivePreview/context.js'\nimport { OperationProvider } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { UploadControlsProvider } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.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'\nconst PENDING_SUCCESS_TOAST_KEY = 'payload-pending-success-toast'\n\nexport type OnSaveContext = {\n getDocPermissions?: boolean\n incrementVersionCount?: boolean\n}\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 function DefaultEditView({\n BeforeDocumentControls,\n Description,\n EditMenuItems,\n LivePreview: CustomLivePreview,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Status,\n Upload: CustomUpload,\n UploadControls,\n}: DocumentViewClientProps) {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n data,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n documentLockState,\n getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialState,\n isEditing,\n isInitializing,\n isLocked,\n isTrashed,\n lastUpdateTime,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n setCurrentEditor,\n setData,\n setDocumentIsLocked,\n setLastUpdateTime,\n unlockDocument,\n updateDocumentEditor,\n } = useDocumentInfo()\n\n const {\n clearDoc,\n drawerSlug,\n onDelete,\n onDuplicate,\n onRestore,\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 serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\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 const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n const {\n isLivePreviewEnabled,\n isLivePreviewing,\n previewWindowType,\n setURL: setLivePreviewURL,\n typeofLivePreviewURL,\n url: livePreviewURL,\n } = useLivePreviewContext()\n const { isPreviewEnabled, setPreviewURL } = usePreviewURL()\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 = hasAutosaveEnabled(docConfig)\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 const isLockExpired = Date.now() > lockExpiryTime\n\n const preventLeaveWithoutSaving =\n !isReadOnlyForIncomingUser &&\n (typeof disableLeaveWithoutSaving !== 'undefined'\n ? !disableLeaveWithoutSaving\n : !autosaveEnabled)\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 nextHrefRef = React.useRef<null | string>(null)\n\n const handleDocumentLocking = useCallback(\n (lockedState: LockedState) => {\n setDocumentIsLocked(true)\n const previousOwnerID =\n typeof documentLockState.current?.user === 'object'\n ? documentLockState.current?.user?.id\n : documentLockState.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 (!documentLockState.current || lockedUserID !== previousOwnerID) {\n if (previousOwnerID === user.id && lockedUserID !== user.id) {\n setShowTakeOverModal(true)\n documentLockState.current.hasShownLockedModal = true\n }\n\n documentLockState.current = {\n hasShownLockedModal: documentLockState.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user as ClientUser,\n }\n setCurrentEditor(lockedState.user as ClientUser)\n }\n\n // Update lastUpdateTime when lock state changes\n if (lockedState.lastEditedAt) {\n setLastUpdateTime(new Date(lockedState.lastEditedAt).getTime())\n }\n }\n },\n [documentLockState, setCurrentEditor, setDocumentIsLocked, setLastUpdateTime, user?.id],\n )\n\n const handlePrevent = useCallback((nextHref: null | string) => {\n nextHrefRef.current = nextHref\n }, [])\n\n const handleLeaveConfirm = useCallback(async () => {\n const lockUser = documentLockState.current?.user\n\n const isLockOwnedByCurrentUser =\n typeof lockUser === 'object' ? lockUser?.id === user?.id : lockUser === user?.id\n\n if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {\n // Check where user is trying to go\n const nextPath = nextHrefRef.current ? new URL(nextHrefRef.current).pathname : ''\n const isInternalView = ['/preview', '/api', '/versions'].some((path) =>\n nextPath.includes(path),\n )\n\n // Remove the lock if the user is navigating away from the document view they have locked\n if (isLockOwnedByCurrentUser && !isInternalView) {\n try {\n await unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n } catch (err) {\n console.error('Failed to unlock before leave', err) // eslint-disable-line no-console\n }\n }\n }\n }, [\n collectionSlug,\n documentIsLocked,\n documentLockState,\n globalSlug,\n id,\n isLockingEnabled,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n user?.id,\n ])\n\n const onSave: FormOnSuccess<any, OnSaveContext> = useCallback(\n async (json, ctx) => {\n const { context, formState } = ctx || {}\n\n const controller = handleAbortRef(abortOnSaveRef)\n\n const document = json?.doc || json?.result\n\n const updatedAt = document?.updatedAt || new Date().toISOString()\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 setLastUpdateTime(updatedAt)\n\n if (context?.incrementVersionCount !== false) {\n incrementVersionCount()\n }\n\n if (typeof setData === 'function') {\n void setData(document || {})\n }\n\n if (typeof onSaveFromContext === 'function') {\n const operation = id ? 'update' : 'create'\n\n void onSaveFromContext({\n ...(json as Record<string, unknown>),\n context,\n operation,\n // @ts-expect-error todo: this is not right, should be under `doc`?\n updatedAt:\n operation === 'update'\n ? new Date().toISOString()\n : document?.updatedAt || new Date().toISOString(),\n })\n }\n\n if (!isEditing && depth < 2 && redirectAfterCreate !== false) {\n // Store success message to show after redirect\n if (json.message && typeof window !== 'undefined') {\n window.sessionStorage.setItem(PENDING_SUCCESS_TOAST_KEY, json.message)\n }\n\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n\n startRouteTransition(() => router.push(redirectRoute))\n } else {\n resetUploadEdits()\n }\n\n if (context?.getDocPermissions !== false) {\n await getDocPermissions(json)\n }\n\n if (id || globalSlug) {\n const docPreferences = await getDocPreferences()\n\n const { livePreviewURL, previewURL, state } = await getFormState({\n id,\n collectionSlug,\n data: document,\n docPermissions,\n docPreferences,\n formState,\n globalSlug,\n operation,\n renderAllFields: false,\n returnLivePreviewURL: isLivePreviewEnabled && typeofLivePreviewURL === 'function',\n returnLockStatus: false,\n returnPreviewURL: isPreviewEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: true,\n })\n\n // For upload collections, clear the file field from the returned state\n // to prevent the File object from persisting in form state after save\n if (upload && state) {\n delete state.file\n }\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n if (isLivePreviewEnabled && typeofLivePreviewURL === 'function') {\n setLivePreviewURL(livePreviewURL)\n }\n\n if (isPreviewEnabled) {\n setPreviewURL(previewURL)\n }\n\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'update',\n updatedAt,\n })\n\n abortOnSaveRef.current = null\n\n return state\n } else {\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'create',\n updatedAt,\n })\n }\n },\n [\n user,\n collectionSlug,\n userSlug,\n id,\n setLastUpdateTime,\n setData,\n onSaveFromContext,\n isEditing,\n depth,\n redirectAfterCreate,\n globalSlug,\n refreshCookieAsync,\n incrementVersionCount,\n adminRoute,\n locale,\n startRouteTransition,\n router,\n resetUploadEdits,\n getDocPermissions,\n getDocPreferences,\n getFormState,\n docPermissions,\n operation,\n isLivePreviewEnabled,\n typeofLivePreviewURL,\n isPreviewEnabled,\n schemaPathSegments,\n upload,\n isLockingEnabled,\n reportUpdate,\n drawerSlug,\n entitySlug,\n setDocumentIsLocked,\n setLivePreviewURL,\n setPreviewURL,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\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 result = await getFormState({\n id,\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n renderAllFields: false,\n returnLockStatus: isLockingEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: !submitted,\n updateLastEdited,\n })\n\n if (!result) {\n return\n }\n\n const { lockedState, state } = result\n\n if (isLockingEnabled) {\n handleDocumentLocking(lockedState)\n }\n\n abortOnChangeRef.current = null\n\n return state\n },\n [\n editSessionStartTime,\n isLockingEnabled,\n getDocPreferences,\n getFormState,\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n operation,\n schemaPathSegments,\n handleDocumentLocking,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n setShowTakeOverModal(false)\n }\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 // Show pending success toast after redirect from create\n useEffect(() => {\n if (!isInitializing && typeof window !== 'undefined') {\n const pendingMessage = window.sessionStorage.getItem(PENDING_SUCCESS_TOAST_KEY)\n\n if (pendingMessage) {\n window.sessionStorage.removeItem(PENDING_SUCCESS_TOAST_KEY)\n toast.success(pendingMessage)\n }\n }\n }, [isInitializing])\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 !documentLockState.current?.hasShownLockedModal &&\n !isLockExpired\n\n const isFolderCollection = config.folders && collectionSlug === config.folders?.slug\n\n return (\n <main\n className={[\n baseClass,\n (id || globalSlug) && `${baseClass}--is-editing`,\n globalSlug && `global-edit--${globalSlug}`,\n collectionSlug && `collection-edit--${collectionSlug}`,\n isLivePreviewing && previewWindowType === 'iframe' && `${baseClass}--is-live-previewing`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission || isTrashed}\n disableSuccessStatus={!isEditing && depth < 2 && redirectAfterCreate !== false}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isDocumentForm={true}\n isInitializing={isInitializing}\n key={`${isLocked}`}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {isInDrawer && (\n <DocumentDrawerHeader\n AfterHeader={Description}\n drawerSlug={drawerSlug}\n showDocumentID={!isFolderCollection}\n />\n )}\n {isLockingEnabled && shouldShowDocumentLockedModal && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router, serverURL })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: false,\n setCurrentEditor,\n updateDocumentEditor,\n user,\n })\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router, serverURL })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {preventLeaveWithoutSaving && (\n <LeaveWithoutSaving onConfirm={handleLeaveConfirm} onPrevent={handlePrevent} />\n )}\n {!isInDrawer && (\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n isTrashed={isTrashed}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\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 BeforeDocumentControls={BeforeDocumentControls}\n customComponents={{\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Status,\n }}\n data={data}\n disableActions={disableActions || isFolderCollection || isTrashed}\n disableCreate={disableCreate}\n EditMenuItems={EditMenuItems}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n isInDrawer={isInDrawer}\n isTrashed={isTrashed}\n onDelete={onDelete}\n onDrawerCreateNew={clearDoc}\n onDuplicate={onDuplicate}\n onRestore={onRestore}\n onSave={onSave}\n onTakeOver={() =>\n handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: true,\n setCurrentEditor,\n setIsReadOnlyForIncomingUser,\n updateDocumentEditor,\n user,\n })\n }\n permissions={docPermissions}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n redirectAfterRestore={redirectAfterRestore}\n slug={collectionConfig?.slug || globalConfig?.slug}\n user={currentEditor}\n />\n <div\n className={[\n `${baseClass}__main-wrapper`,\n previewWindowType === 'popup' && `${baseClass}--detached`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[\n `${baseClass}__main`,\n previewWindowType === 'popup' && `${baseClass}__main--popup-open`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n // eslint-disable-next-line react-compiler/react-compiler\n useAPIKey={auth.useAPIKey}\n username={data?.username}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n <UploadControlsProvider>\n {CustomUpload || (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n UploadControls={UploadControls}\n />\n )}\n </UploadControlsProvider>\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n Description={Description}\n docPermissions={docPermissions}\n fields={docConfig.fields}\n forceSidebarWrap={isLivePreviewing}\n isTrashed={isTrashed}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission || isTrashed}\n schemaPathSegments={schemaPathSegments}\n />\n {AfterDocument}\n </div>\n {isLivePreviewEnabled && !isInDrawer && livePreviewURL && (\n <>\n {CustomLivePreview || (\n <LivePreviewWindow collectionSlug={collectionSlug} globalSlug={globalSlug} />\n )}\n </>\n )}\n </div>\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/ui",
|
|
3
|
-
"version": "3.73.0-internal.
|
|
3
|
+
"version": "3.73.0-internal.ff401d9",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
"ts-essentials": "10.0.3",
|
|
137
137
|
"use-context-selector": "2.0.0",
|
|
138
138
|
"uuid": "10.0.0",
|
|
139
|
-
"@payloadcms/translations": "3.73.0-internal.
|
|
139
|
+
"@payloadcms/translations": "3.73.0-internal.ff401d9"
|
|
140
140
|
},
|
|
141
141
|
"devDependencies": {
|
|
142
142
|
"@babel/cli": "7.27.2",
|
|
@@ -145,20 +145,20 @@
|
|
|
145
145
|
"@babel/preset-react": "7.27.1",
|
|
146
146
|
"@babel/preset-typescript": "7.27.1",
|
|
147
147
|
"@hyrious/esbuild-plugin-commonjs": "0.2.6",
|
|
148
|
-
"@types/react": "19.2.
|
|
149
|
-
"@types/react-dom": "19.2.
|
|
148
|
+
"@types/react": "19.2.8",
|
|
149
|
+
"@types/react-dom": "19.2.3",
|
|
150
150
|
"@types/uuid": "10.0.0",
|
|
151
151
|
"babel-plugin-react-compiler": "19.1.0-rc.3",
|
|
152
|
-
"esbuild": "0.
|
|
152
|
+
"esbuild": "0.27.1",
|
|
153
153
|
"esbuild-sass-plugin": "3.3.1",
|
|
154
154
|
"@payloadcms/eslint-config": "3.28.0",
|
|
155
|
-
"payload": "3.73.0-internal.
|
|
155
|
+
"payload": "3.73.0-internal.ff401d9"
|
|
156
156
|
},
|
|
157
157
|
"peerDependencies": {
|
|
158
|
-
"next": "^15.2.8 || ^15.3.8 || ^15.4.10 || ^15.5.9",
|
|
158
|
+
"next": "^15.2.8 || ^15.3.8 || ^15.4.10 || ^15.5.9 || >=16.1.1-canary.35 <16.2.0 || ^16.2.0",
|
|
159
159
|
"react": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
160
160
|
"react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
161
|
-
"payload": "3.73.0-internal.
|
|
161
|
+
"payload": "3.73.0-internal.ff401d9"
|
|
162
162
|
},
|
|
163
163
|
"engines": {
|
|
164
164
|
"node": "^18.20.2 || >=20.9.0"
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
// Workaround for react-datepicker and other cjs dependencies potentially inserting require("react") statements
|
|
3
|
-
import * as requireReact from 'react';
|
|
4
|
-
import * as requireReactDom from 'react-dom';
|
|
5
|
-
|
|
6
|
-
function require(m) {
|
|
7
|
-
if (m === 'react') return requireReact;
|
|
8
|
-
if (m === 'react-dom') return requireReactDom;
|
|
9
|
-
throw new Error(`Unknown module ${m}`);
|
|
10
|
-
}
|
|
11
|
-
// Workaround end
|
|
12
|
-
|
|
13
|
-
import{c as Dr}from"react/compiler-runtime";import{jsx as Ge}from"react/jsx-runtime";function Je(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function de(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function oe(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?de(Object(r),!0).forEach(function(n){Je(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):de(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Qe(t,e){if(t==null)return{};var r={},n=Object.keys(t),o,i;for(i=0;i<n.length;i++)o=n[i],!(e.indexOf(o)>=0)&&(r[o]=t[o]);return r}function pe(t,e){if(t==null)return{};var r=Qe(t,e),n,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o<i.length;o++)n=i[o],!(e.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function ge(t,e){return Xe(t)||Ze(t,e)||et(t,e)||tt()}function Xe(t){if(Array.isArray(t))return t}function Ze(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var r=[],n=!0,o=!1,i=void 0;try{for(var a=t[Symbol.iterator](),u;!(n=(u=a.next()).done)&&(r.push(u.value),!(e&&r.length===e));n=!0);}catch(c){o=!0,i=c}finally{try{!n&&a.return!=null&&a.return()}finally{if(o)throw i}}return r}}function et(t,e){if(t){if(typeof t=="string")return me(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return me(t,e)}}function me(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function tt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
14
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function rt(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function he(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function ve(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?he(Object(r),!0).forEach(function(n){rt(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):he(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function nt(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return function(n){return e.reduceRight(function(o,i){return i(o)},n)}}function z(t){return function e(){for(var r=this,n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return o.length>=t.length?t.apply(this,o):function(){for(var a=arguments.length,u=new Array(a),c=0;c<a;c++)u[c]=arguments[c];return e.apply(r,[].concat(o,u))}}}function K(t){return{}.toString.call(t).includes("Object")}function ot(t){return!Object.keys(t).length}function B(t){return typeof t=="function"}function it(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function at(t,e){return K(e)||D("changeType"),Object.keys(e).some(function(r){return!it(t,r)})&&D("changeField"),e}function ct(t){B(t)||D("selectorType")}function ut(t){B(t)||K(t)||D("handlerType"),K(t)&&Object.values(t).some(function(e){return!B(e)})&&D("handlersType")}function st(t){t||D("initialIsRequired"),K(t)||D("initialType"),ot(t)&&D("initialContent")}function lt(t,e){throw new Error(t[e]||t.default)}var ft={initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"},D=z(lt)(ft),G={changes:at,selector:ct,handler:ut,initial:st};function dt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};G.initial(t),G.handler(e);var r={current:t},n=z(gt)(r,e),o=z(pt)(r),i=z(G.changes)(t),a=z(mt)(r);function u(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(l){return l};return G.selector(s),s(r.current)}function c(s){nt(n,o,i,a)(s)}return[u,c]}function mt(t,e){return B(e)?e(t.current):e}function pt(t,e){return t.current=ve(ve({},t.current),e),e}function gt(t,e,r){return B(e)?e(t.current):Object.keys(r).forEach(function(n){var o;return(o=e[n])===null||o===void 0?void 0:o.call(e,t.current[n])}),r}var ht={create:dt},be=ht;var vt={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.52.2/min/vs"}},ye=vt;function bt(t){return function e(){for(var r=this,n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return o.length>=t.length?t.apply(this,o):function(){for(var a=arguments.length,u=new Array(a),c=0;c<a;c++)u[c]=arguments[c];return e.apply(r,[].concat(o,u))}}}var we=bt;function yt(t){return{}.toString.call(t).includes("Object")}var Oe=yt;function wt(t){return t||je("configIsRequired"),Oe(t)||je("configType"),t.urls?(Ot(),{paths:{vs:t.urls.monacoBase}}):t}function Ot(){console.warn(Me.deprecation)}function jt(t,e){throw new Error(t[e]||t.default)}var Me={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
|
|
15
|
-
You are using deprecated way of configuration.
|
|
16
|
-
|
|
17
|
-
Instead of using
|
|
18
|
-
monaco.config({ urls: { monacoBase: '...' } })
|
|
19
|
-
use
|
|
20
|
-
monaco.config({ paths: { vs: '...' } })
|
|
21
|
-
|
|
22
|
-
For more please check the link https://github.com/suren-atoyan/monaco-loader#config
|
|
23
|
-
`},je=we(jt)(Me),Mt={config:wt},Se=Mt;var St=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return function(o){return r.reduceRight(function(i,a){return a(i)},o)}},xe=St;function Ce(t,e){return Object.keys(e).forEach(function(r){e[r]instanceof Object&&t[r]&&Object.assign(e[r],Ce(t[r],e[r]))}),oe(oe({},t),e)}var Ee=Ce;var xt={type:"cancelation",msg:"operation is manually canceled"};function Ct(t){var e=!1,r=new Promise(function(n,o){t.then(function(i){return e?o(xt):n(i)}),t.catch(o)});return r.cancel=function(){return e=!0},r}var Y=Ct;var Et=be.create({config:ye,isInitialized:!1,resolve:null,reject:null,monaco:null}),Pe=ge(Et,2),V=Pe[0],J=Pe[1];function Pt(t){var e=Se.config(t),r=e.monaco,n=pe(e,["monaco"]);J(function(o){return{config:Ee(o.config,n),monaco:r}})}function Tt(){var t=V(function(e){var r=e.monaco,n=e.isInitialized,o=e.resolve;return{monaco:r,isInitialized:n,resolve:o}});if(!t.isInitialized){if(J({isInitialized:!0}),t.monaco)return t.resolve(t.monaco),Y(ie);if(window.monaco&&window.monaco.editor)return Te(window.monaco),t.resolve(window.monaco),Y(ie);xe(At,It)(Dt)}return Y(ie)}function At(t){return document.body.appendChild(t)}function Rt(t){var e=document.createElement("script");return t&&(e.src=t),e}function It(t){var e=V(function(n){var o=n.config,i=n.reject;return{config:o,reject:i}}),r=Rt("".concat(e.config.paths.vs,"/loader.js"));return r.onload=function(){return t()},r.onerror=e.reject,r}function Dt(){var t=V(function(r){var n=r.config,o=r.resolve,i=r.reject;return{config:n,resolve:o,reject:i}}),e=window.require;e.config(t.config),e(["vs/editor/editor.main"],function(r){Te(r),t.resolve(r)},function(r){t.reject(r)})}function Te(t){V().monaco||J({monaco:t})}function Lt(){return V(function(t){var e=t.monaco;return e})}var ie=new Promise(function(t,e){return J({resolve:t,reject:e})}),_t={config:Pt,init:Tt,__getMonacoInstance:Lt},$=_t;import{memo as $t}from"react";import kt,{useState as Ae,useRef as k,useCallback as Re,useEffect as Ie}from"react";import{memo as Wt}from"react";import ae from"react";import Ht from"react";import{useEffect as Kt}from"react";import{useEffect as Jt,useRef as Qt}from"react";import{useState as wn}from"react";import{memo as nr}from"react";import or,{useState as De,useEffect as Q,useRef as R,useCallback as ir}from"react";import{useEffect as ar,useRef as cr}from"react";var Nt={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},ce=Nt,zt={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},Bt=zt;function Vt({children:t}){return Ht.createElement("div",{style:Bt.container},t)}var Ft=Vt,Ut=Ft;function qt({width:t,height:e,isEditorReady:r,loading:n,_ref:o,className:i,wrapperProps:a}){return ae.createElement("section",{style:{...ce.wrapper,width:t,height:e},...a},!r&&ae.createElement(Ut,null,n),ae.createElement("div",{ref:o,style:{...ce.fullWidth,...!r&&ce.hide},className:i}))}var Gt=qt,Le=Wt(Gt);function Yt(t){Kt(t,[])}var _e=Yt;function Xt(t,e,r=!0){let n=Qt(!0);Jt(n.current||!r?()=>{n.current=!1}:t,e)}var S=Xt;function F(){}function W(t,e,r,n){return Zt(t,n)||er(t,e,r,n)}function Zt(t,e){return t.editor.getModel($e(t,e))}function er(t,e,r,n){return t.editor.createModel(e,r,n?$e(t,n):void 0)}function $e(t,e){return t.Uri.parse(e)}function tr({original:t,modified:e,language:r,originalLanguage:n,modifiedLanguage:o,originalModelPath:i,modifiedModelPath:a,keepCurrentOriginalModel:u=!1,keepCurrentModifiedModel:c=!1,theme:s="light",loading:l="Loading...",options:d={},height:x="100%",width:w="100%",className:M,wrapperProps:E={},beforeMount:p=F,onMount:C=F}){let[y,L]=Ae(!1),[A,g]=Ae(!0),h=k(null),v=k(null),P=k(null),b=k(C),f=k(p),T=k(!1);_e(()=>{let m=$.init();return m.then(O=>(v.current=O)&&g(!1)).catch(O=>O?.type!=="cancelation"&&console.error("Monaco initialization: error:",O)),()=>h.current?H():m.cancel()}),S(()=>{if(h.current&&v.current){let m=h.current.getOriginalEditor(),O=W(v.current,t||"",n||r||"text",i||"");O!==m.getModel()&&m.setModel(O)}},[i],y),S(()=>{if(h.current&&v.current){let m=h.current.getModifiedEditor(),O=W(v.current,e||"",o||r||"text",a||"");O!==m.getModel()&&m.setModel(O)}},[a],y),S(()=>{let m=h.current.getModifiedEditor();m.getOption(v.current.editor.EditorOption.readOnly)?m.setValue(e||""):e!==m.getValue()&&(m.executeEdits("",[{range:m.getModel().getFullModelRange(),text:e||"",forceMoveMarkers:!0}]),m.pushUndoStop())},[e],y),S(()=>{h.current?.getModel()?.original.setValue(t||"")},[t],y),S(()=>{let{original:m,modified:O}=h.current.getModel();v.current.editor.setModelLanguage(m,n||r||"text"),v.current.editor.setModelLanguage(O,o||r||"text")},[r,n,o],y),S(()=>{v.current?.editor.setTheme(s)},[s],y),S(()=>{h.current?.updateOptions(d)},[d],y);let _=Re(()=>{if(!v.current)return;f.current(v.current);let m=W(v.current,t||"",n||r||"text",i||""),O=W(v.current,e||"",o||r||"text",a||"");h.current?.setModel({original:m,modified:O})},[r,e,o,t,n,i,a]),q=Re(()=>{!T.current&&P.current&&(h.current=v.current.editor.createDiffEditor(P.current,{automaticLayout:!0,...d}),_(),v.current?.editor.setTheme(s),L(!0),T.current=!0)},[d,s,_]);Ie(()=>{y&&b.current(h.current,v.current)},[y]),Ie(()=>{!A&&!y&&q()},[A,y,q]);function H(){let m=h.current?.getModel();u||m?.original?.dispose(),c||m?.modified?.dispose(),h.current?.dispose()}return kt.createElement(Le,{width:w,height:x,isEditorReady:y,loading:l,_ref:P,className:M,wrapperProps:E})}var rr=tr,bn=$t(rr);function ur(t){let e=cr();return ar(()=>{e.current=t},[t]),e.current}var sr=ur,X=new Map;function lr({defaultValue:t,defaultLanguage:e,defaultPath:r,value:n,language:o,path:i,theme:a="light",line:u,loading:c="Loading...",options:s={},overrideServices:l={},saveViewState:d=!0,keepCurrentModel:x=!1,width:w="100%",height:M="100%",className:E,wrapperProps:p={},beforeMount:C=F,onMount:y=F,onChange:L,onValidate:A=F}){let[g,h]=De(!1),[v,P]=De(!0),b=R(null),f=R(null),T=R(null),_=R(y),q=R(C),H=R(),m=R(n),O=sr(i),le=R(!1),te=R(!1);_e(()=>{let j=$.init();return j.then(I=>(b.current=I)&&P(!1)).catch(I=>I?.type!=="cancelation"&&console.error("Monaco initialization: error:",I)),()=>f.current?Ye():j.cancel()}),S(()=>{let j=W(b.current,t||n||"",e||o||"",i||r||"");j!==f.current?.getModel()&&(d&&X.set(O,f.current?.saveViewState()),f.current?.setModel(j),d&&f.current?.restoreViewState(X.get(i)))},[i],g),S(()=>{f.current?.updateOptions(s)},[s],g),S(()=>{!f.current||n===void 0||(f.current.getOption(b.current.editor.EditorOption.readOnly)?f.current.setValue(n):n!==f.current.getValue()&&(te.current=!0,f.current.executeEdits("",[{range:f.current.getModel().getFullModelRange(),text:n,forceMoveMarkers:!0}]),f.current.pushUndoStop(),te.current=!1))},[n],g),S(()=>{let j=f.current?.getModel();j&&o&&b.current?.editor.setModelLanguage(j,o)},[o],g),S(()=>{u!==void 0&&f.current?.revealLine(u)},[u],g),S(()=>{b.current?.editor.setTheme(a)},[a],g);let fe=ir(()=>{if(!(!T.current||!b.current)&&!le.current){q.current(b.current);let j=i||r,I=W(b.current,n||t||"",e||o||"",j||"");f.current=b.current?.editor.create(T.current,{model:I,automaticLayout:!0,...s},l),d&&f.current.restoreViewState(X.get(j)),b.current.editor.setTheme(a),u!==void 0&&f.current.revealLine(u),h(!0),le.current=!0}},[t,e,r,n,o,i,s,l,d,a,u]);Q(()=>{g&&_.current(f.current,b.current)},[g]),Q(()=>{!v&&!g&&fe()},[v,g,fe]),m.current=n,Q(()=>{g&&L&&(H.current?.dispose(),H.current=f.current?.onDidChangeModelContent(j=>{te.current||L(f.current.getValue(),j)}))},[g,L]),Q(()=>{if(g){let j=b.current.editor.onDidChangeMarkers(I=>{let re=f.current.getModel()?.uri;if(re&&I.find(ne=>ne.path===re.path)){let ne=b.current.editor.getModelMarkers({resource:re});A?.(ne)}});return()=>{j?.dispose()}}return()=>{}},[g,A]);function Ye(){H.current?.dispose(),x?d&&X.set(i,f.current.saveViewState()):f.current.getModel()?.dispose(),f.current.dispose()}return or.createElement(Le,{width:w,height:M,isEditorReady:g,loading:c,_ref:T,className:E,wrapperProps:p})}var fr=lr,dr=nr(fr),Z=dr;import Ke,{useState as Lr}from"react";import{c as Mr}from"react/compiler-runtime";import{jsx as Sr}from"react/jsx-runtime";import{createContext as xr,use as Cr,useEffect as Er,useState as ze}from"react";import{c as vr}from"react/compiler-runtime";import{jsx as Ne}from"react/jsx-runtime";import{createContext as br,use as yr,useCallback as wr,useEffect as Or,useMemo as We}from"react";import{c as mr}from"react/compiler-runtime";import{useEffect as pr,useRef as gr,useState as hr}from"react";function ke(t,e){let r=mr(5),[n,o]=hr(t),i=gr(!0),a,u;r[0]!==t?(a=()=>{if(i.current){i.current=!1;return}o(t)},u=[t],r[0]=t,r[1]=a,r[2]=u):(a=r[1],u=r[2]),pr(a,u);let c=n??e,s;return r[3]!==c?(s=[c,o],r[3]=c,r[4]=s):s=r[4],s}var He=br(void 0),jr=({children:t,config:e})=>{let[r,n]=ke(e),{collectionsBySlug:o,globalsBySlug:i}=We(()=>{let c={},s={};for(let l of r.collections)c[l.slug]=l;for(let l of r.globals)s[l.slug]=l;return{collectionsBySlug:c,globalsBySlug:s}},[r]),a=wr(c=>"collectionSlug"in c?o[c.collectionSlug]??null:"globalSlug"in c?i[c.globalSlug]??null:null,[o,i]),u=We(()=>({config:r,getEntityConfig:a,setConfig:n}),[r,a,n]);return Ne(He,{value:u,children:t})},ue=()=>yr(He),_n=t=>{let e=vr(7),{children:r,config:n}=t,{config:o,setConfig:i}=ue(),a,u;if(e[0]!==n||e[1]!==i?(a=()=>{i(n)},u=[n,i],e[0]=n,e[1]=i,e[2]=a,e[3]=u):(a=e[2],u=e[3]),Or(a,u),o!==n&&o.unauthenticated!==n.unauthenticated){let c;return e[4]!==r||e[5]!==n?(c=Ne(jr,{config:n,children:r}),e[4]=r,e[5]=n,e[6]=c):c=e[6],c}return r};var Pr={autoMode:!0,setTheme:()=>null,theme:"light"},Ve=xr(Pr);function Be(t,e,r){let n=new Date;n.setTime(n.getTime()+r*24*60*60*1e3);let o="expires="+n.toUTCString();document.cookie=t+"="+e+";"+o+";path=/"}var Tr=t=>{let e,r=window.document.cookie.split("; ").find(n=>n.startsWith(`${t}=`))?.split("=")[1];return r==="light"||r==="dark"?e=r:e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",document.documentElement.setAttribute("data-theme",e),{theme:e,themeFromCookies:r}},Ar="light",Vn=t=>{let e=Mr(11),{children:r,theme:n}=t,{config:o}=ue(),i=o.admin.theme,a=`${o.cookiePrefix||"payload"}-theme`,[u,c]=ze(n||Ar),[s,l]=ze(),d,x;e[0]!==a||e[1]!==i?(d=()=>{if(i!=="all")return;let{theme:p,themeFromCookies:C}=Tr(a);c(p),l(!C)},x=[i,a],e[0]=a,e[1]=i,e[2]=d,e[3]=x):(d=e[2],x=e[3]),Er(d,x);let w;e[4]!==a?(w=p=>{if(p==="light"||p==="dark")c(p),l(!1),Be(a,p,365),document.documentElement.setAttribute("data-theme",p);else if(p==="auto"){Be(a,p,-1);let C=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";document.documentElement.setAttribute("data-theme",C),l(!0),c(C)}},e[4]=a,e[5]=w):w=e[5];let M=w,E;return e[6]!==s||e[7]!==r||e[8]!==M||e[9]!==u?(E=Sr(Ve,{value:{autoMode:s,setTheme:M,theme:u},children:r}),e[6]=s,e[7]=r,e[8]=M,e[9]=u,e[10]=E):E=e[10],E},Fe=()=>Cr(Ve);import{c as Ir}from"react/compiler-runtime";import{jsx as U}from"react/jsx-runtime";import"react";import{c as Rr}from"react/compiler-runtime";import*as N from"react";var Ue=(t,e)=>{let r=Rr(9),n=e===void 0?!1:e,[o,i]=N.useState(!1),a=N.useRef(void 0),u;r[0]!==t?(u=()=>(i(!1),clearTimeout(a.current),a.current=setTimeout(()=>{i(!0)},t),()=>{clearTimeout(a.current)}),r[0]=t,r[1]=u):u=r[1];let c=u,s,l;r[2]!==c||r[3]!==n?(s=()=>{n&&c()},l=[c,n],r[2]=c,r[3]=n,r[4]=s,r[5]=l):(s=r[4],l=r[5]),N.useEffect(s,l);let d;return r[6]!==o||r[7]!==c?(d=[o,c],r[6]=o,r[7]=c,r[8]=d):d=r[8],d};var se=({animationDelay:t="0ms",className:e,disableInlineStyles:r=!1,height:n="60px",width:o="100%"})=>U("div",{className:["shimmer-effect",e].filter(Boolean).join(" "),style:{height:!r&&(typeof n=="number"?`${n}px`:n),width:!r&&(typeof o=="number"?`${o}px`:o)},children:U("div",{className:"shimmer-effect__shine",style:{animationDelay:t}})}),Qn=t=>{let e=Ir(9),{className:r,count:n,height:o,renderDelay:i,shimmerDelay:a,shimmerItemClassName:u,width:c}=t,s=i===void 0?500:i,l=a===void 0?25:a,d=typeof l=="number"?`${l}ms`:l,[x]=Ue(s,!0);if(!x)return null;let w;e[0]!==n?(w=[...Array(n)],e[0]=n,e[1]=w):w=e[1];let M;return e[2]!==r||e[3]!==o||e[4]!==d||e[5]!==u||e[6]!==w||e[7]!==c?(M=U("div",{className:r,children:w.map((E,p)=>U("div",{className:u,children:U(se,{animationDelay:`calc(${p} * ${d})`,height:o,width:c})},p))}),e[2]=r,e[3]=o,e[4]=d,e[5]=u,e[6]=w,e[7]=c,e[8]=M):M=e[8],M};var ee={insertSpaces:!1,tabSize:4,trimAutoWhitespace:!1},qe={hideCursorInOverviewRuler:!0,minimap:{enabled:!1},overviewRulerBorder:!1,readOnly:!1,scrollbar:{alwaysConsumeMouseWheel:!1},scrollBeyondLastLine:!1,wordWrap:"on"};var _r="default"in Z?Z.default:Z,$r="code-editor",kr=t=>{let e=Dr(10),{className:r,maxHeight:n,minHeight:o,options:i,readOnly:a,recalculatedHeightAt:u,value:c,...s}=t,l=o??56,d=Ke.useRef(u),{insertSpaces:x,tabSize:w,trimAutoWhitespace:M,...E}=i||{},p=i?.padding?(i.padding.top||0)+(i.padding?.bottom||0):0,[C,y]=Lr(l),{theme:L}=Fe(),A=s?.defaultLanguage?`language--${s.defaultLanguage}`:"",g=a&&"read-only",h;e[0]!==r||e[1]!==A||e[2]!==g?(h=[$r,r,A,g].filter(Boolean),e[0]=r,e[1]=A,e[2]=g,e[3]=h):h=e[3];let v=h.join(" "),P,b;return e[4]!==l||e[5]!==p||e[6]!==u||e[7]!==c?(P=()=>{u&&u>d.current&&(y(c?Math.max(l,c.split(`
|
|
24
|
-
`).length*18+2+p):l),d.current=u)},b=[c,l,p,u],e[4]=l,e[5]=p,e[6]=u,e[7]=c,e[8]=P,e[9]=b):(P=e[8],b=e[9]),Ke.useEffect(P,b),Ge(_r,{className:v,height:n?Math.min(C,n):C,loading:Ge(se,{height:C}),options:{...qe,...E,readOnly:!!a,detectIndentation:!1,insertSpaces:void 0,tabSize:void 0,trimAutoWhitespace:void 0},theme:L==="dark"?"vs-dark":"vs",value:c,...s,onChange:(f,T)=>{s.onChange?.(f,T),y(f?Math.max(l,f.split(`
|
|
25
|
-
`).length*18+2+p):l)},onMount:(f,T)=>{s.onMount?.(f,T);let _=f.getModel();_&&_.updateOptions({insertSpaces:x??ee.insertSpaces,tabSize:w??ee.tabSize,trimAutoWhitespace:M??ee.trimAutoWhitespace}),y(Math.max(l,f.getValue().split(`
|
|
26
|
-
`).length*18+2+p))}})},co=kr;export{ke as a,jr as b,ue as c,_n as d,Ue as e,se as f,Qn as g,Ar as h,Vn as i,Fe as j,ee as k,co as l};
|
|
27
|
-
//# sourceMappingURL=chunk-53XJ3K67.js.map
|