@payloadcms/ui 3.77.0 → 3.78.0-canary.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  2. package/dist/elements/DeleteDocument/index.js +16 -5
  3. package/dist/elements/DeleteDocument/index.js.map +1 -1
  4. package/dist/elements/DeleteMany/index.d.ts +21 -1
  5. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  6. package/dist/elements/DeleteMany/index.js +25 -11
  7. package/dist/elements/DeleteMany/index.js.map +1 -1
  8. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  9. package/dist/elements/DocumentControls/index.js +8 -2
  10. package/dist/elements/DocumentControls/index.js.map +1 -1
  11. package/dist/exports/client/index.js +12 -12
  12. package/dist/exports/client/index.js.map +4 -4
  13. package/dist/providers/DocumentInfo/types.d.ts +7 -0
  14. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  15. package/dist/providers/DocumentInfo/types.js.map +1 -1
  16. package/dist/utilities/shouldPermanentlyDelete.d.ts +13 -0
  17. package/dist/utilities/shouldPermanentlyDelete.d.ts.map +1 -0
  18. package/dist/utilities/shouldPermanentlyDelete.js +11 -0
  19. package/dist/utilities/shouldPermanentlyDelete.js.map +1 -0
  20. package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -1
  21. package/dist/views/CollectionFolder/ListSelection/index.js +1 -0
  22. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  23. package/dist/views/List/ListHeader/index.d.ts +1 -0
  24. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  25. package/dist/views/List/ListHeader/index.js +3 -0
  26. package/dist/views/List/ListHeader/index.js.map +1 -1
  27. package/dist/views/List/ListSelection/index.d.ts +2 -0
  28. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  29. package/dist/views/List/ListSelection/index.js +22 -16
  30. package/dist/views/List/ListSelection/index.js.map +1 -1
  31. package/dist/views/List/index.d.ts.map +1 -1
  32. package/dist/views/List/index.js +2 -0
  33. package/dist/views/List/index.js.map +1 -1
  34. package/package.json +4 -4
@@ -14,9 +14,16 @@ export type DocumentInfoProps = {
14
14
  readonly disableLeaveWithoutSaving?: boolean;
15
15
  readonly docPermissions?: SanitizedDocumentPermissions;
16
16
  readonly globalSlug?: SanitizedGlobalConfig['slug'];
17
+ /**
18
+ * Whether the user can permanently delete documents when trash is enabled.
19
+ * Determined by checking delete access with `deletedAt` set.
20
+ */
21
+ readonly hasDeletePermission?: boolean;
17
22
  readonly hasPublishedDoc: boolean;
18
23
  readonly hasPublishPermission?: boolean;
19
24
  readonly hasSavePermission?: boolean;
25
+ /** Whether the user can trash (soft delete) documents. Only applicable when `trash` is enabled. */
26
+ readonly hasTrashPermission?: boolean;
20
27
  readonly id?: number | string;
21
28
  readonly initialData?: Data;
22
29
  readonly initialState?: FormState;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["React","DocumentTitleContext","createContext"],"sources":["../../../src/providers/DocumentInfo/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n ClientUser,\n Data,\n DocumentPreferences,\n FormState,\n InsideFieldsPreferences,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n TypedUser,\n} from 'payload'\n\nimport React from 'react'\n\nimport type { GetDocPermissions } from './useGetDocPermissions.js'\n\nexport type DocumentInfoProps = {\n readonly action?: string\n readonly AfterDocument?: React.ReactNode\n readonly AfterFields?: React.ReactNode\n readonly apiURL?: string\n readonly BeforeFields?: React.ReactNode\n readonly collectionSlug?: SanitizedCollectionConfig['slug']\n readonly currentEditor: TypedUser\n readonly disableActions?: boolean\n readonly disableCreate?: boolean\n readonly disableLeaveWithoutSaving?: boolean\n readonly docPermissions?: SanitizedDocumentPermissions\n readonly globalSlug?: SanitizedGlobalConfig['slug']\n readonly hasPublishedDoc: boolean\n readonly hasPublishPermission?: boolean\n readonly hasSavePermission?: boolean\n readonly id?: number | string\n readonly initialData?: Data\n readonly initialState?: FormState\n readonly isEditing?: boolean\n readonly isLocked: boolean\n readonly isTrashed?: boolean\n readonly lastUpdateTime: number\n readonly mostRecentVersionIsAutosaved: boolean\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly redirectAfterRestore?: boolean\n readonly unpublishedVersionCount: number\n readonly Upload?: React.ReactNode\n readonly versionCount: number\n}\n\nexport type DocumentInfoContext = {\n currentEditor?: ClientUser | null | number | string\n data?: Data\n docConfig?: ClientCollectionConfig | ClientGlobalConfig\n documentIsLocked?: boolean\n documentLockState: React.RefObject<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\n } | null>\n getDocPermissions: GetDocPermissions\n getDocPreferences: () => Promise<DocumentPreferences>\n incrementVersionCount: () => void\n isInitializing: boolean\n preferencesKey?: string\n /**\n * @deprecated This property is deprecated and will be removed in v4.\n * Use `data` instead.\n */\n savedDocumentData?: Data\n setCurrentEditor?: React.Dispatch<React.SetStateAction<ClientUser>>\n setData: (data: Data) => void\n setDocFieldPreferences: (\n field: string,\n fieldPreferences: { [key: string]: unknown } & Partial<InsideFieldsPreferences>,\n ) => void\n setDocumentIsLocked?: React.Dispatch<React.SetStateAction<boolean>>\n /**\n * @deprecated This property is deprecated and will be removed in v4.\n * This is for performance reasons. Use the `DocumentTitleContext` instead\n * via the `useDocumentTitle` hook.\n * @example\n * ```tsx\n * import { useDocumentTitle } from '@payloadcms/ui'\n * const { setDocumentTitle } = useDocumentTitle()\n * ```\n */\n setDocumentTitle: React.Dispatch<React.SetStateAction<string>>\n setHasPublishedDoc: React.Dispatch<React.SetStateAction<boolean>>\n setLastUpdateTime: React.Dispatch<React.SetStateAction<number>>\n setMostRecentVersionIsAutosaved: React.Dispatch<React.SetStateAction<boolean>>\n setUnpublishedVersionCount: React.Dispatch<React.SetStateAction<number>>\n setUploadStatus?: (status: 'failed' | 'idle' | 'uploading') => void\n /**\n * @deprecated This property is deprecated and will be removed in v4.\n * This is for performance reasons. Use the `DocumentTitleContext` instead\n * via the `useDocumentTitle` hook.\n * @example\n * ```tsx\n * import { useDocumentTitle } from '@payloadcms/ui'\n * const { title } = useDocumentTitle()\n * ```\n */\n title: string\n unlockDocument: (docID: number | string, slug: string) => Promise<void>\n unpublishedVersionCount: number\n updateDocumentEditor: (docID: number | string, slug: string, user: ClientUser) => Promise<void>\n /**\n * @deprecated This property is deprecated and will be removed in v4.\n * Use `setData` instead.\n */\n updateSavedDocumentData: (data: Data) => void\n uploadStatus?: 'failed' | 'idle' | 'uploading'\n versionCount: number\n} & DocumentInfoProps\n\nexport const DocumentTitleContext = React.createContext<string>('')\n"],"mappings":"AAcA,OAAOA,KAAA,MAAW;AAuGlB,OAAO,MAAMC,oBAAA,GAAuBD,KAAA,CAAME,aAAa,CAAS","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":["React","DocumentTitleContext","createContext"],"sources":["../../../src/providers/DocumentInfo/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n ClientUser,\n Data,\n DocumentPreferences,\n FormState,\n InsideFieldsPreferences,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n TypedUser,\n} from 'payload'\n\nimport React from 'react'\n\nimport type { GetDocPermissions } from './useGetDocPermissions.js'\n\nexport type DocumentInfoProps = {\n readonly action?: string\n readonly AfterDocument?: React.ReactNode\n readonly AfterFields?: React.ReactNode\n readonly apiURL?: string\n readonly BeforeFields?: React.ReactNode\n readonly collectionSlug?: SanitizedCollectionConfig['slug']\n readonly currentEditor: TypedUser\n readonly disableActions?: boolean\n readonly disableCreate?: boolean\n readonly disableLeaveWithoutSaving?: boolean\n readonly docPermissions?: SanitizedDocumentPermissions\n readonly globalSlug?: SanitizedGlobalConfig['slug']\n /**\n * Whether the user can permanently delete documents when trash is enabled.\n * Determined by checking delete access with `deletedAt` set.\n */\n readonly hasDeletePermission?: boolean\n readonly hasPublishedDoc: boolean\n readonly hasPublishPermission?: boolean\n readonly hasSavePermission?: boolean\n /** Whether the user can trash (soft delete) documents. Only applicable when `trash` is enabled. */\n readonly hasTrashPermission?: boolean\n readonly id?: number | string\n readonly initialData?: Data\n readonly initialState?: FormState\n readonly isEditing?: boolean\n readonly isLocked: boolean\n readonly isTrashed?: boolean\n readonly lastUpdateTime: number\n readonly mostRecentVersionIsAutosaved: boolean\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly redirectAfterRestore?: boolean\n readonly unpublishedVersionCount: number\n readonly Upload?: React.ReactNode\n readonly versionCount: number\n}\n\nexport type DocumentInfoContext = {\n currentEditor?: ClientUser | null | number | string\n data?: Data\n docConfig?: ClientCollectionConfig | ClientGlobalConfig\n documentIsLocked?: boolean\n documentLockState: React.RefObject<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\n } | null>\n getDocPermissions: GetDocPermissions\n getDocPreferences: () => Promise<DocumentPreferences>\n incrementVersionCount: () => void\n isInitializing: boolean\n preferencesKey?: string\n /**\n * @deprecated This property is deprecated and will be removed in v4.\n * Use `data` instead.\n */\n savedDocumentData?: Data\n setCurrentEditor?: React.Dispatch<React.SetStateAction<ClientUser>>\n setData: (data: Data) => void\n setDocFieldPreferences: (\n field: string,\n fieldPreferences: { [key: string]: unknown } & Partial<InsideFieldsPreferences>,\n ) => void\n setDocumentIsLocked?: React.Dispatch<React.SetStateAction<boolean>>\n /**\n * @deprecated This property is deprecated and will be removed in v4.\n * This is for performance reasons. Use the `DocumentTitleContext` instead\n * via the `useDocumentTitle` hook.\n * @example\n * ```tsx\n * import { useDocumentTitle } from '@payloadcms/ui'\n * const { setDocumentTitle } = useDocumentTitle()\n * ```\n */\n setDocumentTitle: React.Dispatch<React.SetStateAction<string>>\n setHasPublishedDoc: React.Dispatch<React.SetStateAction<boolean>>\n setLastUpdateTime: React.Dispatch<React.SetStateAction<number>>\n setMostRecentVersionIsAutosaved: React.Dispatch<React.SetStateAction<boolean>>\n setUnpublishedVersionCount: React.Dispatch<React.SetStateAction<number>>\n setUploadStatus?: (status: 'failed' | 'idle' | 'uploading') => void\n /**\n * @deprecated This property is deprecated and will be removed in v4.\n * This is for performance reasons. Use the `DocumentTitleContext` instead\n * via the `useDocumentTitle` hook.\n * @example\n * ```tsx\n * import { useDocumentTitle } from '@payloadcms/ui'\n * const { title } = useDocumentTitle()\n * ```\n */\n title: string\n unlockDocument: (docID: number | string, slug: string) => Promise<void>\n unpublishedVersionCount: number\n updateDocumentEditor: (docID: number | string, slug: string, user: ClientUser) => Promise<void>\n /**\n * @deprecated This property is deprecated and will be removed in v4.\n * Use `setData` instead.\n */\n updateSavedDocumentData: (data: Data) => void\n uploadStatus?: 'failed' | 'idle' | 'uploading'\n versionCount: number\n} & DocumentInfoProps\n\nexport const DocumentTitleContext = React.createContext<string>('')\n"],"mappings":"AAcA,OAAOA,KAAA,MAAW;AA8GlB,OAAO,MAAMC,oBAAA,GAAuBD,KAAA,CAAME,aAAa,CAAS","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ type ShouldPermanentlyDeleteArgs = {
2
+ /** Whether the user checked the "delete permanently" checkbox in the UI */
3
+ deletePermanently: boolean;
4
+ hasDeletePermission: boolean;
5
+ hasTrashPermission: boolean;
6
+ isTrashView?: boolean;
7
+ };
8
+ /**
9
+ * Determines whether a delete operation should permanently remove documents or soft-delete them to trash.
10
+ */
11
+ export declare function shouldPermanentlyDelete({ deletePermanently, hasDeletePermission, hasTrashPermission, isTrashView, }: ShouldPermanentlyDeleteArgs): boolean;
12
+ export {};
13
+ //# sourceMappingURL=shouldPermanentlyDelete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shouldPermanentlyDelete.d.ts","sourceRoot":"","sources":["../../src/utilities/shouldPermanentlyDelete.ts"],"names":[],"mappings":"AAAA,KAAK,2BAA2B,GAAG;IACjC,2EAA2E;IAC3E,iBAAiB,EAAE,OAAO,CAAA;IAC1B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,kBAAkB,EAAE,OAAO,CAAA;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,WAAmB,GACpB,EAAE,2BAA2B,GAAG,OAAO,CAEvC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Determines whether a delete operation should permanently remove documents or soft-delete them to trash.
3
+ */export function shouldPermanentlyDelete({
4
+ deletePermanently,
5
+ hasDeletePermission,
6
+ hasTrashPermission,
7
+ isTrashView = false
8
+ }) {
9
+ return isTrashView || !hasTrashPermission || hasDeletePermission && deletePermanently;
10
+ }
11
+ //# sourceMappingURL=shouldPermanentlyDelete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shouldPermanentlyDelete.js","names":["shouldPermanentlyDelete","deletePermanently","hasDeletePermission","hasTrashPermission","isTrashView"],"sources":["../../src/utilities/shouldPermanentlyDelete.ts"],"sourcesContent":["type ShouldPermanentlyDeleteArgs = {\n /** Whether the user checked the \"delete permanently\" checkbox in the UI */\n deletePermanently: boolean\n hasDeletePermission: boolean\n hasTrashPermission: boolean\n isTrashView?: boolean\n}\n\n/**\n * Determines whether a delete operation should permanently remove documents or soft-delete them to trash.\n */\nexport function shouldPermanentlyDelete({\n deletePermanently,\n hasDeletePermission,\n hasTrashPermission,\n isTrashView = false,\n}: ShouldPermanentlyDeleteArgs): boolean {\n return isTrashView || !hasTrashPermission || (hasDeletePermission && deletePermanently)\n}\n"],"mappings":"AAQA;;GAGA,OAAO,SAASA,wBAAwB;EACtCC,iBAAiB;EACjBC,mBAAmB;EACnBC,kBAAkB;EAClBC,WAAA,GAAc;AAAK,CACS;EAC5B,OAAOA,WAAA,IAAe,CAACD,kBAAA,IAAuBD,mBAAA,IAAuBD,iBAAA;AACvE","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/CollectionFolder/ListSelection/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAyBvC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,yBAAyB,EAAE,cAAc,EAAE,CAAA;CAC5C,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAwJtD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/CollectionFolder/ListSelection/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAyBvC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,yBAAyB,EAAE,cAAc,EAAE,CAAA;CAC5C,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAyJtD,CAAA"}
@@ -132,6 +132,7 @@ export const ListSelection = t0 => {
132
132
  clearRouteCache();
133
133
  clearSelections();
134
134
  },
