@payloadcms/ui 4.0.0-canary.7 → 4.0.0-canary.9
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/AddNewRelation/index.css +28 -28
- package/dist/elements/AppHeader/index.d.ts +2 -1
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +2 -0
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +13 -0
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/DocumentFields/index.css +8 -0
- package/dist/elements/Hierarchy/Tree/TreeNode/index.css +38 -13
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js +37 -31
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.css +1 -1
- package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.js +18 -5
- package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
- package/dist/elements/RenderServerComponent/clientOnly.d.ts +8 -0
- package/dist/elements/RenderServerComponent/clientOnly.d.ts.map +1 -0
- package/dist/elements/RenderServerComponent/clientOnly.js +56 -0
- package/dist/elements/RenderServerComponent/clientOnly.js.map +1 -0
- package/dist/elements/SidebarRow/index.css +0 -2
- package/dist/elements/UserMenu/index.d.ts +1 -0
- package/dist/elements/UserMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/index.js +2 -1
- package/dist/elements/UserMenu/index.js.map +1 -1
- package/dist/exports/client/index.js +1 -86
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/server.d.ts +3 -0
- package/dist/exports/server.d.ts.map +1 -0
- package/dist/exports/server.js +2 -0
- package/dist/exports/server.js.map +1 -0
- package/dist/exports/shared/index.js.map +2 -2
- package/dist/fields/Group/index.css +1 -7
- package/dist/fields/Slug/index.d.ts +7 -5
- package/dist/fields/Slug/index.d.ts.map +1 -1
- package/dist/fields/Slug/index.js +6 -4
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/index.d.ts.map +1 -1
- package/dist/fields/index.js +2 -0
- package/dist/fields/index.js.map +1 -1
- package/dist/forms/Form/types.d.ts +2 -2
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +10 -0
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.css +4 -4
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +2 -2
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +2 -2
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +2 -2
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
- package/dist/providers/Auth/index.d.ts +2 -2
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +2 -2
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/Root/index.d.ts +2 -2
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/styles.css +1369 -1
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +6 -0
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
- package/dist/utilities/copyDataFromLocale.js +1 -0
- package/dist/utilities/copyDataFromLocale.js.map +1 -1
- package/dist/utilities/getDocPreferences.d.ts +2 -2
- package/dist/utilities/getDocPreferences.d.ts.map +1 -1
- package/dist/utilities/getDocPreferences.js.map +1 -1
- package/dist/utilities/getDocumentData.d.ts +2 -2
- package/dist/utilities/getDocumentData.d.ts.map +1 -1
- package/dist/utilities/getDocumentData.js.map +1 -1
- package/dist/utilities/getGlobalData.d.ts.map +1 -1
- package/dist/utilities/getGlobalData.js.map +1 -1
- package/dist/utilities/getHasScheduledPublish.d.ts +2 -2
- package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
- package/dist/utilities/getHasScheduledPublish.js.map +1 -1
- package/dist/utilities/getIsLocked.d.ts +2 -2
- package/dist/utilities/getIsLocked.d.ts.map +1 -1
- package/dist/utilities/getIsLocked.js.map +1 -1
- package/dist/utilities/getVersions.d.ts +2 -2
- package/dist/utilities/getVersions.d.ts.map +1 -1
- package/dist/utilities/getVersions.js.map +1 -1
- package/dist/utilities/handleAuthRedirect.d.ts +2 -2
- package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
- package/dist/utilities/handleAuthRedirect.js.map +1 -1
- package/dist/utilities/handleFormStateLocking.d.ts +2 -2
- package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
- package/dist/utilities/handleFormStateLocking.js.map +1 -1
- package/dist/utilities/handleLivePreview.d.ts +1 -0
- package/dist/utilities/handleLivePreview.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.d.ts +13 -0
- package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -0
- package/dist/utilities/serverFunctionRegistry.js +25 -0
- package/dist/utilities/serverFunctionRegistry.js.map +1 -0
- package/dist/utilities/slugify.d.ts +1 -1
- package/dist/utilities/slugify.js +1 -1
- package/dist/utilities/slugify.js.map +1 -1
- package/dist/views/Account/ResetPreferences/index.d.ts +2 -2
- package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -1
- package/dist/views/Account/ResetPreferences/index.js.map +1 -1
- package/dist/views/Account/Settings/index.d.ts +2 -2
- package/dist/views/Account/Settings/index.d.ts.map +1 -1
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +2 -2
- package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +8 -1
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Logout/LogoutClient.d.ts +14 -0
- package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
- package/dist/views/Logout/LogoutClient.js +6 -4
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.d.ts.map +1 -1
- package/dist/views/Logout/index.js +7 -2
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +1 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
- package/dist/views/Versions/fetchVersions.d.ts +4 -4
- package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
- package/dist/views/Versions/fetchVersions.js.map +1 -1
- package/dist/views/Versions/types.d.ts +2 -2
- package/dist/views/Versions/types.d.ts.map +1 -1
- package/dist/views/Versions/types.js.map +1 -1
- package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts +20 -0
- package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts.map +1 -0
- package/dist/widgets/CollectionCards/getCollectionCardsData.js +29 -0
- package/dist/widgets/CollectionCards/getCollectionCardsData.js.map +1 -0
- package/dist/widgets/CollectionCards/index.client.d.ts +5 -0
- package/dist/widgets/CollectionCards/index.client.d.ts.map +1 -0
- package/dist/widgets/CollectionCards/index.client.js +139 -0
- package/dist/widgets/CollectionCards/index.client.js.map +1 -0
- package/package.json +57 -7
- package/dist/exports/client/CodeEditor-T3624SG3.js +0 -14
- package/dist/exports/client/CodeEditor-T3624SG3.js.map +0 -7
- package/dist/exports/client/DatePicker-6KF52Z3G.js +0 -14
- package/dist/exports/client/DatePicker-6KF52Z3G.js.map +0 -7
- package/dist/exports/client/chunk-5LKBKI4T.js +0 -14
- package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -7
- package/dist/exports/client/chunk-7T64ULOM.js +0 -29
- package/dist/exports/client/chunk-7T64ULOM.js.map +0 -7
- package/dist/exports/client/chunk-DMFYTMX6.js +0 -27
- package/dist/exports/client/chunk-DMFYTMX6.js.map +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","LogoutClient","baseClass","LogoutView","inactivity","initPageResult","searchParams","req","payload","config","routes","admin","adminRoute","_jsx","className","redirect"],"sources":["../../../src/views/Logout/index.tsx"],"sourcesContent":["import type { AdminViewServerProps } from 'payload'\n\nimport React from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds\nimport { LogoutClient } from '../../exports/client/index.js'\nimport './index.css'\n\nconst baseClass = 'logout'\n\nexport const LogoutView: React.FC<\n {\n inactivity?: boolean\n } & AdminViewServerProps\n> = ({ inactivity, initPageResult, searchParams }) => {\n const {\n req: {\n payload: {\n config: {\n routes: { admin: adminRoute },\n },\n },\n },\n } = initPageResult\n\n return (\n <div className={`${baseClass}`}>\n <LogoutClient\n adminRoute={adminRoute}\n inactivity={inactivity}\n redirect={searchParams.redirect as string}\n />\n </div>\n )\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAElB;AACA,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,UAAA,GAITA,CAAC;EAAEC,UAAU;EAAEC,cAAc;EAAEC;AAAY,CAAE;EAC/C,MAAM;IACJC,GAAA,EAAK;MACHC,OAAA,EAAS;QACPC,MAAA,EAAQ;UACNC,MAAA,EAAQ;YAAEC,KAAA,EAAOC;UAAU;QAAE;MAC9B;
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","LogoutClient","baseClass","LogoutView","inactivity","initPageResult","searchParams","req","payload","config","routes","admin","adminRoute","user","_jsx","className","redirect","id","collection"],"sources":["../../../src/views/Logout/index.tsx"],"sourcesContent":["import type { AdminViewServerProps } from 'payload'\n\nimport React from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds\nimport { LogoutClient } from '../../exports/client/index.js'\nimport './index.css'\n\nconst baseClass = 'logout'\n\nexport const LogoutView: React.FC<\n {\n inactivity?: boolean\n } & AdminViewServerProps\n> = ({ inactivity, initPageResult, searchParams }) => {\n const {\n req: {\n payload: {\n config: {\n routes: { admin: adminRoute },\n },\n },\n user,\n },\n } = initPageResult\n\n return (\n <div className={`${baseClass}`}>\n <LogoutClient\n adminRoute={adminRoute}\n inactivity={inactivity}\n redirect={searchParams.redirect as string}\n user={user ? { id: user.id, collection: user.collection } : null}\n />\n </div>\n )\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAElB;AACA,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,UAAA,GAITA,CAAC;EAAEC,UAAU;EAAEC,cAAc;EAAEC;AAAY,CAAE;EAC/C,MAAM;IACJC,GAAA,EAAK;MACHC,OAAA,EAAS;QACPC,MAAA,EAAQ;UACNC,MAAA,EAAQ;YAAEC,KAAA,EAAOC;UAAU;QAAE;MAC9B,CACF;MACDC;IAAI;EACL,CACF,GAAGR,cAAA;EAEJ,oBACES,IAAA,CAAC;IAAIC,SAAA,EAAW,GAAGb,SAAA,EAAW;cAC5B,aAAAY,IAAA,CAACb,YAAA;MACCW,UAAA,EAAYA,UAAA;MACZR,UAAA,EAAYA,UAAA;MACZY,QAAA,EAAUV,YAAA,CAAaU,QAAQ;MAC/BH,IAAA,EAAMA,IAAA,GAAO;QAAEI,EAAA,EAAIJ,IAAA,CAAKI,EAAE;QAAEC,UAAA,EAAYL,IAAA,CAAKK;MAAW,IAAI;;;AAIpE","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAkBrF,eAAO,MAAM,cAAc,EAAE,MAAM,CACjC,UAAU,EACV,KAAK,CAAC,aAAa,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAkBrF,eAAO,MAAM,cAAc,EAAE,MAAM,CACjC,UAAU,EACV,KAAK,CAAC,aAAa,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,CAyBjE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["VersionFieldDiffCheckbox","Checkbox","VersionFieldDiffCollapsible","Collapsible","VersionFieldDiffDate","DateDiffComponent","VersionFieldDiffGroup","Group","VersionFieldDiffIterable","Iterable","VersionFieldDiffRow","Row","VersionFieldDiffSelect","Select","VersionFieldDiffTabs","Tabs","VersionFieldDiffText","Text","Relationship","Upload","diffComponents","array","blocks","checkbox","code","collapsible","date","email","group","join","json","number","point","radio","relationship","richText","row","select","tabs","text","textarea","ui","upload"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/index.ts"],"sourcesContent":["import type { FieldDiffClientProps, FieldDiffServerProps, FieldTypes } from 'payload'\n\n/* eslint-disable payload/no-imports-from-exports-dir -- Server-side map of diff components must reference exports/client bundle so RSC client refs resolve to the bundled providers */\nimport {\n VersionFieldDiffCheckbox as Checkbox,\n VersionFieldDiffCollapsible as Collapsible,\n VersionFieldDiffDate as DateDiffComponent,\n VersionFieldDiffGroup as Group,\n VersionFieldDiffIterable as Iterable,\n VersionFieldDiffRow as Row,\n VersionFieldDiffSelect as Select,\n VersionFieldDiffTabs as Tabs,\n VersionFieldDiffText as Text,\n} from '../../../../exports/client/index.js'\n/* eslint-enable payload/no-imports-from-exports-dir */\nimport { Relationship } from './Relationship/index.js'\nimport { Upload } from './Upload/index.js'\n\nexport const diffComponents: Record<\n FieldTypes,\n React.ComponentType<FieldDiffClientProps | FieldDiffServerProps>\n> = {\n array: Iterable,\n blocks: Iterable,\n checkbox: Checkbox,\n code: Text,\n collapsible: Collapsible,\n date: DateDiffComponent,\n email: Text,\n group: Group,\n join: null,\n json: Text,\n number: Text,\n point: Text,\n radio: Select,\n relationship: Relationship,\n richText: Text,\n row: Row,\n select: Select,\n tabs: Tabs,\n text: Text,\n textarea: Text,\n ui: null,\n upload: Upload,\n}\n"],"mappings":"AAEA,uLACA,SACEA,wBAAA,IAA4BC,QAAQ,EACpCC,2BAAA,IAA+BC,WAAW,EAC1CC,oBAAA,IAAwBC,iBAAiB,EACzCC,qBAAA,IAAyBC,KAAK,EAC9BC,wBAAA,IAA4BC,QAAQ,EACpCC,mBAAA,IAAuBC,GAAG,EAC1BC,sBAAA,IAA0BC,MAAM,EAChCC,oBAAA,IAAwBC,IAAI,EAC5BC,oBAAA,IAAwBC,IAAI,QACvB;AACP;AACA,SAASC,YAAY,QAAQ;AAC7B,SAASC,MAAM,QAAQ;AAEvB,OAAO,MAAMC,cAAA,GAGT;EACFC,KAAA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["VersionFieldDiffCheckbox","Checkbox","VersionFieldDiffCollapsible","Collapsible","VersionFieldDiffDate","DateDiffComponent","VersionFieldDiffGroup","Group","VersionFieldDiffIterable","Iterable","VersionFieldDiffRow","Row","VersionFieldDiffSelect","Select","VersionFieldDiffTabs","Tabs","VersionFieldDiffText","Text","Relationship","Upload","diffComponents","slug","array","blocks","checkbox","code","collapsible","date","email","group","join","json","number","point","radio","relationship","richText","row","select","tabs","text","textarea","ui","upload"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/index.ts"],"sourcesContent":["import type { FieldDiffClientProps, FieldDiffServerProps, FieldTypes } from 'payload'\n\n/* eslint-disable payload/no-imports-from-exports-dir -- Server-side map of diff components must reference exports/client bundle so RSC client refs resolve to the bundled providers */\nimport {\n VersionFieldDiffCheckbox as Checkbox,\n VersionFieldDiffCollapsible as Collapsible,\n VersionFieldDiffDate as DateDiffComponent,\n VersionFieldDiffGroup as Group,\n VersionFieldDiffIterable as Iterable,\n VersionFieldDiffRow as Row,\n VersionFieldDiffSelect as Select,\n VersionFieldDiffTabs as Tabs,\n VersionFieldDiffText as Text,\n} from '../../../../exports/client/index.js'\n/* eslint-enable payload/no-imports-from-exports-dir */\nimport { Relationship } from './Relationship/index.js'\nimport { Upload } from './Upload/index.js'\n\nexport const diffComponents: Record<\n FieldTypes,\n React.ComponentType<FieldDiffClientProps | FieldDiffServerProps>\n> = {\n slug: Text,\n array: Iterable,\n blocks: Iterable,\n checkbox: Checkbox,\n code: Text,\n collapsible: Collapsible,\n date: DateDiffComponent,\n email: Text,\n group: Group,\n join: null,\n json: Text,\n number: Text,\n point: Text,\n radio: Select,\n relationship: Relationship,\n richText: Text,\n row: Row,\n select: Select,\n tabs: Tabs,\n text: Text,\n textarea: Text,\n ui: null,\n upload: Upload,\n}\n"],"mappings":"AAEA,uLACA,SACEA,wBAAA,IAA4BC,QAAQ,EACpCC,2BAAA,IAA+BC,WAAW,EAC1CC,oBAAA,IAAwBC,iBAAiB,EACzCC,qBAAA,IAAyBC,KAAK,EAC9BC,wBAAA,IAA4BC,QAAQ,EACpCC,mBAAA,IAAuBC,GAAG,EAC1BC,sBAAA,IAA0BC,MAAM,EAChCC,oBAAA,IAAwBC,IAAI,EAC5BC,oBAAA,IAAwBC,IAAI,QACvB;AACP;AACA,SAASC,YAAY,QAAQ;AAC7B,SAASC,MAAM,QAAQ;AAEvB,OAAO,MAAMC,cAAA,GAGT;EACFC,IAAA,EAAMJ,IAAA;EACNK,KAAA,EAAOb,QAAA;EACPc,MAAA,EAAQd,QAAA;EACRe,QAAA,EAAUvB,QAAA;EACVwB,IAAA,EAAMR,IAAA;EACNS,WAAA,EAAavB,WAAA;EACbwB,IAAA,EAAMtB,iBAAA;EACNuB,KAAA,EAAOX,IAAA;EACPY,KAAA,EAAOtB,KAAA;EACPuB,IAAA,EAAM;EACNC,IAAA,EAAMd,IAAA;EACNe,MAAA,EAAQf,IAAA;EACRgB,KAAA,EAAOhB,IAAA;EACPiB,KAAA,EAAOrB,MAAA;EACPsB,YAAA,EAAcjB,YAAA;EACdkB,QAAA,EAAUnB,IAAA;EACVoB,GAAA,EAAK1B,GAAA;EACL2B,MAAA,EAAQzB,MAAA;EACR0B,IAAA,EAAMxB,IAAA;EACNyB,IAAA,EAAMvB,IAAA;EACNwB,QAAA,EAAUxB,IAAA;EACVyB,EAAA,EAAI;EACJC,MAAA,EAAQxB;AACV","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"countChangedFields.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/countChangedFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAO7F,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,MAAM,EACN,OAAO,EACP,iBAAiB,EACjB,SAAS,EACT,OAAO,GACR,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"countChangedFields.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/countChangedFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAO7F,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,MAAM,EACN,OAAO,EACP,iBAAiB,EACjB,SAAS,EACT,OAAO,GACR,EAAE,IAAI,UAqLN;AAED,KAAK,4BAA4B,GAAG;IAClC,MAAM,EAAE,YAAY,CAAA;IACpB,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAA;IAC3C,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,aAAa,EAAE,OAAO,EAAE,CAAA;IACxB,WAAW,EAAE,OAAO,EAAE,CAAA;CACvB,CAAA;AAED,wBAAgB,wBAAwB,CAAC,EACvC,MAAM,EACN,KAAK,EACL,OAAO,EACP,iBAAiB,EACjB,aAAkB,EAClB,WAAgB,GACjB,EAAE,4BAA4B,UA6B9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"countChangedFields.js","names":["fieldShouldBeLocalized","groupHasName","fieldHasChanges","getFieldsForRowComparison","countChangedFields","config","fields","locales","parentIsLocalized","valueFrom","valueTo","count","forEach","field","name","fieldType","type","locale","valueFromRows","valueToRows","countChangedFieldsInRows","localized","tabs","tab","_exhaustiveCheck","Error","String","i","valueFromRow","valueToRow","rowFields","baseVersionField","path","schemaPath","row"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/countChangedFields.ts"],"sourcesContent":["import type { ArrayFieldClient, BlocksFieldClient, ClientConfig, ClientField } from 'payload'\n\nimport { fieldShouldBeLocalized, groupHasName } from 'payload/shared'\n\nimport { fieldHasChanges } from './fieldHasChanges.js'\nimport { getFieldsForRowComparison } from './getFieldsForRowComparison.js'\n\ntype Args = {\n config: ClientConfig\n fields: ClientField[]\n locales: string[] | undefined\n parentIsLocalized: boolean\n valueFrom: unknown\n valueTo: unknown\n}\n\n/**\n * Recursively counts the number of changed fields between comparison and\n * version data for a given set of fields.\n */\nexport function countChangedFields({\n config,\n fields,\n locales,\n parentIsLocalized,\n valueFrom,\n valueTo,\n}: Args) {\n let count = 0\n\n fields.forEach((field) => {\n // Don't count the id field since it is not displayed in the UI\n if ('name' in field && field.name === 'id') {\n return\n }\n const fieldType = field.type\n switch (fieldType) {\n // Iterable fields are arrays and blocks fields. We iterate over each row and\n // count the number of changed fields in each.\n case 'array':\n case 'blocks': {\n if (locales && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n locales.forEach((locale) => {\n const valueFromRows = valueFrom?.[field.name]?.[locale] ?? []\n const valueToRows = valueTo?.[field.name]?.[locale] ?? []\n count += countChangedFieldsInRows({\n config,\n field,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFromRows,\n valueToRows,\n })\n })\n } else {\n const valueFromRows = valueFrom?.[field.name] ?? []\n const valueToRows = valueTo?.[field.name] ?? []\n count += countChangedFieldsInRows({\n config,\n field,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFromRows,\n valueToRows,\n })\n }\n break\n }\n\n // Regular fields without nested fields.\n case 'checkbox':\n case 'code':\n case 'date':\n case 'email':\n case 'join':\n case 'json':\n case 'number':\n case 'point':\n case 'radio':\n case 'relationship':\n case 'richText':\n case 'select':\n case 'text':\n case 'textarea':\n case 'upload': {\n // Fields that have a name and contain data. We can just check if the data has changed.\n if (locales && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n locales.forEach((locale) => {\n if (\n fieldHasChanges(valueTo?.[field.name]?.[locale], valueFrom?.[field.name]?.[locale])\n ) {\n count++\n }\n })\n } else if (fieldHasChanges(valueTo?.[field.name], valueFrom?.[field.name])) {\n count++\n }\n break\n }\n // Fields that have nested fields, but don't nest their fields' data.\n case 'collapsible':\n case 'row': {\n count += countChangedFields({\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFrom,\n valueTo,\n })\n\n break\n }\n\n // Fields that have nested fields and nest their fields' data.\n case 'group': {\n if (groupHasName(field)) {\n if (locales && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n locales.forEach((locale) => {\n count += countChangedFields({\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFrom: valueFrom?.[field.name]?.[locale],\n valueTo: valueTo?.[field.name]?.[locale],\n })\n })\n } else {\n count += countChangedFields({\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFrom: valueFrom?.[field.name],\n valueTo: valueTo?.[field.name],\n })\n }\n } else {\n // Unnamed group field: data is NOT nested under `field.name`\n count += countChangedFields({\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFrom,\n valueTo,\n })\n }\n break\n }\n\n // Each tab in a tabs field has nested fields. The fields data may be\n // nested or not depending on the existence of a name property.\n case 'tabs': {\n field.tabs.forEach((tab) => {\n if ('name' in tab && locales && tab.localized) {\n // Named localized tab\n locales.forEach((locale) => {\n count += countChangedFields({\n config,\n fields: tab.fields,\n locales,\n parentIsLocalized: parentIsLocalized || tab.localized,\n valueFrom: valueFrom?.[tab.name]?.[locale],\n valueTo: valueTo?.[tab.name]?.[locale],\n })\n })\n } else if ('name' in tab) {\n // Named tab\n count += countChangedFields({\n config,\n fields: tab.fields,\n locales,\n parentIsLocalized: parentIsLocalized || tab.localized,\n valueFrom: valueFrom?.[tab.name],\n valueTo: valueTo?.[tab.name],\n })\n } else {\n // Unnamed tab\n count += countChangedFields({\n config,\n fields: tab.fields,\n locales,\n parentIsLocalized: parentIsLocalized || tab.localized,\n valueFrom,\n valueTo,\n })\n }\n })\n break\n }\n\n // UI fields don't have data and are not displayed in the version view\n // so we can ignore them.\n case 'ui': {\n break\n }\n\n default: {\n const _exhaustiveCheck: never = fieldType\n throw new Error(`Unexpected field.type in countChangedFields : ${String(fieldType)}`)\n }\n }\n })\n\n return count\n}\n\ntype countChangedFieldsInRowsArgs = {\n config: ClientConfig\n field: ArrayFieldClient | BlocksFieldClient\n locales: string[] | undefined\n parentIsLocalized: boolean\n valueFromRows: unknown[]\n valueToRows: unknown[]\n}\n\nexport function countChangedFieldsInRows({\n config,\n field,\n locales,\n parentIsLocalized,\n valueFromRows = [],\n valueToRows = [],\n}: countChangedFieldsInRowsArgs) {\n let count = 0\n let i = 0\n\n while (valueFromRows[i] || valueToRows[i]) {\n const valueFromRow = valueFromRows?.[i] || {}\n const valueToRow = valueToRows?.[i] || {}\n\n const { fields: rowFields } = getFieldsForRowComparison({\n baseVersionField: { type: 'text', fields: [], path: '', schemaPath: '' }, // Doesn't matter, as we don't need the versionFields output here\n config,\n field,\n row: i,\n valueFromRow,\n valueToRow,\n })\n\n count += countChangedFields({\n config,\n fields: rowFields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFrom: valueFromRow,\n valueTo: valueToRow,\n })\n\n i++\n }\n return count\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"countChangedFields.js","names":["fieldShouldBeLocalized","groupHasName","fieldHasChanges","getFieldsForRowComparison","countChangedFields","config","fields","locales","parentIsLocalized","valueFrom","valueTo","count","forEach","field","name","fieldType","type","locale","valueFromRows","valueToRows","countChangedFieldsInRows","localized","tabs","tab","_exhaustiveCheck","Error","String","i","valueFromRow","valueToRow","rowFields","baseVersionField","path","schemaPath","row"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/countChangedFields.ts"],"sourcesContent":["import type { ArrayFieldClient, BlocksFieldClient, ClientConfig, ClientField } from 'payload'\n\nimport { fieldShouldBeLocalized, groupHasName } from 'payload/shared'\n\nimport { fieldHasChanges } from './fieldHasChanges.js'\nimport { getFieldsForRowComparison } from './getFieldsForRowComparison.js'\n\ntype Args = {\n config: ClientConfig\n fields: ClientField[]\n locales: string[] | undefined\n parentIsLocalized: boolean\n valueFrom: unknown\n valueTo: unknown\n}\n\n/**\n * Recursively counts the number of changed fields between comparison and\n * version data for a given set of fields.\n */\nexport function countChangedFields({\n config,\n fields,\n locales,\n parentIsLocalized,\n valueFrom,\n valueTo,\n}: Args) {\n let count = 0\n\n fields.forEach((field) => {\n // Don't count the id field since it is not displayed in the UI\n if ('name' in field && field.name === 'id') {\n return\n }\n const fieldType = field.type\n switch (fieldType) {\n // Iterable fields are arrays and blocks fields. We iterate over each row and\n // count the number of changed fields in each.\n case 'array':\n case 'blocks': {\n if (locales && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n locales.forEach((locale) => {\n const valueFromRows = valueFrom?.[field.name]?.[locale] ?? []\n const valueToRows = valueTo?.[field.name]?.[locale] ?? []\n count += countChangedFieldsInRows({\n config,\n field,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFromRows,\n valueToRows,\n })\n })\n } else {\n const valueFromRows = valueFrom?.[field.name] ?? []\n const valueToRows = valueTo?.[field.name] ?? []\n count += countChangedFieldsInRows({\n config,\n field,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFromRows,\n valueToRows,\n })\n }\n break\n }\n\n // Regular fields without nested fields.\n case 'checkbox':\n case 'code':\n case 'date':\n case 'email':\n case 'join':\n case 'json':\n case 'number':\n case 'point':\n case 'radio':\n case 'relationship':\n case 'richText':\n case 'select':\n case 'slug':\n case 'text':\n case 'textarea':\n case 'upload': {\n // Fields that have a name and contain data. We can just check if the data has changed.\n if (locales && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n locales.forEach((locale) => {\n if (\n fieldHasChanges(valueTo?.[field.name]?.[locale], valueFrom?.[field.name]?.[locale])\n ) {\n count++\n }\n })\n } else if (fieldHasChanges(valueTo?.[field.name], valueFrom?.[field.name])) {\n count++\n }\n break\n }\n // Fields that have nested fields, but don't nest their fields' data.\n case 'collapsible':\n case 'row': {\n count += countChangedFields({\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFrom,\n valueTo,\n })\n\n break\n }\n\n // Fields that have nested fields and nest their fields' data.\n case 'group': {\n if (groupHasName(field)) {\n if (locales && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n locales.forEach((locale) => {\n count += countChangedFields({\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFrom: valueFrom?.[field.name]?.[locale],\n valueTo: valueTo?.[field.name]?.[locale],\n })\n })\n } else {\n count += countChangedFields({\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFrom: valueFrom?.[field.name],\n valueTo: valueTo?.[field.name],\n })\n }\n } else {\n // Unnamed group field: data is NOT nested under `field.name`\n count += countChangedFields({\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFrom,\n valueTo,\n })\n }\n break\n }\n\n // Each tab in a tabs field has nested fields. The fields data may be\n // nested or not depending on the existence of a name property.\n case 'tabs': {\n field.tabs.forEach((tab) => {\n if ('name' in tab && locales && tab.localized) {\n // Named localized tab\n locales.forEach((locale) => {\n count += countChangedFields({\n config,\n fields: tab.fields,\n locales,\n parentIsLocalized: parentIsLocalized || tab.localized,\n valueFrom: valueFrom?.[tab.name]?.[locale],\n valueTo: valueTo?.[tab.name]?.[locale],\n })\n })\n } else if ('name' in tab) {\n // Named tab\n count += countChangedFields({\n config,\n fields: tab.fields,\n locales,\n parentIsLocalized: parentIsLocalized || tab.localized,\n valueFrom: valueFrom?.[tab.name],\n valueTo: valueTo?.[tab.name],\n })\n } else {\n // Unnamed tab\n count += countChangedFields({\n config,\n fields: tab.fields,\n locales,\n parentIsLocalized: parentIsLocalized || tab.localized,\n valueFrom,\n valueTo,\n })\n }\n })\n break\n }\n\n // UI fields don't have data and are not displayed in the version view\n // so we can ignore them.\n case 'ui': {\n break\n }\n\n default: {\n const _exhaustiveCheck: never = fieldType\n throw new Error(`Unexpected field.type in countChangedFields : ${String(fieldType)}`)\n }\n }\n })\n\n return count\n}\n\ntype countChangedFieldsInRowsArgs = {\n config: ClientConfig\n field: ArrayFieldClient | BlocksFieldClient\n locales: string[] | undefined\n parentIsLocalized: boolean\n valueFromRows: unknown[]\n valueToRows: unknown[]\n}\n\nexport function countChangedFieldsInRows({\n config,\n field,\n locales,\n parentIsLocalized,\n valueFromRows = [],\n valueToRows = [],\n}: countChangedFieldsInRowsArgs) {\n let count = 0\n let i = 0\n\n while (valueFromRows[i] || valueToRows[i]) {\n const valueFromRow = valueFromRows?.[i] || {}\n const valueToRow = valueToRows?.[i] || {}\n\n const { fields: rowFields } = getFieldsForRowComparison({\n baseVersionField: { type: 'text', fields: [], path: '', schemaPath: '' }, // Doesn't matter, as we don't need the versionFields output here\n config,\n field,\n row: i,\n valueFromRow,\n valueToRow,\n })\n\n count += countChangedFields({\n config,\n fields: rowFields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFrom: valueFromRow,\n valueTo: valueToRow,\n })\n\n i++\n }\n return count\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type PaginatedDocs, type PayloadRequest, type SelectType, type Sort, type
|
|
1
|
+
import { type PaginatedDocs, type PayloadRequest, type SelectType, type Sort, type TypeWithVersion, type User, type Where } from 'payload';
|
|
2
2
|
export declare const fetchVersion: <TVersionData extends object = object>({ id, collectionSlug, depth, globalSlug, locale, overrideAccess, req, select, user, }: {
|
|
3
3
|
collectionSlug?: string;
|
|
4
4
|
depth?: number;
|
|
@@ -8,7 +8,7 @@ export declare const fetchVersion: <TVersionData extends object = object>({ id,
|
|
|
8
8
|
overrideAccess?: boolean;
|
|
9
9
|
req: PayloadRequest;
|
|
10
10
|
select?: SelectType;
|
|
11
|
-
user?:
|
|
11
|
+
user?: User;
|
|
12
12
|
}) => Promise<null | TypeWithVersion<TVersionData>>;
|
|
13
13
|
export declare const fetchVersions: <TVersionData extends object = object>({ collectionSlug, depth, draft, globalSlug, limit, locale, overrideAccess, page, parentID, req, select, sort, user, where: whereFromArgs, }: {
|
|
14
14
|
collectionSlug?: string;
|
|
@@ -23,7 +23,7 @@ export declare const fetchVersions: <TVersionData extends object = object>({ col
|
|
|
23
23
|
req: PayloadRequest;
|
|
24
24
|
select?: SelectType;
|
|
25
25
|
sort?: Sort;
|
|
26
|
-
user?:
|
|
26
|
+
user?: User;
|
|
27
27
|
where?: Where;
|
|
28
28
|
}) => Promise<null | PaginatedDocs<TypeWithVersion<TVersionData>>>;
|
|
29
29
|
export declare const fetchLatestVersion: <TVersionData extends object = object>({ collectionSlug, depth, globalSlug, locale, overrideAccess, parentID, req, select, status, user, where, }: {
|
|
@@ -36,7 +36,7 @@ export declare const fetchLatestVersion: <TVersionData extends object = object>(
|
|
|
36
36
|
req: PayloadRequest;
|
|
37
37
|
select?: SelectType;
|
|
38
38
|
status: "draft" | "published";
|
|
39
|
-
user?:
|
|
39
|
+
user?: User;
|
|
40
40
|
where?: Where;
|
|
41
41
|
}) => Promise<null | TypeWithVersion<TVersionData>>;
|
|
42
42
|
//# sourceMappingURL=fetchVersions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchVersions.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/fetchVersions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,
|
|
1
|
+
{"version":3,"file":"fetchVersions.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/fetchVersions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,eAAe,EACpB,KAAK,IAAI,EACT,KAAK,KAAK,EACX,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,YAAY,GAAU,YAAY,SAAS,MAAM,GAAG,MAAM,EAAE,uFAUtE;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,KAAG,OAAO,CAAC,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC,CA6B/C,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,YAAY,SAAS,MAAM,GAAG,MAAM,EAAE,6IAevE;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,KAAG,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CA8C9D,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAU,YAAY,SAAS,MAAM,GAAG,MAAM,EAAE,4GAY5E;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,MAAM,EAAE,OAAO,GAAG,WAAW,CAAA;IAC7B,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,KAAG,OAAO,CAAC,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC,CAyC/C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchVersions.js","names":["logError","fetchVersion","id","collectionSlug","depth","globalSlug","locale","overrideAccess","req","select","user","payload","findVersionByID","String","collection","findGlobalVersionByID","slug","err","fetchVersions","draft","limit","page","parentID","sort","where","whereFromArgs","and","push","parent","equals","findVersions","findGlobalVersions","fetchLatestVersion","status","entityConfig","collections","config","globals","undefined","draftsEnabled","versions","drafts","latest","docs","length"],"sources":["../../../src/views/Versions/fetchVersions.ts"],"sourcesContent":["import {\n logError,\n type PaginatedDocs,\n type PayloadRequest,\n type SelectType,\n type Sort,\n type
|
|
1
|
+
{"version":3,"file":"fetchVersions.js","names":["logError","fetchVersion","id","collectionSlug","depth","globalSlug","locale","overrideAccess","req","select","user","payload","findVersionByID","String","collection","findGlobalVersionByID","slug","err","fetchVersions","draft","limit","page","parentID","sort","where","whereFromArgs","and","push","parent","equals","findVersions","findGlobalVersions","fetchLatestVersion","status","entityConfig","collections","config","globals","undefined","draftsEnabled","versions","drafts","latest","docs","length"],"sources":["../../../src/views/Versions/fetchVersions.ts"],"sourcesContent":["import {\n logError,\n type PaginatedDocs,\n type PayloadRequest,\n type SelectType,\n type Sort,\n type TypeWithVersion,\n type User,\n type Where,\n} from 'payload'\n\nexport const fetchVersion = async <TVersionData extends object = object>({\n id,\n collectionSlug,\n depth,\n globalSlug,\n locale,\n overrideAccess,\n req,\n select,\n user,\n}: {\n collectionSlug?: string\n depth?: number\n globalSlug?: string\n id: number | string\n locale?: 'all' | ({} & string)\n overrideAccess?: boolean\n req: PayloadRequest\n select?: SelectType\n user?: User\n}): Promise<null | TypeWithVersion<TVersionData>> => {\n try {\n if (collectionSlug) {\n return (await req.payload.findVersionByID({\n id: String(id),\n collection: collectionSlug,\n depth,\n locale,\n overrideAccess,\n req,\n select,\n user,\n })) as TypeWithVersion<TVersionData>\n } else if (globalSlug) {\n return (await req.payload.findGlobalVersionByID({\n id: String(id),\n slug: globalSlug,\n depth,\n locale,\n overrideAccess,\n req,\n select,\n user,\n })) as TypeWithVersion<TVersionData>\n }\n } catch (err) {\n logError({ err, payload: req.payload })\n return null\n }\n}\n\nexport const fetchVersions = async <TVersionData extends object = object>({\n collectionSlug,\n depth,\n draft,\n globalSlug,\n limit,\n locale,\n overrideAccess,\n page,\n parentID,\n req,\n select,\n sort,\n user,\n where: whereFromArgs,\n}: {\n collectionSlug?: string\n depth?: number\n draft?: boolean\n globalSlug?: string\n limit?: number\n locale?: 'all' | ({} & string)\n overrideAccess?: boolean\n page?: number\n parentID?: number | string\n req: PayloadRequest\n select?: SelectType\n sort?: Sort\n user?: User\n where?: Where\n}): Promise<null | PaginatedDocs<TypeWithVersion<TVersionData>>> => {\n const where: Where = { and: [...(whereFromArgs ? [whereFromArgs] : [])] }\n\n try {\n if (collectionSlug) {\n if (parentID) {\n where.and.push({\n parent: {\n equals: parentID,\n },\n })\n }\n return (await req.payload.findVersions({\n collection: collectionSlug,\n depth,\n draft,\n limit,\n locale,\n overrideAccess,\n page,\n req,\n select,\n sort,\n user,\n where,\n })) as PaginatedDocs<TypeWithVersion<TVersionData>>\n } else if (globalSlug) {\n return (await req.payload.findGlobalVersions({\n slug: globalSlug,\n depth,\n limit,\n locale,\n overrideAccess,\n page,\n req,\n select,\n sort,\n user,\n where,\n })) as PaginatedDocs<TypeWithVersion<TVersionData>>\n }\n } catch (err) {\n logError({ err, payload: req.payload })\n\n return null\n }\n}\n\nexport const fetchLatestVersion = async <TVersionData extends object = object>({\n collectionSlug,\n depth,\n globalSlug,\n locale,\n overrideAccess,\n parentID,\n req,\n select,\n status,\n user,\n where,\n}: {\n collectionSlug?: string\n depth?: number\n globalSlug?: string\n locale?: 'all' | ({} & string)\n overrideAccess?: boolean\n parentID?: number | string\n req: PayloadRequest\n select?: SelectType\n status: 'draft' | 'published'\n user?: User\n where?: Where\n}): Promise<null | TypeWithVersion<TVersionData>> => {\n // Get the entity config to check if drafts are enabled\n const entityConfig = collectionSlug\n ? req.payload.collections[collectionSlug]?.config\n : globalSlug\n ? req.payload.globals[globalSlug]?.config\n : undefined\n\n // Only query by _status if drafts are enabled (since _status field only exists with drafts)\n const draftsEnabled = entityConfig?.versions?.drafts\n\n const and: Where[] = [\n ...(draftsEnabled\n ? [\n {\n 'version._status': {\n equals: status,\n },\n },\n ]\n : []),\n ...(where ? [where] : []),\n ]\n\n const latest = await fetchVersions({\n collectionSlug,\n depth,\n draft: true,\n globalSlug,\n limit: 1,\n locale,\n overrideAccess,\n parentID,\n req,\n select,\n sort: '-updatedAt',\n user,\n where: { and },\n })\n\n return latest?.docs?.length ? (latest.docs[0] as TypeWithVersion<TVersionData>) : null\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { I18n } from '@payloadcms/translations';
|
|
2
|
-
import type { PaginatedDocs, SanitizedCollectionConfig, SanitizedConfig, SanitizedGlobalConfig,
|
|
2
|
+
import type { PaginatedDocs, SanitizedCollectionConfig, SanitizedConfig, SanitizedGlobalConfig, User } from 'payload';
|
|
3
3
|
export type DefaultVersionsViewProps = {
|
|
4
4
|
canAccessAdmin: boolean;
|
|
5
5
|
collectionConfig?: SanitizedCollectionConfig;
|
|
@@ -11,7 +11,7 @@ export type DefaultVersionsViewProps = {
|
|
|
11
11
|
i18n: I18n;
|
|
12
12
|
id: number | string;
|
|
13
13
|
limit: number;
|
|
14
|
-
user:
|
|
14
|
+
user: User;
|
|
15
15
|
versionsData: PaginatedDocs<Document>;
|
|
16
16
|
};
|
|
17
17
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EACV,aAAa,EACb,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EACV,aAAa,EACb,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACrB,IAAI,EACL,MAAM,SAAS,CAAA;AAEhB,MAAM,MAAM,wBAAwB,GAAG;IACrC,cAAc,EAAE,OAAO,CAAA;IACvB,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,IAAI,EAAE,IAAI,CAAA;IACV,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,IAAI,CAAA;IACV,YAAY,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;CACtC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/views/Versions/types.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/views/Versions/types.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n User,\n} from 'payload'\n\nexport type DefaultVersionsViewProps = {\n canAccessAdmin: boolean\n collectionConfig?: SanitizedCollectionConfig\n config: SanitizedConfig\n data: Document\n editURL: string\n entityLabel: string\n globalConfig?: SanitizedGlobalConfig\n i18n: I18n\n id: number | string\n limit: number\n user: User\n versionsData: PaginatedDocs<Document>\n}\n"],"mappings":"AASA","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ClientUser, PayloadRequest, SanitizedPermissions } from 'payload';
|
|
2
|
+
import type { NavGroupType } from '../../utilities/groupNavItems.js';
|
|
3
|
+
export type GlobalLockData = {
|
|
4
|
+
data: {
|
|
5
|
+
_isLocked: boolean;
|
|
6
|
+
_lastEditedAt: string;
|
|
7
|
+
_userEditing: ClientUser | number | string;
|
|
8
|
+
};
|
|
9
|
+
lockDuration?: number;
|
|
10
|
+
slug: string;
|
|
11
|
+
};
|
|
12
|
+
export type CollectionCardsData = {
|
|
13
|
+
adminRoute: string;
|
|
14
|
+
globalData: GlobalLockData[];
|
|
15
|
+
navGroups: NavGroupType[];
|
|
16
|
+
permissions: SanitizedPermissions;
|
|
17
|
+
userId: number | string;
|
|
18
|
+
};
|
|
19
|
+
export declare function getCollectionCardsData(req: PayloadRequest): Promise<CollectionCardsData>;
|
|
20
|
+
//# sourceMappingURL=getCollectionCardsData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getCollectionCardsData.d.ts","sourceRoot":"","sources":["../../../src/widgets/CollectionCards/getCollectionCardsData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAI/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAMpE,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE;QACJ,SAAS,EAAE,OAAO,CAAA;QAClB,aAAa,EAAE,MAAM,CAAA;QACrB,YAAY,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;KAC3C,CAAA;IACD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,cAAc,EAAE,CAAA;IAC5B,SAAS,EAAE,YAAY,EAAE,CAAA;IACzB,WAAW,EAAE,oBAAoB,CAAA;IACjC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CACxB,CAAA;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAgB9F"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { getAccessResults } from 'payload';
|
|
2
|
+
import { getGlobalData } from '../../utilities/getGlobalData.js';
|
|
3
|
+
import { getNavGroups } from '../../utilities/getNavGroups.js';
|
|
4
|
+
import { getVisibleEntities } from '../../utilities/getVisibleEntities.js';
|
|
5
|
+
export async function getCollectionCardsData(req) {
|
|
6
|
+
const {
|
|
7
|
+
payload,
|
|
8
|
+
user
|
|
9
|
+
} = req;
|
|
10
|
+
const {
|
|
11
|
+
admin: adminRoute
|
|
12
|
+
} = payload.config.routes;
|
|
13
|
+
const permissions = await getAccessResults({
|
|
14
|
+
req
|
|
15
|
+
});
|
|
16
|
+
const visibleEntities = getVisibleEntities({
|
|
17
|
+
req
|
|
18
|
+
});
|
|
19
|
+
const globalData = await getGlobalData(req);
|
|
20
|
+
const navGroups = getNavGroups(permissions, visibleEntities, payload.config, req.i18n);
|
|
21
|
+
return {
|
|
22
|
+
adminRoute,
|
|
23
|
+
globalData,
|
|
24
|
+
navGroups,
|
|
25
|
+
permissions,
|
|
26
|
+
userId: user?.id
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=getCollectionCardsData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getCollectionCardsData.js","names":["getAccessResults","getGlobalData","getNavGroups","getVisibleEntities","getCollectionCardsData","req","payload","user","admin","adminRoute","config","routes","permissions","visibleEntities","globalData","navGroups","i18n","userId","id"],"sources":["../../../src/widgets/CollectionCards/getCollectionCardsData.ts"],"sourcesContent":["import type { ClientUser, PayloadRequest, SanitizedPermissions } from 'payload'\n\nimport { getAccessResults } from 'payload'\n\nimport type { NavGroupType } from '../../utilities/groupNavItems.js'\n\nimport { getGlobalData } from '../../utilities/getGlobalData.js'\nimport { getNavGroups } from '../../utilities/getNavGroups.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\n\nexport type GlobalLockData = {\n data: {\n _isLocked: boolean\n _lastEditedAt: string\n _userEditing: ClientUser | number | string\n }\n lockDuration?: number\n slug: string\n}\n\nexport type CollectionCardsData = {\n adminRoute: string\n globalData: GlobalLockData[]\n navGroups: NavGroupType[]\n permissions: SanitizedPermissions\n userId: number | string\n}\n\nexport async function getCollectionCardsData(req: PayloadRequest): Promise<CollectionCardsData> {\n const { payload, user } = req\n const { admin: adminRoute } = payload.config.routes\n\n const permissions = await getAccessResults({ req })\n const visibleEntities = getVisibleEntities({ req })\n const globalData = await getGlobalData(req)\n const navGroups = getNavGroups(permissions, visibleEntities, payload.config, req.i18n)\n\n return {\n adminRoute,\n globalData,\n navGroups,\n permissions,\n userId: user?.id,\n }\n}\n"],"mappings":"AAEA,SAASA,gBAAgB,QAAQ;AAIjC,SAASC,aAAa,QAAQ;AAC9B,SAASC,YAAY,QAAQ;AAC7B,SAASC,kBAAkB,QAAQ;AAoBnC,OAAO,eAAeC,uBAAuBC,GAAmB;EAC9D,MAAM;IAAEC,OAAO;IAAEC;EAAI,CAAE,GAAGF,GAAA;EAC1B,MAAM;IAAEG,KAAA,EAAOC;EAAU,CAAE,GAAGH,OAAA,CAAQI,MAAM,CAACC,MAAM;EAEnD,MAAMC,WAAA,GAAc,MAAMZ,gBAAA,CAAiB;IAAEK;EAAI;EACjD,MAAMQ,eAAA,GAAkBV,kBAAA,CAAmB;IAAEE;EAAI;EACjD,MAAMS,UAAA,GAAa,MAAMb,aAAA,CAAcI,GAAA;EACvC,MAAMU,SAAA,GAAYb,YAAA,CAAaU,WAAA,EAAaC,eAAA,EAAiBP,OAAA,CAAQI,MAAM,EAAEL,GAAA,CAAIW,IAAI;EAErF,OAAO;IACLP,UAAA;IACAK,UAAA;IACAC,SAAA;IACAH,WAAA;IACAK,MAAA,EAAQV,IAAA,EAAMW;EAChB;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/widgets/CollectionCards/index.client.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEtE,OAAO,aAAa,CAAA;AAQpB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAkH/D,CAAA"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
4
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { getTranslation } from '@payloadcms/translations';
|
|
6
|
+
import { EntityType, formatAdminURL } from 'payload/shared';
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import './index.css';
|
|
9
|
+
import { Button } from '../../elements/Button/index.js';
|
|
10
|
+
import { Card } from '../../elements/Card/index.js';
|
|
11
|
+
import { Locked } from '../../elements/Locked/index.js';
|
|
12
|
+
import { useTranslation } from '../../providers/Translation/index.js';
|
|
13
|
+
const baseClass = 'collections';
|
|
14
|
+
export const CollectionCardsClient = t0 => {
|
|
15
|
+
const $ = _c(8);
|
|
16
|
+
const {
|
|
17
|
+
adminRoute,
|
|
18
|
+
globalData,
|
|
19
|
+
navGroups,
|
|
20
|
+
permissions,
|
|
21
|
+
userId
|
|
22
|
+
} = t0;
|
|
23
|
+
const {
|
|
24
|
+
i18n,
|
|
25
|
+
t
|
|
26
|
+
} = useTranslation();
|
|
27
|
+
let t1;
|
|
28
|
+
if ($[0] !== adminRoute || $[1] !== globalData || $[2] !== i18n || $[3] !== navGroups || $[4] !== permissions?.collections || $[5] !== t || $[6] !== userId) {
|
|
29
|
+
t1 = _jsx("div", {
|
|
30
|
+
className: baseClass,
|
|
31
|
+
children: _jsx("div", {
|
|
32
|
+
className: `${baseClass}__wrap`,
|
|
33
|
+
children: !navGroups || navGroups?.length === 0 ? _jsx("p", {
|
|
34
|
+
children: "no nav groups...."
|
|
35
|
+
}) : navGroups.map((t2, groupIndex) => {
|
|
36
|
+
const {
|
|
37
|
+
entities,
|
|
38
|
+
label
|
|
39
|
+
} = t2;
|
|
40
|
+
return _jsxs("div", {
|
|
41
|
+
className: `${baseClass}__group`,
|
|
42
|
+
children: [_jsx("h2", {
|
|
43
|
+
className: `${baseClass}__label`,
|
|
44
|
+
children: label
|
|
45
|
+
}), _jsx("ul", {
|
|
46
|
+
className: `${baseClass}__card-list`,
|
|
47
|
+
children: entities.map((t3, entityIndex) => {
|
|
48
|
+
const {
|
|
49
|
+
slug,
|
|
50
|
+
type,
|
|
51
|
+
label: label_0
|
|
52
|
+
} = t3;
|
|
53
|
+
let title;
|
|
54
|
+
let buttonAriaLabel;
|
|
55
|
+
let createHREF;
|
|
56
|
+
let href;
|
|
57
|
+
let hasCreatePermission;
|
|
58
|
+
let isLocked = null;
|
|
59
|
+
let userEditing = null;
|
|
60
|
+
if (type === EntityType.collection) {
|
|
61
|
+
title = getTranslation(label_0, i18n);
|
|
62
|
+
buttonAriaLabel = t("general:showAllLabel", {
|
|
63
|
+
label: title
|
|
64
|
+
});
|
|
65
|
+
href = formatAdminURL({
|
|
66
|
+
adminRoute,
|
|
67
|
+
path: `/collections/${slug}`
|
|
68
|
+
});
|
|
69
|
+
createHREF = formatAdminURL({
|
|
70
|
+
adminRoute,
|
|
71
|
+
path: `/collections/${slug}/create`
|
|
72
|
+
});
|
|
73
|
+
hasCreatePermission = permissions?.collections?.[slug]?.create;
|
|
74
|
+
}
|
|
75
|
+
if (type === EntityType.global) {
|
|
76
|
+
getTranslation(label_0, i18n);
|
|
77
|
+
buttonAriaLabel = t("general:editLabel", {
|
|
78
|
+
label: getTranslation(label_0, i18n)
|
|
79
|
+
});
|
|
80
|
+
href = formatAdminURL({
|
|
81
|
+
adminRoute,
|
|
82
|
+
path: `/globals/${slug}`
|
|
83
|
+
});
|
|
84
|
+
const globalLockData = globalData.find(global => global.slug === slug);
|
|
85
|
+
if (globalLockData) {
|
|
86
|
+
isLocked = globalLockData.data._isLocked;
|
|
87
|
+
userEditing = globalLockData.data._userEditing;
|
|
88
|
+
const lockDuration = globalLockData?.lockDuration;
|
|
89
|
+
const lastEditedAt = new Date(globalLockData.data?._lastEditedAt).getTime();
|
|
90
|
+
const lockDurationInMilliseconds = lockDuration * 1000;
|
|
91
|
+
const lockExpirationTime = lastEditedAt + lockDurationInMilliseconds;
|
|
92
|
+
if (new Date().getTime() > lockExpirationTime) {
|
|
93
|
+
isLocked = false;
|
|
94
|
+
userEditing = null;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return _jsx("li", {
|
|
99
|
+
children: _jsx(Card, {
|
|
100
|
+
actions: isLocked && userId !== userEditing?.id ? _jsx(Locked, {
|
|
101
|
+
className: `${baseClass}__locked`,
|
|
102
|
+
user: userEditing
|
|
103
|
+
}) : hasCreatePermission && type === EntityType.collection ? _jsx(Button, {
|
|
104
|
+
"aria-label": t("general:createNewLabel", {
|
|
105
|
+
label: label_0
|
|
106
|
+
}),
|
|
107
|
+
buttonStyle: "ghost",
|
|
108
|
+
el: "link",
|
|
109
|
+
icon: "plus",
|
|
110
|
+
round: true,
|
|
111
|
+
to: createHREF
|
|
112
|
+
}) : undefined,
|
|
113
|
+
buttonAriaLabel,
|
|
114
|
+
href,
|
|
115
|
+
id: `card-${slug}`,
|
|
116
|
+
title: getTranslation(label_0, i18n),
|
|
117
|
+
titleAs: "h3"
|
|
118
|
+
})
|
|
119
|
+
}, entityIndex);
|
|
120
|
+
})
|
|
121
|
+
})]
|
|
122
|
+
}, groupIndex);
|
|
123
|
+
})
|
|
124
|
+
})
|
|
125
|
+
});
|
|
126
|
+
$[0] = adminRoute;
|
|
127
|
+
$[1] = globalData;
|
|
128
|
+
$[2] = i18n;
|
|
129
|
+
$[3] = navGroups;
|
|
130
|
+
$[4] = permissions?.collections;
|
|
131
|
+
$[5] = t;
|
|
132
|
+
$[6] = userId;
|
|
133
|
+
$[7] = t1;
|
|
134
|
+
} else {
|
|
135
|
+
t1 = $[7];
|
|
136
|
+
}
|
|
137
|
+
return t1;
|
|
138
|
+
};
|
|
139
|
+
//# sourceMappingURL=index.client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.client.js","names":["c","_c","getTranslation","EntityType","formatAdminURL","React","Button","Card","Locked","useTranslation","baseClass","CollectionCardsClient","t0","$","adminRoute","globalData","navGroups","permissions","userId","i18n","t","t1","collections","_jsx","className","children","length","map","t2","groupIndex","entities","label","_jsxs","t3","entityIndex","slug","type","label_0","title","buttonAriaLabel","createHREF","href","hasCreatePermission","isLocked","userEditing","collection","create","global","globalLockData","find","data","_isLocked","_userEditing","lockDuration","lastEditedAt","Date","_lastEditedAt","getTime","lockDurationInMilliseconds","lockExpirationTime","actions","id","user","buttonStyle","el","icon","round","to","titleAs"],"sources":["../../../src/widgets/CollectionCards/index.client.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { EntityType, formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nimport type { CollectionCardsData } from './getCollectionCardsData.js'\n\nimport './index.css'\nimport { Button } from '../../elements/Button/index.js'\nimport { Card } from '../../elements/Card/index.js'\nimport { Locked } from '../../elements/Locked/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nconst baseClass = 'collections'\n\nexport const CollectionCardsClient: React.FC<CollectionCardsData> = ({\n adminRoute,\n globalData,\n navGroups,\n permissions,\n userId,\n}) => {\n const { i18n, t } = useTranslation()\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n {!navGroups || navGroups?.length === 0 ? (\n <p>no nav groups....</p>\n ) : (\n navGroups.map(({ entities, label }, groupIndex) => {\n return (\n <div className={`${baseClass}__group`} key={groupIndex}>\n <h2 className={`${baseClass}__label`}>{label}</h2>\n <ul className={`${baseClass}__card-list`}>\n {entities.map(({ slug, type, label }, entityIndex) => {\n let title: string\n let buttonAriaLabel: string\n let createHREF: string\n let href: string\n let hasCreatePermission: boolean\n let isLocked = null\n let userEditing: ClientUser | null = null\n\n if (type === EntityType.collection) {\n title = getTranslation(label, i18n)\n\n buttonAriaLabel = t('general:showAllLabel', { label: title })\n\n href = formatAdminURL({\n adminRoute,\n path: `/collections/${slug}`,\n })\n\n createHREF = formatAdminURL({\n adminRoute,\n path: `/collections/${slug}/create`,\n })\n\n hasCreatePermission = permissions?.collections?.[slug]?.create\n }\n\n if (type === EntityType.global) {\n title = getTranslation(label, i18n)\n\n buttonAriaLabel = t('general:editLabel', {\n label: getTranslation(label, i18n),\n })\n\n href = formatAdminURL({\n adminRoute,\n path: `/globals/${slug}`,\n })\n\n const globalLockData = globalData.find((global) => global.slug === slug)\n\n if (globalLockData) {\n isLocked = globalLockData.data._isLocked\n userEditing = globalLockData.data._userEditing as ClientUser | null\n\n const lockDuration = globalLockData?.lockDuration\n const lastEditedAt = new Date(globalLockData.data?._lastEditedAt).getTime()\n\n const lockDurationInMilliseconds = lockDuration * 1000\n const lockExpirationTime = lastEditedAt + lockDurationInMilliseconds\n\n if (new Date().getTime() > lockExpirationTime) {\n isLocked = false\n userEditing = null\n }\n }\n }\n\n return (\n <li key={entityIndex}>\n <Card\n actions={\n isLocked && userId !== userEditing?.id ? (\n <Locked className={`${baseClass}__locked`} user={userEditing} />\n ) : hasCreatePermission && type === EntityType.collection ? (\n <Button\n aria-label={t('general:createNewLabel', {\n label,\n })}\n buttonStyle=\"ghost\"\n el=\"link\"\n icon=\"plus\"\n round\n to={createHREF}\n />\n ) : undefined\n }\n buttonAriaLabel={buttonAriaLabel}\n href={href}\n id={`card-${slug}`}\n title={getTranslation(label, i18n)}\n titleAs=\"h3\"\n />\n </li>\n )\n })}\n </ul>\n </div>\n )\n })\n )}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/ui",
|
|
3
|
-
"version": "4.0.0-canary.
|
|
3
|
+
"version": "4.0.0-canary.9",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -211,6 +211,56 @@
|
|
|
211
211
|
"import": "./dist/utilities/*.js",
|
|
212
212
|
"types": "./dist/utilities/*.d.ts",
|
|
213
213
|
"default": "./dist/utilities/*.js"
|
|
214
|
+
},
|
|
215
|
+
"./server": {
|
|
216
|
+
"import": "./dist/exports/server.js",
|
|
217
|
+
"types": "./dist/exports/server.d.ts",
|
|
218
|
+
"default": "./dist/exports/server.js"
|
|
219
|
+
},
|
|
220
|
+
"./views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn": {
|
|
221
|
+
"import": "./dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js",
|
|
222
|
+
"types": "./dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts",
|
|
223
|
+
"default": "./dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js"
|
|
224
|
+
},
|
|
225
|
+
"./views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn": {
|
|
226
|
+
"import": "./dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js",
|
|
227
|
+
"types": "./dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts",
|
|
228
|
+
"default": "./dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js"
|
|
229
|
+
},
|
|
230
|
+
"./elements/Nav/SidebarTabs/renderTabServerFn": {
|
|
231
|
+
"import": "./dist/elements/Nav/SidebarTabs/renderTabServerFn.js",
|
|
232
|
+
"types": "./dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts",
|
|
233
|
+
"default": "./dist/elements/Nav/SidebarTabs/renderTabServerFn.js"
|
|
234
|
+
},
|
|
235
|
+
"./elements/RenderServerComponent/clientOnly": {
|
|
236
|
+
"import": "./dist/elements/RenderServerComponent/clientOnly.js",
|
|
237
|
+
"types": "./dist/elements/RenderServerComponent/clientOnly.d.ts",
|
|
238
|
+
"default": "./dist/elements/RenderServerComponent/clientOnly.js"
|
|
239
|
+
},
|
|
240
|
+
"./elements/Nav/getNavPrefs": {
|
|
241
|
+
"import": "./dist/elements/Nav/getNavPrefs.js",
|
|
242
|
+
"types": "./dist/elements/Nav/getNavPrefs.d.ts",
|
|
243
|
+
"default": "./dist/elements/Nav/getNavPrefs.js"
|
|
244
|
+
},
|
|
245
|
+
"./elements/DocumentHeader/Tabs/Tab/TabLink": {
|
|
246
|
+
"import": "./dist/elements/DocumentHeader/Tabs/Tab/TabLink.js",
|
|
247
|
+
"types": "./dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts",
|
|
248
|
+
"default": "./dist/elements/DocumentHeader/Tabs/Tab/TabLink.js"
|
|
249
|
+
},
|
|
250
|
+
"./elements/DocumentHeader/Tabs/ShouldRenderTabs": {
|
|
251
|
+
"import": "./dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js",
|
|
252
|
+
"types": "./dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.d.ts",
|
|
253
|
+
"default": "./dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js"
|
|
254
|
+
},
|
|
255
|
+
"./widgets/CollectionCards/index.client": {
|
|
256
|
+
"import": "./dist/widgets/CollectionCards/index.client.js",
|
|
257
|
+
"types": "./dist/widgets/CollectionCards/index.client.d.ts",
|
|
258
|
+
"default": "./dist/widgets/CollectionCards/index.client.js"
|
|
259
|
+
},
|
|
260
|
+
"./utilities/serverFunctionRegistry": {
|
|
261
|
+
"import": "./dist/utilities/serverFunctionRegistry.js",
|
|
262
|
+
"types": "./dist/utilities/serverFunctionRegistry.d.ts",
|
|
263
|
+
"default": "./dist/utilities/serverFunctionRegistry.js"
|
|
214
264
|
}
|
|
215
265
|
},
|
|
216
266
|
"main": "./dist/exports/client/index.js",
|
|
@@ -243,7 +293,7 @@
|
|
|
243
293
|
"ts-essentials": "10.0.3",
|
|
244
294
|
"use-context-selector": "2.0.0",
|
|
245
295
|
"uuid": "14.0.0",
|
|
246
|
-
"@payloadcms/translations": "4.0.0-canary.
|
|
296
|
+
"@payloadcms/translations": "4.0.0-canary.9"
|
|
247
297
|
},
|
|
248
298
|
"devDependencies": {
|
|
249
299
|
"@babel/cli": "7.27.2",
|
|
@@ -258,12 +308,12 @@
|
|
|
258
308
|
"esbuild": "0.27.1",
|
|
259
309
|
"esbuild-sass-plugin": "3.3.1",
|
|
260
310
|
"@payloadcms/eslint-config": "3.28.0",
|
|
261
|
-
"payload": "4.0.0-canary.
|
|
311
|
+
"payload": "4.0.0-canary.9"
|
|
262
312
|
},
|
|
263
313
|
"peerDependencies": {
|
|
264
314
|
"react": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
265
315
|
"react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
266
|
-
"payload": "4.0.0-canary.
|
|
316
|
+
"payload": "4.0.0-canary.9"
|
|
267
317
|
},
|
|
268
318
|
"engines": {
|
|
269
319
|
"node": ">=24.15.0"
|
|
@@ -279,11 +329,11 @@
|
|
|
279
329
|
"build:remove-artifact": "rm dist/prod/index.js",
|
|
280
330
|
"build:swc": "swc ./src -d dist --config-file .swcrc --strip-leading-paths",
|
|
281
331
|
"build:swc:debug": "swc ./src -d ./dist --config-file .swcrc-debug --strip-leading-paths",
|
|
282
|
-
"build:types": "tsc --emitDeclarationOnly --outDir dist",
|
|
332
|
+
"build:types": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" tsc --emitDeclarationOnly --outDir dist",
|
|
283
333
|
"build:without_reactcompiler": "rm -rf dist && rm -rf tsconfig.tsbuildinfo && pnpm copyfiles && pnpm build:types && pnpm build:swc",
|
|
284
334
|
"clean": "rimraf -g {dist,*.tsbuildinfo,esbuild}",
|
|
285
335
|
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
|
|
286
|
-
"lint": "eslint .",
|
|
287
|
-
"lint:fix": "eslint . --fix"
|
|
336
|
+
"lint": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" eslint .",
|
|
337
|
+
"lint:fix": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" eslint . --fix"
|
|
288
338
|
}
|
|
289
339
|
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
// Workaround for react-datepicker and other cjs dependencies potentially inserting require("react") statements
|
|
3
|
-
import * as requireReact from 'react';
|
|
4
|
-
import * as requireReactDom from 'react-dom';
|
|
5
|
-
|
|
6
|
-
function require(m) {
|
|
7
|
-
if (m === 'react') return requireReact;
|
|
8
|
-
if (m === 'react-dom') return requireReactDom;
|
|
9
|
-
throw new Error(`Unknown module ${m}`);
|
|
10
|
-
}
|
|
11
|
-
// Workaround end
|
|
12
|
-
|
|
13
|
-
import{l as a}from"./chunk-DMFYTMX6.js";import"./chunk-5LKBKI4T.js";export{a as default};
|
|
14
|
-
//# sourceMappingURL=CodeEditor-T3624SG3.js.map
|