@payloadcms/ui 3.59.0-internal.6aee982 → 3.59.0-internal.76b6b9a

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 (37) hide show
  1. package/dist/elements/DocumentDrawer/Provider.d.ts +1 -1
  2. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  3. package/dist/elements/DocumentLocked/index.js +1 -1
  4. package/dist/elements/DocumentLocked/index.js.map +1 -1
  5. package/dist/exports/client/{CodeEditor-UTOLPRAV.js → CodeEditor-2AHTKKBE.js} +2 -2
  6. package/dist/exports/client/{chunk-S2X3JKSP.js → chunk-6UH4KUYK.js} +1 -1
  7. package/dist/exports/client/{chunk-S2X3JKSP.js.map → chunk-6UH4KUYK.js.map} +1 -1
  8. package/dist/exports/client/index.d.ts +0 -1
  9. package/dist/exports/client/index.d.ts.map +1 -1
  10. package/dist/exports/client/index.js +12 -12
  11. package/dist/exports/client/index.js.map +4 -4
  12. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  13. package/dist/forms/Form/fieldReducer.js +40 -16
  14. package/dist/forms/Form/fieldReducer.js.map +1 -1
  15. package/dist/forms/Form/types.d.ts +2 -2
  16. package/dist/forms/Form/types.js.map +1 -1
  17. package/dist/forms/RenderFields/context.d.ts +2 -2
  18. package/dist/forms/RenderFields/context.js +2 -2
  19. package/dist/forms/RenderFields/context.js.map +1 -1
  20. package/dist/providers/Config/index.d.ts +1 -1
  21. package/dist/providers/Config/index.js +1 -1
  22. package/dist/providers/Config/index.js.map +1 -1
  23. package/dist/styles.css +1 -1
  24. package/dist/utilities/handleLivePreview.d.ts +1 -1
  25. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  26. package/dist/utilities/handleLivePreview.js +1 -1
  27. package/dist/utilities/handleLivePreview.js.map +1 -1
  28. package/dist/views/Edit/index.d.ts.map +1 -1
  29. package/dist/views/Edit/index.js +5 -1
  30. package/dist/views/Edit/index.js.map +1 -1
  31. package/package.json +4 -4
  32. package/dist/fields/Slug/index.d.ts +0 -8
  33. package/dist/fields/Slug/index.d.ts.map +0 -1
  34. package/dist/fields/Slug/index.js +0 -128
  35. package/dist/fields/Slug/index.js.map +0 -1
  36. package/dist/fields/Slug/index.scss +0 -17
  37. /package/dist/exports/client/{CodeEditor-UTOLPRAV.js.map → CodeEditor-2AHTKKBE.js.map} +0 -0
