@payloadcms/ui 3.0.0-beta.19 → 3.0.0-beta.20
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/DocumentFields/index.js +1 -1
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +3 -2
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.d.ts +2 -0
- package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +3 -2
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.d.ts +2 -0
- package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/index.js +3 -2
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/fields/RichText/index.d.ts +1 -1
- package/dist/fields/RichText/index.d.ts.map +1 -1
- package/dist/fields/RichText/index.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
- package/dist/providers/DocumentInfo/index.js +8 -7
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.d.ts +1 -1
- package/dist/providers/EntityVisibility/index.d.ts.map +1 -1
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -25,7 +25,7 @@ export const DocumentFields = ({ AfterFields, BeforeFields, description, docPerm
|
|
|
25
25
|
className: `${baseClass}__fields`,
|
|
26
26
|
fieldMap: mainFields,
|
|
27
27
|
path: "",
|
|
28
|
-
permissions: docPermissions?.
|
|
28
|
+
permissions: docPermissions?.fields,
|
|
29
29
|
readOnly: readOnly,
|
|
30
30
|
schemaPath: schemaPath
|
|
31
31
|
}), AfterFields)), hasSidebarFields && /*#__PURE__*/ React.createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/DocumentFields/index.tsx"],"sourcesContent":["'use client'\nimport type { Description, DocumentPermissions } from 'payload/types'\n\nimport React from 'react'\n\nimport type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js'\n\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport './index.scss'\n\nconst baseClass = 'document-fields'\n\ntype Args = {\n AfterFields?: React.ReactNode\n BeforeFields?: React.ReactNode\n description?: Description\n docPermissions: DocumentPermissions\n fieldMap: FieldMap\n forceSidebarWrap?: boolean\n readOnly: boolean\n schemaPath: string\n}\n\nexport const DocumentFields: React.FC<Args> = ({\n AfterFields,\n BeforeFields,\n description,\n docPermissions,\n fieldMap,\n forceSidebarWrap,\n readOnly,\n schemaPath,\n}) => {\n const mainFields = fieldMap.filter(({ isSidebar }) => !isSidebar)\n\n const sidebarFields = fieldMap.filter(({ isSidebar }) => isSidebar)\n\n const hasSidebarFields = sidebarFields && sidebarFields.length > 0\n\n return (\n <React.Fragment>\n <div\n className={[\n baseClass,\n hasSidebarFields ? `${baseClass}--has-sidebar` : `${baseClass}--no-sidebar`,\n forceSidebarWrap && `${baseClass}--force-sidebar-wrap`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__main`}>\n <Gutter className={`${baseClass}__edit`}>\n <header className={`${baseClass}__header`}>\n {description && (\n <div className={`${baseClass}__sub-header`}>\n {/* <ViewDescription description={description} /> */}\n </div>\n )}\n </header>\n {BeforeFields}\n <RenderFields\n className={`${baseClass}__fields`}\n fieldMap={mainFields}\n path=\"\"\n permissions={docPermissions?.
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/DocumentFields/index.tsx"],"sourcesContent":["'use client'\nimport type { Description, DocumentPermissions } from 'payload/types'\n\nimport React from 'react'\n\nimport type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js'\n\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport './index.scss'\n\nconst baseClass = 'document-fields'\n\ntype Args = {\n AfterFields?: React.ReactNode\n BeforeFields?: React.ReactNode\n description?: Description\n docPermissions: DocumentPermissions\n fieldMap: FieldMap\n forceSidebarWrap?: boolean\n readOnly: boolean\n schemaPath: string\n}\n\nexport const DocumentFields: React.FC<Args> = ({\n AfterFields,\n BeforeFields,\n description,\n docPermissions,\n fieldMap,\n forceSidebarWrap,\n readOnly,\n schemaPath,\n}) => {\n const mainFields = fieldMap.filter(({ isSidebar }) => !isSidebar)\n\n const sidebarFields = fieldMap.filter(({ isSidebar }) => isSidebar)\n\n const hasSidebarFields = sidebarFields && sidebarFields.length > 0\n\n return (\n <React.Fragment>\n <div\n className={[\n baseClass,\n hasSidebarFields ? `${baseClass}--has-sidebar` : `${baseClass}--no-sidebar`,\n forceSidebarWrap && `${baseClass}--force-sidebar-wrap`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__main`}>\n <Gutter className={`${baseClass}__edit`}>\n <header className={`${baseClass}__header`}>\n {description && (\n <div className={`${baseClass}__sub-header`}>\n {/* <ViewDescription description={description} /> */}\n </div>\n )}\n </header>\n {BeforeFields}\n <RenderFields\n className={`${baseClass}__fields`}\n fieldMap={mainFields}\n path=\"\"\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n schemaPath={schemaPath}\n />\n {AfterFields}\n </Gutter>\n </div>\n {hasSidebarFields && (\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-fields`}>\n <RenderFields\n fieldMap={sidebarFields}\n path=\"\"\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n schemaPath={schemaPath}\n />\n </div>\n </div>\n </div>\n )}\n </div>\n </React.Fragment>\n )\n}\n"],"names":["React","RenderFields","Gutter","baseClass","DocumentFields","AfterFields","BeforeFields","description","docPermissions","fieldMap","forceSidebarWrap","readOnly","schemaPath","mainFields","filter","isSidebar","sidebarFields","hasSidebarFields","length","Fragment","div","className","Boolean","join","header","path","permissions","fields"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,OAAOA,WAAW,QAAO;AAIzB,SAASC,YAAY,QAAQ,oCAAmC;AAChE,SAASC,MAAM,QAAQ,qBAAoB;AAG3C,MAAMC,YAAY;AAalB,OAAO,MAAMC,iBAAiC,CAAC,EAC7CC,WAAW,EACXC,YAAY,EACZC,WAAW,EACXC,cAAc,EACdC,QAAQ,EACRC,gBAAgB,EAChBC,QAAQ,EACRC,UAAU,EACX;IACC,MAAMC,aAAaJ,SAASK,MAAM,CAAC,CAAC,EAAEC,SAAS,EAAE,GAAK,CAACA;IAEvD,MAAMC,gBAAgBP,SAASK,MAAM,CAAC,CAAC,EAAEC,SAAS,EAAE,GAAKA;IAEzD,MAAME,mBAAmBD,iBAAiBA,cAAcE,MAAM,GAAG;IAEjE,qBACE,oBAAClB,MAAMmB,QAAQ,sBACb,oBAACC;QACCC,WAAW;YACTlB;YACAc,mBAAmB,CAAC,EAAEd,UAAU,aAAa,CAAC,GAAG,CAAC,EAAEA,UAAU,YAAY,CAAC;YAC3EO,oBAAoB,CAAC,EAAEP,UAAU,oBAAoB,CAAC;SACvD,CACEW,MAAM,CAACQ,SACPC,IAAI,CAAC;qBAER,oBAACH;QAAIC,WAAW,CAAC,EAAElB,UAAU,MAAM,CAAC;qBAClC,oBAACD;QAAOmB,WAAW,CAAC,EAAElB,UAAU,MAAM,CAAC;qBACrC,oBAACqB;QAAOH,WAAW,CAAC,EAAElB,UAAU,QAAQ,CAAC;OACtCI,6BACC,oBAACa;QAAIC,WAAW,CAAC,EAAElB,UAAU,YAAY,CAAC;SAK7CG,4BACD,oBAACL;QACCoB,WAAW,CAAC,EAAElB,UAAU,QAAQ,CAAC;QACjCM,UAAUI;QACVY,MAAK;QACLC,aAAalB,gBAAgBmB;QAC7BhB,UAAUA;QACVC,YAAYA;QAEbP,eAGJY,kCACC,oBAACG;QAAIC,WAAW,CAAC,EAAElB,UAAU,cAAc,CAAC;qBAC1C,oBAACiB;QAAIC,WAAW,CAAC,EAAElB,UAAU,SAAS,CAAC;qBACrC,oBAACiB;QAAIC,WAAW,CAAC,EAAElB,UAAU,gBAAgB,CAAC;qBAC5C,oBAACF;QACCQ,UAAUO;QACVS,MAAK;QACLC,aAAalB,gBAAgBmB;QAC7BhB,UAAUA;QACVC,YAAYA;;AAS9B,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAExE,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,YAAY,CAAA;AAElC,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAExE,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,YAAY,CAAA;AAElC,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,GAAG,iBAAiB,CAwEtE,CAAA"}
|
|
@@ -2,7 +2,7 @@ import React, { Fragment } from 'react';
|
|
|
2
2
|
import { DocumentTabLink } from './TabLink.js';
|
|
3
3
|
export const baseClass = 'doc-tab';
|
|
4
4
|
export const DocumentTab = (props)=>{
|
|
5
|
-
const { Pill, apiURL, collectionConfig, condition, config, globalConfig, href: tabHref, i18n, isActive: tabIsActive, label, newTab } = props;
|
|
5
|
+
const { Pill, apiURL, collectionConfig, condition, config, globalConfig, href: tabHref, i18n, isActive: tabIsActive, label, newTab, permissions } = props;
|
|
6
6
|
const { routes } = config;
|
|
7
7
|
let href = typeof tabHref === 'string' ? tabHref : '';
|
|
8
8
|
let isActive = typeof tabIsActive === 'boolean' ? tabIsActive : false;
|
|
@@ -22,7 +22,8 @@ export const DocumentTab = (props)=>{
|
|
|
22
22
|
const meetsCondition = !condition || condition && Boolean(condition({
|
|
23
23
|
collectionConfig,
|
|
24
24
|
config,
|
|
25
|
-
globalConfig
|
|
25
|
+
globalConfig,
|
|
26
|
+
permissions
|
|
26
27
|
}));
|
|
27
28
|
if (meetsCondition) {
|
|
28
29
|
const labelToRender = typeof label === 'function' ? label({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/index.tsx"],"sourcesContent":["import type { DocumentTabConfig, DocumentTabProps } from 'payload/types'\n\nimport React, { Fragment } from 'react'\n\nimport { DocumentTabLink } from './TabLink.js'\nimport './index.scss'\n\nexport const baseClass = 'doc-tab'\n\nexport const DocumentTab: React.FC<DocumentTabProps & DocumentTabConfig> = (props) => {\n const {\n Pill,\n apiURL,\n collectionConfig,\n condition,\n config,\n globalConfig,\n href: tabHref,\n i18n,\n isActive: tabIsActive,\n label,\n newTab,\n } = props\n\n const { routes } = config\n\n let href = typeof tabHref === 'string' ? tabHref : ''\n let isActive = typeof tabIsActive === 'boolean' ? tabIsActive : false\n\n if (typeof tabHref === 'function') {\n href = tabHref({\n apiURL,\n collection: collectionConfig,\n global: globalConfig,\n routes,\n })\n }\n\n if (typeof tabIsActive === 'function') {\n isActive = tabIsActive({\n href,\n })\n }\n\n const meetsCondition =\n !condition
|
|
1
|
+
{"version":3,"sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/index.tsx"],"sourcesContent":["import type { DocumentTabConfig, DocumentTabProps } from 'payload/types'\n\nimport React, { Fragment } from 'react'\n\nimport { DocumentTabLink } from './TabLink.js'\nimport './index.scss'\n\nexport const baseClass = 'doc-tab'\n\nexport const DocumentTab: React.FC<DocumentTabProps & DocumentTabConfig> = (props) => {\n const {\n Pill,\n apiURL,\n collectionConfig,\n condition,\n config,\n globalConfig,\n href: tabHref,\n i18n,\n isActive: tabIsActive,\n label,\n newTab,\n permissions,\n } = props\n\n const { routes } = config\n\n let href = typeof tabHref === 'string' ? tabHref : ''\n let isActive = typeof tabIsActive === 'boolean' ? tabIsActive : false\n\n if (typeof tabHref === 'function') {\n href = tabHref({\n apiURL,\n collection: collectionConfig,\n global: globalConfig,\n routes,\n })\n }\n\n if (typeof tabIsActive === 'function') {\n isActive = tabIsActive({\n href,\n })\n }\n\n const meetsCondition =\n !condition ||\n (condition && Boolean(condition({ collectionConfig, config, globalConfig, permissions })))\n\n if (meetsCondition) {\n const labelToRender =\n typeof label === 'function'\n ? label({\n t: i18n.t,\n })\n : label\n\n return (\n <DocumentTabLink\n adminRoute={routes.admin}\n ariaLabel={labelToRender}\n baseClass={baseClass}\n href={href}\n isActive={isActive}\n isCollection={!!collectionConfig && !globalConfig}\n newTab={newTab}\n >\n <span className={`${baseClass}__label`}>\n {labelToRender}\n {Pill && (\n <Fragment>\n \n <Pill />\n </Fragment>\n )}\n </span>\n </DocumentTabLink>\n )\n }\n\n return null\n}\n"],"names":["React","Fragment","DocumentTabLink","baseClass","DocumentTab","props","Pill","apiURL","collectionConfig","condition","config","globalConfig","href","tabHref","i18n","isActive","tabIsActive","label","newTab","permissions","routes","collection","global","meetsCondition","Boolean","labelToRender","t","adminRoute","admin","ariaLabel","isCollection","span","className"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,eAAe,QAAQ,eAAc;AAG9C,OAAO,MAAMC,YAAY,UAAS;AAElC,OAAO,MAAMC,cAA8D,CAACC;IAC1E,MAAM,EACJC,IAAI,EACJC,MAAM,EACNC,gBAAgB,EAChBC,SAAS,EACTC,MAAM,EACNC,YAAY,EACZC,MAAMC,OAAO,EACbC,IAAI,EACJC,UAAUC,WAAW,EACrBC,KAAK,EACLC,MAAM,EACNC,WAAW,EACZ,GAAGd;IAEJ,MAAM,EAAEe,MAAM,EAAE,GAAGV;IAEnB,IAAIE,OAAO,OAAOC,YAAY,WAAWA,UAAU;IACnD,IAAIE,WAAW,OAAOC,gBAAgB,YAAYA,cAAc;IAEhE,IAAI,OAAOH,YAAY,YAAY;QACjCD,OAAOC,QAAQ;YACbN;YACAc,YAAYb;YACZc,QAAQX;YACRS;QACF;IACF;IAEA,IAAI,OAAOJ,gBAAgB,YAAY;QACrCD,WAAWC,YAAY;YACrBJ;QACF;IACF;IAEA,MAAMW,iBACJ,CAACd,aACAA,aAAae,QAAQf,UAAU;QAAED;QAAkBE;QAAQC;QAAcQ;IAAY;IAExF,IAAII,gBAAgB;QAClB,MAAME,gBACJ,OAAOR,UAAU,aACbA,MAAM;YACJS,GAAGZ,KAAKY,CAAC;QACX,KACAT;QAEN,qBACE,oBAACf;YACCyB,YAAYP,OAAOQ,KAAK;YACxBC,WAAWJ;YACXtB,WAAWA;YACXS,MAAMA;YACNG,UAAUA;YACVe,cAAc,CAAC,CAACtB,oBAAoB,CAACG;YACrCO,QAAQA;yBAER,oBAACa;YAAKC,WAAW,CAAC,EAAE7B,UAAU,OAAO,CAAC;WACnCsB,eACAnB,sBACC,oBAACL,gBAAS,mBAER,oBAACK;IAMb;IAEA,OAAO;AACT,EAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { I18n } from '@payloadcms/translations';
|
|
2
|
+
import type { Permissions } from 'payload/auth';
|
|
2
3
|
import type { SanitizedCollectionConfig, SanitizedConfig, SanitizedGlobalConfig } from 'payload/types';
|
|
3
4
|
import React from 'react';
|
|
4
5
|
import './index.scss';
|
|
@@ -7,5 +8,6 @@ export declare const DocumentTabs: React.FC<{
|
|
|
7
8
|
config: SanitizedConfig;
|
|
8
9
|
globalConfig: SanitizedGlobalConfig;
|
|
9
10
|
i18n: I18n;
|
|
11
|
+
permissions: Permissions;
|
|
10
12
|
}>;
|
|
11
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/DocumentHeader/Tabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EACV,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACtB,MAAM,eAAe,CAAA;AAGtB,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,EAAE,qBAAqB,CAAA;IACnC,IAAI,EAAE,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/DocumentHeader/Tabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EACV,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACtB,MAAM,eAAe,CAAA;AAGtB,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,EAAE,qBAAqB,CAAA;IACnC,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,WAAW,CAAA;CACzB,CA8EA,CAAA"}
|
|
@@ -7,7 +7,7 @@ import { getViewConfig } from './getViewConfig.js';
|
|
|
7
7
|
import { tabs as defaultTabs } from './tabs/index.js';
|
|
8
8
|
const baseClass = 'doc-tabs';
|
|
9
9
|
export const DocumentTabs = (props)=>{
|
|
10
|
-
const { collectionConfig, config, globalConfig } = props;
|
|
10
|
+
const { collectionConfig, config, globalConfig, permissions } = props;
|
|
11
11
|
const customViews = getCustomViews({
|
|
12
12
|
collectionConfig,
|
|
13
13
|
globalConfig
|
|
@@ -35,7 +35,8 @@ export const DocumentTabs = (props)=>{
|
|
|
35
35
|
const meetsCondition = !condition || condition && Boolean(condition({
|
|
36
36
|
collectionConfig,
|
|
37
37
|
config,
|
|
38
|
-
globalConfig
|
|
38
|
+
globalConfig,
|
|
39
|
+
permissions
|
|
39
40
|
}));
|
|
40
41
|
if (meetsCondition) {
|
|
41
42
|
return /*#__PURE__*/ React.createElement(DocumentTab, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/elements/DocumentHeader/Tabs/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload/types'\n\nimport { isPlainObject } from 'payload/utilities'\nimport React from 'react'\n\nimport { ShouldRenderTabs } from './ShouldRenderTabs.js'\nimport { DocumentTab } from './Tab/index.js'\nimport { getCustomViews } from './getCustomViews.js'\nimport { getViewConfig } from './getViewConfig.js'\nimport './index.scss'\nimport { tabs as defaultTabs } from './tabs/index.js'\n\nconst baseClass = 'doc-tabs'\n\nexport const DocumentTabs: React.FC<{\n collectionConfig: SanitizedCollectionConfig\n config: SanitizedConfig\n globalConfig: SanitizedGlobalConfig\n i18n: I18n\n}> = (props) => {\n const { collectionConfig, config, globalConfig } = props\n\n const customViews = getCustomViews({ collectionConfig, globalConfig })\n\n return (\n <ShouldRenderTabs>\n <div className={baseClass}>\n <div className={`${baseClass}__tabs-container`}>\n <ul className={`${baseClass}__tabs`}>\n {Object.entries(defaultTabs)\n // sort `defaultViews` based on `order` property from smallest to largest\n // if no `order`, append the view to the end\n // TODO: open `order` to the config and merge `defaultViews` with `customViews`\n ?.sort(([, a], [, b]) => {\n if (a.order === undefined && b.order === undefined) return 0\n else if (a.order === undefined) return 1\n else if (b.order === undefined) return -1\n return a.order - b.order\n })\n ?.map(([name, tab], index) => {\n const viewConfig = getViewConfig({ name, collectionConfig, globalConfig })\n const tabFromConfig = viewConfig && 'Tab' in viewConfig ? viewConfig.Tab : undefined\n const tabConfig = typeof tabFromConfig === 'object' ? tabFromConfig : undefined\n\n const { condition } = tabConfig || {}\n\n const meetsCondition =\n !condition ||\n (condition
|
|
1
|
+
{"version":3,"sources":["../../../../src/elements/DocumentHeader/Tabs/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Permissions } from 'payload/auth'\nimport type {\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload/types'\n\nimport { isPlainObject } from 'payload/utilities'\nimport React from 'react'\n\nimport { ShouldRenderTabs } from './ShouldRenderTabs.js'\nimport { DocumentTab } from './Tab/index.js'\nimport { getCustomViews } from './getCustomViews.js'\nimport { getViewConfig } from './getViewConfig.js'\nimport './index.scss'\nimport { tabs as defaultTabs } from './tabs/index.js'\n\nconst baseClass = 'doc-tabs'\n\nexport const DocumentTabs: React.FC<{\n collectionConfig: SanitizedCollectionConfig\n config: SanitizedConfig\n globalConfig: SanitizedGlobalConfig\n i18n: I18n\n permissions: Permissions\n}> = (props) => {\n const { collectionConfig, config, globalConfig, permissions } = props\n\n const customViews = getCustomViews({ collectionConfig, globalConfig })\n\n return (\n <ShouldRenderTabs>\n <div className={baseClass}>\n <div className={`${baseClass}__tabs-container`}>\n <ul className={`${baseClass}__tabs`}>\n {Object.entries(defaultTabs)\n // sort `defaultViews` based on `order` property from smallest to largest\n // if no `order`, append the view to the end\n // TODO: open `order` to the config and merge `defaultViews` with `customViews`\n ?.sort(([, a], [, b]) => {\n if (a.order === undefined && b.order === undefined) return 0\n else if (a.order === undefined) return 1\n else if (b.order === undefined) return -1\n return a.order - b.order\n })\n ?.map(([name, tab], index) => {\n const viewConfig = getViewConfig({ name, collectionConfig, globalConfig })\n const tabFromConfig = viewConfig && 'Tab' in viewConfig ? viewConfig.Tab : undefined\n const tabConfig = typeof tabFromConfig === 'object' ? tabFromConfig : undefined\n\n const { condition } = tabConfig || {}\n\n const meetsCondition =\n !condition ||\n (condition &&\n Boolean(condition({ collectionConfig, config, globalConfig, permissions })))\n\n if (meetsCondition) {\n return (\n <DocumentTab\n key={`tab-${index}`}\n {...{\n ...props,\n ...(tab || {}),\n ...(tabFromConfig || {}),\n }}\n />\n )\n }\n\n return null\n })}\n {customViews?.map((CustomView, index) => {\n if ('Tab' in CustomView) {\n const { Tab, path } = CustomView\n\n if (typeof Tab === 'object' && !isPlainObject(Tab)) {\n throw new Error(\n `Custom 'Tab' Component for path: \"${path}\" must be a React Server Component. To use client-side functionality, render your Client Component within a Server Component and pass it only props that are serializable. More info: https://react.dev/reference/react/use-server#serializable-parameters-and-return-values`,\n )\n }\n\n if (typeof Tab === 'function') {\n return <Tab path={path} {...props} key={`tab-custom-${index}`} />\n }\n\n return (\n <DocumentTab\n key={`tab-custom-${index}`}\n {...{\n ...props,\n ...Tab,\n }}\n />\n )\n }\n return null\n })}\n </ul>\n </div>\n </div>\n </ShouldRenderTabs>\n )\n}\n"],"names":["isPlainObject","React","ShouldRenderTabs","DocumentTab","getCustomViews","getViewConfig","tabs","defaultTabs","baseClass","DocumentTabs","props","collectionConfig","config","globalConfig","permissions","customViews","div","className","ul","Object","entries","sort","a","b","order","undefined","map","name","tab","index","viewConfig","tabFromConfig","Tab","tabConfig","condition","meetsCondition","Boolean","key","CustomView","path","Error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAQA,SAASA,aAAa,QAAQ,oBAAmB;AACjD,OAAOC,WAAW,QAAO;AAEzB,SAASC,gBAAgB,QAAQ,wBAAuB;AACxD,SAASC,WAAW,QAAQ,iBAAgB;AAC5C,SAASC,cAAc,QAAQ,sBAAqB;AACpD,SAASC,aAAa,QAAQ,qBAAoB;AAElD,SAASC,QAAQC,WAAW,QAAQ,kBAAiB;AAErD,MAAMC,YAAY;AAElB,OAAO,MAAMC,eAMR,CAACC;IACJ,MAAM,EAAEC,gBAAgB,EAAEC,MAAM,EAAEC,YAAY,EAAEC,WAAW,EAAE,GAAGJ;IAEhE,MAAMK,cAAcX,eAAe;QAAEO;QAAkBE;IAAa;IAEpE,qBACE,oBAACX,sCACC,oBAACc;QAAIC,WAAWT;qBACd,oBAACQ;QAAIC,WAAW,CAAC,EAAET,UAAU,gBAAgB,CAAC;qBAC5C,oBAACU;QAAGD,WAAW,CAAC,EAAET,UAAU,MAAM,CAAC;OAChCW,OAAOC,OAAO,CAACb,cAIZc,KAAK,CAAC,GAAGC,EAAE,EAAE,GAAGC,EAAE;QAClB,IAAID,EAAEE,KAAK,KAAKC,aAAaF,EAAEC,KAAK,KAAKC,WAAW,OAAO;aACtD,IAAIH,EAAEE,KAAK,KAAKC,WAAW,OAAO;aAClC,IAAIF,EAAEC,KAAK,KAAKC,WAAW,OAAO,CAAC;QACxC,OAAOH,EAAEE,KAAK,GAAGD,EAAEC,KAAK;IAC1B,IACEE,IAAI,CAAC,CAACC,MAAMC,IAAI,EAAEC;QAClB,MAAMC,aAAazB,cAAc;YAAEsB;YAAMhB;YAAkBE;QAAa;QACxE,MAAMkB,gBAAgBD,cAAc,SAASA,aAAaA,WAAWE,GAAG,GAAGP;QAC3E,MAAMQ,YAAY,OAAOF,kBAAkB,WAAWA,gBAAgBN;QAEtE,MAAM,EAAES,SAAS,EAAE,GAAGD,aAAa,CAAC;QAEpC,MAAME,iBACJ,CAACD,aACAA,aACCE,QAAQF,UAAU;YAAEvB;YAAkBC;YAAQC;YAAcC;QAAY;QAE5E,IAAIqB,gBAAgB;YAClB,qBACE,oBAAChC;gBACCkC,KAAK,CAAC,IAAI,EAAER,MAAM,CAAC;gBAEjB,GAAGnB,KAAK;gBACR,GAAIkB,OAAO,CAAC,CAAC;gBACb,GAAIG,iBAAiB,CAAC,CAAC;;QAI/B;QAEA,OAAO;IACT,IACDhB,aAAaW,IAAI,CAACY,YAAYT;QAC7B,IAAI,SAASS,YAAY;YACvB,MAAM,EAAEN,GAAG,EAAEO,IAAI,EAAE,GAAGD;YAEtB,IAAI,OAAON,QAAQ,YAAY,CAAChC,cAAcgC,MAAM;gBAClD,MAAM,IAAIQ,MACR,CAAC,kCAAkC,EAAED,KAAK,4QAA4Q,CAAC;YAE3T;YAEA,IAAI,OAAOP,QAAQ,YAAY;gBAC7B,qBAAO,oBAACA;oBAAIO,MAAMA;oBAAO,GAAG7B,KAAK;oBAAE2B,KAAK,CAAC,WAAW,EAAER,MAAM,CAAC;;YAC/D;YAEA,qBACE,oBAAC1B;gBACCkC,KAAK,CAAC,WAAW,EAAER,MAAM,CAAC;gBAExB,GAAGnB,KAAK;gBACR,GAAGsB,GAAG;;QAId;QACA,OAAO;IACT;AAMZ,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/DocumentHeader/Tabs/tabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAItD,eAAO,MAAM,gBAAgB,UAQ5B,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/D,eAAO,MAAM,IAAI,EAAE,MAAM,CACvB,eAAe,EACf,iBAAiB,GAAG;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/DocumentHeader/Tabs/tabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAItD,eAAO,MAAM,gBAAgB,UAQ5B,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/D,eAAO,MAAM,IAAI,EAAE,MAAM,CACvB,eAAe,EACf,iBAAiB,GAAG;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CA6DF,CAAA"}
|
|
@@ -47,7 +47,7 @@ export const tabs = {
|
|
|
47
47
|
},
|
|
48
48
|
Versions: {
|
|
49
49
|
Pill: VersionsPill,
|
|
50
|
-
condition: ({ collectionConfig, globalConfig })=>Boolean(collectionConfig?.versions || globalConfig?.versions),
|
|
50
|
+
condition: ({ collectionConfig, globalConfig, permissions })=>Boolean(collectionConfig?.versions && permissions?.collections?.[collectionConfig?.slug]?.readVersions?.permission || globalConfig?.versions && permissions?.globals?.[globalConfig?.slug]?.readVersions?.permission),
|
|
51
51
|
href: '/versions',
|
|
52
52
|
label: ({ t })=>t('version:versions'),
|
|
53
53
|
order: 200
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/elements/DocumentHeader/Tabs/tabs/index.tsx"],"sourcesContent":["import type { DocumentTabConfig } from 'payload/types'\n\nimport { VersionsPill } from './VersionsPill/index.js'\n\nexport const documentViewKeys = [\n 'API',\n 'Default',\n 'LivePreview',\n 'References',\n 'Relationships',\n 'Version',\n 'Versions',\n]\n\nexport type DocumentViewKey = (typeof documentViewKeys)[number]\n\nexport const tabs: Record<\n DocumentViewKey,\n DocumentTabConfig & {\n order?: number // TODO: expose this to the globalConfig config\n }\n> = {\n API: {\n condition: ({ collectionConfig, globalConfig }) =>\n (collectionConfig && !collectionConfig?.admin?.hideAPIURL) ||\n (globalConfig && !globalConfig?.admin?.hideAPIURL),\n href: '/api',\n label: 'API',\n order: 1000,\n },\n Default: {\n href: '',\n // isActive: ({ href, location }) =>\n // location.pathname === href || location.pathname === `${href}/create`,\n label: ({ t }) => t('general:edit'),\n order: 0,\n },\n LivePreview: {\n condition: ({ collectionConfig, config, globalConfig }) => {\n if (collectionConfig) {\n return Boolean(\n config?.admin?.livePreview?.collections?.includes(collectionConfig.slug) ||\n collectionConfig?.admin?.livePreview,\n )\n }\n\n if (globalConfig) {\n return Boolean(\n config?.admin?.livePreview?.globals?.includes(globalConfig.slug) ||\n globalConfig?.admin?.livePreview,\n )\n }\n\n return false\n },\n href: '/preview',\n label: ({ t }) => t('general:livePreview'),\n order: 100,\n },\n References: {\n condition: () => false,\n },\n Relationships: {\n condition: () => false,\n },\n Version: {\n condition: () => false,\n },\n Versions: {\n Pill: VersionsPill,\n condition: ({ collectionConfig, globalConfig }) =>\n Boolean(collectionConfig?.versions
|
|
1
|
+
{"version":3,"sources":["../../../../../src/elements/DocumentHeader/Tabs/tabs/index.tsx"],"sourcesContent":["import type { DocumentTabConfig } from 'payload/types'\n\nimport { VersionsPill } from './VersionsPill/index.js'\n\nexport const documentViewKeys = [\n 'API',\n 'Default',\n 'LivePreview',\n 'References',\n 'Relationships',\n 'Version',\n 'Versions',\n]\n\nexport type DocumentViewKey = (typeof documentViewKeys)[number]\n\nexport const tabs: Record<\n DocumentViewKey,\n DocumentTabConfig & {\n order?: number // TODO: expose this to the globalConfig config\n }\n> = {\n API: {\n condition: ({ collectionConfig, globalConfig }) =>\n (collectionConfig && !collectionConfig?.admin?.hideAPIURL) ||\n (globalConfig && !globalConfig?.admin?.hideAPIURL),\n href: '/api',\n label: 'API',\n order: 1000,\n },\n Default: {\n href: '',\n // isActive: ({ href, location }) =>\n // location.pathname === href || location.pathname === `${href}/create`,\n label: ({ t }) => t('general:edit'),\n order: 0,\n },\n LivePreview: {\n condition: ({ collectionConfig, config, globalConfig }) => {\n if (collectionConfig) {\n return Boolean(\n config?.admin?.livePreview?.collections?.includes(collectionConfig.slug) ||\n collectionConfig?.admin?.livePreview,\n )\n }\n\n if (globalConfig) {\n return Boolean(\n config?.admin?.livePreview?.globals?.includes(globalConfig.slug) ||\n globalConfig?.admin?.livePreview,\n )\n }\n\n return false\n },\n href: '/preview',\n label: ({ t }) => t('general:livePreview'),\n order: 100,\n },\n References: {\n condition: () => false,\n },\n Relationships: {\n condition: () => false,\n },\n Version: {\n condition: () => false,\n },\n Versions: {\n Pill: VersionsPill,\n condition: ({ collectionConfig, globalConfig, permissions }) =>\n Boolean(\n (collectionConfig?.versions &&\n permissions?.collections?.[collectionConfig?.slug]?.readVersions?.permission) ||\n (globalConfig?.versions &&\n permissions?.globals?.[globalConfig?.slug]?.readVersions?.permission),\n ),\n href: '/versions',\n label: ({ t }) => t('version:versions'),\n order: 200,\n },\n}\n"],"names":["VersionsPill","documentViewKeys","tabs","API","condition","collectionConfig","globalConfig","admin","hideAPIURL","href","label","order","Default","t","LivePreview","config","Boolean","livePreview","collections","includes","slug","globals","References","Relationships","Version","Versions","Pill","permissions","versions","readVersions","permission"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,YAAY,QAAQ,0BAAyB;AAEtD,OAAO,MAAMC,mBAAmB;IAC9B;IACA;IACA;IACA;IACA;IACA;IACA;CACD,CAAA;AAID,OAAO,MAAMC,OAKT;IACFC,KAAK;QACHC,WAAW,CAAC,EAAEC,gBAAgB,EAAEC,YAAY,EAAE,GAC5C,AAACD,oBAAoB,CAACA,kBAAkBE,OAAOC,cAC9CF,gBAAgB,CAACA,cAAcC,OAAOC;QACzCC,MAAM;QACNC,OAAO;QACPC,OAAO;IACT;IACAC,SAAS;QACPH,MAAM;QACN,oCAAoC;QACpC,wEAAwE;QACxEC,OAAO,CAAC,EAAEG,CAAC,EAAE,GAAKA,EAAE;QACpBF,OAAO;IACT;IACAG,aAAa;QACXV,WAAW,CAAC,EAAEC,gBAAgB,EAAEU,MAAM,EAAET,YAAY,EAAE;YACpD,IAAID,kBAAkB;gBACpB,OAAOW,QACLD,QAAQR,OAAOU,aAAaC,aAAaC,SAASd,iBAAiBe,IAAI,KACrEf,kBAAkBE,OAAOU;YAE/B;YAEA,IAAIX,cAAc;gBAChB,OAAOU,QACLD,QAAQR,OAAOU,aAAaI,SAASF,SAASb,aAAac,IAAI,KAC7Dd,cAAcC,OAAOU;YAE3B;YAEA,OAAO;QACT;QACAR,MAAM;QACNC,OAAO,CAAC,EAAEG,CAAC,EAAE,GAAKA,EAAE;QACpBF,OAAO;IACT;IACAW,YAAY;QACVlB,WAAW,IAAM;IACnB;IACAmB,eAAe;QACbnB,WAAW,IAAM;IACnB;IACAoB,SAAS;QACPpB,WAAW,IAAM;IACnB;IACAqB,UAAU;QACRC,MAAM1B;QACNI,WAAW,CAAC,EAAEC,gBAAgB,EAAEC,YAAY,EAAEqB,WAAW,EAAE,GACzDX,QACE,AAACX,kBAAkBuB,YACjBD,aAAaT,aAAa,CAACb,kBAAkBe,KAAK,EAAES,cAAcC,cACjExB,cAAcsB,YACbD,aAAaN,SAAS,CAACf,cAAcc,KAAK,EAAES,cAAcC;QAElErB,MAAM;QACNC,OAAO,CAAC,EAAEG,CAAC,EAAE,GAAKA,EAAE;QACpBF,OAAO;IACT;AACF,EAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { I18n } from '@payloadcms/translations';
|
|
2
|
+
import type { Permissions } from 'payload/auth';
|
|
2
3
|
import type { SanitizedCollectionConfig, SanitizedConfig, SanitizedGlobalConfig } from 'payload/types';
|
|
3
4
|
import React from 'react';
|
|
4
5
|
import './index.scss';
|
|
@@ -9,5 +10,6 @@ export declare const DocumentHeader: React.FC<{
|
|
|
9
10
|
globalConfig?: SanitizedGlobalConfig;
|
|
10
11
|
hideTabs?: boolean;
|
|
11
12
|
i18n: I18n;
|
|
13
|
+
permissions: Permissions;
|
|
12
14
|
}>;
|
|
13
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EACV,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACtB,MAAM,eAAe,CAAA;AAEtB,OAAO,KAAmB,MAAM,OAAO,CAAA;AAKvC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EACV,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACtB,MAAM,eAAe,CAAA;AAEtB,OAAO,KAAmB,MAAM,OAAO,CAAA;AAKvC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,WAAW,CAAA;CACzB,CAuBA,CAAA"}
|
|
@@ -4,7 +4,7 @@ import { RenderTitle } from '../RenderTitle/index.js';
|
|
|
4
4
|
import { DocumentTabs } from './Tabs/index.js';
|
|
5
5
|
const baseClass = `doc-header`;
|
|
6
6
|
export const DocumentHeader = (props)=>{
|
|
7
|
-
const { collectionConfig, config, customHeader, globalConfig, hideTabs, i18n } = props;
|
|
7
|
+
const { collectionConfig, config, customHeader, globalConfig, hideTabs, i18n, permissions } = props;
|
|
8
8
|
return /*#__PURE__*/ React.createElement(Gutter, {
|
|
9
9
|
className: baseClass
|
|
10
10
|
}, customHeader && customHeader, !customHeader && /*#__PURE__*/ React.createElement(Fragment, null, /*#__PURE__*/ React.createElement(RenderTitle, {
|
|
@@ -13,7 +13,8 @@ export const DocumentHeader = (props)=>{
|
|
|
13
13
|
collectionConfig: collectionConfig,
|
|
14
14
|
config: config,
|
|
15
15
|
globalConfig: globalConfig,
|
|
16
|
-
i18n: i18n
|
|
16
|
+
i18n: i18n,
|
|
17
|
+
permissions: permissions
|
|
17
18
|
})));
|
|
18
19
|
};
|
|
19
20
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/DocumentHeader/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload/types'\n\nimport React, { Fragment } from 'react'\n\nimport { Gutter } from '../Gutter/index.js'\nimport { RenderTitle } from '../RenderTitle/index.js'\nimport { DocumentTabs } from './Tabs/index.js'\nimport './index.scss'\n\nconst baseClass = `doc-header`\n\nexport const DocumentHeader: React.FC<{\n collectionConfig?: SanitizedCollectionConfig\n config: SanitizedConfig\n customHeader?: React.ReactNode\n globalConfig?: SanitizedGlobalConfig\n hideTabs?: boolean\n i18n: I18n\n}> = (props) => {\n const { collectionConfig, config, customHeader, globalConfig, hideTabs, i18n }
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/DocumentHeader/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Permissions } from 'payload/auth'\nimport type {\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload/types'\n\nimport React, { Fragment } from 'react'\n\nimport { Gutter } from '../Gutter/index.js'\nimport { RenderTitle } from '../RenderTitle/index.js'\nimport { DocumentTabs } from './Tabs/index.js'\nimport './index.scss'\n\nconst baseClass = `doc-header`\n\nexport const DocumentHeader: React.FC<{\n collectionConfig?: SanitizedCollectionConfig\n config: SanitizedConfig\n customHeader?: React.ReactNode\n globalConfig?: SanitizedGlobalConfig\n hideTabs?: boolean\n i18n: I18n\n permissions: Permissions\n}> = (props) => {\n const { collectionConfig, config, customHeader, globalConfig, hideTabs, i18n, permissions } =\n props\n\n return (\n <Gutter className={baseClass}>\n {customHeader && customHeader}\n {!customHeader && (\n <Fragment>\n <RenderTitle className={`${baseClass}__title`} />\n {!hideTabs && (\n <DocumentTabs\n collectionConfig={collectionConfig}\n config={config}\n globalConfig={globalConfig}\n i18n={i18n}\n permissions={permissions}\n />\n )}\n </Fragment>\n )}\n </Gutter>\n )\n}\n"],"names":["React","Fragment","Gutter","RenderTitle","DocumentTabs","baseClass","DocumentHeader","props","collectionConfig","config","customHeader","globalConfig","hideTabs","i18n","permissions","className"],"rangeMappings":";;;;;;;;;;;;;;;;;;","mappings":"AAQA,OAAOA,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,MAAM,QAAQ,qBAAoB;AAC3C,SAASC,WAAW,QAAQ,0BAAyB;AACrD,SAASC,YAAY,QAAQ,kBAAiB;AAG9C,MAAMC,YAAY,CAAC,UAAU,CAAC;AAE9B,OAAO,MAAMC,iBAQR,CAACC;IACJ,MAAM,EAAEC,gBAAgB,EAAEC,MAAM,EAAEC,YAAY,EAAEC,YAAY,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,WAAW,EAAE,GACzFP;IAEF,qBACE,oBAACL;QAAOa,WAAWV;OAChBK,gBAAgBA,cAChB,CAACA,8BACA,oBAACT,8BACC,oBAACE;QAAYY,WAAW,CAAC,EAAEV,UAAU,OAAO,CAAC;QAC5C,CAACO,0BACA,oBAACR;QACCI,kBAAkBA;QAClBC,QAAQA;QACRE,cAAcA;QACdE,MAAMA;QACNC,aAAaA;;AAO3B,EAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FieldBase } from '
|
|
1
|
+
import type { FieldBase } from 'payload/types';
|
|
2
2
|
import type React from 'react';
|
|
3
3
|
import type { MappedField } from '../../providers/ComponentMap/buildComponentMap/types.js';
|
|
4
4
|
import type { FormFieldBase } from '../shared/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/RichText/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/RichText/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yDAAyD,CAAA;AAC1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;IACnE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAEjD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/RichText/index.tsx"],"sourcesContent":["import type { FieldBase } from '
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/RichText/index.tsx"],"sourcesContent":["import type { FieldBase } from 'payload/types'\nimport type React from 'react'\n\nimport type { MappedField } from '../../providers/ComponentMap/buildComponentMap/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type RichTextFieldProps = FormFieldBase & {\n label?: FieldBase['label']\n name: string\n richTextComponentMap?: Map<string, MappedField[] | React.ReactNode>\n width?: string\n}\n\nexport const RichText: React.FC<RichTextFieldProps> = () => {\n return null\n}\n"],"names":["RichText"],"rangeMappings":";;","mappings":"AAaA,OAAO,MAAMA,WAAyC;IACpD,OAAO;AACT,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/fields.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { CustomComponent } from 'packages/payload/src/config/types.js'\nimport type {\n CellComponentProps,\n DescriptionComponent,\n DescriptionFunction,\n Field,\n FieldBase,\n FieldDescriptionProps,\n FieldWithPath,\n LabelProps,\n Option,\n RowLabelComponent,\n SanitizedConfig,\n WithServerSideProps as WithServerSidePropsType,\n} from 'payload/types'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/types'\nimport {\n isPlainFunction,\n isReactClientComponent,\n isReactComponent,\n isReactServerComponent,\n} from 'payload/utilities'\nimport React, { Fragment } from 'react'\n\nimport type { ArrayFieldProps } from '../../../fields/Array/index.js'\nimport type { BlocksFieldProps } from '../../../fields/Blocks/index.js'\nimport type { CheckboxFieldProps } from '../../../fields/Checkbox/index.js'\nimport type { CodeFieldProps } from '../../../fields/Code/index.js'\nimport type { CollapsibleFieldProps } from '../../../fields/Collapsible/index.js'\nimport type { DateFieldProps } from '../../../fields/DateTime/index.js'\nimport type { EmailFieldProps } from '../../../fields/Email/index.js'\nimport type { GroupFieldProps } from '../../../fields/Group/index.js'\nimport type { JSONFieldProps } from '../../../fields/JSON/index.js'\nimport type { NumberFieldProps } from '../../../fields/Number/index.js'\nimport type { PointFieldProps } from '../../../fields/Point/index.js'\nimport type { RadioFieldProps } from '../../../fields/RadioGroup/index.js'\nimport type { RelationshipFieldProps } from '../../../fields/Relationship/types.js'\nimport type { RichTextFieldProps } from '../../../fields/RichText/index.js'\nimport type { RowFieldProps } from '../../../fields/Row/types.js'\nimport type { SelectFieldProps } from '../../../fields/Select/index.js'\nimport type { TabsFieldProps } from '../../../fields/Tabs/index.js'\nimport type { TextFieldProps } from '../../../fields/Text/types.js'\nimport type { TextareaFieldProps } from '../../../fields/Textarea/types.js'\nimport type { UploadFieldProps } from '../../../fields/Upload/types.js'\nimport type { FormFieldBase } from '../../../fields/shared/index.js'\nimport type {\n FieldComponentProps,\n FieldMap,\n MappedField,\n MappedTab,\n ReducedBlock,\n} from './types.js'\n\nimport { HiddenInput } from '../../../fields/HiddenInput/index.js'\n\nexport const mapFields = (args: {\n WithServerSideProps: WithServerSidePropsType\n config: SanitizedConfig\n /**\n * If mapFields is used outside of collections, you might not want it to add an id field\n */\n disableAddingID?: boolean\n fieldSchema: FieldWithPath[]\n filter?: (field: Field) => boolean\n i18n: I18n\n parentPath?: string\n readOnly?: boolean\n}): FieldMap => {\n const {\n WithServerSideProps,\n config,\n disableAddingID,\n fieldSchema,\n filter,\n i18n,\n i18n: { t },\n parentPath,\n readOnly: readOnlyOverride,\n } = args\n\n const result: FieldMap = fieldSchema.reduce((acc, field): FieldMap => {\n const fieldIsPresentational = fieldIsPresentationalOnly(field)\n let CustomFieldComponent: CustomComponent<FieldComponentProps> = field.admin?.components?.Field\n\n const CustomCellComponent = field.admin?.components?.Cell\n\n const isHidden = field?.admin && 'hidden' in field.admin && field.admin.hidden\n\n if (fieldIsPresentational || (!field?.hidden && field?.admin?.disabled !== true)) {\n if ((filter && typeof filter === 'function' && filter(field)) || !filter) {\n if (isHidden) {\n if (CustomFieldComponent) {\n CustomFieldComponent = HiddenInput\n }\n }\n\n const isFieldAffectingData = fieldAffectsData(field)\n\n const path = `${parentPath ? `${parentPath}.` : ''}${\n field.path || (isFieldAffectingData && 'name' in field ? field.name : '')\n }`\n\n const AfterInput =\n ('admin' in field &&\n 'components' in field.admin &&\n 'afterInput' in field.admin.components &&\n Array.isArray(field.admin?.components?.afterInput) && (\n <Fragment>\n {field.admin.components.afterInput.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n ))}\n </Fragment>\n )) ||\n null\n\n const BeforeInput =\n ('admin' in field &&\n field.admin?.components &&\n 'beforeInput' in field.admin.components &&\n Array.isArray(field.admin.components.beforeInput) && (\n <Fragment>\n {field.admin.components.beforeInput.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n ))}\n </Fragment>\n )) ||\n null\n\n const labelProps: LabelProps = {\n label:\n 'label' in field && !isPlainFunction(field.label) && !isReactComponent(field.label)\n ? field.label\n : undefined,\n required: 'required' in field ? field.required : undefined,\n }\n\n const CustomLabelComponent =\n ('admin' in field &&\n field.admin?.components &&\n 'Label' in field.admin.components &&\n field.admin.components?.Label) ||\n undefined\n\n const CustomLabel =\n CustomLabelComponent !== undefined ? (\n <WithServerSideProps Component={CustomLabelComponent} {...(labelProps || {})} />\n ) : undefined\n\n const descriptionProps: FieldDescriptionProps = {\n description:\n (field.admin &&\n 'description' in field.admin &&\n (((typeof field.admin?.description === 'string' ||\n typeof field.admin?.description === 'object') &&\n field.admin.description) ||\n (typeof field.admin?.description === 'function' &&\n isPlainFunction<DescriptionFunction>(field.admin?.description) &&\n field.admin?.description({ t })))) ||\n undefined,\n }\n\n const CustomDescriptionComponent =\n (field.admin &&\n 'description' in field.admin &&\n ((isReactComponent<DescriptionComponent>(field.admin.description) &&\n field.admin.description) ||\n (field.admin.description && FieldDescription))) ||\n undefined\n\n const CustomDescription =\n CustomDescriptionComponent !== undefined ? (\n <WithServerSideProps\n Component={CustomDescriptionComponent}\n {...(descriptionProps || {})}\n />\n ) : undefined\n\n const errorProps = {\n path,\n }\n\n const CustomErrorComponent =\n ('admin' in field &&\n field.admin?.components &&\n 'Error' in field.admin.components &&\n field.admin?.components?.Error) ||\n undefined\n\n const CustomError =\n CustomErrorComponent !== undefined ? (\n <WithServerSideProps Component={CustomErrorComponent} {...(errorProps || {})} />\n ) : undefined\n\n const baseFieldProps: FormFieldBase = {\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n custom: 'admin' in field && 'custom' in field.admin ? field.admin?.custom : undefined,\n descriptionProps,\n disabled: 'admin' in field && 'disabled' in field.admin ? field.admin?.disabled : false,\n errorProps,\n labelProps,\n path,\n required: 'required' in field ? field.required : undefined,\n }\n\n let fieldComponentProps: FieldComponentProps\n\n let fieldOptions: Option[]\n\n if ('options' in field) {\n fieldOptions = field.options.map((option) => {\n if (typeof option === 'object' && typeof option.label === 'function') {\n return {\n label: option.label({ t: i18n.t }),\n value: option.value,\n }\n }\n\n return option\n })\n }\n\n const cellComponentProps: CellComponentProps = {\n name: 'name' in field ? field.name : undefined,\n fieldType: field.type,\n isFieldAffectingData,\n label:\n 'label' in field && field.label && typeof field.label !== 'function'\n ? field.label\n : undefined,\n labels: 'labels' in field ? field.labels : undefined,\n options: 'options' in field ? fieldOptions : undefined,\n relationTo: 'relationTo' in field ? field.relationTo : undefined,\n }\n\n switch (field.type) {\n case 'array': {\n let CustomRowLabel: React.ReactNode\n\n if (\n 'admin' in field &&\n field.admin.components &&\n 'RowLabel' in field.admin.components &&\n field.admin.components.RowLabel &&\n isReactComponent<RowLabelComponent>(field.admin.components.RowLabel)\n ) {\n const CustomRowLabelComponent = field.admin.components.RowLabel\n CustomRowLabel = <WithServerSideProps Component={CustomRowLabelComponent} />\n }\n\n const arrayFieldProps: Omit<ArrayFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n CustomRowLabel,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n label: field?.label,\n labels: field.labels,\n maxRows: field.maxRows,\n minRows: field.minRows,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = arrayFieldProps\n break\n }\n case 'blocks': {\n const blocks = field.blocks.map((block) => {\n const blockFieldMap = mapFields({\n WithServerSideProps,\n config,\n fieldSchema: block.fields,\n filter,\n i18n,\n parentPath: `${path}.${block.slug}`,\n readOnly: readOnlyOverride,\n })\n\n const reducedBlock: ReducedBlock = {\n slug: block.slug,\n custom: block.admin?.custom,\n fieldMap: blockFieldMap,\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n labels: block.labels,\n }\n\n return reducedBlock\n })\n\n const blocksField: Omit<BlocksFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n blocks,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n label: field?.label,\n labels: field.labels,\n maxRows: field.maxRows,\n minRows: field.minRows,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = blocksField\n\n cellComponentProps.blocks = field.blocks.map((b) => ({\n slug: b.slug,\n labels: b.labels,\n }))\n\n break\n }\n case 'checkbox': {\n const checkboxField: CheckboxFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n label: field.label,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = checkboxField\n break\n }\n case 'code': {\n const codeField: CodeFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n editorOptions: field.admin?.editorOptions,\n label: field.label,\n language: field.admin?.language,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = codeField\n break\n }\n case 'collapsible': {\n let CustomCollapsibleLabel: React.ReactNode\n\n if (isReactComponent(field.label) || isPlainFunction(field.label)) {\n const CustomCollapsibleLabelComponent = field.label as RowLabelComponent\n CustomCollapsibleLabel = (\n <WithServerSideProps Component={CustomCollapsibleLabelComponent} />\n )\n }\n\n const collapsibleField: Omit<CollapsibleFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n CustomLabel: CustomCollapsibleLabel,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n initCollapsed: field.admin?.initCollapsed,\n label: !CustomCollapsibleLabel ? (field.label as FieldBase['label']) : undefined,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = collapsibleField as CollapsibleFieldProps // TODO: dunno why this is needed\n break\n }\n case 'date': {\n const dateField: DateFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n date: field.admin?.date,\n disabled: field.admin?.disabled,\n label: field.label,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = dateField\n cellComponentProps.dateDisplayFormat = field.admin?.date?.displayFormat\n break\n }\n case 'email': {\n const emailField: EmailFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n label: field.label,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = emailField\n break\n }\n case 'group': {\n const groupField: Omit<GroupFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n label: field.label,\n readOnly: field.admin?.readOnly,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = groupField\n break\n }\n case 'json': {\n const jsonField: JSONFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n editorOptions: field.admin?.editorOptions,\n jsonSchema: field.jsonSchema,\n label: field.label,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = jsonField\n break\n }\n case 'number': {\n const numberField: NumberFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n label: field.label,\n max: field.max,\n maxRows: field.maxRows,\n min: field.min,\n readOnly: field.admin?.readOnly,\n required: field.required,\n step: field.admin?.step,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = numberField\n break\n }\n case 'point': {\n const pointField: PointFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n label: field.label,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = pointField\n break\n }\n case 'relationship': {\n const relationshipField: RelationshipFieldProps = {\n ...baseFieldProps,\n name: field.name,\n allowCreate: field.admin.allowCreate,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n label: field.label,\n readOnly: field.admin?.readOnly,\n relationTo: field.relationTo,\n required: field.required,\n sortOptions: field.admin.sortOptions,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.relationTo = field.relationTo\n fieldComponentProps = relationshipField\n break\n }\n case 'radio': {\n const radioField: RadioFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n label: field.label,\n options: fieldOptions,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.options = fieldOptions\n fieldComponentProps = radioField\n break\n }\n case 'richText': {\n const richTextField: RichTextFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n label: field.label,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n const RichTextFieldComponent = field.editor.FieldComponent\n const RichTextCellComponent = field.editor.CellComponent\n\n if (typeof field.editor.generateComponentMap === 'function') {\n const result = field.editor.generateComponentMap({\n WithServerSideProps,\n config,\n i18n,\n schemaPath: path,\n })\n richTextField.richTextComponentMap = result\n cellComponentProps.richTextComponentMap = result\n }\n\n if (RichTextFieldComponent) {\n CustomFieldComponent = RichTextFieldComponent\n }\n\n if (RichTextCellComponent) {\n cellComponentProps.CellComponentOverride = (\n <WithServerSideProps Component={RichTextCellComponent} />\n )\n }\n\n fieldComponentProps = richTextField\n\n break\n }\n case 'row': {\n const rowField: Omit<RowFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = rowField\n break\n }\n case 'tabs': {\n // `tabs` fields require a field map of each of its tab's nested fields\n const tabs = field.tabs.map((tab) => {\n const tabFieldMap = mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: tab.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n })\n\n const reducedTab: MappedTab = {\n name: 'name' in tab ? tab.name : undefined,\n fieldMap: tabFieldMap,\n label: tab.label,\n }\n\n return reducedTab\n })\n\n const tabsField: Omit<TabsFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: 'name' in field ? (field.name as string) : undefined,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n tabs,\n width: field.admin?.width,\n }\n\n fieldComponentProps = tabsField\n break\n }\n case 'text': {\n const textField: TextFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n label: field.label,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = textField\n break\n }\n case 'textarea': {\n const textareaField: TextareaFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n label: field.label,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n rows: field.admin?.rows,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = textareaField\n break\n }\n case 'ui': {\n fieldComponentProps = baseFieldProps\n break\n }\n case 'upload': {\n const uploadField: UploadFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n filterOptions: field.filterOptions,\n label: field.label,\n readOnly: field.admin?.readOnly,\n relationTo: field.relationTo,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.relationTo = field.relationTo\n fieldComponentProps = uploadField\n break\n }\n case 'select': {\n const selectField: SelectFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n isClearable: field.admin?.isClearable,\n label: field.label,\n options: fieldOptions,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.options = fieldOptions\n fieldComponentProps = selectField\n break\n }\n default: {\n break\n }\n }\n\n const reducedField: MappedField = {\n name: 'name' in field ? field.name : undefined,\n type: field.type,\n CustomCell: CustomCellComponent ? (\n <WithServerSideProps Component={CustomCellComponent} {...cellComponentProps} />\n ) : undefined,\n CustomField: CustomFieldComponent ? (\n <WithServerSideProps Component={CustomFieldComponent} {...fieldComponentProps} />\n ) : undefined,\n cellComponentProps,\n custom: field?.admin?.custom,\n disableBulkEdit:\n 'admin' in field && 'disableBulkEdit' in field.admin && field.admin.disableBulkEdit,\n fieldComponentProps,\n fieldIsPresentational,\n isFieldAffectingData,\n isHidden,\n isSidebar:\n 'admin' in field && 'position' in field.admin && field.admin.position === 'sidebar',\n localized: 'localized' in field ? field.localized : false,\n unique: 'unique' in field ? field.unique : false,\n }\n\n acc.push(reducedField)\n }\n }\n\n return acc\n }, [])\n\n const hasID =\n result.findIndex((f) => 'name' in f && f.isFieldAffectingData && f.name === 'id') > -1\n\n if (!disableAddingID && !hasID) {\n // TODO: For all fields (not just this one) we need to add the name to both .fieldComponentProps.name AND .name. This can probably be improved\n result.push({\n name: 'id',\n type: 'text',\n CustomField: null,\n cellComponentProps: {\n name: 'id',\n },\n disableBulkEdit: true,\n fieldComponentProps: {\n name: 'id',\n label: 'ID',\n labelProps: {\n label: 'ID',\n },\n },\n fieldIsPresentational: false,\n isFieldAffectingData: true,\n isHidden: true,\n localized: undefined,\n })\n }\n\n return result\n}\n"],"names":["FieldDescription","fieldAffectsData","fieldIsPresentationalOnly","isPlainFunction","isReactComponent","React","Fragment","HiddenInput","mapFields","args","WithServerSideProps","config","disableAddingID","fieldSchema","filter","i18n","t","parentPath","readOnly","readOnlyOverride","result","reduce","acc","field","fieldIsPresentational","CustomFieldComponent","admin","components","Field","CustomCellComponent","Cell","isHidden","hidden","disabled","isFieldAffectingData","path","name","AfterInput","Array","isArray","afterInput","map","Component","i","key","BeforeInput","beforeInput","labelProps","label","undefined","required","CustomLabelComponent","Label","CustomLabel","descriptionProps","description","CustomDescriptionComponent","CustomDescription","errorProps","CustomErrorComponent","Error","CustomError","baseFieldProps","custom","fieldComponentProps","fieldOptions","options","option","value","cellComponentProps","fieldType","type","labels","relationTo","CustomRowLabel","RowLabel","CustomRowLabelComponent","arrayFieldProps","className","fieldMap","fields","maxRows","minRows","style","width","blocks","block","blockFieldMap","slug","reducedBlock","imageAltText","imageURL","blocksField","b","checkboxField","codeField","editorOptions","language","CustomCollapsibleLabel","CustomCollapsibleLabelComponent","collapsibleField","initCollapsed","dateField","date","placeholder","dateDisplayFormat","displayFormat","emailField","groupField","jsonField","jsonSchema","numberField","hasMany","max","min","step","pointField","relationshipField","allowCreate","sortOptions","radioField","richTextField","RichTextFieldComponent","editor","FieldComponent","RichTextCellComponent","CellComponent","generateComponentMap","schemaPath","richTextComponentMap","CellComponentOverride","rowField","tabs","tab","tabFieldMap","reducedTab","tabsField","textField","maxLength","minLength","textareaField","rows","uploadField","filterOptions","selectField","isClearable","reducedField","CustomCell","CustomField","disableBulkEdit","isSidebar","position","localized","unique","push","hasID","findIndex","f"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/fields.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { CustomComponent } from 'payload/config'\nimport type {\n CellComponentProps,\n DescriptionComponent,\n DescriptionFunction,\n Field,\n FieldBase,\n FieldDescriptionProps,\n FieldWithPath,\n LabelProps,\n Option,\n RowLabelComponent,\n SanitizedConfig,\n WithServerSideProps as WithServerSidePropsType,\n} from 'payload/types'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/types'\nimport {\n isPlainFunction,\n isReactClientComponent,\n isReactComponent,\n isReactServerComponent,\n} from 'payload/utilities'\nimport React, { Fragment } from 'react'\n\nimport type { ArrayFieldProps } from '../../../fields/Array/index.js'\nimport type { BlocksFieldProps } from '../../../fields/Blocks/index.js'\nimport type { CheckboxFieldProps } from '../../../fields/Checkbox/index.js'\nimport type { CodeFieldProps } from '../../../fields/Code/index.js'\nimport type { CollapsibleFieldProps } from '../../../fields/Collapsible/index.js'\nimport type { DateFieldProps } from '../../../fields/DateTime/index.js'\nimport type { EmailFieldProps } from '../../../fields/Email/index.js'\nimport type { GroupFieldProps } from '../../../fields/Group/index.js'\nimport type { JSONFieldProps } from '../../../fields/JSON/index.js'\nimport type { NumberFieldProps } from '../../../fields/Number/index.js'\nimport type { PointFieldProps } from '../../../fields/Point/index.js'\nimport type { RadioFieldProps } from '../../../fields/RadioGroup/index.js'\nimport type { RelationshipFieldProps } from '../../../fields/Relationship/types.js'\nimport type { RichTextFieldProps } from '../../../fields/RichText/index.js'\nimport type { RowFieldProps } from '../../../fields/Row/types.js'\nimport type { SelectFieldProps } from '../../../fields/Select/index.js'\nimport type { TabsFieldProps } from '../../../fields/Tabs/index.js'\nimport type { TextFieldProps } from '../../../fields/Text/types.js'\nimport type { TextareaFieldProps } from '../../../fields/Textarea/types.js'\nimport type { UploadFieldProps } from '../../../fields/Upload/types.js'\nimport type { FormFieldBase } from '../../../fields/shared/index.js'\nimport type {\n FieldComponentProps,\n FieldMap,\n MappedField,\n MappedTab,\n ReducedBlock,\n} from './types.js'\n\nimport { HiddenInput } from '../../../fields/HiddenInput/index.js'\n\nexport const mapFields = (args: {\n WithServerSideProps: WithServerSidePropsType\n config: SanitizedConfig\n /**\n * If mapFields is used outside of collections, you might not want it to add an id field\n */\n disableAddingID?: boolean\n fieldSchema: FieldWithPath[]\n filter?: (field: Field) => boolean\n i18n: I18n\n parentPath?: string\n readOnly?: boolean\n}): FieldMap => {\n const {\n WithServerSideProps,\n config,\n disableAddingID,\n fieldSchema,\n filter,\n i18n,\n i18n: { t },\n parentPath,\n readOnly: readOnlyOverride,\n } = args\n\n const result: FieldMap = fieldSchema.reduce((acc, field): FieldMap => {\n const fieldIsPresentational = fieldIsPresentationalOnly(field)\n let CustomFieldComponent: CustomComponent<FieldComponentProps> = field.admin?.components?.Field\n\n const CustomCellComponent = field.admin?.components?.Cell\n\n const isHidden = field?.admin && 'hidden' in field.admin && field.admin.hidden\n\n if (fieldIsPresentational || (!field?.hidden && field?.admin?.disabled !== true)) {\n if ((filter && typeof filter === 'function' && filter(field)) || !filter) {\n if (isHidden) {\n if (CustomFieldComponent) {\n CustomFieldComponent = HiddenInput\n }\n }\n\n const isFieldAffectingData = fieldAffectsData(field)\n\n const path = `${parentPath ? `${parentPath}.` : ''}${\n field.path || (isFieldAffectingData && 'name' in field ? field.name : '')\n }`\n\n const AfterInput =\n ('admin' in field &&\n 'components' in field.admin &&\n 'afterInput' in field.admin.components &&\n Array.isArray(field.admin?.components?.afterInput) && (\n <Fragment>\n {field.admin.components.afterInput.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n ))}\n </Fragment>\n )) ||\n null\n\n const BeforeInput =\n ('admin' in field &&\n field.admin?.components &&\n 'beforeInput' in field.admin.components &&\n Array.isArray(field.admin.components.beforeInput) && (\n <Fragment>\n {field.admin.components.beforeInput.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n ))}\n </Fragment>\n )) ||\n null\n\n const labelProps: LabelProps = {\n label:\n 'label' in field && !isPlainFunction(field.label) && !isReactComponent(field.label)\n ? field.label\n : undefined,\n required: 'required' in field ? field.required : undefined,\n }\n\n const CustomLabelComponent =\n ('admin' in field &&\n field.admin?.components &&\n 'Label' in field.admin.components &&\n field.admin.components?.Label) ||\n undefined\n\n const CustomLabel =\n CustomLabelComponent !== undefined ? (\n <WithServerSideProps Component={CustomLabelComponent} {...(labelProps || {})} />\n ) : undefined\n\n const descriptionProps: FieldDescriptionProps = {\n description:\n (field.admin &&\n 'description' in field.admin &&\n (((typeof field.admin?.description === 'string' ||\n typeof field.admin?.description === 'object') &&\n field.admin.description) ||\n (typeof field.admin?.description === 'function' &&\n isPlainFunction<DescriptionFunction>(field.admin?.description) &&\n field.admin?.description({ t })))) ||\n undefined,\n }\n\n const CustomDescriptionComponent =\n (field.admin &&\n 'description' in field.admin &&\n ((isReactComponent<DescriptionComponent>(field.admin.description) &&\n field.admin.description) ||\n (field.admin.description && FieldDescription))) ||\n undefined\n\n const CustomDescription =\n CustomDescriptionComponent !== undefined ? (\n <WithServerSideProps\n Component={CustomDescriptionComponent}\n {...(descriptionProps || {})}\n />\n ) : undefined\n\n const errorProps = {\n path,\n }\n\n const CustomErrorComponent =\n ('admin' in field &&\n field.admin?.components &&\n 'Error' in field.admin.components &&\n field.admin?.components?.Error) ||\n undefined\n\n const CustomError =\n CustomErrorComponent !== undefined ? (\n <WithServerSideProps Component={CustomErrorComponent} {...(errorProps || {})} />\n ) : undefined\n\n const baseFieldProps: FormFieldBase = {\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n custom: 'admin' in field && 'custom' in field.admin ? field.admin?.custom : undefined,\n descriptionProps,\n disabled: 'admin' in field && 'disabled' in field.admin ? field.admin?.disabled : false,\n errorProps,\n labelProps,\n path,\n required: 'required' in field ? field.required : undefined,\n }\n\n let fieldComponentProps: FieldComponentProps\n\n let fieldOptions: Option[]\n\n if ('options' in field) {\n fieldOptions = field.options.map((option) => {\n if (typeof option === 'object' && typeof option.label === 'function') {\n return {\n label: option.label({ t: i18n.t }),\n value: option.value,\n }\n }\n\n return option\n })\n }\n\n const cellComponentProps: CellComponentProps = {\n name: 'name' in field ? field.name : undefined,\n fieldType: field.type,\n isFieldAffectingData,\n label:\n 'label' in field && field.label && typeof field.label !== 'function'\n ? field.label\n : undefined,\n labels: 'labels' in field ? field.labels : undefined,\n options: 'options' in field ? fieldOptions : undefined,\n relationTo: 'relationTo' in field ? field.relationTo : undefined,\n }\n\n switch (field.type) {\n case 'array': {\n let CustomRowLabel: React.ReactNode\n\n if (\n 'admin' in field &&\n field.admin.components &&\n 'RowLabel' in field.admin.components &&\n field.admin.components.RowLabel &&\n isReactComponent<RowLabelComponent>(field.admin.components.RowLabel)\n ) {\n const CustomRowLabelComponent = field.admin.components.RowLabel\n CustomRowLabel = <WithServerSideProps Component={CustomRowLabelComponent} />\n }\n\n const arrayFieldProps: Omit<ArrayFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n CustomRowLabel,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n label: field?.label,\n labels: field.labels,\n maxRows: field.maxRows,\n minRows: field.minRows,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = arrayFieldProps\n break\n }\n case 'blocks': {\n const blocks = field.blocks.map((block) => {\n const blockFieldMap = mapFields({\n WithServerSideProps,\n config,\n fieldSchema: block.fields,\n filter,\n i18n,\n parentPath: `${path}.${block.slug}`,\n readOnly: readOnlyOverride,\n })\n\n const reducedBlock: ReducedBlock = {\n slug: block.slug,\n custom: block.admin?.custom,\n fieldMap: blockFieldMap,\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n labels: block.labels,\n }\n\n return reducedBlock\n })\n\n const blocksField: Omit<BlocksFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n blocks,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n label: field?.label,\n labels: field.labels,\n maxRows: field.maxRows,\n minRows: field.minRows,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = blocksField\n\n cellComponentProps.blocks = field.blocks.map((b) => ({\n slug: b.slug,\n labels: b.labels,\n }))\n\n break\n }\n case 'checkbox': {\n const checkboxField: CheckboxFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n label: field.label,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = checkboxField\n break\n }\n case 'code': {\n const codeField: CodeFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n editorOptions: field.admin?.editorOptions,\n label: field.label,\n language: field.admin?.language,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = codeField\n break\n }\n case 'collapsible': {\n let CustomCollapsibleLabel: React.ReactNode\n\n if (isReactComponent(field.label) || isPlainFunction(field.label)) {\n const CustomCollapsibleLabelComponent = field.label as RowLabelComponent\n CustomCollapsibleLabel = (\n <WithServerSideProps Component={CustomCollapsibleLabelComponent} />\n )\n }\n\n const collapsibleField: Omit<CollapsibleFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n CustomLabel: CustomCollapsibleLabel,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n initCollapsed: field.admin?.initCollapsed,\n label: !CustomCollapsibleLabel ? (field.label as FieldBase['label']) : undefined,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = collapsibleField as CollapsibleFieldProps // TODO: dunno why this is needed\n break\n }\n case 'date': {\n const dateField: DateFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n date: field.admin?.date,\n disabled: field.admin?.disabled,\n label: field.label,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = dateField\n cellComponentProps.dateDisplayFormat = field.admin?.date?.displayFormat\n break\n }\n case 'email': {\n const emailField: EmailFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n label: field.label,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = emailField\n break\n }\n case 'group': {\n const groupField: Omit<GroupFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n label: field.label,\n readOnly: field.admin?.readOnly,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = groupField\n break\n }\n case 'json': {\n const jsonField: JSONFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n editorOptions: field.admin?.editorOptions,\n jsonSchema: field.jsonSchema,\n label: field.label,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = jsonField\n break\n }\n case 'number': {\n const numberField: NumberFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n label: field.label,\n max: field.max,\n maxRows: field.maxRows,\n min: field.min,\n readOnly: field.admin?.readOnly,\n required: field.required,\n step: field.admin?.step,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = numberField\n break\n }\n case 'point': {\n const pointField: PointFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n label: field.label,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = pointField\n break\n }\n case 'relationship': {\n const relationshipField: RelationshipFieldProps = {\n ...baseFieldProps,\n name: field.name,\n allowCreate: field.admin.allowCreate,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n label: field.label,\n readOnly: field.admin?.readOnly,\n relationTo: field.relationTo,\n required: field.required,\n sortOptions: field.admin.sortOptions,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.relationTo = field.relationTo\n fieldComponentProps = relationshipField\n break\n }\n case 'radio': {\n const radioField: RadioFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n label: field.label,\n options: fieldOptions,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.options = fieldOptions\n fieldComponentProps = radioField\n break\n }\n case 'richText': {\n const richTextField: RichTextFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n label: field.label,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n const RichTextFieldComponent = field.editor.FieldComponent\n const RichTextCellComponent = field.editor.CellComponent\n\n if (typeof field.editor.generateComponentMap === 'function') {\n const result = field.editor.generateComponentMap({\n WithServerSideProps,\n config,\n i18n,\n schemaPath: path,\n })\n richTextField.richTextComponentMap = result\n cellComponentProps.richTextComponentMap = result\n }\n\n if (RichTextFieldComponent) {\n CustomFieldComponent = RichTextFieldComponent\n }\n\n if (RichTextCellComponent) {\n cellComponentProps.CellComponentOverride = (\n <WithServerSideProps Component={RichTextCellComponent} />\n )\n }\n\n fieldComponentProps = richTextField\n\n break\n }\n case 'row': {\n const rowField: Omit<RowFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = rowField\n break\n }\n case 'tabs': {\n // `tabs` fields require a field map of each of its tab's nested fields\n const tabs = field.tabs.map((tab) => {\n const tabFieldMap = mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: tab.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n })\n\n const reducedTab: MappedTab = {\n name: 'name' in tab ? tab.name : undefined,\n fieldMap: tabFieldMap,\n label: tab.label,\n }\n\n return reducedTab\n })\n\n const tabsField: Omit<TabsFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: 'name' in field ? (field.name as string) : undefined,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n tabs,\n width: field.admin?.width,\n }\n\n fieldComponentProps = tabsField\n break\n }\n case 'text': {\n const textField: TextFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n label: field.label,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = textField\n break\n }\n case 'textarea': {\n const textareaField: TextareaFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n label: field.label,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n rows: field.admin?.rows,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = textareaField\n break\n }\n case 'ui': {\n fieldComponentProps = baseFieldProps\n break\n }\n case 'upload': {\n const uploadField: UploadFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n filterOptions: field.filterOptions,\n label: field.label,\n readOnly: field.admin?.readOnly,\n relationTo: field.relationTo,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.relationTo = field.relationTo\n fieldComponentProps = uploadField\n break\n }\n case 'select': {\n const selectField: SelectFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n isClearable: field.admin?.isClearable,\n label: field.label,\n options: fieldOptions,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.options = fieldOptions\n fieldComponentProps = selectField\n break\n }\n default: {\n break\n }\n }\n\n const reducedField: MappedField = {\n name: 'name' in field ? field.name : undefined,\n type: field.type,\n CustomCell: CustomCellComponent ? (\n <WithServerSideProps Component={CustomCellComponent} {...cellComponentProps} />\n ) : undefined,\n CustomField: CustomFieldComponent ? (\n <WithServerSideProps Component={CustomFieldComponent} {...fieldComponentProps} />\n ) : undefined,\n cellComponentProps,\n custom: field?.admin?.custom,\n disableBulkEdit:\n 'admin' in field && 'disableBulkEdit' in field.admin && field.admin.disableBulkEdit,\n fieldComponentProps,\n fieldIsPresentational,\n isFieldAffectingData,\n isHidden,\n isSidebar:\n 'admin' in field && 'position' in field.admin && field.admin.position === 'sidebar',\n localized: 'localized' in field ? field.localized : false,\n unique: 'unique' in field ? field.unique : false,\n }\n\n acc.push(reducedField)\n }\n }\n\n return acc\n }, [])\n\n const hasID =\n result.findIndex((f) => 'name' in f && f.isFieldAffectingData && f.name === 'id') > -1\n\n if (!disableAddingID && !hasID) {\n // TODO: For all fields (not just this one) we need to add the name to both .fieldComponentProps.name AND .name. This can probably be improved\n result.push({\n name: 'id',\n type: 'text',\n CustomField: null,\n cellComponentProps: {\n name: 'id',\n },\n disableBulkEdit: true,\n fieldComponentProps: {\n name: 'id',\n label: 'ID',\n labelProps: {\n label: 'ID',\n },\n },\n fieldIsPresentational: false,\n isFieldAffectingData: true,\n isHidden: true,\n localized: undefined,\n })\n }\n\n return result\n}\n"],"names":["FieldDescription","fieldAffectsData","fieldIsPresentationalOnly","isPlainFunction","isReactComponent","React","Fragment","HiddenInput","mapFields","args","WithServerSideProps","config","disableAddingID","fieldSchema","filter","i18n","t","parentPath","readOnly","readOnlyOverride","result","reduce","acc","field","fieldIsPresentational","CustomFieldComponent","admin","components","Field","CustomCellComponent","Cell","isHidden","hidden","disabled","isFieldAffectingData","path","name","AfterInput","Array","isArray","afterInput","map","Component","i","key","BeforeInput","beforeInput","labelProps","label","undefined","required","CustomLabelComponent","Label","CustomLabel","descriptionProps","description","CustomDescriptionComponent","CustomDescription","errorProps","CustomErrorComponent","Error","CustomError","baseFieldProps","custom","fieldComponentProps","fieldOptions","options","option","value","cellComponentProps","fieldType","type","labels","relationTo","CustomRowLabel","RowLabel","CustomRowLabelComponent","arrayFieldProps","className","fieldMap","fields","maxRows","minRows","style","width","blocks","block","blockFieldMap","slug","reducedBlock","imageAltText","imageURL","blocksField","b","checkboxField","codeField","editorOptions","language","CustomCollapsibleLabel","CustomCollapsibleLabelComponent","collapsibleField","initCollapsed","dateField","date","placeholder","dateDisplayFormat","displayFormat","emailField","groupField","jsonField","jsonSchema","numberField","hasMany","max","min","step","pointField","relationshipField","allowCreate","sortOptions","radioField","richTextField","RichTextFieldComponent","editor","FieldComponent","RichTextCellComponent","CellComponent","generateComponentMap","schemaPath","richTextComponentMap","CellComponentOverride","rowField","tabs","tab","tabFieldMap","reducedTab","tabsField","textField","maxLength","minLength","textareaField","rows","uploadField","filterOptions","selectField","isClearable","reducedField","CustomCell","CustomField","disableBulkEdit","isSidebar","position","localized","unique","push","hasID","findIndex","f"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAiBA,SAASA,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,gBAAgB,EAAEC,yBAAyB,QAAQ,gBAAe;AAC3E,SACEC,eAAe,EAEfC,gBAAgB,QAEX,oBAAmB;AAC1B,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AA+BvC,SAASC,WAAW,QAAQ,uCAAsC;AAElE,OAAO,MAAMC,YAAY,CAACC;IAaxB,MAAM,EACJC,mBAAmB,EACnBC,MAAM,EACNC,eAAe,EACfC,WAAW,EACXC,MAAM,EACNC,IAAI,EACJA,MAAM,EAAEC,CAAC,EAAE,EACXC,UAAU,EACVC,UAAUC,gBAAgB,EAC3B,GAAGV;IAEJ,MAAMW,SAAmBP,YAAYQ,MAAM,CAAC,CAACC,KAAKC;QAChD,MAAMC,wBAAwBtB,0BAA0BqB;QACxD,IAAIE,uBAA6DF,MAAMG,KAAK,EAAEC,YAAYC;QAE1F,MAAMC,sBAAsBN,MAAMG,KAAK,EAAEC,YAAYG;QAErD,MAAMC,WAAWR,OAAOG,SAAS,YAAYH,MAAMG,KAAK,IAAIH,MAAMG,KAAK,CAACM,MAAM;QAE9E,IAAIR,yBAA0B,CAACD,OAAOS,UAAUT,OAAOG,OAAOO,aAAa,MAAO;YAChF,IAAI,AAACnB,UAAU,OAAOA,WAAW,cAAcA,OAAOS,UAAW,CAACT,QAAQ;gBACxE,IAAIiB,UAAU;oBACZ,IAAIN,sBAAsB;wBACxBA,uBAAuBlB;oBACzB;gBACF;gBAEA,MAAM2B,uBAAuBjC,iBAAiBsB;gBAE9C,MAAMY,OAAO,CAAC,EAAElB,aAAa,CAAC,EAAEA,WAAW,CAAC,CAAC,GAAG,GAAG,EACjDM,MAAMY,IAAI,IAAKD,CAAAA,wBAAwB,UAAUX,QAAQA,MAAMa,IAAI,GAAG,EAAC,EACxE,CAAC;gBAEF,MAAMC,aACJ,AAAC,WAAWd,SACV,gBAAgBA,MAAMG,KAAK,IAC3B,gBAAgBH,MAAMG,KAAK,CAACC,UAAU,IACtCW,MAAMC,OAAO,CAAChB,MAAMG,KAAK,EAAEC,YAAYa,6BACrC,oBAAClC,gBACEiB,MAAMG,KAAK,CAACC,UAAU,CAACa,UAAU,CAACC,GAAG,CAAC,CAACC,WAAWC,kBACjD,oBAACjC;wBAAoBgC,WAAWA;wBAAWE,KAAKD;4BAIxD;gBAEF,MAAME,cACJ,AAAC,WAAWtB,SACVA,MAAMG,KAAK,EAAEC,cACb,iBAAiBJ,MAAMG,KAAK,CAACC,UAAU,IACvCW,MAAMC,OAAO,CAAChB,MAAMG,KAAK,CAACC,UAAU,CAACmB,WAAW,mBAC9C,oBAACxC,gBACEiB,MAAMG,KAAK,CAACC,UAAU,CAACmB,WAAW,CAACL,GAAG,CAAC,CAACC,WAAWC,kBAClD,oBAACjC;wBAAoBgC,WAAWA;wBAAWE,KAAKD;4BAIxD;gBAEF,MAAMI,aAAyB;oBAC7BC,OACE,WAAWzB,SAAS,CAACpB,gBAAgBoB,MAAMyB,KAAK,KAAK,CAAC5C,iBAAiBmB,MAAMyB,KAAK,IAC9EzB,MAAMyB,KAAK,GACXC;oBACNC,UAAU,cAAc3B,QAAQA,MAAM2B,QAAQ,GAAGD;gBACnD;gBAEA,MAAME,uBACJ,AAAC,WAAW5B,SACVA,MAAMG,KAAK,EAAEC,cACb,WAAWJ,MAAMG,KAAK,CAACC,UAAU,IACjCJ,MAAMG,KAAK,CAACC,UAAU,EAAEyB,SAC1BH;gBAEF,MAAMI,cACJF,yBAAyBF,0BACvB,oBAACvC;oBAAoBgC,WAAWS;oBAAuB,GAAIJ,cAAc,CAAC,CAAC;qBACzEE;gBAEN,MAAMK,mBAA0C;oBAC9CC,aACE,AAAChC,MAAMG,KAAK,IACV,iBAAiBH,MAAMG,KAAK,IAC3B,CAAA,AAAE,CAAA,OAAOH,MAAMG,KAAK,EAAE6B,gBAAgB,YACrC,OAAOhC,MAAMG,KAAK,EAAE6B,gBAAgB,QAAO,KAC3ChC,MAAMG,KAAK,CAAC6B,WAAW,IACtB,OAAOhC,MAAMG,KAAK,EAAE6B,gBAAgB,cACnCpD,gBAAqCoB,MAAMG,KAAK,EAAE6B,gBAClDhC,MAAMG,KAAK,EAAE6B,YAAY;wBAAEvC;oBAAE,EAAE,KACrCiC;gBACJ;gBAEA,MAAMO,6BACJ,AAACjC,MAAMG,KAAK,IACV,iBAAiBH,MAAMG,KAAK,IAC3B,CAAA,AAACtB,iBAAuCmB,MAAMG,KAAK,CAAC6B,WAAW,KAC9DhC,MAAMG,KAAK,CAAC6B,WAAW,IACtBhC,MAAMG,KAAK,CAAC6B,WAAW,IAAIvD,gBAAgB,KAChDiD;gBAEF,MAAMQ,oBACJD,+BAA+BP,0BAC7B,oBAACvC;oBACCgC,WAAWc;oBACV,GAAIF,oBAAoB,CAAC,CAAC;qBAE3BL;gBAEN,MAAMS,aAAa;oBACjBvB;gBACF;gBAEA,MAAMwB,uBACJ,AAAC,WAAWpC,SACVA,MAAMG,KAAK,EAAEC,cACb,WAAWJ,MAAMG,KAAK,CAACC,UAAU,IACjCJ,MAAMG,KAAK,EAAEC,YAAYiC,SAC3BX;gBAEF,MAAMY,cACJF,yBAAyBV,0BACvB,oBAACvC;oBAAoBgC,WAAWiB;oBAAuB,GAAID,cAAc,CAAC,CAAC;qBACzET;gBAEN,MAAMa,iBAAgC;oBACpCzB;oBACAQ;oBACAY;oBACAI;oBACAR;oBACAU,QAAQ,WAAWxC,SAAS,YAAYA,MAAMG,KAAK,GAAGH,MAAMG,KAAK,EAAEqC,SAASd;oBAC5EK;oBACArB,UAAU,WAAWV,SAAS,cAAcA,MAAMG,KAAK,GAAGH,MAAMG,KAAK,EAAEO,WAAW;oBAClFyB;oBACAX;oBACAZ;oBACAe,UAAU,cAAc3B,QAAQA,MAAM2B,QAAQ,GAAGD;gBACnD;gBAEA,IAAIe;gBAEJ,IAAIC;gBAEJ,IAAI,aAAa1C,OAAO;oBACtB0C,eAAe1C,MAAM2C,OAAO,CAACzB,GAAG,CAAC,CAAC0B;wBAChC,IAAI,OAAOA,WAAW,YAAY,OAAOA,OAAOnB,KAAK,KAAK,YAAY;4BACpE,OAAO;gCACLA,OAAOmB,OAAOnB,KAAK,CAAC;oCAAEhC,GAAGD,KAAKC,CAAC;gCAAC;gCAChCoD,OAAOD,OAAOC,KAAK;4BACrB;wBACF;wBAEA,OAAOD;oBACT;gBACF;gBAEA,MAAME,qBAAyC;oBAC7CjC,MAAM,UAAUb,QAAQA,MAAMa,IAAI,GAAGa;oBACrCqB,WAAW/C,MAAMgD,IAAI;oBACrBrC;oBACAc,OACE,WAAWzB,SAASA,MAAMyB,KAAK,IAAI,OAAOzB,MAAMyB,KAAK,KAAK,aACtDzB,MAAMyB,KAAK,GACXC;oBACNuB,QAAQ,YAAYjD,QAAQA,MAAMiD,MAAM,GAAGvB;oBAC3CiB,SAAS,aAAa3C,QAAQ0C,eAAehB;oBAC7CwB,YAAY,gBAAgBlD,QAAQA,MAAMkD,UAAU,GAAGxB;gBACzD;gBAEA,OAAQ1B,MAAMgD,IAAI;oBAChB,KAAK;wBAAS;4BACZ,IAAIG;4BAEJ,IACE,WAAWnD,SACXA,MAAMG,KAAK,CAACC,UAAU,IACtB,cAAcJ,MAAMG,KAAK,CAACC,UAAU,IACpCJ,MAAMG,KAAK,CAACC,UAAU,CAACgD,QAAQ,IAC/BvE,iBAAoCmB,MAAMG,KAAK,CAACC,UAAU,CAACgD,QAAQ,GACnE;gCACA,MAAMC,0BAA0BrD,MAAMG,KAAK,CAACC,UAAU,CAACgD,QAAQ;gCAC/DD,+BAAiB,oBAAChE;oCAAoBgC,WAAWkC;;4BACnD;4BAEA,MAAMC,kBAAsE;gCAC1E,GAAGf,cAAc;gCACjB1B,MAAMb,MAAMa,IAAI;gCAChBsC;gCACAI,WAAWvD,MAAMG,KAAK,EAAEoD;gCACxB7C,UAAUV,MAAMG,KAAK,EAAEO;gCACvB8C,UAAUvE,UAAU;oCAClBE;oCACAC;oCACAE,aAAaU,MAAMyD,MAAM;oCACzBlE;oCACAC;oCACAE,YAAYkB;oCACZjB,UAAUC;gCACZ;gCACA6B,OAAOzB,OAAOyB;gCACdwB,QAAQjD,MAAMiD,MAAM;gCACpBS,SAAS1D,MAAM0D,OAAO;gCACtBC,SAAS3D,MAAM2D,OAAO;gCACtBhE,UAAUK,MAAMG,KAAK,EAAER;gCACvBgC,UAAU3B,MAAM2B,QAAQ;gCACxBiC,OAAO5D,MAAMG,KAAK,EAAEyD;gCACpBC,OAAO7D,MAAMG,KAAK,EAAE0D;4BACtB;4BAEApB,sBAAsBa;4BACtB;wBACF;oBACA,KAAK;wBAAU;4BACb,MAAMQ,SAAS9D,MAAM8D,MAAM,CAAC5C,GAAG,CAAC,CAAC6C;gCAC/B,MAAMC,gBAAgB/E,UAAU;oCAC9BE;oCACAC;oCACAE,aAAayE,MAAMN,MAAM;oCACzBlE;oCACAC;oCACAE,YAAY,CAAC,EAAEkB,KAAK,CAAC,EAAEmD,MAAME,IAAI,CAAC,CAAC;oCACnCtE,UAAUC;gCACZ;gCAEA,MAAMsE,eAA6B;oCACjCD,MAAMF,MAAME,IAAI;oCAChBzB,QAAQuB,MAAM5D,KAAK,EAAEqC;oCACrBgB,UAAUQ;oCACVG,cAAcJ,MAAMI,YAAY;oCAChCC,UAAUL,MAAMK,QAAQ;oCACxBnB,QAAQc,MAAMd,MAAM;gCACtB;gCAEA,OAAOiB;4BACT;4BAEA,MAAMG,cAAmE;gCACvE,GAAG9B,cAAc;gCACjB1B,MAAMb,MAAMa,IAAI;gCAChBiD;gCACAP,WAAWvD,MAAMG,KAAK,EAAEoD;gCACxB7C,UAAUV,MAAMG,KAAK,EAAEO;gCACvBe,OAAOzB,OAAOyB;gCACdwB,QAAQjD,MAAMiD,MAAM;gCACpBS,SAAS1D,MAAM0D,OAAO;gCACtBC,SAAS3D,MAAM2D,OAAO;gCACtBhE,UAAUK,MAAMG,KAAK,EAAER;gCACvBgC,UAAU3B,MAAM2B,QAAQ;gCACxBiC,OAAO5D,MAAMG,KAAK,EAAEyD;gCACpBC,OAAO7D,MAAMG,KAAK,EAAE0D;4BACtB;4BAEApB,sBAAsB4B;4BAEtBvB,mBAAmBgB,MAAM,GAAG9D,MAAM8D,MAAM,CAAC5C,GAAG,CAAC,CAACoD,IAAO,CAAA;oCACnDL,MAAMK,EAAEL,IAAI;oCACZhB,QAAQqB,EAAErB,MAAM;gCAClB,CAAA;4BAEA;wBACF;oBACA,KAAK;wBAAY;4BACf,MAAMsB,gBAAoC;gCACxC,GAAGhC,cAAc;gCACjB1B,MAAMb,MAAMa,IAAI;gCAChB0C,WAAWvD,MAAMG,KAAK,EAAEoD;gCACxB7C,UAAUV,MAAMG,KAAK,EAAEO;gCACvBe,OAAOzB,MAAMyB,KAAK;gCAClB9B,UAAUK,MAAMG,KAAK,EAAER;gCACvBgC,UAAU3B,MAAM2B,QAAQ;gCACxBiC,OAAO5D,MAAMG,KAAK,EAAEyD;gCACpBC,OAAO7D,MAAMG,KAAK,EAAE0D;4BACtB;4BAEApB,sBAAsB8B;4BACtB;wBACF;oBACA,KAAK;wBAAQ;4BACX,MAAMC,YAA4B;gCAChC,GAAGjC,cAAc;gCACjB1B,MAAMb,MAAMa,IAAI;gCAChB0C,WAAWvD,MAAMG,KAAK,EAAEoD;gCACxB7C,UAAUV,MAAMG,KAAK,EAAEO;gCACvB+D,eAAezE,MAAMG,KAAK,EAAEsE;gCAC5BhD,OAAOzB,MAAMyB,KAAK;gCAClBiD,UAAU1E,MAAMG,KAAK,EAAEuE;gCACvB/E,UAAUK,MAAMG,KAAK,EAAER;gCACvBgC,UAAU3B,MAAM2B,QAAQ;gCACxBiC,OAAO5D,MAAMG,KAAK,EAAEyD;gCACpBC,OAAO7D,MAAMG,KAAK,EAAE0D;4BACtB;4BAEApB,sBAAsB+B;4BACtB;wBACF;oBACA,KAAK;wBAAe;4BAClB,IAAIG;4BAEJ,IAAI9F,iBAAiBmB,MAAMyB,KAAK,KAAK7C,gBAAgBoB,MAAMyB,KAAK,GAAG;gCACjE,MAAMmD,kCAAkC5E,MAAMyB,KAAK;gCACnDkD,uCACE,oBAACxF;oCAAoBgC,WAAWyD;;4BAEpC;4BAEA,MAAMC,mBAA6E;gCACjF,GAAGtC,cAAc;gCACjBT,aAAa6C;gCACbpB,WAAWvD,MAAMG,KAAK,EAAEoD;gCACxB7C,UAAUV,MAAMG,KAAK,EAAEO;gCACvB8C,UAAUvE,UAAU;oCAClBE;oCACAC;oCACAC,iBAAiB;oCACjBC,aAAaU,MAAMyD,MAAM;oCACzBlE;oCACAC;oCACAE,YAAYkB;oCACZjB,UAAUC;gCACZ;gCACAkF,eAAe9E,MAAMG,KAAK,EAAE2E;gCAC5BrD,OAAO,CAACkD,yBAA0B3E,MAAMyB,KAAK,GAA0BC;gCACvE/B,UAAUK,MAAMG,KAAK,EAAER;gCACvBgC,UAAU3B,MAAM2B,QAAQ;gCACxBiC,OAAO5D,MAAMG,KAAK,EAAEyD;gCACpBC,OAAO7D,MAAMG,KAAK,EAAE0D;4BACtB;4BAEApB,sBAAsBoC,iBAA0C,iCAAiC;;4BACjG;wBACF;oBACA,KAAK;wBAAQ;4BACX,MAAME,YAA4B;gCAChC,GAAGxC,cAAc;gCACjB1B,MAAMb,MAAMa,IAAI;gCAChB0C,WAAWvD,MAAMG,KAAK,EAAEoD;gCACxByB,MAAMhF,MAAMG,KAAK,EAAE6E;gCACnBtE,UAAUV,MAAMG,KAAK,EAAEO;gCACvBe,OAAOzB,MAAMyB,KAAK;gCAClBwD,aAAajF,MAAMG,KAAK,EAAE8E;gCAC1BtF,UAAUK,MAAMG,KAAK,EAAER;gCACvBgC,UAAU3B,MAAM2B,QAAQ;gCACxBiC,OAAO5D,MAAMG,KAAK,EAAEyD;gCACpBC,OAAO7D,MAAMG,KAAK,EAAE0D;4BACtB;4BAEApB,sBAAsBsC;4BACtBjC,mBAAmBoC,iBAAiB,GAAGlF,MAAMG,KAAK,EAAE6E,MAAMG;4BAC1D;wBACF;oBACA,KAAK;wBAAS;4BACZ,MAAMC,aAA8B;gCAClC,GAAG7C,cAAc;gCACjB1B,MAAMb,MAAMa,IAAI;gCAChB0C,WAAWvD,MAAMG,KAAK,EAAEoD;gCACxB7C,UAAUV,MAAMG,KAAK,EAAEO;gCACvBe,OAAOzB,MAAMyB,KAAK;gCAClBwD,aAAajF,MAAMG,KAAK,EAAE8E;gCAC1BtF,UAAUK,MAAMG,KAAK,EAAER;gCACvBgC,UAAU3B,MAAM2B,QAAQ;gCACxBiC,OAAO5D,MAAMG,KAAK,EAAEyD;gCACpBC,OAAO7D,MAAMG,KAAK,EAAE0D;4BACtB;4BAEApB,sBAAsB2C;4BACtB;wBACF;oBACA,KAAK;wBAAS;4BACZ,MAAMC,aAAiE;gCACrE,GAAG9C,cAAc;gCACjB1B,MAAMb,MAAMa,IAAI;gCAChB0C,WAAWvD,MAAMG,KAAK,EAAEoD;gCACxB7C,UAAUV,MAAMG,KAAK,EAAEO;gCACvB8C,UAAUvE,UAAU;oCAClBE;oCACAC;oCACAC,iBAAiB;oCACjBC,aAAaU,MAAMyD,MAAM;oCACzBlE;oCACAC;oCACAE,YAAYkB;oCACZjB,UAAUC;gCACZ;gCACA6B,OAAOzB,MAAMyB,KAAK;gCAClB9B,UAAUK,MAAMG,KAAK,EAAER;gCACvBiE,OAAO5D,MAAMG,KAAK,EAAEyD;gCACpBC,OAAO7D,MAAMG,KAAK,EAAE0D;4BACtB;4BAEApB,sBAAsB4C;4BACtB;wBACF;oBACA,KAAK;wBAAQ;4BACX,MAAMC,YAA4B;gCAChC,GAAG/C,cAAc;gCACjB1B,MAAMb,MAAMa,IAAI;gCAChB0C,WAAWvD,MAAMG,KAAK,EAAEoD;gCACxB7C,UAAUV,MAAMG,KAAK,EAAEO;gCACvB+D,eAAezE,MAAMG,KAAK,EAAEsE;gCAC5Bc,YAAYvF,MAAMuF,UAAU;gCAC5B9D,OAAOzB,MAAMyB,KAAK;gCAClB9B,UAAUK,MAAMG,KAAK,EAAER;gCACvBgC,UAAU3B,MAAM2B,QAAQ;gCACxBiC,OAAO5D,MAAMG,KAAK,EAAEyD;gCACpBC,OAAO7D,MAAMG,KAAK,EAAE0D;4BACtB;4BAEApB,sBAAsB6C;4BACtB;wBACF;oBACA,KAAK;wBAAU;4BACb,MAAME,cAAgC;gCACpC,GAAGjD,cAAc;gCACjB1B,MAAMb,MAAMa,IAAI;gCAChB0C,WAAWvD,MAAMG,KAAK,EAAEoD;gCACxB7C,UAAUV,MAAMG,KAAK,EAAEO;gCACvB+E,SAASzF,MAAMyF,OAAO;gCACtBhE,OAAOzB,MAAMyB,KAAK;gCAClBiE,KAAK1F,MAAM0F,GAAG;gCACdhC,SAAS1D,MAAM0D,OAAO;gCACtBiC,KAAK3F,MAAM2F,GAAG;gCACdhG,UAAUK,MAAMG,KAAK,EAAER;gCACvBgC,UAAU3B,MAAM2B,QAAQ;gCACxBiE,MAAM5F,MAAMG,KAAK,EAAEyF;gCACnBhC,OAAO5D,MAAMG,KAAK,EAAEyD;gCACpBC,OAAO7D,MAAMG,KAAK,EAAE0D;4BACtB;4BAEApB,sBAAsB+C;4BACtB;wBACF;oBACA,KAAK;wBAAS;4BACZ,MAAMK,aAA8B;gCAClC,GAAGtD,cAAc;gCACjB1B,MAAMb,MAAMa,IAAI;gCAChB0C,WAAWvD,MAAMG,KAAK,EAAEoD;gCACxB7C,UAAUV,MAAMG,KAAK,EAAEO;gCACvBe,OAAOzB,MAAMyB,KAAK;gCAClB9B,UAAUK,MAAMG,KAAK,EAAER;gCACvBgC,UAAU3B,MAAM2B,QAAQ;gCACxBiC,OAAO5D,MAAMG,KAAK,EAAEyD;gCACpBC,OAAO7D,MAAMG,KAAK,EAAE0D;4BACtB;4BAEApB,sBAAsBoD;4BACtB;wBACF;oBACA,KAAK;wBAAgB;4BACnB,MAAMC,oBAA4C;gCAChD,GAAGvD,cAAc;gCACjB1B,MAAMb,MAAMa,IAAI;gCAChBkF,aAAa/F,MAAMG,KAAK,CAAC4F,WAAW;gCACpCxC,WAAWvD,MAAMG,KAAK,EAAEoD;gCACxB7C,UAAUV,MAAMG,KAAK,EAAEO;gCACvB+E,SAASzF,MAAMyF,OAAO;gCACtBhE,OAAOzB,MAAMyB,KAAK;gCAClB9B,UAAUK,MAAMG,KAAK,EAAER;gCACvBuD,YAAYlD,MAAMkD,UAAU;gCAC5BvB,UAAU3B,MAAM2B,QAAQ;gCACxBqE,aAAahG,MAAMG,KAAK,CAAC6F,WAAW;gCACpCpC,OAAO5D,MAAMG,KAAK,EAAEyD;gCACpBC,OAAO7D,MAAMG,KAAK,EAAE0D;4BACtB;4BAEAf,mBAAmBI,UAAU,GAAGlD,MAAMkD,UAAU;4BAChDT,sBAAsBqD;4BACtB;wBACF;oBACA,KAAK;wBAAS;4BACZ,MAAMG,aAA8B;gCAClC,GAAG1D,cAAc;gCACjB1B,MAAMb,MAAMa,IAAI;gCAChB0C,WAAWvD,MAAMG,KAAK,EAAEoD;gCACxB7C,UAAUV,MAAMG,KAAK,EAAEO;gCACvBe,OAAOzB,MAAMyB,KAAK;gCAClBkB,SAASD;gCACT/C,UAAUK,MAAMG,KAAK,EAAER;gCACvBgC,UAAU3B,MAAM2B,QAAQ;gCACxBiC,OAAO5D,MAAMG,KAAK,EAAEyD;gCACpBC,OAAO7D,MAAMG,KAAK,EAAE0D;4BACtB;4BAEAf,mBAAmBH,OAAO,GAAGD;4BAC7BD,sBAAsBwD;4BACtB;wBACF;oBACA,KAAK;wBAAY;4BACf,MAAMC,gBAAoC;gCACxC,GAAG3D,cAAc;gCACjB1B,MAAMb,MAAMa,IAAI;gCAChB0C,WAAWvD,MAAMG,KAAK,EAAEoD;gCACxB7C,UAAUV,MAAMG,KAAK,EAAEO;gCACvBe,OAAOzB,MAAMyB,KAAK;gCAClB9B,UAAUK,MAAMG,KAAK,EAAER;gCACvBgC,UAAU3B,MAAM2B,QAAQ;gCACxBiC,OAAO5D,MAAMG,KAAK,EAAEyD;gCACpBC,OAAO7D,MAAMG,KAAK,EAAE0D;4BACtB;4BAEA,MAAMsC,yBAAyBnG,MAAMoG,MAAM,CAACC,cAAc;4BAC1D,MAAMC,wBAAwBtG,MAAMoG,MAAM,CAACG,aAAa;4BAExD,IAAI,OAAOvG,MAAMoG,MAAM,CAACI,oBAAoB,KAAK,YAAY;gCAC3D,MAAM3G,SAASG,MAAMoG,MAAM,CAACI,oBAAoB,CAAC;oCAC/CrH;oCACAC;oCACAI;oCACAiH,YAAY7F;gCACd;gCACAsF,cAAcQ,oBAAoB,GAAG7G;gCACrCiD,mBAAmB4D,oBAAoB,GAAG7G;4BAC5C;4BAEA,IAAIsG,wBAAwB;gCAC1BjG,uBAAuBiG;4BACzB;4BAEA,IAAIG,uBAAuB;gCACzBxD,mBAAmB6D,qBAAqB,iBACtC,oBAACxH;oCAAoBgC,WAAWmF;;4BAEpC;4BAEA7D,sBAAsByD;4BAEtB;wBACF;oBACA,KAAK;wBAAO;4BACV,MAAMU,WAA6D;gCACjE,GAAGrE,cAAc;gCACjBgB,WAAWvD,MAAMG,KAAK,EAAEoD;gCACxB7C,UAAUV,MAAMG,KAAK,EAAEO;gCACvB8C,UAAUvE,UAAU;oCAClBE;oCACAC;oCACAC,iBAAiB;oCACjBC,aAAaU,MAAMyD,MAAM;oCACzBlE;oCACAC;oCACAE,YAAYkB;oCACZjB,UAAUC;gCACZ;gCACAD,UAAUK,MAAMG,KAAK,EAAER;gCACvBgC,UAAU3B,MAAM2B,QAAQ;gCACxBiC,OAAO5D,MAAMG,KAAK,EAAEyD;gCACpBC,OAAO7D,MAAMG,KAAK,EAAE0D;4BACtB;4BAEApB,sBAAsBmE;4BACtB;wBACF;oBACA,KAAK;wBAAQ;4BACX,uEAAuE;4BACvE,MAAMC,OAAO7G,MAAM6G,IAAI,CAAC3F,GAAG,CAAC,CAAC4F;gCAC3B,MAAMC,cAAc9H,UAAU;oCAC5BE;oCACAC;oCACAC,iBAAiB;oCACjBC,aAAawH,IAAIrD,MAAM;oCACvBlE;oCACAC;oCACAE,YAAYkB;oCACZjB,UAAUC;gCACZ;gCAEA,MAAMoH,aAAwB;oCAC5BnG,MAAM,UAAUiG,MAAMA,IAAIjG,IAAI,GAAGa;oCACjC8B,UAAUuD;oCACVtF,OAAOqF,IAAIrF,KAAK;gCAClB;gCAEA,OAAOuF;4BACT;4BAEA,MAAMC,YAA+D;gCACnE,GAAG1E,cAAc;gCACjB1B,MAAM,UAAUb,QAASA,MAAMa,IAAI,GAAca;gCACjD6B,WAAWvD,MAAMG,KAAK,EAAEoD;gCACxB7C,UAAUV,MAAMG,KAAK,EAAEO;gCACvBf,UAAUK,MAAMG,KAAK,EAAER;gCACvBgC,UAAU3B,MAAM2B,QAAQ;gCACxBiC,OAAO5D,MAAMG,KAAK,EAAEyD;gCACpBiD;gCACAhD,OAAO7D,MAAMG,KAAK,EAAE0D;4BACtB;4BAEApB,sBAAsBwE;4BACtB;wBACF;oBACA,KAAK;wBAAQ;4BACX,MAAMC,YAA4B;gCAChC,GAAG3E,cAAc;gCACjB1B,MAAMb,MAAMa,IAAI;gCAChB0C,WAAWvD,MAAMG,KAAK,EAAEoD;gCACxB7C,UAAUV,MAAMG,KAAK,EAAEO;gCACvB+E,SAASzF,MAAMyF,OAAO;gCACtBhE,OAAOzB,MAAMyB,KAAK;gCAClB0F,WAAWnH,MAAMmH,SAAS;gCAC1BC,WAAWpH,MAAMoH,SAAS;gCAC1BnC,aAAajF,MAAMG,KAAK,EAAE8E;gCAC1BtF,UAAUK,MAAMG,KAAK,EAAER;gCACvBgC,UAAU3B,MAAM2B,QAAQ;gCACxBiC,OAAO5D,MAAMG,KAAK,EAAEyD;gCACpBC,OAAO7D,MAAMG,KAAK,EAAE0D;4BACtB;4BAEApB,sBAAsByE;4BACtB;wBACF;oBACA,KAAK;wBAAY;4BACf,MAAMG,gBAAoC;gCACxC,GAAG9E,cAAc;gCACjB1B,MAAMb,MAAMa,IAAI;gCAChB0C,WAAWvD,MAAMG,KAAK,EAAEoD;gCACxB7C,UAAUV,MAAMG,KAAK,EAAEO;gCACvBe,OAAOzB,MAAMyB,KAAK;gCAClB0F,WAAWnH,MAAMmH,SAAS;gCAC1BC,WAAWpH,MAAMoH,SAAS;gCAC1BnC,aAAajF,MAAMG,KAAK,EAAE8E;gCAC1BtF,UAAUK,MAAMG,KAAK,EAAER;gCACvBgC,UAAU3B,MAAM2B,QAAQ;gCACxB2F,MAAMtH,MAAMG,KAAK,EAAEmH;gCACnB1D,OAAO5D,MAAMG,KAAK,EAAEyD;gCACpBC,OAAO7D,MAAMG,KAAK,EAAE0D;4BACtB;4BAEApB,sBAAsB4E;4BACtB;wBACF;oBACA,KAAK;wBAAM;4BACT5E,sBAAsBF;4BACtB;wBACF;oBACA,KAAK;wBAAU;4BACb,MAAMgF,cAAgC;gCACpC,GAAGhF,cAAc;gCACjB1B,MAAMb,MAAMa,IAAI;gCAChB0C,WAAWvD,MAAMG,KAAK,EAAEoD;gCACxB7C,UAAUV,MAAMG,KAAK,EAAEO;gCACvB8G,eAAexH,MAAMwH,aAAa;gCAClC/F,OAAOzB,MAAMyB,KAAK;gCAClB9B,UAAUK,MAAMG,KAAK,EAAER;gCACvBuD,YAAYlD,MAAMkD,UAAU;gCAC5BvB,UAAU3B,MAAM2B,QAAQ;gCACxBiC,OAAO5D,MAAMG,KAAK,EAAEyD;gCACpBC,OAAO7D,MAAMG,KAAK,EAAE0D;4BACtB;4BAEAf,mBAAmBI,UAAU,GAAGlD,MAAMkD,UAAU;4BAChDT,sBAAsB8E;4BACtB;wBACF;oBACA,KAAK;wBAAU;4BACb,MAAME,cAAgC;gCACpC,GAAGlF,cAAc;gCACjB1B,MAAMb,MAAMa,IAAI;gCAChB0C,WAAWvD,MAAMG,KAAK,EAAEoD;gCACxB7C,UAAUV,MAAMG,KAAK,EAAEO;gCACvB+E,SAASzF,MAAMyF,OAAO;gCACtBiC,aAAa1H,MAAMG,KAAK,EAAEuH;gCAC1BjG,OAAOzB,MAAMyB,KAAK;gCAClBkB,SAASD;gCACT/C,UAAUK,MAAMG,KAAK,EAAER;gCACvBgC,UAAU3B,MAAM2B,QAAQ;gCACxBiC,OAAO5D,MAAMG,KAAK,EAAEyD;gCACpBC,OAAO7D,MAAMG,KAAK,EAAE0D;4BACtB;4BAEAf,mBAAmBH,OAAO,GAAGD;4BAC7BD,sBAAsBgF;4BACtB;wBACF;oBACA;wBAAS;4BACP;wBACF;gBACF;gBAEA,MAAME,eAA4B;oBAChC9G,MAAM,UAAUb,QAAQA,MAAMa,IAAI,GAAGa;oBACrCsB,MAAMhD,MAAMgD,IAAI;oBAChB4E,YAAYtH,oCACV,oBAACnB;wBAAoBgC,WAAWb;wBAAsB,GAAGwC,kBAAkB;yBACzEpB;oBACJmG,aAAa3H,qCACX,oBAACf;wBAAoBgC,WAAWjB;wBAAuB,GAAGuC,mBAAmB;yBAC3Ef;oBACJoB;oBACAN,QAAQxC,OAAOG,OAAOqC;oBACtBsF,iBACE,WAAW9H,SAAS,qBAAqBA,MAAMG,KAAK,IAAIH,MAAMG,KAAK,CAAC2H,eAAe;oBACrFrF;oBACAxC;oBACAU;oBACAH;oBACAuH,WACE,WAAW/H,SAAS,cAAcA,MAAMG,KAAK,IAAIH,MAAMG,KAAK,CAAC6H,QAAQ,KAAK;oBAC5EC,WAAW,eAAejI,QAAQA,MAAMiI,SAAS,GAAG;oBACpDC,QAAQ,YAAYlI,QAAQA,MAAMkI,MAAM,GAAG;gBAC7C;gBAEAnI,IAAIoI,IAAI,CAACR;YACX;QACF;QAEA,OAAO5H;IACT,GAAG,EAAE;IAEL,MAAMqI,QACJvI,OAAOwI,SAAS,CAAC,CAACC,IAAM,UAAUA,KAAKA,EAAE3H,oBAAoB,IAAI2H,EAAEzH,IAAI,KAAK,QAAQ,CAAC;IAEvF,IAAI,CAACxB,mBAAmB,CAAC+I,OAAO;QAC9B,8IAA8I;QAC9IvI,OAAOsI,IAAI,CAAC;YACVtH,MAAM;YACNmC,MAAM;YACN6E,aAAa;YACb/E,oBAAoB;gBAClBjC,MAAM;YACR;YACAiH,iBAAiB;YACjBrF,qBAAqB;gBACnB5B,MAAM;gBACNY,OAAO;gBACPD,YAAY;oBACVC,OAAO;gBACT;YACF;YACAxB,uBAAuB;YACvBU,sBAAsB;YACtBH,UAAU;YACVyH,WAAWvG;QACb;IACF;IAEA,OAAO7B;AACT,EAAC"}
|
|
@@ -50,11 +50,11 @@ export const DocumentInfoProvider = ({ children, ...props })=>{
|
|
|
50
50
|
preferencesKey = `collection-${slug}-${id}`;
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
const
|
|
53
|
+
const operation = collectionSlug && !id ? 'create' : 'update';
|
|
54
|
+
const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission);
|
|
54
55
|
const getVersions = useCallback(async ()=>{
|
|
55
56
|
let versionFetchURL;
|
|
56
57
|
let publishedFetchURL;
|
|
57
|
-
const shouldFetchVersions = Boolean(versionsConfig);
|
|
58
58
|
let unpublishedVersionJSON = null;
|
|
59
59
|
let versionJSON = null;
|
|
60
60
|
let shouldFetch = true;
|
|
@@ -165,7 +165,8 @@ export const DocumentInfoProvider = ({ children, ...props })=>{
|
|
|
165
165
|
id,
|
|
166
166
|
baseURL,
|
|
167
167
|
locale,
|
|
168
|
-
versionsConfig
|
|
168
|
+
versionsConfig,
|
|
169
|
+
shouldFetchVersions
|
|
169
170
|
]);
|
|
170
171
|
const getDocPermissions = React.useCallback(async ()=>{
|
|
171
172
|
let docAccessURL;
|
|
@@ -247,7 +248,7 @@ export const DocumentInfoProvider = ({ children, ...props })=>{
|
|
|
247
248
|
docPreferences,
|
|
248
249
|
globalSlug,
|
|
249
250
|
locale,
|
|
250
|
-
operation
|
|
251
|
+
operation,
|
|
251
252
|
schemaPath: collectionSlug || globalSlug
|
|
252
253
|
},
|
|
253
254
|
serverURL
|
|
@@ -260,7 +261,7 @@ export const DocumentInfoProvider = ({ children, ...props })=>{
|
|
|
260
261
|
getDocPreferences,
|
|
261
262
|
globalSlug,
|
|
262
263
|
id,
|
|
263
|
-
|
|
264
|
+
operation,
|
|
264
265
|
locale,
|
|
265
266
|
onSaveFromProps,
|
|
266
267
|
serverURL
|
|
@@ -278,7 +279,7 @@ export const DocumentInfoProvider = ({ children, ...props })=>{
|
|
|
278
279
|
collectionSlug,
|
|
279
280
|
globalSlug,
|
|
280
281
|
locale,
|
|
281
|
-
operation
|
|
282
|
+
operation,
|
|
282
283
|
schemaPath: collectionSlug || globalSlug
|
|
283
284
|
},
|
|
284
285
|
onError: onLoadError,
|
|
@@ -304,7 +305,7 @@ export const DocumentInfoProvider = ({ children, ...props })=>{
|
|
|
304
305
|
};
|
|
305
306
|
}, [
|
|
306
307
|
api,
|
|
307
|
-
|
|
308
|
+
operation,
|
|
308
309
|
collectionSlug,
|
|
309
310
|
serverURL,
|
|
310
311
|
id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, TypeWithVersion } from 'payload/database'\nimport type { Data, FormState, TypeWithTimestamps } from 'payload/types'\nimport type { DocumentPermissions, DocumentPreferences, TypeWithID, Where } from 'payload/types'\n\nimport { LoadingOverlay } from '@payloadcms/ui/elements/Loading'\nimport { formatDocTitle } from '@payloadcms/ui/utilities/formatDocTitle'\nimport { getFormState } from '@payloadcms/ui/utilities/getFormState'\nimport { reduceFieldsToValues } from '@payloadcms/ui/utilities/reduceFieldsToValues'\nimport { notFound } from 'next/navigation.js'\nimport qs from 'qs'\nimport React, { createContext, useCallback, useContext, useEffect, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nexport const DocumentInfoProvider: React.FC<\n DocumentInfoProps & {\n children: React.ReactNode\n }\n> = ({ children, ...props }) => {\n const { id, collectionSlug, globalSlug, onLoadError, onSave: onSaveFromProps } = props\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [documentTitle, setDocumentTitle] = useState('')\n const [initialData, setInitialData] = useState<Data>()\n const [initialState, setInitialState] = useState<FormState>()\n const [publishedDoc, setPublishedDoc] = useState<TypeWithID & TypeWithTimestamps>(null)\n const [versions, setVersions] = useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n const [docPermissions, setDocPermissions] = useState<DocumentPermissions>(null)\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(null)\n const [unpublishedVersions, setUnpublishedVersions] =\n useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n\n const { getPreference, setPreference } = usePreferences()\n const { i18n } = useTranslation()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n\n const {\n admin: { dateFormat },\n collections,\n globals,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n const globalConfig = globals.find((g) => g.slug === globalSlug)\n const docConfig = collectionConfig || globalConfig\n const versionsConfig = docConfig?.versions\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const isEditing = Boolean(id)\n\n const getVersions = useCallback(async () => {\n let versionFetchURL\n let publishedFetchURL\n const shouldFetchVersions = Boolean(versionsConfig)\n let unpublishedVersionJSON = null\n let versionJSON = null\n let shouldFetch = true\n\n const versionParams = {\n depth: 0,\n where: {\n and: [],\n },\n }\n\n const publishedVersionParams: { depth: number; locale: string; where: Where } = {\n depth: 0,\n locale: locale || undefined,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n ],\n },\n }\n\n if (globalSlug) {\n versionFetchURL = `${baseURL}/globals/${globalSlug}/versions`\n publishedFetchURL = `${baseURL}/globals/${globalSlug}?${qs.stringify(publishedVersionParams)}`\n }\n\n if (collectionSlug) {\n versionFetchURL = `${baseURL}/${collectionSlug}/versions`\n\n publishedVersionParams.where.and.push({\n id: {\n equals: id,\n },\n })\n\n publishedFetchURL = `${baseURL}/${collectionSlug}?${qs.stringify(publishedVersionParams)}`\n\n if (!id) {\n shouldFetch = false\n }\n\n versionParams.where.and.push({\n parent: {\n equals: id,\n },\n })\n }\n\n if (shouldFetch) {\n let publishedJSON\n\n if (versionsConfig?.drafts) {\n publishedJSON = await fetch(publishedFetchURL, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (collectionSlug) {\n publishedJSON = publishedJSON?.docs?.[0]\n }\n }\n\n if (shouldFetchVersions) {\n versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (publishedJSON?.updatedAt) {\n const newerVersionParams = {\n ...versionParams,\n where: {\n ...versionParams.where,\n and: [\n ...versionParams.where.and,\n {\n updatedAt: {\n greater_than: publishedJSON?.updatedAt,\n },\n },\n ],\n },\n }\n\n // Get any newer versions available\n const newerVersionRes = await fetch(\n `${versionFetchURL}?${qs.stringify(newerVersionParams)}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (newerVersionRes.status === 200) {\n unpublishedVersionJSON = await newerVersionRes.json()\n }\n }\n }\n\n setPublishedDoc(publishedJSON)\n setVersions(versionJSON)\n setUnpublishedVersions(unpublishedVersionJSON)\n }\n }, [i18n, globalSlug, collectionSlug, id, baseURL, locale, versionsConfig])\n\n const getDocPermissions = React.useCallback(async () => {\n let docAccessURL: string\n const params = {\n locale: locale || undefined,\n }\n if (pluralType === 'globals') {\n docAccessURL = `/globals/${slug}/access`\n } else if (pluralType === 'collections' && id) {\n docAccessURL = `/${slug}/access/${id}`\n }\n\n if (docAccessURL) {\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n const json = await res.json()\n\n setDocPermissions(json)\n setHasSavePermission(json?.update?.permission)\n } else {\n // fallback to permissions from the entity type\n // (i.e. create has no id)\n setDocPermissions(permissions?.[pluralType]?.[slug])\n setHasSavePermission(permissions?.[pluralType]?.[slug]?.update?.permission)\n }\n }, [serverURL, api, pluralType, slug, id, permissions, i18n.language, locale])\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const onSave = React.useCallback<DocumentInfoContext['onSave']>(\n async (json) => {\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps(json)\n }\n\n const docPreferences = await getDocPreferences()\n\n const newState = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n data: json.doc,\n docPreferences,\n globalSlug,\n locale,\n operation: isEditing ? 'update' : 'create',\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n setInitialState(newState)\n setInitialData(json.doc)\n },\n [\n api,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n id,\n isEditing,\n locale,\n onSaveFromProps,\n serverURL,\n ],\n )\n\n useEffect(() => {\n const abortController = new AbortController()\n\n const getInitialState = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const result = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n globalSlug,\n locale,\n operation: isEditing ? 'update' : 'create',\n schemaPath: collectionSlug || globalSlug,\n },\n onError: onLoadError,\n serverURL,\n signal: abortController.signal,\n })\n\n setInitialData(reduceFieldsToValues(result, true))\n setInitialState(result)\n } catch (err) {\n if (!abortController.signal.aborted) {\n if (typeof onLoadError === 'function') {\n void onLoadError()\n }\n setIsError(true)\n setIsLoading(false)\n }\n }\n\n setIsLoading(false)\n }\n\n void getInitialState()\n\n return () => {\n abortController.abort()\n }\n }, [\n api,\n isEditing,\n collectionSlug,\n serverURL,\n id,\n getPreference,\n globalSlug,\n locale,\n onLoadError,\n ])\n\n useEffect(() => {\n void getVersions()\n }, [getVersions])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...initialData, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, initialData, dateFormat, i18n, id, globalConfig])\n\n useEffect(() => {\n const loadDocPermissions = async () => {\n const docPermissions: DocumentPermissions = props.docPermissions\n const hasSavePermission: boolean = props.hasSavePermission\n\n if (!docPermissions || hasSavePermission === undefined || hasSavePermission === null) {\n await getDocPermissions()\n } else {\n setDocPermissions(docPermissions)\n setHasSavePermission(hasSavePermission)\n }\n }\n\n if (collectionSlug || globalSlug) {\n void loadDocPermissions()\n }\n }, [\n getDocPermissions,\n props.docPermissions,\n props.hasSavePermission,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n ])\n\n if (isError) notFound()\n\n if (!initialState || isLoading) {\n return <LoadingOverlay />\n }\n\n const value: DocumentInfoContext = {\n ...props,\n docConfig,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n hasSavePermission,\n initialData,\n initialState,\n onSave,\n publishedDoc,\n setDocFieldPreferences,\n setDocumentTitle,\n title: documentTitle,\n unpublishedVersions,\n versions,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n"],"names":["LoadingOverlay","formatDocTitle","getFormState","reduceFieldsToValues","notFound","qs","React","createContext","useCallback","useContext","useEffect","useState","useAuth","useConfig","useLocale","usePreferences","useTranslation","Context","useDocumentInfo","DocumentInfoProvider","children","props","id","collectionSlug","globalSlug","onLoadError","onSave","onSaveFromProps","isLoading","setIsLoading","isError","setIsError","documentTitle","setDocumentTitle","initialData","setInitialData","initialState","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","docPermissions","setDocPermissions","hasSavePermission","setHasSavePermission","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","i18n","permissions","code","locale","admin","dateFormat","collections","globals","routes","api","serverURL","collectionConfig","find","c","slug","globalConfig","g","docConfig","versionsConfig","baseURL","pluralType","preferencesKey","isEditing","Boolean","getVersions","versionFetchURL","publishedFetchURL","shouldFetchVersions","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","where","and","publishedVersionParams","undefined","or","_status","equals","exists","stringify","push","parent","publishedJSON","drafts","fetch","credentials","headers","language","then","res","json","docs","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","docAccessURL","params","update","permission","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","console","error","docPreferences","newState","apiRoute","body","data","doc","operation","schemaPath","abortController","AbortController","getInitialState","result","onError","signal","err","aborted","abort","fallback","toString","loadDocPermissions","value","title","Provider"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAKA,SAASA,cAAc,QAAQ,kCAAiC;AAChE,SAASC,cAAc,QAAQ,0CAAyC;AACxE,SAASC,YAAY,QAAQ,wCAAuC;AACpE,SAASC,oBAAoB,QAAQ,gDAA+C;AACpF,SAASC,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,QAAQ,KAAI;AACnB,OAAOC,SAASC,aAAa,EAAEC,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAI1F,SAASC,OAAO,QAAQ,mBAAkB;AAC1C,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,SAASC,cAAc,QAAQ,0BAAyB;AACxD,SAASC,cAAc,QAAQ,0BAAyB;AAExD,MAAMC,wBAAUV,cAAc,CAAC;AAI/B,OAAO,MAAMW,kBAAkB,IAA2BT,WAAWQ,SAAQ;AAE7E,OAAO,MAAME,uBAIT,CAAC,EAAEC,QAAQ,EAAE,GAAGC,OAAO;IACzB,MAAM,EAAEC,EAAE,EAAEC,cAAc,EAAEC,UAAU,EAAEC,WAAW,EAAEC,QAAQC,eAAe,EAAE,GAAGN;IACjF,MAAM,CAACO,WAAWC,aAAa,GAAGlB,SAAS;IAC3C,MAAM,CAACmB,SAASC,WAAW,GAAGpB,SAAS;IACvC,MAAM,CAACqB,eAAeC,iBAAiB,GAAGtB,SAAS;IACnD,MAAM,CAACuB,aAAaC,eAAe,GAAGxB;IACtC,MAAM,CAACyB,cAAcC,gBAAgB,GAAG1B;IACxC,MAAM,CAAC2B,cAAcC,gBAAgB,GAAG5B,SAA0C;IAClF,MAAM,CAAC6B,UAAUC,YAAY,GAAG9B,SAA8C;IAC9E,MAAM,CAAC+B,gBAAgBC,kBAAkB,GAAGhC,SAA8B;IAC1E,MAAM,CAACiC,mBAAmBC,qBAAqB,GAAGlC,SAAkB;IACpE,MAAM,CAACmC,qBAAqBC,uBAAuB,GACjDpC,SAA8C;IAEhD,MAAM,EAAEqC,aAAa,EAAEC,aAAa,EAAE,GAAGlC;IACzC,MAAM,EAAEmC,IAAI,EAAE,GAAGlC;IACjB,MAAM,EAAEmC,WAAW,EAAE,GAAGvC;IACxB,MAAM,EAAEwC,MAAMC,MAAM,EAAE,GAAGvC;IAEzB,MAAM,EACJwC,OAAO,EAAEC,UAAU,EAAE,EACrBC,WAAW,EACXC,OAAO,EACPC,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,GAAG/C;IAEJ,MAAMgD,mBAAmBL,YAAYM,IAAI,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAKzC;IAC5D,MAAM0C,eAAeR,QAAQK,IAAI,CAAC,CAACI,IAAMA,EAAEF,IAAI,KAAKxC;IACpD,MAAM2C,YAAYN,oBAAoBI;IACtC,MAAMG,iBAAiBD,WAAW3B;IAElC,MAAM6B,UAAU,CAAC,EAAET,UAAU,EAAED,IAAI,CAAC;IACpC,IAAIK;IACJ,IAAIM;IACJ,IAAIC;IAEJ,IAAI/C,YAAY;QACdwC,OAAOxC;QACP8C,aAAa;QACbC,iBAAiB,CAAC,OAAO,EAAEP,KAAK,CAAC;IACnC;IAEA,IAAIzC,gBAAgB;QAClByC,OAAOzC;QACP+C,aAAa;QAEb,IAAIhD,IAAI;YACNiD,iBAAiB,CAAC,WAAW,EAAEP,KAAK,CAAC,EAAE1C,GAAG,CAAC;QAC7C;IACF;IAEA,MAAMkD,YAAYC,QAAQnD;IAE1B,MAAMoD,cAAclE,YAAY;QAC9B,IAAImE;QACJ,IAAIC;QACJ,MAAMC,sBAAsBJ,QAAQL;QACpC,IAAIU,yBAAyB;QAC7B,IAAIC,cAAc;QAClB,IAAIC,cAAc;QAElB,MAAMC,gBAAgB;YACpBC,OAAO;YACPC,OAAO;gBACLC,KAAK,EAAE;YACT;QACF;QAEA,MAAMC,yBAA0E;YAC9EH,OAAO;YACP7B,QAAQA,UAAUiC;YAClBH,OAAO;gBACLC,KAAK;oBACH;wBACEG,IAAI;4BACF;gCACEC,SAAS;oCACPC,QAAQ;gCACV;4BACF;4BACA;gCACED,SAAS;oCACPE,QAAQ;gCACV;4BACF;yBACD;oBACH;iBACD;YACH;QACF;QAEA,IAAIlE,YAAY;YACdmD,kBAAkB,CAAC,EAAEN,QAAQ,SAAS,EAAE7C,WAAW,SAAS,CAAC;YAC7DoD,oBAAoB,CAAC,EAAEP,QAAQ,SAAS,EAAE7C,WAAW,CAAC,EAAEnB,GAAGsF,SAAS,CAACN,wBAAwB,CAAC;QAChG;QAEA,IAAI9D,gBAAgB;YAClBoD,kBAAkB,CAAC,EAAEN,QAAQ,CAAC,EAAE9C,eAAe,SAAS,CAAC;YAEzD8D,uBAAuBF,KAAK,CAACC,GAAG,CAACQ,IAAI,CAAC;gBACpCtE,IAAI;oBACFmE,QAAQnE;gBACV;YACF;YAEAsD,oBAAoB,CAAC,EAAEP,QAAQ,CAAC,EAAE9C,eAAe,CAAC,EAAElB,GAAGsF,SAAS,CAACN,wBAAwB,CAAC;YAE1F,IAAI,CAAC/D,IAAI;gBACP0D,cAAc;YAChB;YAEAC,cAAcE,KAAK,CAACC,GAAG,CAACQ,IAAI,CAAC;gBAC3BC,QAAQ;oBACNJ,QAAQnE;gBACV;YACF;QACF;QAEA,IAAI0D,aAAa;YACf,IAAIc;YAEJ,IAAI1B,gBAAgB2B,QAAQ;gBAC1BD,gBAAgB,MAAME,MAAMpB,mBAAmB;oBAC7CqB,aAAa;oBACbC,SAAS;wBACP,mBAAmBhD,KAAKiD,QAAQ;oBAClC;gBACF,GAAGC,IAAI,CAAC,CAACC,MAAQA,IAAIC,IAAI;gBAEzB,IAAI/E,gBAAgB;oBAClBuE,gBAAgBA,eAAeS,MAAM,CAAC,EAAE;gBAC1C;YACF;YAEA,IAAI1B,qBAAqB;gBACvBE,cAAc,MAAMiB,MAAM,CAAC,EAAErB,gBAAgB,CAAC,EAAEtE,GAAGsF,SAAS,CAACV,eAAe,CAAC,EAAE;oBAC7EgB,aAAa;oBACbC,SAAS;wBACP,mBAAmBhD,KAAKiD,QAAQ;oBAClC;gBACF,GAAGC,IAAI,CAAC,CAACC,MAAQA,IAAIC,IAAI;gBAEzB,IAAIR,eAAeU,WAAW;oBAC5B,MAAMC,qBAAqB;wBACzB,GAAGxB,aAAa;wBAChBE,OAAO;4BACL,GAAGF,cAAcE,KAAK;4BACtBC,KAAK;mCACAH,cAAcE,KAAK,CAACC,GAAG;gCAC1B;oCACEoB,WAAW;wCACTE,cAAcZ,eAAeU;oCAC/B;gCACF;6BACD;wBACH;oBACF;oBAEA,mCAAmC;oBACnC,MAAMG,kBAAkB,MAAMX,MAC5B,CAAC,EAAErB,gBAAgB,CAAC,EAAEtE,GAAGsF,SAAS,CAACc,oBAAoB,CAAC,EACxD;wBACER,aAAa;wBACbC,SAAS;4BACP,mBAAmBhD,KAAKiD,QAAQ;wBAClC;oBACF;oBAGF,IAAIQ,gBAAgBC,MAAM,KAAK,KAAK;wBAClC9B,yBAAyB,MAAM6B,gBAAgBL,IAAI;oBACrD;gBACF;YACF;YAEA/D,gBAAgBuD;YAChBrD,YAAYsC;YACZhC,uBAAuB+B;QACzB;IACF,GAAG;QAAC5B;QAAM1B;QAAYD;QAAgBD;QAAI+C;QAAShB;QAAQe;KAAe;IAE1E,MAAMyC,oBAAoBvG,MAAME,WAAW,CAAC;QAC1C,IAAIsG;QACJ,MAAMC,SAAS;YACb1D,QAAQA,UAAUiC;QACpB;QACA,IAAIhB,eAAe,WAAW;YAC5BwC,eAAe,CAAC,SAAS,EAAE9C,KAAK,OAAO,CAAC;QAC1C,OAAO,IAAIM,eAAe,iBAAiBhD,IAAI;YAC7CwF,eAAe,CAAC,CAAC,EAAE9C,KAAK,QAAQ,EAAE1C,GAAG,CAAC;QACxC;QAEA,IAAIwF,cAAc;YAChB,MAAMT,MAAM,MAAML,MAAM,CAAC,EAAEpC,UAAU,EAAED,IAAI,EAAEmD,aAAa,CAAC,EAAEzG,GAAGsF,SAAS,CAACoB,QAAQ,CAAC,EAAE;gBACnFd,aAAa;gBACbC,SAAS;oBACP,mBAAmBhD,KAAKiD,QAAQ;gBAClC;YACF;YACA,MAAMG,OAAO,MAAMD,IAAIC,IAAI;YAE3B3D,kBAAkB2D;YAClBzD,qBAAqByD,MAAMU,QAAQC;QACrC,OAAO;YACL,+CAA+C;YAC/C,0BAA0B;YAC1BtE,kBAAkBQ,aAAa,CAACmB,WAAW,EAAE,CAACN,KAAK;YACnDnB,qBAAqBM,aAAa,CAACmB,WAAW,EAAE,CAACN,KAAK,EAAEgD,QAAQC;QAClE;IACF,GAAG;QAACrD;QAAWD;QAAKW;QAAYN;QAAM1C;QAAI6B;QAAaD,KAAKiD,QAAQ;QAAE9C;KAAO;IAE7E,MAAM6D,oBAAoB1G,YAAY;QACpC,OAAOwC,cAAmCuB;IAC5C,GAAG;QAACvB;QAAeuB;KAAe;IAElC,MAAM4C,yBAAyB3G,YAC7B,OAAO4G,MAAMC;QACX,MAAMC,iBAAiB,MAAMJ;QAE7B,IAAI3C,gBAAgB;YAClB,IAAI;gBACF,MAAMtB,cAAcsB,gBAAgB;oBAClC,GAAG+C,cAAc;oBACjBC,QAAQ;wBACN,GAAID,gBAAgBC,UAAU,CAAC,CAAC;wBAChC,CAACH,KAAK,EAAE;4BACN,GAAGE,gBAAgBC,QAAQ,CAACH,KAAK;4BACjC,GAAGC,gBAAgB;wBACrB;oBACF;gBACF;YACF,EAAE,OAAOG,GAAG;gBACVC,QAAQC,KAAK,CAACF,GAAG,iCAAiC;;YACpD;QACF;IACF,GACA;QAACvE;QAAesB;QAAgB2C;KAAkB;IAGpD,MAAMxF,SAASpB,MAAME,WAAW,CAC9B,OAAO8F;QACL,IAAI,OAAO3E,oBAAoB,YAAY;YACzC,KAAKA,gBAAgB2E;QACvB;QAEA,MAAMqB,iBAAiB,MAAMT;QAE7B,MAAMU,WAAW,MAAM1H,aAAa;YAClC2H,UAAUlE;YACVmE,MAAM;gBACJxG;gBACAC;gBACAwG,MAAMzB,KAAK0B,GAAG;gBACdL;gBACAnG;gBACA6B;gBACA4E,WAAWzD,YAAY,WAAW;gBAClC0D,YAAY3G,kBAAkBC;YAChC;YACAoC;QACF;QAEAvB,gBAAgBuF;QAChBzF,eAAemE,KAAK0B,GAAG;IACzB,GACA;QACErE;QACApC;QACA2F;QACA1F;QACAF;QACAkD;QACAnB;QACA1B;QACAiC;KACD;IAGHlD,UAAU;QACR,MAAMyH,kBAAkB,IAAIC;QAE5B,MAAMC,kBAAkB;YACtBtG,WAAW;YACXF,aAAa;YAEb,IAAI;gBACF,MAAMyG,SAAS,MAAMpI,aAAa;oBAChC2H,UAAUlE;oBACVmE,MAAM;wBACJxG;wBACAC;wBACAC;wBACA6B;wBACA4E,WAAWzD,YAAY,WAAW;wBAClC0D,YAAY3G,kBAAkBC;oBAChC;oBACA+G,SAAS9G;oBACTmC;oBACA4E,QAAQL,gBAAgBK,MAAM;gBAChC;gBAEArG,eAAehC,qBAAqBmI,QAAQ;gBAC5CjG,gBAAgBiG;YAClB,EAAE,OAAOG,KAAK;gBACZ,IAAI,CAACN,gBAAgBK,MAAM,CAACE,OAAO,EAAE;oBACnC,IAAI,OAAOjH,gBAAgB,YAAY;wBACrC,KAAKA;oBACP;oBACAM,WAAW;oBACXF,aAAa;gBACf;YACF;YAEAA,aAAa;QACf;QAEA,KAAKwG;QAEL,OAAO;YACLF,gBAAgBQ,KAAK;QACvB;IACF,GAAG;QACDhF;QACAa;QACAjD;QACAqC;QACAtC;QACA0B;QACAxB;QACA6B;QACA5B;KACD;IAEDf,UAAU;QACR,KAAKgE;IACP,GAAG;QAACA;KAAY;IAEhBhE,UAAU;QACRuB,iBACEhC,eAAe;YACb4D;YACAkE,MAAM;gBAAE,GAAG7F,WAAW;gBAAEZ;YAAG;YAC3BiC;YACAqF,UAAUtH,IAAIuH;YACd5E;YACAf;QACF;IAEJ,GAAG;QAACW;QAAkB3B;QAAaqB;QAAYL;QAAM5B;QAAI2C;KAAa;IAEtEvD,UAAU;QACR,MAAMoI,qBAAqB;YACzB,MAAMpG,iBAAsCrB,MAAMqB,cAAc;YAChE,MAAME,oBAA6BvB,MAAMuB,iBAAiB;YAE1D,IAAI,CAACF,kBAAkBE,sBAAsB0C,aAAa1C,sBAAsB,MAAM;gBACpF,MAAMiE;YACR,OAAO;gBACLlE,kBAAkBD;gBAClBG,qBAAqBD;YACvB;QACF;QAEA,IAAIrB,kBAAkBC,YAAY;YAChC,KAAKsH;QACP;IACF,GAAG;QACDjC;QACAxF,MAAMqB,cAAc;QACpBrB,MAAMuB,iBAAiB;QACvBD;QACApB;QACAC;KACD;IAED,IAAIM,SAAS1B;IAEb,IAAI,CAACgC,gBAAgBR,WAAW;QAC9B,qBAAO,oBAAC5B;IACV;IAEA,MAAM+I,QAA6B;QACjC,GAAG1H,KAAK;QACR8C;QACAzB;QACAmE;QACAK;QACAxC;QACA9B;QACAV;QACAE;QACAV;QACAY;QACA6E;QACAlF;QACA+G,OAAOhH;QACPc;QACAN;IACF;IAEA,qBAAO,oBAACvB,QAAQgI,QAAQ;QAACF,OAAOA;OAAQ3H;AAC1C,EAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, TypeWithVersion } from 'payload/database'\nimport type { Data, FormState, TypeWithTimestamps } from 'payload/types'\nimport type { DocumentPermissions, DocumentPreferences, TypeWithID, Where } from 'payload/types'\n\nimport { LoadingOverlay } from '@payloadcms/ui/elements/Loading'\nimport { formatDocTitle } from '@payloadcms/ui/utilities/formatDocTitle'\nimport { getFormState } from '@payloadcms/ui/utilities/getFormState'\nimport { reduceFieldsToValues } from '@payloadcms/ui/utilities/reduceFieldsToValues'\nimport { notFound } from 'next/navigation.js'\nimport qs from 'qs'\nimport React, { createContext, useCallback, useContext, useEffect, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nexport const DocumentInfoProvider: React.FC<\n DocumentInfoProps & {\n children: React.ReactNode\n }\n> = ({ children, ...props }) => {\n const { id, collectionSlug, globalSlug, onLoadError, onSave: onSaveFromProps } = props\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [documentTitle, setDocumentTitle] = useState('')\n const [initialData, setInitialData] = useState<Data>()\n const [initialState, setInitialState] = useState<FormState>()\n const [publishedDoc, setPublishedDoc] = useState<TypeWithID & TypeWithTimestamps>(null)\n const [versions, setVersions] = useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n const [docPermissions, setDocPermissions] = useState<DocumentPermissions>(null)\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(null)\n const [unpublishedVersions, setUnpublishedVersions] =\n useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n\n const { getPreference, setPreference } = usePreferences()\n const { i18n } = useTranslation()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n\n const {\n admin: { dateFormat },\n collections,\n globals,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n const globalConfig = globals.find((g) => g.slug === globalSlug)\n const docConfig = collectionConfig || globalConfig\n const versionsConfig = docConfig?.versions\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission)\n\n const getVersions = useCallback(async () => {\n let versionFetchURL\n let publishedFetchURL\n let unpublishedVersionJSON = null\n let versionJSON = null\n let shouldFetch = true\n\n const versionParams = {\n depth: 0,\n where: {\n and: [],\n },\n }\n\n const publishedVersionParams: { depth: number; locale: string; where: Where } = {\n depth: 0,\n locale: locale || undefined,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n ],\n },\n }\n\n if (globalSlug) {\n versionFetchURL = `${baseURL}/globals/${globalSlug}/versions`\n publishedFetchURL = `${baseURL}/globals/${globalSlug}?${qs.stringify(publishedVersionParams)}`\n }\n\n if (collectionSlug) {\n versionFetchURL = `${baseURL}/${collectionSlug}/versions`\n\n publishedVersionParams.where.and.push({\n id: {\n equals: id,\n },\n })\n\n publishedFetchURL = `${baseURL}/${collectionSlug}?${qs.stringify(publishedVersionParams)}`\n\n if (!id) {\n shouldFetch = false\n }\n\n versionParams.where.and.push({\n parent: {\n equals: id,\n },\n })\n }\n\n if (shouldFetch) {\n let publishedJSON\n\n if (versionsConfig?.drafts) {\n publishedJSON = await fetch(publishedFetchURL, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (collectionSlug) {\n publishedJSON = publishedJSON?.docs?.[0]\n }\n }\n\n if (shouldFetchVersions) {\n versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (publishedJSON?.updatedAt) {\n const newerVersionParams = {\n ...versionParams,\n where: {\n ...versionParams.where,\n and: [\n ...versionParams.where.and,\n {\n updatedAt: {\n greater_than: publishedJSON?.updatedAt,\n },\n },\n ],\n },\n }\n\n // Get any newer versions available\n const newerVersionRes = await fetch(\n `${versionFetchURL}?${qs.stringify(newerVersionParams)}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (newerVersionRes.status === 200) {\n unpublishedVersionJSON = await newerVersionRes.json()\n }\n }\n }\n\n setPublishedDoc(publishedJSON)\n setVersions(versionJSON)\n setUnpublishedVersions(unpublishedVersionJSON)\n }\n }, [i18n, globalSlug, collectionSlug, id, baseURL, locale, versionsConfig, shouldFetchVersions])\n\n const getDocPermissions = React.useCallback(async () => {\n let docAccessURL: string\n const params = {\n locale: locale || undefined,\n }\n if (pluralType === 'globals') {\n docAccessURL = `/globals/${slug}/access`\n } else if (pluralType === 'collections' && id) {\n docAccessURL = `/${slug}/access/${id}`\n }\n\n if (docAccessURL) {\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n const json = await res.json()\n\n setDocPermissions(json)\n setHasSavePermission(json?.update?.permission)\n } else {\n // fallback to permissions from the entity type\n // (i.e. create has no id)\n setDocPermissions(permissions?.[pluralType]?.[slug])\n setHasSavePermission(permissions?.[pluralType]?.[slug]?.update?.permission)\n }\n }, [serverURL, api, pluralType, slug, id, permissions, i18n.language, locale])\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const onSave = React.useCallback<DocumentInfoContext['onSave']>(\n async (json) => {\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps(json)\n }\n\n const docPreferences = await getDocPreferences()\n\n const newState = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n data: json.doc,\n docPreferences,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n setInitialState(newState)\n setInitialData(json.doc)\n },\n [\n api,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n locale,\n onSaveFromProps,\n serverURL,\n ],\n )\n\n useEffect(() => {\n const abortController = new AbortController()\n\n const getInitialState = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const result = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n onError: onLoadError,\n serverURL,\n signal: abortController.signal,\n })\n\n setInitialData(reduceFieldsToValues(result, true))\n setInitialState(result)\n } catch (err) {\n if (!abortController.signal.aborted) {\n if (typeof onLoadError === 'function') {\n void onLoadError()\n }\n setIsError(true)\n setIsLoading(false)\n }\n }\n\n setIsLoading(false)\n }\n\n void getInitialState()\n\n return () => {\n abortController.abort()\n }\n }, [\n api,\n operation,\n collectionSlug,\n serverURL,\n id,\n getPreference,\n globalSlug,\n locale,\n onLoadError,\n ])\n\n useEffect(() => {\n void getVersions()\n }, [getVersions])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...initialData, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, initialData, dateFormat, i18n, id, globalConfig])\n\n useEffect(() => {\n const loadDocPermissions = async () => {\n const docPermissions: DocumentPermissions = props.docPermissions\n const hasSavePermission: boolean = props.hasSavePermission\n\n if (!docPermissions || hasSavePermission === undefined || hasSavePermission === null) {\n await getDocPermissions()\n } else {\n setDocPermissions(docPermissions)\n setHasSavePermission(hasSavePermission)\n }\n }\n\n if (collectionSlug || globalSlug) {\n void loadDocPermissions()\n }\n }, [\n getDocPermissions,\n props.docPermissions,\n props.hasSavePermission,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n ])\n\n if (isError) notFound()\n\n if (!initialState || isLoading) {\n return <LoadingOverlay />\n }\n\n const value: DocumentInfoContext = {\n ...props,\n docConfig,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n hasSavePermission,\n initialData,\n initialState,\n onSave,\n publishedDoc,\n setDocFieldPreferences,\n setDocumentTitle,\n title: documentTitle,\n unpublishedVersions,\n versions,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n"],"names":["LoadingOverlay","formatDocTitle","getFormState","reduceFieldsToValues","notFound","qs","React","createContext","useCallback","useContext","useEffect","useState","useAuth","useConfig","useLocale","usePreferences","useTranslation","Context","useDocumentInfo","DocumentInfoProvider","children","props","id","collectionSlug","globalSlug","onLoadError","onSave","onSaveFromProps","isLoading","setIsLoading","isError","setIsError","documentTitle","setDocumentTitle","initialData","setInitialData","initialState","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","docPermissions","setDocPermissions","hasSavePermission","setHasSavePermission","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","i18n","permissions","code","locale","admin","dateFormat","collections","globals","routes","api","serverURL","collectionConfig","find","c","slug","globalConfig","g","docConfig","versionsConfig","baseURL","pluralType","preferencesKey","operation","shouldFetchVersions","Boolean","readVersions","permission","getVersions","versionFetchURL","publishedFetchURL","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","where","and","publishedVersionParams","undefined","or","_status","equals","exists","stringify","push","parent","publishedJSON","drafts","fetch","credentials","headers","language","then","res","json","docs","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","docAccessURL","params","update","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","console","error","docPreferences","newState","apiRoute","body","data","doc","schemaPath","abortController","AbortController","getInitialState","result","onError","signal","err","aborted","abort","fallback","toString","loadDocPermissions","value","title","Provider"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SanitizedCollectionConfig, SanitizedGlobalConfig, VisibleEntities } from '
|
|
1
|
+
import type { SanitizedCollectionConfig, SanitizedGlobalConfig, VisibleEntities } from 'payload/types';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
export type VisibleEntitiesContextType = {
|
|
4
4
|
isEntityVisible: ({ collectionSlug, globalSlug, }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/EntityVisibility/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,eAAe,EAChB,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/EntityVisibility/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,eAAe,EAChB,MAAM,eAAe,CAAA;AAEtB,OAAO,KAAiD,MAAM,OAAO,CAAA;AAErE,MAAM,MAAM,0BAA0B,GAAG;IACvC,eAAe,EAAE,CAAC,EAChB,cAAc,EACd,UAAU,GACX,EAAE;QACD,cAAc,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;QAClD,UAAU,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;KAC3C,KAAK,OAAO,CAAA;IACb,eAAe,EAAE,eAAe,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,uBAAuB,2CAAkD,CAAA;AAEtF,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC9C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,CA2BA,CAAA;AAED,eAAO,MAAM,mBAAmB,QAAO,0BACF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/EntityVisibility/index.tsx"],"sourcesContent":["'use client'\nimport type {\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n VisibleEntities,\n} from '
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/EntityVisibility/index.tsx"],"sourcesContent":["'use client'\nimport type {\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n VisibleEntities,\n} from 'payload/types'\n\nimport React, { createContext, useCallback, useContext } from 'react'\n\nexport type VisibleEntitiesContextType = {\n isEntityVisible: ({\n collectionSlug,\n globalSlug,\n }: {\n collectionSlug?: SanitizedCollectionConfig['slug']\n globalSlug?: SanitizedGlobalConfig['slug']\n }) => boolean\n visibleEntities: VisibleEntities\n}\n\nexport const EntityVisibilityContext = createContext({} as VisibleEntitiesContextType)\n\nexport const EntityVisibilityProvider: React.FC<{\n children: React.ReactNode\n visibleEntities?: VisibleEntities\n}> = ({ children, visibleEntities }) => {\n const isEntityVisible = useCallback(\n ({\n collectionSlug,\n globalSlug,\n }: {\n collectionSlug: SanitizedCollectionConfig['slug']\n globalSlug: SanitizedGlobalConfig['slug']\n }) => {\n if (collectionSlug) {\n return visibleEntities.collections.includes(collectionSlug)\n }\n\n if (globalSlug) {\n return visibleEntities.globals.includes(globalSlug)\n }\n\n return false\n },\n [visibleEntities],\n )\n\n return (\n <EntityVisibilityContext.Provider value={{ isEntityVisible, visibleEntities }}>\n {children}\n </EntityVisibilityContext.Provider>\n )\n}\n\nexport const useEntityVisibility = (): VisibleEntitiesContextType =>\n useContext(EntityVisibilityContext)\n"],"names":["React","createContext","useCallback","useContext","EntityVisibilityContext","EntityVisibilityProvider","children","visibleEntities","isEntityVisible","collectionSlug","globalSlug","collections","includes","globals","Provider","value","useEntityVisibility"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAOA,OAAOA,SAASC,aAAa,EAAEC,WAAW,EAAEC,UAAU,QAAQ,QAAO;AAarE,OAAO,MAAMC,wCAA0BH,cAAc,CAAC,GAAgC;AAEtF,OAAO,MAAMI,2BAGR,CAAC,EAAEC,QAAQ,EAAEC,eAAe,EAAE;IACjC,MAAMC,kBAAkBN,YACtB,CAAC,EACCO,cAAc,EACdC,UAAU,EAIX;QACC,IAAID,gBAAgB;YAClB,OAAOF,gBAAgBI,WAAW,CAACC,QAAQ,CAACH;QAC9C;QAEA,IAAIC,YAAY;YACd,OAAOH,gBAAgBM,OAAO,CAACD,QAAQ,CAACF;QAC1C;QAEA,OAAO;IACT,GACA;QAACH;KAAgB;IAGnB,qBACE,oBAACH,wBAAwBU,QAAQ;QAACC,OAAO;YAAEP;YAAiBD;QAAgB;OACzED;AAGP,EAAC;AAED,OAAO,MAAMU,sBAAsB,IACjCb,WAAWC,yBAAwB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/ui",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.20",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
"react-toastify": "10.0.4",
|
|
114
114
|
"use-context-selector": "1.4.1",
|
|
115
115
|
"uuid": "9.0.1",
|
|
116
|
-
"@payloadcms/translations": "3.0.0-beta.
|
|
116
|
+
"@payloadcms/translations": "3.0.0-beta.20"
|
|
117
117
|
},
|
|
118
118
|
"devDependencies": {
|
|
119
119
|
"@types/body-scroll-lock": "^3.1.0",
|
|
@@ -134,13 +134,13 @@
|
|
|
134
134
|
"webpack": "^5.78.0",
|
|
135
135
|
"webpack-cli": "^5.1.4",
|
|
136
136
|
"@payloadcms/eslint-config": "1.1.1",
|
|
137
|
-
"payload": "3.0.0-beta.
|
|
137
|
+
"payload": "3.0.0-beta.20"
|
|
138
138
|
},
|
|
139
139
|
"peerDependencies": {
|
|
140
140
|
"next": "^14.3.0-canary.7",
|
|
141
141
|
"react": "^18.0.0",
|
|
142
142
|
"react-dom": "^18.0.0",
|
|
143
|
-
"payload": "3.0.0-beta.
|
|
143
|
+
"payload": "3.0.0-beta.20"
|
|
144
144
|
},
|
|
145
145
|
"engines": {
|
|
146
146
|
"node": ">=18.20.2"
|