135
+ hasDeletePermission: true,
135
136
  selections: groupedSelections
136
137
  }, "bulk-delete")].filter(Boolean)
137
138
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","extractID","React","Fragment","toast","DeleteMany_v4","EditMany_v4","EditFolderAction","MoveItemsToFolderDrawer","ListSelection_v4","ListSelectionButton","PublishMany_v4","UnpublishMany_v4","useConfig","useFolder","useRouteCache","useTranslation","moveToFolderDrawerSlug","ListSelection","t0","$","disableBulkDelete","disableBulkEdit","folderAssignedCollections","clearSelections","currentFolder","folderCollectionSlug","folderFieldName","folderID","getSelectedItems","moveToFolder","clearRouteCache","config","t","closeModal","openModal","t1","t2","value","_folderOrDocumentTitle","Symbol","for","bb0","items","groupedSelections","reduce","_temp","count","length","singleNonFolderCollectionSelected","Object","keys","collectionConfig","collections","find","collection","slug","ids","_jsx","ListActions","onClick","children","filter","Boolean","SelectionActions","_jsxs","selectAll","id","type","action","drawerSlug","fromFolderID","fromFolderName","itemsToMove","onConfirm","t3","name","toFolderID","success","folderName","title","afterDelete","selections","acc","item","relationTo","push","totalCount"],"sources":["../../../../src/views/CollectionFolder/ListSelection/index.tsx"],"sourcesContent":["'use client'\n\nimport type { CollectionSlug } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { extractID } from 'payload/shared'\nimport React, { Fragment } from 'react'\nimport { toast } from 'sonner'\n\nimport { DeleteMany_v4 } from '../../../elements/DeleteMany/index.js'\nimport { EditMany_v4 } from '../../../elements/EditMany/index.js'\nimport { EditFolderAction } from '../../../elements/FolderView/Drawers/EditFolderAction/index.js'\nimport { MoveItemsToFolderDrawer } from '../../../elements/FolderView/Drawers/MoveToFolder/index.js'\nimport { ListSelection_v4, ListSelectionButton } from '../../../elements/ListSelection/index.js'\nimport { PublishMany_v4 } from '../../../elements/PublishMany/index.js'\nimport { UnpublishMany_v4 } from '../../../elements/UnpublishMany/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useFolder } from '../../../providers/Folders/index.js'\nimport { useRouteCache } from '../../../providers/RouteCache/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nconst moveToFolderDrawerSlug = 'move-to-folder--list'\n\ntype GroupedSelections = {\n [relationTo: string]: {\n all?: boolean\n ids?: (number | string)[]\n totalCount: number\n }\n}\n\nexport type ListSelectionProps = {\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n folderAssignedCollections: CollectionSlug[]\n}\n\nexport const ListSelection: React.FC<ListSelectionProps> = ({\n disableBulkDelete,\n disableBulkEdit,\n folderAssignedCollections,\n}) => {\n const {\n clearSelections,\n currentFolder,\n folderCollectionSlug,\n folderFieldName,\n folderID,\n getSelectedItems,\n moveToFolder,\n } = useFolder()\n\n const { clearRouteCache } = useRouteCache()\n const { config } = useConfig()\n const { t } = useTranslation()\n const { closeModal, openModal } = useModal()\n const items = getSelectedItems()\n\n const groupedSelections: GroupedSelections = items.reduce((acc, item) => {\n if (item) {\n if (acc[item.relationTo]) {\n acc[item.relationTo].ids.push(extractID(item.value))\n acc[item.relationTo].totalCount += 1\n } else {\n acc[item.relationTo] = {\n ids: [extractID(item.value)],\n totalCount: 1,\n }\n }\n }\n\n return acc\n }, {} as GroupedSelections)\n\n const count = items.length\n const singleNonFolderCollectionSelected =\n Object.keys(groupedSelections).length === 1 &&\n Object.keys(groupedSelections)[0] !== folderCollectionSlug\n const collectionConfig = singleNonFolderCollectionSelected\n ? config.collections.find((collection) => {\n return collection.slug === Object.keys(groupedSelections)[0]\n })\n : null\n\n if (count === 0) {\n return null\n }\n\n const ids = singleNonFolderCollectionSelected\n ? groupedSelections[Object.keys(groupedSelections)[0]]?.ids || []\n : []\n\n return (\n <ListSelection_v4\n count={count}\n ListActions={[\n count > 0 && (\n <ListSelectionButton key=\"clear-all\" onClick={() => clearSelections()}>\n {t('general:clearAll')}\n </ListSelectionButton>\n ),\n ].filter(Boolean)}\n SelectionActions={[\n !disableBulkEdit && ids.length && (\n <Fragment key=\"bulk-actions\">\n <EditMany_v4 collection={collectionConfig} count={count} ids={ids} selectAll={false} />\n <PublishMany_v4\n collection={collectionConfig}\n count={count}\n ids={ids}\n selectAll={false}\n />\n <UnpublishMany_v4\n collection={collectionConfig}\n count={count}\n ids={ids}\n selectAll={false}\n />\n </Fragment>\n ),\n count === 1 && !singleNonFolderCollectionSelected && (\n <EditFolderAction\n folderCollectionSlug={folderCollectionSlug}\n id={groupedSelections[folderCollectionSlug].ids[0]}\n key=\"edit-folder-action\"\n />\n ),\n count > 0 ? (\n <React.Fragment key={moveToFolderDrawerSlug}>\n <ListSelectionButton\n onClick={() => {\n openModal(moveToFolderDrawerSlug)\n }}\n type=\"button\"\n >\n {t('general:move')}\n </ListSelectionButton>\n\n <MoveItemsToFolderDrawer\n action=\"moveItemsToFolder\"\n drawerSlug={moveToFolderDrawerSlug}\n folderAssignedCollections={folderAssignedCollections}\n folderCollectionSlug={folderCollectionSlug}\n folderFieldName={folderFieldName}\n fromFolderID={folderID}\n fromFolderName={currentFolder?.value?._folderOrDocumentTitle}\n itemsToMove={getSelectedItems()}\n onConfirm={async ({ id, name }) => {\n await moveToFolder({\n itemsToMove: getSelectedItems(),\n toFolderID: id,\n })\n\n if (id) {\n // moved to folder\n toast.success(\n t('folder:itemsMovedToFolder', {\n folderName: `\"${name}\"`,\n title: `${count} ${count > 1 ? t('general:items') : t('general:item')}`,\n }),\n )\n } else {\n // moved to root\n toast.success(\n t('folder:itemsMovedToRoot', {\n title: `${count} ${count > 1 ? t('general:items') : t('general:item')}`,\n }),\n )\n }\n\n clearRouteCache()\n closeModal(moveToFolderDrawerSlug)\n }}\n />\n </React.Fragment>\n ) : null,\n !disableBulkDelete && (\n <DeleteMany_v4\n afterDelete={() => {\n clearRouteCache()\n clearSelections()\n }}\n key=\"bulk-delete\"\n selections={groupedSelections}\n />\n ),\n ].filter(Boolean)}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","extractID","React","Fragment","toast","DeleteMany_v4","EditMany_v4","EditFolderAction","MoveItemsToFolderDrawer","ListSelection_v4","ListSelectionButton","PublishMany_v4","UnpublishMany_v4","useConfig","useFolder","useRouteCache","useTranslation","moveToFolderDrawerSlug","ListSelection","t0","$","disableBulkDelete","disableBulkEdit","folderAssignedCollections","clearSelections","currentFolder","folderCollectionSlug","folderFieldName","folderID","getSelectedItems","moveToFolder","clearRouteCache","config","t","closeModal","openModal","t1","t2","value","_folderOrDocumentTitle","Symbol","for","bb0","items","groupedSelections","reduce","_temp","count","length","singleNonFolderCollectionSelected","Object","keys","collectionConfig","collections","find","collection","slug","ids","_jsx","ListActions","onClick","children","filter","Boolean","SelectionActions","_jsxs","selectAll","id","type","action","drawerSlug","fromFolderID","fromFolderName","itemsToMove","onConfirm","t3","name","toFolderID","success","folderName","title","afterDelete","hasDeletePermission","selections","acc","item","relationTo","push","totalCount"],"sources":["../../../../src/views/CollectionFolder/ListSelection/index.tsx"],"sourcesContent":["'use client'\n\nimport type { CollectionSlug } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { extractID } from 'payload/shared'\nimport React, { Fragment } from 'react'\nimport { toast } from 'sonner'\n\nimport { DeleteMany_v4 } from '../../../elements/DeleteMany/index.js'\nimport { EditMany_v4 } from '../../../elements/EditMany/index.js'\nimport { EditFolderAction } from '../../../elements/FolderView/Drawers/EditFolderAction/index.js'\nimport { MoveItemsToFolderDrawer } from '../../../elements/FolderView/Drawers/MoveToFolder/index.js'\nimport { ListSelection_v4, ListSelectionButton } from '../../../elements/ListSelection/index.js'\nimport { PublishMany_v4 } from '../../../elements/PublishMany/index.js'\nimport { UnpublishMany_v4 } from '../../../elements/UnpublishMany/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useFolder } from '../../../providers/Folders/index.js'\nimport { useRouteCache } from '../../../providers/RouteCache/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nconst moveToFolderDrawerSlug = 'move-to-folder--list'\n\ntype GroupedSelections = {\n [relationTo: string]: {\n all?: boolean\n ids?: (number | string)[]\n totalCount: number\n }\n}\n\nexport type ListSelectionProps = {\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n folderAssignedCollections: CollectionSlug[]\n}\n\nexport const ListSelection: React.FC<ListSelectionProps> = ({\n disableBulkDelete,\n disableBulkEdit,\n folderAssignedCollections,\n}) => {\n const {\n clearSelections,\n currentFolder,\n folderCollectionSlug,\n folderFieldName,\n folderID,\n getSelectedItems,\n moveToFolder,\n } = useFolder()\n\n const { clearRouteCache } = useRouteCache()\n const { config } = useConfig()\n const { t } = useTranslation()\n const { closeModal, openModal } = useModal()\n const items = getSelectedItems()\n\n const groupedSelections: GroupedSelections = items.reduce((acc, item) => {\n if (item) {\n if (acc[item.relationTo]) {\n acc[item.relationTo].ids.push(extractID(item.value))\n acc[item.relationTo].totalCount += 1\n } else {\n acc[item.relationTo] = {\n ids: [extractID(item.value)],\n totalCount: 1,\n }\n }\n }\n\n return acc\n }, {} as GroupedSelections)\n\n const count = items.length\n const singleNonFolderCollectionSelected =\n Object.keys(groupedSelections).length === 1 &&\n Object.keys(groupedSelections)[0] !== folderCollectionSlug\n const collectionConfig = singleNonFolderCollectionSelected\n ? config.collections.find((collection) => {\n return collection.slug === Object.keys(groupedSelections)[0]\n })\n : null\n\n if (count === 0) {\n return null\n }\n\n const ids = singleNonFolderCollectionSelected\n ? groupedSelections[Object.keys(groupedSelections)[0]]?.ids || []\n : []\n\n return (\n <ListSelection_v4\n count={count}\n ListActions={[\n count > 0 && (\n <ListSelectionButton key=\"clear-all\" onClick={() => clearSelections()}>\n {t('general:clearAll')}\n </ListSelectionButton>\n ),\n ].filter(Boolean)}\n SelectionActions={[\n !disableBulkEdit && ids.length && (\n <Fragment key=\"bulk-actions\">\n <EditMany_v4 collection={collectionConfig} count={count} ids={ids} selectAll={false} />\n <PublishMany_v4\n collection={collectionConfig}\n count={count}\n ids={ids}\n selectAll={false}\n />\n <UnpublishMany_v4\n collection={collectionConfig}\n count={count}\n ids={ids}\n selectAll={false}\n />\n </Fragment>\n ),\n count === 1 && !singleNonFolderCollectionSelected && (\n <EditFolderAction\n folderCollectionSlug={folderCollectionSlug}\n id={groupedSelections[folderCollectionSlug].ids[0]}\n key=\"edit-folder-action\"\n />\n ),\n count > 0 ? (\n <React.Fragment key={moveToFolderDrawerSlug}>\n <ListSelectionButton\n onClick={() => {\n openModal(moveToFolderDrawerSlug)\n }}\n type=\"button\"\n >\n {t('general:move')}\n </ListSelectionButton>\n\n <MoveItemsToFolderDrawer\n action=\"moveItemsToFolder\"\n drawerSlug={moveToFolderDrawerSlug}\n folderAssignedCollections={folderAssignedCollections}\n folderCollectionSlug={folderCollectionSlug}\n folderFieldName={folderFieldName}\n fromFolderID={folderID}\n fromFolderName={currentFolder?.value?._folderOrDocumentTitle}\n itemsToMove={getSelectedItems()}\n onConfirm={async ({ id, name }) => {\n await moveToFolder({\n itemsToMove: getSelectedItems(),\n toFolderID: id,\n })\n\n if (id) {\n // moved to folder\n toast.success(\n t('folder:itemsMovedToFolder', {\n folderName: `\"${name}\"`,\n title: `${count} ${count > 1 ? t('general:items') : t('general:item')}`,\n }),\n )\n } else {\n // moved to root\n toast.success(\n t('folder:itemsMovedToRoot', {\n title: `${count} ${count > 1 ? t('general:items') : t('general:item')}`,\n }),\n )\n }\n\n clearRouteCache()\n closeModal(moveToFolderDrawerSlug)\n }}\n />\n </React.Fragment>\n ) : null,\n !disableBulkDelete && (\n <DeleteMany_v4\n afterDelete={() => {\n clearRouteCache()\n clearSelections()\n }}\n hasDeletePermission={true}\n key=\"bulk-delete\"\n selections={groupedSelections}\n />\n ),\n ].filter(Boolean)}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,7 @@ export type ListHeaderProps = {
11
11
  disableBulkEdit?: boolean;
12
12
  hasCreatePermission: boolean;
13
13
  hasDeletePermission?: boolean;
14
+ hasTrashPermission?: boolean;
14
15
  i18n: I18nClient;
15
16
  isBulkUploadEnabled: boolean;
16
17
  isTrashEnabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/ListHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGhE,OAAO,KAAK,MAAM,OAAO,CAAA;AAgBzB,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC;;;;;OAKG;IACH,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,UAAU,EAAE,OAAO,CAAA;IACnB,uEAAuE;IACvE,CAAC,CAAC,EAAE,SAAS,CAAA;IACb,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAChC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA0G1D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/ListHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGhE,OAAO,KAAK,MAAM,OAAO,CAAA;AAgBzB,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,IAAI,EAAE,UAAU,CAAA;IAChB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC;;;;;OAKG;IACH,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,UAAU,EAAE,OAAO,CAAA;IACnB,uEAAuE;IACvE,CAAC,CAAC,EAAE,SAAS,CAAA;IACb,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAChC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA6G1D,CAAA"}
@@ -21,6 +21,7 @@ export const CollectionListHeader = ({
21
21
  disableBulkEdit,
22
22
  hasCreatePermission,
23
23
  hasDeletePermission,
24
+ hasTrashPermission,
24
25
  i18n,
25
26
  isBulkUploadEnabled,
26
27
  isTrashEnabled,
@@ -66,6 +67,8 @@ export const CollectionListHeader = ({
66
67
  collectionConfig: collectionConfig,
67
68
  disableBulkDelete: disableBulkDelete,
68
69
  disableBulkEdit: disableBulkEdit,
70
+ hasDeletePermission: hasDeletePermission,
71
+ hasTrashPermission: hasTrashPermission,
69
72
  label: getTranslation(collectionConfig?.labels?.plural, i18n),
70
73
  showSelectAllAcrossPages: !isGroupingBy,
71
74
  viewType: viewType
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","CloseModalButton","DefaultListViewTabs","useListDrawerContext","DrawerRelationshipSelect","ListDrawerCreateNewDocButton","ListHeader","ListBulkUploadButton","ListCreateNewButton","ListEmptyTrashButton","useConfig","useListQuery","ListSelection","drawerBaseClass","CollectionListHeader","className","collectionConfig","Description","disableBulkDelete","disableBulkEdit","hasCreatePermission","hasDeletePermission","i18n","isBulkUploadEnabled","isTrashEnabled","newDocumentURL","onBulkUploadSuccess","openBulkUpload","smallBreak","viewType","config","getEntityConfig","drawerSlug","isInDrawer","selectedOption","isTrashRoute","isGroupingBy","_jsx","Actions","slug","AfterListHeaderContent","_jsxs","_Fragment","title","collectionSlug","value","labels","plural","TitleActions","filter","Boolean","label","showSelectAllAcrossPages"],"sources":["../../../../src/views/List/ListHeader/index.tsx"],"sourcesContent":["import type { I18nClient, TFunction } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, ViewTypes } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { CloseModalButton } from '../../../elements/CloseModalButton/index.js'\nimport { DefaultListViewTabs } from '../../../elements/DefaultListViewTabs/index.js'\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { DrawerRelationshipSelect } from '../../../elements/ListHeader/DrawerRelationshipSelect/index.js'\nimport { ListDrawerCreateNewDocButton } from '../../../elements/ListHeader/DrawerTitleActions/index.js'\nimport { ListHeader } from '../../../elements/ListHeader/index.js'\nimport {\n ListBulkUploadButton,\n ListCreateNewButton,\n ListEmptyTrashButton,\n} from '../../../elements/ListHeader/TitleActions/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useListQuery } from '../../../providers/ListQuery/index.js'\nimport { ListSelection } from '../ListSelection/index.js'\nimport './index.scss'\n\nconst drawerBaseClass = 'list-drawer'\n\nexport type ListHeaderProps = {\n Actions?: React.ReactNode[]\n className?: string\n collectionConfig: ClientCollectionConfig\n Description?: React.ReactNode\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n hasCreatePermission: boolean\n hasDeletePermission?: boolean\n i18n: I18nClient\n isBulkUploadEnabled: boolean\n isTrashEnabled?: boolean\n newDocumentURL: string\n onBulkUploadSuccess?: () => void\n /** @deprecated This prop will be removed in the next major version.\n *\n * Opening of the bulk upload modal is handled internally.\n *\n * Prefer `onBulkUploadSuccess` usage to handle the success of the bulk upload.\n */\n openBulkUpload: () => void\n smallBreak: boolean\n /** @deprecated This prop will be removed in the next major version. */\n t?: TFunction\n TitleActions?: React.ReactNode[]\n viewType?: ViewTypes\n}\n\nexport const CollectionListHeader: React.FC<ListHeaderProps> = ({\n className,\n collectionConfig,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n hasCreatePermission,\n hasDeletePermission,\n i18n,\n isBulkUploadEnabled,\n isTrashEnabled,\n newDocumentURL,\n onBulkUploadSuccess,\n openBulkUpload,\n smallBreak,\n viewType,\n}) => {\n const { config, getEntityConfig } = useConfig()\n const { drawerSlug, isInDrawer, selectedOption } = useListDrawerContext()\n const isTrashRoute = viewType === 'trash'\n const { isGroupingBy } = useListQuery()\n\n if (isInDrawer) {\n return (\n <ListHeader\n Actions={[\n <CloseModalButton\n className={`${drawerBaseClass}__header-close`}\n key=\"close-button\"\n slug={drawerSlug}\n />,\n ]}\n AfterListHeaderContent={\n <>\n {Description}\n {<DrawerRelationshipSelect />}\n </>\n }\n className={`${drawerBaseClass}__header`}\n title={getTranslation(\n getEntityConfig({ collectionSlug: selectedOption.value })?.labels?.plural,\n i18n,\n )}\n TitleActions={[\n <ListDrawerCreateNewDocButton\n hasCreatePermission={hasCreatePermission}\n key=\"list-drawer-create-new-doc\"\n />,\n ].filter(Boolean)}\n />\n )\n }\n\n return (\n <ListHeader\n Actions={[\n !smallBreak && !isGroupingBy && (\n <ListSelection\n collectionConfig={collectionConfig}\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n key=\"list-selection\"\n label={getTranslation(collectionConfig?.labels?.plural, i18n)}\n showSelectAllAcrossPages={!isGroupingBy}\n viewType={viewType}\n />\n ),\n <DefaultListViewTabs\n collectionConfig={collectionConfig}\n config={config}\n key=\"default-list-actions\"\n viewType={viewType}\n />,\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n className={className}\n title={getTranslation(collectionConfig?.labels?.plural, i18n)}\n TitleActions={[\n hasCreatePermission && !isTrashRoute && (\n <ListCreateNewButton\n collectionConfig={collectionConfig}\n hasCreatePermission={hasCreatePermission}\n key=\"list-header-create-new-doc\"\n newDocumentURL={newDocumentURL}\n />\n ),\n hasCreatePermission && isBulkUploadEnabled && !isTrashRoute && (\n <ListBulkUploadButton\n collectionSlug={collectionConfig.slug}\n hasCreatePermission={hasCreatePermission}\n isBulkUploadEnabled={isBulkUploadEnabled}\n key=\"list-header-bulk-upload\"\n onBulkUploadSuccess={onBulkUploadSuccess}\n openBulkUpload={openBulkUpload}\n />\n ),\n hasDeletePermission && isTrashEnabled && viewType === 'trash' && (\n <ListEmptyTrashButton\n collectionConfig={collectionConfig}\n hasDeletePermission={hasDeletePermission}\n key=\"list-header-empty-trash\"\n />\n ),\n ].filter(Boolean)}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","CloseModalButton","DefaultListViewTabs","useListDrawerContext","DrawerRelationshipSelect","ListDrawerCreateNewDocButton","ListHeader","ListBulkUploadButton","ListCreateNewButton","ListEmptyTrashButton","useConfig","useListQuery","ListSelection","drawerBaseClass","CollectionListHeader","className","collectionConfig","Description","disableBulkDelete","disableBulkEdit","hasCreatePermission","hasDeletePermission","hasTrashPermission","i18n","isBulkUploadEnabled","isTrashEnabled","newDocumentURL","onBulkUploadSuccess","openBulkUpload","smallBreak","viewType","config","getEntityConfig","drawerSlug","isInDrawer","selectedOption","isTrashRoute","isGroupingBy","_jsx","Actions","slug","AfterListHeaderContent","_jsxs","_Fragment","title","collectionSlug","value","labels","plural","TitleActions","filter","Boolean","label","showSelectAllAcrossPages"],"sources":["../../../../src/views/List/ListHeader/index.tsx"],"sourcesContent":["import type { I18nClient, TFunction } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, ViewTypes } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { CloseModalButton } from '../../../elements/CloseModalButton/index.js'\nimport { DefaultListViewTabs } from '../../../elements/DefaultListViewTabs/index.js'\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { DrawerRelationshipSelect } from '../../../elements/ListHeader/DrawerRelationshipSelect/index.js'\nimport { ListDrawerCreateNewDocButton } from '../../../elements/ListHeader/DrawerTitleActions/index.js'\nimport { ListHeader } from '../../../elements/ListHeader/index.js'\nimport {\n ListBulkUploadButton,\n ListCreateNewButton,\n ListEmptyTrashButton,\n} from '../../../elements/ListHeader/TitleActions/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useListQuery } from '../../../providers/ListQuery/index.js'\nimport { ListSelection } from '../ListSelection/index.js'\nimport './index.scss'\n\nconst drawerBaseClass = 'list-drawer'\n\nexport type ListHeaderProps = {\n Actions?: React.ReactNode[]\n className?: string\n collectionConfig: ClientCollectionConfig\n Description?: React.ReactNode\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n hasCreatePermission: boolean\n hasDeletePermission?: boolean\n hasTrashPermission?: boolean\n i18n: I18nClient\n isBulkUploadEnabled: boolean\n isTrashEnabled?: boolean\n newDocumentURL: string\n onBulkUploadSuccess?: () => void\n /** @deprecated This prop will be removed in the next major version.\n *\n * Opening of the bulk upload modal is handled internally.\n *\n * Prefer `onBulkUploadSuccess` usage to handle the success of the bulk upload.\n */\n openBulkUpload: () => void\n smallBreak: boolean\n /** @deprecated This prop will be removed in the next major version. */\n t?: TFunction\n TitleActions?: React.ReactNode[]\n viewType?: ViewTypes\n}\n\nexport const CollectionListHeader: React.FC<ListHeaderProps> = ({\n className,\n collectionConfig,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n hasCreatePermission,\n hasDeletePermission,\n hasTrashPermission,\n i18n,\n isBulkUploadEnabled,\n isTrashEnabled,\n newDocumentURL,\n onBulkUploadSuccess,\n openBulkUpload,\n smallBreak,\n viewType,\n}) => {\n const { config, getEntityConfig } = useConfig()\n const { drawerSlug, isInDrawer, selectedOption } = useListDrawerContext()\n const isTrashRoute = viewType === 'trash'\n const { isGroupingBy } = useListQuery()\n\n if (isInDrawer) {\n return (\n <ListHeader\n Actions={[\n <CloseModalButton\n className={`${drawerBaseClass}__header-close`}\n key=\"close-button\"\n slug={drawerSlug}\n />,\n ]}\n AfterListHeaderContent={\n <>\n {Description}\n {<DrawerRelationshipSelect />}\n </>\n }\n className={`${drawerBaseClass}__header`}\n title={getTranslation(\n getEntityConfig({ collectionSlug: selectedOption.value })?.labels?.plural,\n i18n,\n )}\n TitleActions={[\n <ListDrawerCreateNewDocButton\n hasCreatePermission={hasCreatePermission}\n key=\"list-drawer-create-new-doc\"\n />,\n ].filter(Boolean)}\n />\n )\n }\n\n return (\n <ListHeader\n Actions={[\n !smallBreak && !isGroupingBy && (\n <ListSelection\n collectionConfig={collectionConfig}\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n hasDeletePermission={hasDeletePermission}\n hasTrashPermission={hasTrashPermission}\n key=\"list-selection\"\n label={getTranslation(collectionConfig?.labels?.plural, i18n)}\n showSelectAllAcrossPages={!isGroupingBy}\n viewType={viewType}\n />\n ),\n <DefaultListViewTabs\n collectionConfig={collectionConfig}\n config={config}\n key=\"default-list-actions\"\n viewType={viewType}\n />,\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n className={className}\n title={getTranslation(collectionConfig?.labels?.plural, i18n)}\n TitleActions={[\n hasCreatePermission && !isTrashRoute && (\n <ListCreateNewButton\n collectionConfig={collectionConfig}\n hasCreatePermission={hasCreatePermission}\n key=\"list-header-create-new-doc\"\n newDocumentURL={newDocumentURL}\n />\n ),\n hasCreatePermission && isBulkUploadEnabled && !isTrashRoute && (\n <ListBulkUploadButton\n collectionSlug={collectionConfig.slug}\n hasCreatePermission={hasCreatePermission}\n isBulkUploadEnabled={isBulkUploadEnabled}\n key=\"list-header-bulk-upload\"\n onBulkUploadSuccess={onBulkUploadSuccess}\n openBulkUpload={openBulkUpload}\n />\n ),\n hasDeletePermission && isTrashEnabled && viewType === 'trash' && (\n <ListEmptyTrashButton\n collectionConfig={collectionConfig}\n hasDeletePermission={hasDeletePermission}\n key=\"list-header-empty-trash\"\n />\n ),\n ].filter(Boolean)}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,8 @@ export type ListSelectionProps = {
4
4
  collectionConfig?: ClientCollectionConfig;
5
5
  disableBulkDelete?: boolean;
6
6
  disableBulkEdit?: boolean;
7
+ hasDeletePermission?: boolean;
8
+ hasTrashPermission?: boolean;
7
9
  label: string;
8
10
  modalPrefix?: string;
9
11
  showSelectAllAcrossPages?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/ListSelection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEvE,OAAO,KAAgC,MAAM,OAAO,CAAA;AAWpD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAoFtD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/ListSelection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEvE,OAAO,KAAgC,MAAM,OAAO,CAAA;AAWpD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAwFtD,CAAA"}
@@ -12,11 +12,13 @@ import { UnpublishMany_v4 } from '../../../elements/UnpublishMany/index.js';
12
12
  import { SelectAllStatus, useSelection } from '../../../providers/Selection/index.js';
13
13
  import { useTranslation } from '../../../providers/Translation/index.js';
14
14
  export const ListSelection = t0 => {
15
- const $ = _c(19);
15
+ const $ = _c(21);
16
16
  const {
17
17
  collectionConfig,
18
18
  disableBulkDelete,
19
19
  disableBulkEdit,
20
+ hasDeletePermission,
21
+ hasTrashPermission,
20
22
  label,
21
23
  modalPrefix,
22
24
  showSelectAllAcrossPages: t1,
@@ -48,7 +50,7 @@ export const ListSelection = t0 => {
48
50
  }
49
51
  const isTrashView = collectionConfig?.trash && viewType === "trash";
50
52
  let t3;
51
- if ($[2] !== collectionConfig || $[3] !== count || $[4] !== disableBulkDelete || $[5] !== disableBulkEdit || $[6] !== isTrashView || $[7] !== label || $[8] !== modalPrefix || $[9] !== onActionSuccess || $[10] !== selectAll || $[11] !== selectedIDs || $[12] !== showSelectAllAcrossPages || $[13] !== t || $[14] !== toggleAll || $[15] !== totalDocs || $[16] !== viewType || $[17] !== where) {
53
+ if ($[2] !== collectionConfig || $[3] !== count || $[4] !== disableBulkDelete || $[5] !== disableBulkEdit || $[6] !== hasDeletePermission || $[7] !== hasTrashPermission || $[8] !== isTrashView || $[9] !== label || $[10] !== modalPrefix || $[11] !== onActionSuccess || $[12] !== selectAll || $[13] !== selectedIDs || $[14] !== showSelectAllAcrossPages || $[15] !== t || $[16] !== toggleAll || $[17] !== totalDocs || $[18] !== viewType || $[19] !== where) {
52
54
  t3 = _jsx(ListSelection_v4, {
53
55
  count,
54
56
  ListActions: [selectAll !== SelectAllStatus.AllAvailable && count < totalDocs && showSelectAllAcrossPages !== false ? _jsx(ListSelectionButton, {
@@ -94,6 +96,8 @@ export const ListSelection = t0 => {
94
96
  viewType
95
97
  }, "bulk-restore"), !disableBulkDelete && _jsx(DeleteMany, {
96
98
  collection: collectionConfig,
99
+ hasDeletePermission,
100
+ hasTrashPermission,
97
101
  modalPrefix,
98
102
  viewType
99
103
  }, "bulk-delete")].filter(Boolean)
@@ -102,21 +106,23 @@ export const ListSelection = t0 => {
102
106
  $[3] = count;
103
107
  $[4] = disableBulkDelete;
104
108
  $[5] = disableBulkEdit;
105
- $[6] = isTrashView;
106
- $[7] = label;
107
- $[8] = modalPrefix;
108
- $[9] = onActionSuccess;
109
- $[10] = selectAll;
110
- $[11] = selectedIDs;
111
- $[12] = showSelectAllAcrossPages;
112
- $[13] = t;
113
- $[14] = toggleAll;
114
- $[15] = totalDocs;
115
- $[16] = viewType;
116
- $[17] = where;
117
- $[18] = t3;
109
+ $[6] = hasDeletePermission;
110
+ $[7] = hasTrashPermission;
111
+ $[8] = isTrashView;
112
+ $[9] = label;
113
+ $[10] = modalPrefix;
114
+ $[11] = onActionSuccess;
115
+ $[12] = selectAll;
116
+ $[13] = selectedIDs;
117
+ $[14] = showSelectAllAcrossPages;
118
+ $[15] = t;
119
+ $[16] = toggleAll;
120
+ $[17] = totalDocs;
121
+ $[18] = viewType;
122
+ $[19] = where;
123
+ $[20] = t3;
118
124
  } else {
119
- t3 = $[18];
125
+ t3 = $[20];
120
126
  }
121
127
  return t3;
122
128
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","Fragment","useCallback","DeleteMany","EditMany_v4","ListSelection_v4","ListSelectionButton","PublishMany_v4","RestoreMany","UnpublishMany_v4","SelectAllStatus","useSelection","useTranslation","ListSelection","t0","$","collectionConfig","disableBulkDelete","disableBulkEdit","label","modalPrefix","showSelectAllAcrossPages","t1","viewType","where","undefined","count","selectAll","selectedIDs","toggleAll","totalDocs","t","t2","onActionSuccess","isTrashView","trash","t3","_jsx","ListActions","AllAvailable","id","onClick","children","filter","Boolean","SelectionActions","_jsxs","collection","ids","onSuccess"],"sources":["../../../../src/views/List/ListSelection/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ViewTypes, Where } from 'payload'\n\nimport React, { Fragment, useCallback } from 'react'\n\nimport { DeleteMany } from '../../../elements/DeleteMany/index.js'\nimport { EditMany_v4 } from '../../../elements/EditMany/index.js'\nimport { ListSelection_v4, ListSelectionButton } from '../../../elements/ListSelection/index.js'\nimport { PublishMany_v4 } from '../../../elements/PublishMany/index.js'\nimport { RestoreMany } from '../../../elements/RestoreMany/index.js'\nimport { UnpublishMany_v4 } from '../../../elements/UnpublishMany/index.js'\nimport { SelectAllStatus, useSelection } from '../../../providers/Selection/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nexport type ListSelectionProps = {\n collectionConfig?: ClientCollectionConfig\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n label: string\n modalPrefix?: string\n showSelectAllAcrossPages?: boolean\n viewType?: ViewTypes\n where?: Where\n}\n\nexport const ListSelection: React.FC<ListSelectionProps> = ({\n collectionConfig,\n disableBulkDelete,\n disableBulkEdit,\n label,\n modalPrefix,\n showSelectAllAcrossPages = true,\n viewType,\n where,\n}) => {\n const { count, selectAll, selectedIDs, toggleAll, totalDocs } = useSelection()\n const { t } = useTranslation()\n\n const onActionSuccess = useCallback(() => toggleAll(), [toggleAll])\n\n if (count === 0) {\n return null\n }\n\n const isTrashView = collectionConfig?.trash && viewType === 'trash'\n\n return (\n <ListSelection_v4\n count={count}\n ListActions={[\n selectAll !== SelectAllStatus.AllAvailable &&\n count < totalDocs &&\n showSelectAllAcrossPages !== false ? (\n <ListSelectionButton\n aria-label={t('general:selectAll', { count: `(${totalDocs})`, label })}\n id=\"select-all-across-pages\"\n key=\"select-all\"\n onClick={() => toggleAll(true)}\n >\n {t('general:selectAll', { count: `(${totalDocs})`, label: '' })}\n </ListSelectionButton>\n ) : null,\n ].filter(Boolean)}\n SelectionActions={[\n !disableBulkEdit && !isTrashView && (\n <Fragment key=\"bulk-actions\">\n <EditMany_v4\n collection={collectionConfig}\n count={count}\n ids={selectedIDs}\n modalPrefix={modalPrefix}\n onSuccess={onActionSuccess}\n selectAll={selectAll === SelectAllStatus.AllAvailable}\n where={where}\n />\n <PublishMany_v4\n collection={collectionConfig}\n count={count}\n ids={selectedIDs}\n modalPrefix={modalPrefix}\n onSuccess={onActionSuccess}\n selectAll={selectAll === SelectAllStatus.AllAvailable}\n where={where}\n />\n <UnpublishMany_v4\n collection={collectionConfig}\n count={count}\n ids={selectedIDs}\n modalPrefix={modalPrefix}\n onSuccess={onActionSuccess}\n selectAll={selectAll === SelectAllStatus.AllAvailable}\n where={where}\n />\n </Fragment>\n ),\n isTrashView && (\n <RestoreMany collection={collectionConfig} key=\"bulk-restore\" viewType={viewType} />\n ),\n !disableBulkDelete && (\n <DeleteMany\n collection={collectionConfig}\n key=\"bulk-delete\"\n modalPrefix={modalPrefix}\n viewType={viewType}\n />\n ),\n ].filter(Boolean)}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","Fragment","useCallback","DeleteMany","EditMany_v4","ListSelection_v4","ListSelectionButton","PublishMany_v4","RestoreMany","UnpublishMany_v4","SelectAllStatus","useSelection","useTranslation","ListSelection","t0","$","collectionConfig","disableBulkDelete","disableBulkEdit","hasDeletePermission","hasTrashPermission","label","modalPrefix","showSelectAllAcrossPages","t1","viewType","where","undefined","count","selectAll","selectedIDs","toggleAll","totalDocs","t","t2","onActionSuccess","isTrashView","trash","t3","_jsx","ListActions","AllAvailable","id","onClick","children","filter","Boolean","SelectionActions","_jsxs","collection","ids","onSuccess"],"sources":["../../../../src/views/List/ListSelection/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ViewTypes, Where } from 'payload'\n\nimport React, { Fragment, useCallback } from 'react'\n\nimport { DeleteMany } from '../../../elements/DeleteMany/index.js'\nimport { EditMany_v4 } from '../../../elements/EditMany/index.js'\nimport { ListSelection_v4, ListSelectionButton } from '../../../elements/ListSelection/index.js'\nimport { PublishMany_v4 } from '../../../elements/PublishMany/index.js'\nimport { RestoreMany } from '../../../elements/RestoreMany/index.js'\nimport { UnpublishMany_v4 } from '../../../elements/UnpublishMany/index.js'\nimport { SelectAllStatus, useSelection } from '../../../providers/Selection/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nexport type ListSelectionProps = {\n collectionConfig?: ClientCollectionConfig\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n hasDeletePermission?: boolean\n hasTrashPermission?: boolean\n label: string\n modalPrefix?: string\n showSelectAllAcrossPages?: boolean\n viewType?: ViewTypes\n where?: Where\n}\n\nexport const ListSelection: React.FC<ListSelectionProps> = ({\n collectionConfig,\n disableBulkDelete,\n disableBulkEdit,\n hasDeletePermission,\n hasTrashPermission,\n label,\n modalPrefix,\n showSelectAllAcrossPages = true,\n viewType,\n where,\n}) => {\n const { count, selectAll, selectedIDs, toggleAll, totalDocs } = useSelection()\n const { t } = useTranslation()\n\n const onActionSuccess = useCallback(() => toggleAll(), [toggleAll])\n\n if (count === 0) {\n return null\n }\n\n const isTrashView = collectionConfig?.trash && viewType === 'trash'\n\n return (\n <ListSelection_v4\n count={count}\n ListActions={[\n selectAll !== SelectAllStatus.AllAvailable &&\n count < totalDocs &&\n showSelectAllAcrossPages !== false ? (\n <ListSelectionButton\n aria-label={t('general:selectAll', { count: `(${totalDocs})`, label })}\n id=\"select-all-across-pages\"\n key=\"select-all\"\n onClick={() => toggleAll(true)}\n >\n {t('general:selectAll', { count: `(${totalDocs})`, label: '' })}\n </ListSelectionButton>\n ) : null,\n ].filter(Boolean)}\n SelectionActions={[\n !disableBulkEdit && !isTrashView && (\n <Fragment key=\"bulk-actions\">\n <EditMany_v4\n collection={collectionConfig}\n count={count}\n ids={selectedIDs}\n modalPrefix={modalPrefix}\n onSuccess={onActionSuccess}\n selectAll={selectAll === SelectAllStatus.AllAvailable}\n where={where}\n />\n <PublishMany_v4\n collection={collectionConfig}\n count={count}\n ids={selectedIDs}\n modalPrefix={modalPrefix}\n onSuccess={onActionSuccess}\n selectAll={selectAll === SelectAllStatus.AllAvailable}\n where={where}\n />\n <UnpublishMany_v4\n collection={collectionConfig}\n count={count}\n ids={selectedIDs}\n modalPrefix={modalPrefix}\n onSuccess={onActionSuccess}\n selectAll={selectAll === SelectAllStatus.AllAvailable}\n where={where}\n />\n </Fragment>\n ),\n isTrashView && (\n <RestoreMany collection={collectionConfig} key=\"bulk-restore\" viewType={viewType} />\n ),\n !disableBulkDelete && (\n <DeleteMany\n collection={collectionConfig}\n hasDeletePermission={hasDeletePermission}\n hasTrashPermission={hasTrashPermission}\n key=\"bulk-delete\"\n modalPrefix={modalPrefix}\n viewType={viewType}\n />\n ),\n ].filter(Boolean)}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAKlD,OAAO,KAA8B,MAAM,OAAO,CAAA;AAyBlD,OAAO,cAAc,CAAA;AAIrB,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,qBAuQzD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAKlD,OAAO,KAA8B,MAAM,OAAO,CAAA;AAyBlD,OAAO,cAAc,CAAA;AAIrB,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,qBAyQzD"}
@@ -46,6 +46,7 @@ export function DefaultListView(props) {
46
46
  enableRowSelections,
47
47
  hasCreatePermission: hasCreatePermissionFromProps,
48
48
  hasDeletePermission,
49
+ hasTrashPermission,
49
50
  listMenuItems,
50
51
  newDocumentURL,
51
52
  queryPreset,
@@ -166,6 +167,7 @@ export function DefaultListView(props) {
166
167
  disableBulkEdit: disableBulkEdit,
167
168
  hasCreatePermission: hasCreatePermission,
168
169
  hasDeletePermission: hasDeletePermission,
170
+ hasTrashPermission: hasTrashPermission,
169
171
  i18n: i18n,
170
172
  isBulkUploadEnabled: isBulkUploadEnabled && !upload.hideFileInputOnCreate,
171
173
  isTrashEnabled: isTrashEnabled,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","useRouter","formatAdminURL","formatFilesize","React","Fragment","useEffect","useBulkUpload","Button","Gutter","ListControls","useListDrawerContext","useModal","NoListResults","PageControls","RenderCustomComponent","SelectMany","useStepNav","StickyToolbar","RelationshipProvider","ViewDescription","useControllableState","useConfig","useListQuery","SelectionProvider","TableColumnsProvider","useTranslation","useWindowInfo","ListSelection","CollectionListHeader","baseClass","DefaultListView","props","AfterList","AfterListTable","beforeActions","BeforeList","BeforeListTable","collectionSlug","columnState","Description","disableBulkDelete","disableBulkEdit","disableQueryPresets","enableRowSelections","hasCreatePermission","hasCreatePermissionFromProps","hasDeletePermission","listMenuItems","newDocumentURL","queryPreset","queryPresetPermissions","renderedFilters","resolvedFilterOptions","Table","InitialTable","viewType","allowCreate","createNewDrawerSlug","isInDrawer","onBulkSelect","undefined","config","routes","admin","adminRoute","serverURL","getEntityConfig","router","data","isGroupingBy","openModal","drawerSlug","bulkUploadDrawerSlug","setCollectionSlug","setOnSuccess","collectionConfig","labels","upload","isUploadCollection","Boolean","isBulkUploadEnabled","bulkUpload","isTrashEnabled","trash","i18n","setStepNav","breakpoints","s","smallBreak","docs","useMemo","map","doc","filesize","openBulkUpload","useCallback","refresh","baseLabel","label","plural","url","path","trashLabel","t","navItems","_jsxs","_jsx","className","totalDocs","description","CustomComponent","Fallback","hideFileInputOnCreate","onClick","enableQueryPresets","length","Actions","el","singular","to","Message","_Fragment","AfterPageControls","showSelectAllAcrossPages","totalPages"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ListViewClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL, formatFilesize } from 'payload/shared'\nimport React, { Fragment, useEffect } from 'react'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { Gutter } from '../../elements/Gutter/index.js'\nimport { ListControls } from '../../elements/ListControls/index.js'\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { useModal } from '../../elements/Modal/index.js'\nimport { NoListResults } from '../../elements/NoListResults/index.js'\nimport { PageControls } from '../../elements/PageControls/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { SelectMany } from '../../elements/SelectMany/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { StickyToolbar } from '../../elements/StickyToolbar/index.js'\nimport { RelationshipProvider } from '../../elements/Table/RelationshipProvider/index.js'\nimport { ViewDescription } from '../../elements/ViewDescription/index.js'\nimport { useControllableState } from '../../hooks/useControllableState.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { SelectionProvider } from '../../providers/Selection/index.js'\nimport { TableColumnsProvider } from '../../providers/TableColumns/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListSelection } from '../../views/List/ListSelection/index.js'\nimport { CollectionListHeader } from './ListHeader/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-list'\n\nexport function DefaultListView(props: ListViewClientProps) {\n const {\n AfterList,\n AfterListTable,\n beforeActions,\n BeforeList,\n BeforeListTable,\n collectionSlug,\n columnState,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission: hasCreatePermissionFromProps,\n hasDeletePermission,\n listMenuItems,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table: InitialTable,\n viewType,\n } = props\n\n const [Table] = useControllableState(InitialTable)\n\n const { allowCreate, createNewDrawerSlug, isInDrawer, onBulkSelect } = useListDrawerContext()\n\n const hasCreatePermission =\n allowCreate !== undefined\n ? allowCreate && hasCreatePermissionFromProps\n : hasCreatePermissionFromProps\n\n const {\n config: {\n routes: { admin: adminRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n const router = useRouter()\n\n const { data, isGroupingBy } = useListQuery()\n\n const { openModal } = useModal()\n const { drawerSlug: bulkUploadDrawerSlug, setCollectionSlug, setOnSuccess } = useBulkUpload()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { labels, upload } = collectionConfig\n\n const isUploadCollection = Boolean(upload)\n\n const isBulkUploadEnabled = isUploadCollection && collectionConfig.upload.bulkUpload\n\n const isTrashEnabled = Boolean(collectionConfig.trash)\n\n const { i18n } = useTranslation()\n\n const { setStepNav } = useStepNav()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const docs = React.useMemo(() => {\n if (isUploadCollection) {\n return data.docs.map((doc) => {\n return {\n ...doc,\n filesize: formatFilesize(doc.filesize),\n }\n })\n } else {\n return data?.docs\n }\n }, [data?.docs, isUploadCollection])\n\n const openBulkUpload = React.useCallback(() => {\n setCollectionSlug(collectionSlug)\n openModal(bulkUploadDrawerSlug)\n setOnSuccess(() => router.refresh())\n }, [router, collectionSlug, bulkUploadDrawerSlug, openModal, setCollectionSlug, setOnSuccess])\n\n useEffect(() => {\n if (!isInDrawer) {\n const baseLabel = {\n label: getTranslation(labels?.plural, i18n),\n url:\n isTrashEnabled && viewType === 'trash'\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n })\n : undefined,\n }\n\n const trashLabel = {\n label: i18n.t('general:trash'),\n }\n\n const navItems =\n isTrashEnabled && viewType === 'trash' ? [baseLabel, trashLabel] : [baseLabel]\n\n setStepNav(navItems)\n }\n }, [\n adminRoute,\n setStepNav,\n serverURL,\n labels,\n isInDrawer,\n isTrashEnabled,\n viewType,\n i18n,\n collectionSlug,\n ])\n\n return (\n <Fragment>\n <TableColumnsProvider collectionSlug={collectionSlug} columnState={columnState}>\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n <SelectionProvider docs={docs} totalDocs={data?.totalDocs}>\n {BeforeList}\n <Gutter className={`${baseClass}__wrap`}>\n <CollectionListHeader\n collectionConfig={collectionConfig}\n Description={\n Description || collectionConfig?.admin?.description ? (\n <div className={`${baseClass}__sub-header`}>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={\n <ViewDescription\n collectionSlug={collectionSlug}\n description={collectionConfig?.admin?.description}\n />\n }\n />\n </div>\n ) : undefined\n }\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n hasCreatePermission={hasCreatePermission}\n hasDeletePermission={hasDeletePermission}\n i18n={i18n}\n isBulkUploadEnabled={isBulkUploadEnabled && !upload.hideFileInputOnCreate}\n isTrashEnabled={isTrashEnabled}\n newDocumentURL={newDocumentURL}\n openBulkUpload={openBulkUpload}\n smallBreak={smallBreak}\n viewType={viewType}\n />\n <ListControls\n beforeActions={\n enableRowSelections && typeof onBulkSelect === 'function'\n ? beforeActions\n ? [...beforeActions, <SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : beforeActions\n }\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n disableQueryPresets={\n collectionConfig?.enableQueryPresets !== true || disableQueryPresets\n }\n listMenuItems={listMenuItems}\n queryPreset={queryPreset}\n queryPresetPermissions={queryPresetPermissions}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n {BeforeListTable}\n {docs?.length > 0 && (\n <div className={`${baseClass}__tables`}>\n <RelationshipProvider>{Table}</RelationshipProvider>\n </div>\n )}\n {docs?.length === 0 && (\n <NoListResults\n Actions={\n hasCreatePermission && newDocumentURL && viewType !== 'trash'\n ? [\n isInDrawer ? (\n <Button\n el=\"button\"\n key=\"create\"\n onClick={() => openModal(createNewDrawerSlug)}\n >\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ) : (\n <Button el=\"link\" key=\"create\" to={newDocumentURL}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ),\n ]\n : []\n }\n Message={\n viewType === 'trash' ? (\n <p>\n {i18n.t('general:noTrashResults', {\n label: getTranslation(labels?.plural, i18n),\n })}\n </p>\n ) : (\n <>\n <h3>{i18n.t('general:noResultsFound')}</h3>\n <p>{i18n.t('general:noResultsDescription')}</p>\n </>\n )\n }\n />\n )}\n {AfterListTable}\n {docs?.length > 0 && !isGroupingBy && (\n <PageControls\n AfterPageControls={\n smallBreak ? (\n <div className={`${baseClass}__list-selection`}>\n <ListSelection\n collectionConfig={collectionConfig}\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n label={getTranslation(collectionConfig.labels.plural, i18n)}\n showSelectAllAcrossPages={!isGroupingBy}\n />\n <div className={`${baseClass}__list-selection-actions`}>\n {enableRowSelections && typeof onBulkSelect === 'function'\n ? beforeActions\n ? [\n ...beforeActions,\n <SelectMany key=\"select-many\" onClick={onBulkSelect} />,\n ]\n : [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : beforeActions}\n </div>\n </div>\n ) : null\n }\n collectionConfig={collectionConfig}\n />\n )}\n </Gutter>\n {AfterList}\n </SelectionProvider>\n </div>\n </TableColumnsProvider>\n {docs?.length > 0 && isGroupingBy && data.totalPages > 1 && (\n <StickyToolbar>\n <PageControls collectionConfig={collectionConfig} />\n </StickyToolbar>\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","useRouter","formatAdminURL","formatFilesize","React","Fragment","useEffect","useBulkUpload","Button","Gutter","ListControls","useListDrawerContext","useModal","NoListResults","PageControls","RenderCustomComponent","SelectMany","useStepNav","StickyToolbar","RelationshipProvider","ViewDescription","useControllableState","useConfig","useListQuery","SelectionProvider","TableColumnsProvider","useTranslation","useWindowInfo","ListSelection","CollectionListHeader","baseClass","DefaultListView","props","AfterList","AfterListTable","beforeActions","BeforeList","BeforeListTable","collectionSlug","columnState","Description","disableBulkDelete","disableBulkEdit","disableQueryPresets","enableRowSelections","hasCreatePermission","hasCreatePermissionFromProps","hasDeletePermission","hasTrashPermission","listMenuItems","newDocumentURL","queryPreset","queryPresetPermissions","renderedFilters","resolvedFilterOptions","Table","InitialTable","viewType","allowCreate","createNewDrawerSlug","isInDrawer","onBulkSelect","undefined","config","routes","admin","adminRoute","serverURL","getEntityConfig","router","data","isGroupingBy","openModal","drawerSlug","bulkUploadDrawerSlug","setCollectionSlug","setOnSuccess","collectionConfig","labels","upload","isUploadCollection","Boolean","isBulkUploadEnabled","bulkUpload","isTrashEnabled","trash","i18n","setStepNav","breakpoints","s","smallBreak","docs","useMemo","map","doc","filesize","openBulkUpload","useCallback","refresh","baseLabel","label","plural","url","path","trashLabel","t","navItems","_jsxs","_jsx","className","totalDocs","description","CustomComponent","Fallback","hideFileInputOnCreate","onClick","enableQueryPresets","length","Actions","el","singular","to","Message","_Fragment","AfterPageControls","showSelectAllAcrossPages","totalPages"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ListViewClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL, formatFilesize } from 'payload/shared'\nimport React, { Fragment, useEffect } from 'react'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { Gutter } from '../../elements/Gutter/index.js'\nimport { ListControls } from '../../elements/ListControls/index.js'\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { useModal } from '../../elements/Modal/index.js'\nimport { NoListResults } from '../../elements/NoListResults/index.js'\nimport { PageControls } from '../../elements/PageControls/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { SelectMany } from '../../elements/SelectMany/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { StickyToolbar } from '../../elements/StickyToolbar/index.js'\nimport { RelationshipProvider } from '../../elements/Table/RelationshipProvider/index.js'\nimport { ViewDescription } from '../../elements/ViewDescription/index.js'\nimport { useControllableState } from '../../hooks/useControllableState.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { SelectionProvider } from '../../providers/Selection/index.js'\nimport { TableColumnsProvider } from '../../providers/TableColumns/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListSelection } from '../../views/List/ListSelection/index.js'\nimport { CollectionListHeader } from './ListHeader/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-list'\n\nexport function DefaultListView(props: ListViewClientProps) {\n const {\n AfterList,\n AfterListTable,\n beforeActions,\n BeforeList,\n BeforeListTable,\n collectionSlug,\n columnState,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission: hasCreatePermissionFromProps,\n hasDeletePermission,\n hasTrashPermission,\n listMenuItems,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table: InitialTable,\n viewType,\n } = props\n\n const [Table] = useControllableState(InitialTable)\n\n const { allowCreate, createNewDrawerSlug, isInDrawer, onBulkSelect } = useListDrawerContext()\n\n const hasCreatePermission =\n allowCreate !== undefined\n ? allowCreate && hasCreatePermissionFromProps\n : hasCreatePermissionFromProps\n\n const {\n config: {\n routes: { admin: adminRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n const router = useRouter()\n\n const { data, isGroupingBy } = useListQuery()\n\n const { openModal } = useModal()\n const { drawerSlug: bulkUploadDrawerSlug, setCollectionSlug, setOnSuccess } = useBulkUpload()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { labels, upload } = collectionConfig\n\n const isUploadCollection = Boolean(upload)\n\n const isBulkUploadEnabled = isUploadCollection && collectionConfig.upload.bulkUpload\n\n const isTrashEnabled = Boolean(collectionConfig.trash)\n\n const { i18n } = useTranslation()\n\n const { setStepNav } = useStepNav()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const docs = React.useMemo(() => {\n if (isUploadCollection) {\n return data.docs.map((doc) => {\n return {\n ...doc,\n filesize: formatFilesize(doc.filesize),\n }\n })\n } else {\n return data?.docs\n }\n }, [data?.docs, isUploadCollection])\n\n const openBulkUpload = React.useCallback(() => {\n setCollectionSlug(collectionSlug)\n openModal(bulkUploadDrawerSlug)\n setOnSuccess(() => router.refresh())\n }, [router, collectionSlug, bulkUploadDrawerSlug, openModal, setCollectionSlug, setOnSuccess])\n\n useEffect(() => {\n if (!isInDrawer) {\n const baseLabel = {\n label: getTranslation(labels?.plural, i18n),\n url:\n isTrashEnabled && viewType === 'trash'\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n })\n : undefined,\n }\n\n const trashLabel = {\n label: i18n.t('general:trash'),\n }\n\n const navItems =\n isTrashEnabled && viewType === 'trash' ? [baseLabel, trashLabel] : [baseLabel]\n\n setStepNav(navItems)\n }\n }, [\n adminRoute,\n setStepNav,\n serverURL,\n labels,\n isInDrawer,\n isTrashEnabled,\n viewType,\n i18n,\n collectionSlug,\n ])\n\n return (\n <Fragment>\n <TableColumnsProvider collectionSlug={collectionSlug} columnState={columnState}>\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n <SelectionProvider docs={docs} totalDocs={data?.totalDocs}>\n {BeforeList}\n <Gutter className={`${baseClass}__wrap`}>\n <CollectionListHeader\n collectionConfig={collectionConfig}\n Description={\n Description || collectionConfig?.admin?.description ? (\n <div className={`${baseClass}__sub-header`}>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={\n <ViewDescription\n collectionSlug={collectionSlug}\n description={collectionConfig?.admin?.description}\n />\n }\n />\n </div>\n ) : undefined\n }\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n hasCreatePermission={hasCreatePermission}\n hasDeletePermission={hasDeletePermission}\n hasTrashPermission={hasTrashPermission}\n i18n={i18n}\n isBulkUploadEnabled={isBulkUploadEnabled && !upload.hideFileInputOnCreate}\n isTrashEnabled={isTrashEnabled}\n newDocumentURL={newDocumentURL}\n openBulkUpload={openBulkUpload}\n smallBreak={smallBreak}\n viewType={viewType}\n />\n <ListControls\n beforeActions={\n enableRowSelections && typeof onBulkSelect === 'function'\n ? beforeActions\n ? [...beforeActions, <SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : beforeActions\n }\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n disableQueryPresets={\n collectionConfig?.enableQueryPresets !== true || disableQueryPresets\n }\n listMenuItems={listMenuItems}\n queryPreset={queryPreset}\n queryPresetPermissions={queryPresetPermissions}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n {BeforeListTable}\n {docs?.length > 0 && (\n <div className={`${baseClass}__tables`}>\n <RelationshipProvider>{Table}</RelationshipProvider>\n </div>\n )}\n {docs?.length === 0 && (\n <NoListResults\n Actions={\n hasCreatePermission && newDocumentURL && viewType !== 'trash'\n ? [\n isInDrawer ? (\n <Button\n el=\"button\"\n key=\"create\"\n onClick={() => openModal(createNewDrawerSlug)}\n >\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ) : (\n <Button el=\"link\" key=\"create\" to={newDocumentURL}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ),\n ]\n : []\n }\n Message={\n viewType === 'trash' ? (\n <p>\n {i18n.t('general:noTrashResults', {\n label: getTranslation(labels?.plural, i18n),\n })}\n </p>\n ) : (\n <>\n <h3>{i18n.t('general:noResultsFound')}</h3>\n <p>{i18n.t('general:noResultsDescription')}</p>\n </>\n )\n }\n />\n )}\n {AfterListTable}\n {docs?.length > 0 && !isGroupingBy && (\n <PageControls\n AfterPageControls={\n smallBreak ? (\n <div className={`${baseClass}__list-selection`}>\n <ListSelection\n collectionConfig={collectionConfig}\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n label={getTranslation(collectionConfig.labels.plural, i18n)}\n showSelectAllAcrossPages={!isGroupingBy}\n />\n <div className={`${baseClass}__list-selection-actions`}>\n {enableRowSelections && typeof onBulkSelect === 'function'\n ? beforeActions\n ? [\n ...beforeActions,\n <SelectMany key=\"select-many\" onClick={onBulkSelect} />,\n ]\n : [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : beforeActions}\n </div>\n </div>\n ) : null\n }\n collectionConfig={collectionConfig}\n />\n )}\n </Gutter>\n {AfterList}\n </SelectionProvider>\n </div>\n </TableColumnsProvider>\n {docs?.length > 0 && isGroupingBy && data.totalPages > 1 && (\n <StickyToolbar>\n <PageControls collectionConfig={collectionConfig} />\n </StickyToolbar>\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/ui",
3
- "version": "3.77.0",
3
+ "version": "3.78.0-canary.1",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -136,7 +136,7 @@
136
136
  "ts-essentials": "10.0.3",
137
137
  "use-context-selector": "2.0.0",
138
138
  "uuid": "10.0.0",
139
- "@payloadcms/translations": "3.77.0"
139
+ "@payloadcms/translations": "3.78.0-canary.1"
140
140
  },
141
141
  "devDependencies": {
142
142
  "@babel/cli": "7.27.2",
@@ -152,13 +152,13 @@
152
152
  "esbuild": "0.27.1",
153
153
  "esbuild-sass-plugin": "3.3.1",
154
154
  "@payloadcms/eslint-config": "3.28.0",
155
- "payload": "3.77.0"
155
+ "payload": "3.78.0-canary.1"
156
156
  },
157
157
  "peerDependencies": {
158
158
  "next": ">=15.2.9 <15.3.0 || >=15.3.9 <15.4.0 || >=15.4.11 <15.5.0 || >=16.2.0-canary.10 <17.0.0",
159
159
  "react": "^19.0.1 || ^19.1.2 || ^19.2.1",
160
160
  "react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1",
161
- "payload": "3.77.0"
161
+ "payload": "3.78.0-canary.1"
162
162
  },
163
163
  "engines": {
164
164
  "node": "^18.20.2 || >=20.9.0"