@@ -41,7 +41,7 @@ export declare const isLivePreviewEnabled: ({ collectionConfig, config, globalCo
41
41
  * 3. Merges the config with the root config, if necessary.
42
42
  * 4. Executes the `url` function, if necessary.
43
43
  *
44
- * Notice: internal function only. Subject to change at any time. Use at your own risk.
44
+ * Notice: internal function only. Subject to change at any time. Use at your own discretion.
45
45
  */
46
46
  export declare const handleLivePreview: ({ collectionSlug, config, data, globalSlug, operation, req, }: {
47
47
  collectionSlug?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"handleLivePreview.d.ts","sourceRoot":"","sources":["../../src/utilities/handleLivePreview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,eAAe,EAChB,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,oBAAoB,sEAK9B;IACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,oBAAoB,EAAE,OAAO,CAAA;CAC9B;;;;;;;;wBAsH47D,CAAC;;oBAAoF,CAAC;;;;;;;CAlHjhE,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,gDAI9B;IACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,KAAG,OAcH,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,kEAO3B;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC;IACV,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,cAAc,CAAC,EAAE,kBAAkB,CAAA;CACpC,CAqDA,CAAA"}
1
+ {"version":3,"file":"handleLivePreview.d.ts","sourceRoot":"","sources":["../../src/utilities/handleLivePreview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,eAAe,EAChB,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,oBAAoB,sEAK9B;IACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,oBAAoB,EAAE,OAAO,CAAA;CAC9B;;;;;;;;wBAsHs7D,CAAC;;oBAAoF,CAAC;;;;;;;CAlH3gE,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,gDAI9B;IACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,KAAG,OAcH,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,kEAO3B;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC;IACV,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,cAAc,CAAC,EAAE,kBAAkB,CAAA;CACpC,CAqDA,CAAA"}
@@ -34,7 +34,7 @@ export const isLivePreviewEnabled = ({
34
34
  * 3. Merges the config with the root config, if necessary.
35
35
  * 4. Executes the `url` function, if necessary.
36
36
  *
37
- * Notice: internal function only. Subject to change at any time. Use at your own risk.
37
+ * Notice: internal function only. Subject to change at any time. Use at your own discretion.
38
38
  */
39
39
  export const handleLivePreview = async ({
40
40
  collectionSlug,
@@ -1 +1 @@
1
- {"version":3,"file":"handleLivePreview.js","names":["getLivePreviewConfig","collectionConfig","config","globalConfig","isLivePreviewEnabled","admin","livePreview","Boolean","globals","includes","slug","collections","handleLivePreview","collectionSlug","data","globalSlug","operation","req","payload","undefined","find","g","enabled","livePreviewConfig","livePreviewURL","url","result","locale","code","label","err","logger","error","msg"],"sources":["../../src/utilities/handleLivePreview.ts"],"sourcesContent":["import type {\n CollectionConfig,\n GlobalConfig,\n LivePreviewConfig,\n LivePreviewURLType,\n Operation,\n PayloadRequest,\n SanitizedConfig,\n} from 'payload'\n\nexport const getLivePreviewConfig = ({\n collectionConfig,\n config,\n globalConfig,\n isLivePreviewEnabled,\n}: {\n collectionConfig?: CollectionConfig\n config: SanitizedConfig\n globalConfig?: GlobalConfig\n isLivePreviewEnabled: boolean\n}) => ({\n ...(isLivePreviewEnabled ? config.admin.livePreview : {}),\n ...(collectionConfig?.admin?.livePreview || {}),\n ...(globalConfig?.admin?.livePreview || {}),\n})\n\n/**\n * Multi-level check to determine whether live preview is enabled on a collection or global.\n * For example, live preview can be enabled at both the root config level, or on the entity's config.\n * If a collectionConfig/globalConfig is provided, checks if it is enabled at the root level,\n * or on the entity's own config.\n */\nexport const isLivePreviewEnabled = ({\n collectionConfig,\n config,\n globalConfig,\n}: {\n collectionConfig?: CollectionConfig\n config: SanitizedConfig\n globalConfig?: GlobalConfig\n}): boolean => {\n if (globalConfig) {\n return Boolean(\n config.admin?.livePreview?.globals?.includes(globalConfig.slug) ||\n globalConfig.admin?.livePreview,\n )\n }\n\n if (collectionConfig) {\n return Boolean(\n config.admin?.livePreview?.collections?.includes(collectionConfig.slug) ||\n collectionConfig.admin?.livePreview,\n )\n }\n}\n\n/**\n * 1. Looks up the relevant live preview config, which could have been enabled:\n * a. At the root level, e.g. `collections: ['posts']`\n * b. On the collection or global config, e.g. `admin: { livePreview: { ... } }`\n * 2. Determines if live preview is enabled, and if not, early returns.\n * 3. Merges the config with the root config, if necessary.\n * 4. Executes the `url` function, if necessary.\n *\n * Notice: internal function only. Subject to change at any time. Use at your own risk.\n */\nexport const handleLivePreview = async ({\n collectionSlug,\n config,\n data,\n globalSlug,\n operation,\n req,\n}: {\n collectionSlug?: string\n config: SanitizedConfig\n data: Record<string, unknown>\n globalSlug?: string\n operation?: Operation\n req: PayloadRequest\n}): Promise<{\n isLivePreviewEnabled?: boolean\n livePreviewConfig?: LivePreviewConfig\n livePreviewURL?: LivePreviewURLType\n}> => {\n const collectionConfig = collectionSlug\n ? req.payload.collections[collectionSlug]?.config\n : undefined\n\n const globalConfig = globalSlug ? config.globals.find((g) => g.slug === globalSlug) : undefined\n\n const enabled = isLivePreviewEnabled({\n collectionConfig,\n config,\n globalConfig,\n })\n\n if (!enabled) {\n return {}\n }\n\n const livePreviewConfig = getLivePreviewConfig({\n collectionConfig,\n config,\n globalConfig,\n isLivePreviewEnabled: enabled,\n })\n\n let livePreviewURL: string | undefined\n\n if (typeof livePreviewConfig?.url === 'string') {\n livePreviewURL = livePreviewConfig.url\n }\n\n if (typeof livePreviewConfig?.url === 'function' && operation !== 'create') {\n try {\n const result = await livePreviewConfig.url({\n collectionConfig,\n data,\n globalConfig,\n locale: { code: req.locale, label: '' },\n payload: req.payload,\n req,\n })\n\n if (typeof result === 'string') {\n livePreviewURL = result\n }\n } catch (err) {\n req.payload.logger.error({\n err,\n msg: `There was an error executing the live preview URL function for ${collectionSlug || globalSlug}`,\n })\n }\n }\n\n return { isLivePreviewEnabled: enabled, livePreviewConfig, livePreviewURL }\n}\n"],"mappings":"AAUA,OAAO,MAAMA,oBAAA,GAAuBA,CAAC;EACnCC,gBAAgB;EAChBC,MAAM;EACNC,YAAY;EACZC;AAAoB,CAMrB,MAAM;EACL,IAAIA,oBAAA,GAAuBF,MAAA,CAAOG,KAAK,CAACC,WAAW,GAAG,CAAC,CAAC;EACxD,IAAIL,gBAAA,EAAkBI,KAAA,EAAOC,WAAA,IAAe,CAAC,CAAC;EAC9C,IAAIH,YAAA,EAAcE,KAAA,EAAOC,WAAA,IAAe,CAAC,CAAC;AAC5C;AAEA;;;;;;AAMA,OAAO,MAAMF,oBAAA,GAAuBA,CAAC;EACnCH,gBAAgB;EAChBC,MAAM;EACNC;AAAY,CAKb;EACC,IAAIA,YAAA,EAAc;IAChB,OAAOI,OAAA,CACLL,MAAA,CAAOG,KAAK,EAAEC,WAAA,EAAaE,OAAA,EAASC,QAAA,CAASN,YAAA,CAAaO,IAAI,KAC5DP,YAAA,CAAaE,KAAK,EAAEC,WAAA;EAE1B;EAEA,IAAIL,gBAAA,EAAkB;IACpB,OAAOM,OAAA,CACLL,MAAA,CAAOG,KAAK,EAAEC,WAAA,EAAaK,WAAA,EAAaF,QAAA,CAASR,gBAAA,CAAiBS,IAAI,KACpET,gBAAA,CAAiBI,KAAK,EAAEC,WAAA;EAE9B;AACF;AAEA;;;;;;;;;;AAUA,OAAO,MAAMM,iBAAA,GAAoB,MAAAA,CAAO;EACtCC,cAAc;EACdX,MAAM;EACNY,IAAI;EACJC,UAAU;EACVC,SAAS;EACTC;AAAG,CAQJ;EAKC,MAAMhB,gBAAA,GAAmBY,cAAA,GACrBI,GAAA,CAAIC,OAAO,CAACP,WAAW,CAACE,cAAA,CAAe,EAAEX,MAAA,GACzCiB,SAAA;EAEJ,MAAMhB,YAAA,GAAeY,UAAA,GAAab,MAAA,CAAOM,OAAO,CAACY,IAAI,CAAEC,CAAA,IAAMA,CAAA,CAAEX,IAAI,KAAKK,UAAA,IAAcI,SAAA;EAEtF,MAAMG,OAAA,GAAUlB,oBAAA,CAAqB;IACnCH,gBAAA;IACAC,MAAA;IACAC;EACF;EAEA,IAAI,CAACmB,OAAA,EAAS;IACZ,OAAO,CAAC;EACV;EAEA,MAAMC,iBAAA,GAAoBvB,oBAAA,CAAqB;IAC7CC,gBAAA;IACAC,MAAA;IACAC,YAAA;IACAC,oBAAA,EAAsBkB;EACxB;EAEA,IAAIE,cAAA;EAEJ,IAAI,OAAOD,iBAAA,EAAmBE,GAAA,KAAQ,UAAU;IAC9CD,cAAA,GAAiBD,iBAAA,CAAkBE,GAAG;EACxC;EAEA,IAAI,OAAOF,iBAAA,EAAmBE,GAAA,KAAQ,cAAcT,SAAA,KAAc,UAAU;IAC1E,IAAI;MACF,MAAMU,MAAA,GAAS,MAAMH,iBAAA,CAAkBE,GAAG,CAAC;QACzCxB,gBAAA;QACAa,IAAA;QACAX,YAAA;QACAwB,MAAA,EAAQ;UAAEC,IAAA,EAAMX,GAAA,CAAIU,MAAM;UAAEE,KAAA,EAAO;QAAG;QACtCX,OAAA,EAASD,GAAA,CAAIC,OAAO;QACpBD;MACF;MAEA,IAAI,OAAOS,MAAA,KAAW,UAAU;QAC9BF,cAAA,GAAiBE,MAAA;MACnB;IACF,EAAE,OAAOI,GAAA,EAAK;MACZb,GAAA,CAAIC,OAAO,CAACa,MAAM,CAACC,KAAK,CAAC;QACvBF,GAAA;QACAG,GAAA,EAAK,kEAAkEpB,cAAA,IAAkBE,UAAA;MAC3F;IACF;EACF;EAEA,OAAO;IAAEX,oBAAA,EAAsBkB,OAAA;IAASC,iBAAA;IAAmBC;EAAe;AAC5E","ignoreList":[]}
1
+ {"version":3,"file":"handleLivePreview.js","names":["getLivePreviewConfig","collectionConfig","config","globalConfig","isLivePreviewEnabled","admin","livePreview","Boolean","globals","includes","slug","collections","handleLivePreview","collectionSlug","data","globalSlug","operation","req","payload","undefined","find","g","enabled","livePreviewConfig","livePreviewURL","url","result","locale","code","label","err","logger","error","msg"],"sources":["../../src/utilities/handleLivePreview.ts"],"sourcesContent":["import type {\n CollectionConfig,\n GlobalConfig,\n LivePreviewConfig,\n LivePreviewURLType,\n Operation,\n PayloadRequest,\n SanitizedConfig,\n} from 'payload'\n\nexport const getLivePreviewConfig = ({\n collectionConfig,\n config,\n globalConfig,\n isLivePreviewEnabled,\n}: {\n collectionConfig?: CollectionConfig\n config: SanitizedConfig\n globalConfig?: GlobalConfig\n isLivePreviewEnabled: boolean\n}) => ({\n ...(isLivePreviewEnabled ? config.admin.livePreview : {}),\n ...(collectionConfig?.admin?.livePreview || {}),\n ...(globalConfig?.admin?.livePreview || {}),\n})\n\n/**\n * Multi-level check to determine whether live preview is enabled on a collection or global.\n * For example, live preview can be enabled at both the root config level, or on the entity's config.\n * If a collectionConfig/globalConfig is provided, checks if it is enabled at the root level,\n * or on the entity's own config.\n */\nexport const isLivePreviewEnabled = ({\n collectionConfig,\n config,\n globalConfig,\n}: {\n collectionConfig?: CollectionConfig\n config: SanitizedConfig\n globalConfig?: GlobalConfig\n}): boolean => {\n if (globalConfig) {\n return Boolean(\n config.admin?.livePreview?.globals?.includes(globalConfig.slug) ||\n globalConfig.admin?.livePreview,\n )\n }\n\n if (collectionConfig) {\n return Boolean(\n config.admin?.livePreview?.collections?.includes(collectionConfig.slug) ||\n collectionConfig.admin?.livePreview,\n )\n }\n}\n\n/**\n * 1. Looks up the relevant live preview config, which could have been enabled:\n * a. At the root level, e.g. `collections: ['posts']`\n * b. On the collection or global config, e.g. `admin: { livePreview: { ... } }`\n * 2. Determines if live preview is enabled, and if not, early returns.\n * 3. Merges the config with the root config, if necessary.\n * 4. Executes the `url` function, if necessary.\n *\n * Notice: internal function only. Subject to change at any time. Use at your own discretion.\n */\nexport const handleLivePreview = async ({\n collectionSlug,\n config,\n data,\n globalSlug,\n operation,\n req,\n}: {\n collectionSlug?: string\n config: SanitizedConfig\n data: Record<string, unknown>\n globalSlug?: string\n operation?: Operation\n req: PayloadRequest\n}): Promise<{\n isLivePreviewEnabled?: boolean\n livePreviewConfig?: LivePreviewConfig\n livePreviewURL?: LivePreviewURLType\n}> => {\n const collectionConfig = collectionSlug\n ? req.payload.collections[collectionSlug]?.config\n : undefined\n\n const globalConfig = globalSlug ? config.globals.find((g) => g.slug === globalSlug) : undefined\n\n const enabled = isLivePreviewEnabled({\n collectionConfig,\n config,\n globalConfig,\n })\n\n if (!enabled) {\n return {}\n }\n\n const livePreviewConfig = getLivePreviewConfig({\n collectionConfig,\n config,\n globalConfig,\n isLivePreviewEnabled: enabled,\n })\n\n let livePreviewURL: string | undefined\n\n if (typeof livePreviewConfig?.url === 'string') {\n livePreviewURL = livePreviewConfig.url\n }\n\n if (typeof livePreviewConfig?.url === 'function' && operation !== 'create') {\n try {\n const result = await livePreviewConfig.url({\n collectionConfig,\n data,\n globalConfig,\n locale: { code: req.locale, label: '' },\n payload: req.payload,\n req,\n })\n\n if (typeof result === 'string') {\n livePreviewURL = result\n }\n } catch (err) {\n req.payload.logger.error({\n err,\n msg: `There was an error executing the live preview URL function for ${collectionSlug || globalSlug}`,\n })\n }\n }\n\n return { isLivePreviewEnabled: enabled, livePreviewConfig, livePreviewURL }\n}\n"],"mappings":"AAUA,OAAO,MAAMA,oBAAA,GAAuBA,CAAC;EACnCC,gBAAgB;EAChBC,MAAM;EACNC,YAAY;EACZC;AAAoB,CAMrB,MAAM;EACL,IAAIA,oBAAA,GAAuBF,MAAA,CAAOG,KAAK,CAACC,WAAW,GAAG,CAAC,CAAC;EACxD,IAAIL,gBAAA,EAAkBI,KAAA,EAAOC,WAAA,IAAe,CAAC,CAAC;EAC9C,IAAIH,YAAA,EAAcE,KAAA,EAAOC,WAAA,IAAe,CAAC,CAAC;AAC5C;AAEA;;;;;;AAMA,OAAO,MAAMF,oBAAA,GAAuBA,CAAC;EACnCH,gBAAgB;EAChBC,MAAM;EACNC;AAAY,CAKb;EACC,IAAIA,YAAA,EAAc;IAChB,OAAOI,OAAA,CACLL,MAAA,CAAOG,KAAK,EAAEC,WAAA,EAAaE,OAAA,EAASC,QAAA,CAASN,YAAA,CAAaO,IAAI,KAC5DP,YAAA,CAAaE,KAAK,EAAEC,WAAA;EAE1B;EAEA,IAAIL,gBAAA,EAAkB;IACpB,OAAOM,OAAA,CACLL,MAAA,CAAOG,KAAK,EAAEC,WAAA,EAAaK,WAAA,EAAaF,QAAA,CAASR,gBAAA,CAAiBS,IAAI,KACpET,gBAAA,CAAiBI,KAAK,EAAEC,WAAA;EAE9B;AACF;AAEA;;;;;;;;;;AAUA,OAAO,MAAMM,iBAAA,GAAoB,MAAAA,CAAO;EACtCC,cAAc;EACdX,MAAM;EACNY,IAAI;EACJC,UAAU;EACVC,SAAS;EACTC;AAAG,CAQJ;EAKC,MAAMhB,gBAAA,GAAmBY,cAAA,GACrBI,GAAA,CAAIC,OAAO,CAACP,WAAW,CAACE,cAAA,CAAe,EAAEX,MAAA,GACzCiB,SAAA;EAEJ,MAAMhB,YAAA,GAAeY,UAAA,GAAab,MAAA,CAAOM,OAAO,CAACY,IAAI,CAAEC,CAAA,IAAMA,CAAA,CAAEX,IAAI,KAAKK,UAAA,IAAcI,SAAA;EAEtF,MAAMG,OAAA,GAAUlB,oBAAA,CAAqB;IACnCH,gBAAA;IACAC,MAAA;IACAC;EACF;EAEA,IAAI,CAACmB,OAAA,EAAS;IACZ,OAAO,CAAC;EACV;EAEA,MAAMC,iBAAA,GAAoBvB,oBAAA,CAAqB;IAC7CC,gBAAA;IACAC,MAAA;IACAC,YAAA;IACAC,oBAAA,EAAsBkB;EACxB;EAEA,IAAIE,cAAA;EAEJ,IAAI,OAAOD,iBAAA,EAAmBE,GAAA,KAAQ,UAAU;IAC9CD,cAAA,GAAiBD,iBAAA,CAAkBE,GAAG;EACxC;EAEA,IAAI,OAAOF,iBAAA,EAAmBE,GAAA,KAAQ,cAAcT,SAAA,KAAc,UAAU;IAC1E,IAAI;MACF,MAAMU,MAAA,GAAS,MAAMH,iBAAA,CAAkBE,GAAG,CAAC;QACzCxB,gBAAA;QACAa,IAAA;QACAX,YAAA;QACAwB,MAAA,EAAQ;UAAEC,IAAA,EAAMX,GAAA,CAAIU,MAAM;UAAEE,KAAA,EAAO;QAAG;QACtCX,OAAA,EAASD,GAAA,CAAIC,OAAO;QACpBD;MACF;MAEA,IAAI,OAAOS,MAAA,KAAW,UAAU;QAC9BF,cAAA,GAAiBE,MAAA;MACnB;IACF,EAAE,OAAOI,GAAA,EAAK;MACZb,GAAA,CAAIC,OAAO,CAACa,MAAM,CAACC,KAAK,CAAC;QACvBF,GAAA;QACAG,GAAA,EAAK,kEAAkEpB,cAAA,IAAkBE,UAAA;MAC3F;IACF;EACF;EAEA,OAAO;IAAEX,oBAAA,EAAsBkB,OAAA;IAASC,iBAAA;IAAmBC;EAAe;AAC5E","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAc,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAIlE,OAAO,KAAsE,MAAM,OAAO,CAAA;AAmC1F,OAAO,cAAc,CAAA;AAIrB,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,EAAE,YAAY,EACpB,cAAc,GACf,EAAE,uBAAuB,qBAmoBzB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAc,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAIlE,OAAO,KAAsE,MAAM,OAAO,CAAA;AAmC1F,OAAO,cAAc,CAAA;AAIrB,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,EAAE,YAAY,EACpB,cAAc,GACf,EAAE,uBAAuB,qBAwoBzB"}
@@ -192,8 +192,12 @@ export function DefaultEditView({
192
192
  };
193
193
  setCurrentEditor(lockedState.user);
194
194
  }
195
+ // Update lastUpdateTime when lock state changes
196
+ if (lockedState.lastEditedAt) {
197
+ setLastUpdateTime(new Date(lockedState.lastEditedAt).getTime());
198
+ }
195
199
  }
196
- }, [documentLockState, setCurrentEditor, setDocumentIsLocked, user?.id]);
200
+ }, [documentLockState, setCurrentEditor, setDocumentIsLocked, setLastUpdateTime, user?.id]);
197
201
  const handlePrevent = useCallback(nextHref => {
198
202
  nextHrefRef.current = nextHref;
199
203
  }, []);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useRouter","useSearchParams","formatAdminURL","React","Fragment","useCallback","useEffect","useMemo","useRef","useState","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","LivePreviewWindow","Upload","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useLivePreviewContext","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","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","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","startRouteTransition","clearRouteCache","isLivePreviewEnabled","isLivePreviewing","previewWindowType","setURL","setLivePreviewURL","typeofLivePreviewURL","url","livePreviewURL","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","schemaPathSegments","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","nextHrefRef","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","hasShownLockedModal","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","state","renderAllFields","returnLivePreviewURL","returnLockStatus","schemaPath","join","signal","skipValidation","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":["/* eslint-disable react-compiler/react-compiler -- TODO: fix */\n'use client'\n\nimport type { ClientUser, DocumentViewClientProps } from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL } 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 } 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 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 },\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\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 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 },\n [documentLockState, setCurrentEditor, setDocumentIsLocked, 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 // Only retain the lock if the user is still viewing the document\n if (!isInternalView) {\n if (isLockOwnedByCurrentUser) {\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 }, [\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, 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 schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: true,\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 reportUpdate({\n id,\n entitySlug,\n updatedAt,\n })\n\n abortOnSaveRef.current = null\n\n return state\n }\n },\n [\n reportUpdate,\n id,\n entitySlug,\n user,\n collectionSlug,\n userSlug,\n setLastUpdateTime,\n setData,\n onSaveFromContext,\n isEditing,\n depth,\n redirectAfterCreate,\n setLivePreviewURL,\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 schemaPathSegments,\n isLockingEnabled,\n setDocumentIsLocked,\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 })}\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 })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {!isReadOnlyForIncomingUser && 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 }}\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 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","React","Fragment","useCallback","useEffect","useMemo","useRef","useState","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","LivePreviewWindow","Upload","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useLivePreviewContext","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","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","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","startRouteTransition","clearRouteCache","isLivePreviewEnabled","isLivePreviewing","previewWindowType","setURL","setLivePreviewURL","typeofLivePreviewURL","url","livePreviewURL","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","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","state","renderAllFields","returnLivePreviewURL","returnLockStatus","schemaPath","join","signal","skipValidation","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":["/* eslint-disable react-compiler/react-compiler -- TODO: fix */\n'use client'\n\nimport type { ClientUser, DocumentViewClientProps } from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL } 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 } 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 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 },\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\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 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 // Only retain the lock if the user is still viewing the document\n if (!isInternalView) {\n if (isLockOwnedByCurrentUser) {\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 }, [\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, 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 schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: true,\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 reportUpdate({\n id,\n entitySlug,\n updatedAt,\n })\n\n abortOnSaveRef.current = null\n\n return state\n }\n },\n [\n reportUpdate,\n id,\n entitySlug,\n user,\n collectionSlug,\n userSlug,\n setLastUpdateTime,\n setData,\n onSaveFromContext,\n isEditing,\n depth,\n redirectAfterCreate,\n setLivePreviewURL,\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 schemaPathSegments,\n isLockingEnabled,\n setDocumentIsLocked,\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 })}\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 })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {!isReadOnlyForIncomingUser && 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 }}\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 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.59.0-internal.6aee982",
3
+ "version": "3.59.0-internal.76b6b9a",
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.59.0-internal.6aee982"
139
+ "@payloadcms/translations": "3.59.0-internal.76b6b9a"
140
140
  },
141
141
  "devDependencies": {
142
142
  "@babel/cli": "7.27.2",
@@ -151,14 +151,14 @@
151
151
  "babel-plugin-react-compiler": "19.1.0-rc.3",
152
152
  "esbuild": "0.25.5",
153
153
  "esbuild-sass-plugin": "3.3.1",
154
- "payload": "3.59.0-internal.6aee982",
154
+ "payload": "3.59.0-internal.76b6b9a",
155
155
  "@payloadcms/eslint-config": "3.28.0"
156
156
  },
157
157
  "peerDependencies": {
158
158
  "next": "^15.2.3",
159
159
  "react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
160
160
  "react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
161
- "payload": "3.59.0-internal.6aee982"
161
+ "payload": "3.59.0-internal.76b6b9a"
162
162
  },
163
163
  "engines": {
164
164
  "node": "^18.20.2 || >=20.9.0"
@@ -1,8 +0,0 @@
1
- import type { SlugFieldProps } from 'payload';
2
- import React from 'react';
3
- import './index.scss';
4
- /**
5
- * @experimental This component is experimental and may change or be removed in the future. Use at your own risk.
6
- */
7
- export declare const SlugField: React.FC<SlugFieldProps>;
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Slug/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAG7C,OAAO,KAAgC,MAAM,OAAO,CAAA;AAOpD,OAAO,cAAc,CAAA;AAErB;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA6D9C,CAAA"}
@@ -1,128 +0,0 @@
1
- 'use client';
2
-
3
- import { c as _c } from "react/compiler-runtime";
4
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import { slugify } from 'payload/shared';
6
- import React, { useCallback, useState } from 'react';
7
- import { Button } from '../../elements/Button/index.js';
8
- import { useForm } from '../../forms/Form/index.js';
9
- import { useField } from '../../forms/useField/index.js';
10
- import { FieldLabel } from '../FieldLabel/index.js';
11
- import { TextInput } from '../Text/index.js';
12
- import './index.scss';
13
- /**
14
- * @experimental This component is experimental and may change or be removed in the future. Use at your own risk.
15
- */
16
- export const SlugField = t0 => {
17
- const $ = _c(18);
18
- const {
19
- field,
20
- fieldToUse,
21
- path,
22
- readOnly: readOnlyFromProps
23
- } = t0;
24
- const {
25
- label
26
- } = field;
27
- const t1 = path || field.name;
28
- let t2;
29
- if ($[0] !== t1) {
30
- t2 = {
31
- path: t1
32
- };
33
- $[0] = t1;
34
- $[1] = t2;
35
- } else {
36
- t2 = $[1];
37
- }
38
- const {
39
- setValue,
40
- value
41
- } = useField(t2);
42
- const {
43
- getDataByPath
44
- } = useForm();
45
- const [isLocked, setIsLocked] = useState(true);
46
- let t3;
47
- if ($[2] !== fieldToUse || $[3] !== getDataByPath || $[4] !== setValue || $[5] !== value) {
48
- t3 = e => {
49
- e.preventDefault();
50
- const targetFieldValue = getDataByPath(fieldToUse);
51
- if (targetFieldValue) {
52
- const formattedSlug = slugify(targetFieldValue);
53
- if (value !== formattedSlug) {
54
- setValue(formattedSlug);
55
- }
56
- } else {
57
- if (value !== "") {
58
- setValue("");
59
- }
60
- }
61
- };
62
- $[2] = fieldToUse;
63
- $[3] = getDataByPath;
64
- $[4] = setValue;
65
- $[5] = value;
66
- $[6] = t3;
67
- } else {
68
- t3 = $[6];
69
- }
70
- const handleGenerate = t3;
71
- let t4;
72
- if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
73
- t4 = e_0 => {
74
- e_0.preventDefault();
75
- setIsLocked(_temp);
76
- };
77
- $[7] = t4;
78
- } else {
79
- t4 = $[7];
80
- }
81
- const toggleLock = t4;
82
- const t5 = `field-${path}`;
83
- let t6;
84
- if ($[8] !== field.name || $[9] !== handleGenerate || $[10] !== isLocked || $[11] !== label || $[12] !== path || $[13] !== readOnlyFromProps || $[14] !== setValue || $[15] !== t5 || $[16] !== value) {
85
- t6 = _jsxs("div", {
86
- className: "field-type slug-field-component",
87
- children: [_jsxs("div", {
88
- className: "label-wrapper",
89
- children: [_jsx(FieldLabel, {
90
- htmlFor: t5,
91
- label
92
- }), !isLocked && _jsx(Button, {
93
- buttonStyle: "none",
94
- className: "lock-button",
95
- onClick: handleGenerate,
96
- children: "Generate"
97
- }), _jsx(Button, {
98
- buttonStyle: "none",
99
- className: "lock-button",
100
- onClick: toggleLock,
101
- children: isLocked ? "Unlock" : "Lock"
102
- })]
103
- }), _jsx(TextInput, {
104
- onChange: setValue,
105
- path: path || field.name,
106
- readOnly: Boolean(readOnlyFromProps || isLocked),
107
- value
108
- })]
109
- });
110
- $[8] = field.name;
111
- $[9] = handleGenerate;
112
- $[10] = isLocked;
113
- $[11] = label;
114
- $[12] = path;
115
- $[13] = readOnlyFromProps;
116
- $[14] = setValue;
117
- $[15] = t5;
118
- $[16] = value;
119
- $[17] = t6;
120
- } else {
121
- t6 = $[17];
122
- }
123
- return t6;
124
- };
125
- function _temp(prev) {
126
- return !prev;
127
- }
128
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["c","_c","slugify","React","useCallback","useState","Button","useForm","useField","FieldLabel","TextInput","SlugField","t0","$","field","fieldToUse","path","readOnly","readOnlyFromProps","label","t1","name","t2","setValue","value","getDataByPath","isLocked","setIsLocked","t3","e","preventDefault","targetFieldValue","formattedSlug","handleGenerate","t4","Symbol","for","e_0","_temp","toggleLock","t5","t6","_jsxs","className","children","_jsx","htmlFor","buttonStyle","onClick","onChange","Boolean","prev"],"sources":["../../../src/fields/Slug/index.tsx"],"sourcesContent":["'use client'\nimport type { SlugFieldProps } from 'payload'\n\nimport { slugify } from 'payload/shared'\nimport React, { useCallback, useState } from 'react'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { useForm } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { TextInput } from '../Text/index.js'\nimport './index.scss'\n\n/**\n * @experimental This component is experimental and may change or be removed in the future. Use at your own risk.\n */\nexport const SlugField: React.FC<SlugFieldProps> = ({\n field,\n fieldToUse,\n path,\n readOnly: readOnlyFromProps,\n}) => {\n const { label } = field\n\n const { setValue, value } = useField<string>({ path: path || field.name })\n\n const { getDataByPath } = useForm()\n\n const [isLocked, setIsLocked] = useState(true)\n\n const handleGenerate = useCallback(\n (e: React.MouseEvent<Element>) => {\n e.preventDefault()\n\n const targetFieldValue = getDataByPath(fieldToUse)\n\n if (targetFieldValue) {\n const formattedSlug = slugify(targetFieldValue as string)\n\n if (value !== formattedSlug) {\n setValue(formattedSlug)\n }\n } else {\n if (value !== '') {\n setValue('')\n }\n }\n },\n [setValue, value, fieldToUse, getDataByPath],\n )\n\n const toggleLock = useCallback((e: React.MouseEvent<Element>) => {\n e.preventDefault()\n setIsLocked((prev) => !prev)\n }, [])\n\n return (\n <div className=\"field-type slug-field-component\">\n <div className=\"label-wrapper\">\n <FieldLabel htmlFor={`field-${path}`} label={label} />\n {!isLocked && (\n <Button buttonStyle=\"none\" className=\"lock-button\" onClick={handleGenerate}>\n Generate\n </Button>\n )}\n <Button buttonStyle=\"none\" className=\"lock-button\" onClick={toggleLock}>\n {isLocked ? 'Unlock' : 'Lock'}\n </Button>\n </div>\n <TextInput\n onChange={setValue}\n path={path || field.name}\n readOnly={Boolean(readOnlyFromProps || isLocked)}\n value={value}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,17 +0,0 @@
1
- @layer payload-default {
2
- .slug-field-component {
3
- width: 100%;
4
-
5
- .label-wrapper {
6
- display: flex;
7
- justify-content: space-between;
8
- align-items: center;
9
- gap: calc(var(--base) / 2);
10
- }
11
-
12
- .lock-button {
13
- margin: 0;
14
- padding-bottom: 0.3125rem;
15
- }
16
- }
17
- }