@payloadcms/ui 3.49.0-canary.8 → 3.49.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 (197) hide show
  1. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  2. package/dist/elements/AddNewRelation/index.js +1 -1
  3. package/dist/elements/AddNewRelation/index.js.map +1 -1
  4. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  5. package/dist/elements/DeleteDocument/index.js +65 -47
  6. package/dist/elements/DeleteDocument/index.js.map +1 -1
  7. package/dist/elements/DeleteDocument/index.scss +10 -0
  8. package/dist/elements/DeleteMany/index.d.ts +6 -2
  9. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  10. package/dist/elements/DeleteMany/index.js +153 -51
  11. package/dist/elements/DeleteMany/index.js.map +1 -1
  12. package/dist/elements/DeleteMany/index.scss +13 -0
  13. package/dist/elements/DocumentControls/index.d.ts +3 -0
  14. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  15. package/dist/elements/DocumentControls/index.js +24 -5
  16. package/dist/elements/DocumentControls/index.js.map +1 -1
  17. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  18. package/dist/elements/DocumentDrawer/DrawerContent.js +4 -2
  19. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  20. package/dist/elements/DocumentDrawer/Provider.d.ts +5 -1
  21. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
  22. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  23. package/dist/elements/DocumentDrawer/index.d.ts +19 -0
  24. package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
  25. package/dist/elements/DocumentDrawer/index.js +28 -9
  26. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  27. package/dist/elements/DocumentDrawer/types.d.ts +26 -12
  28. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  29. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  30. package/dist/elements/DocumentFields/index.d.ts +1 -0
  31. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  32. package/dist/elements/DocumentFields/index.js +3 -1
  33. package/dist/elements/DocumentFields/index.js.map +1 -1
  34. package/dist/elements/FolderView/Cell/index.client.d.ts +3 -2
  35. package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -1
  36. package/dist/elements/FolderView/Cell/index.client.js +3 -1
  37. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  38. package/dist/elements/FolderView/Cell/index.server.d.ts.map +1 -1
  39. package/dist/elements/FolderView/Cell/index.server.js +2 -1
  40. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  41. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts +7 -0
  42. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -0
  43. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +164 -0
  44. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -0
  45. package/dist/elements/ListHeader/TitleActions/index.d.ts +1 -0
  46. package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -1
  47. package/dist/elements/ListHeader/TitleActions/index.js +1 -0
  48. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  49. package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts +10 -0
  50. package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts.map +1 -0
  51. package/dist/elements/ListHeaderTabs/ByFolderPill.js +70 -0
  52. package/dist/elements/ListHeaderTabs/ByFolderPill.js.map +1 -0
  53. package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts +9 -0
  54. package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts.map +1 -0
  55. package/dist/elements/ListHeaderTabs/DefaultListPill.js +68 -0
  56. package/dist/elements/ListHeaderTabs/DefaultListPill.js.map +1 -0
  57. package/dist/elements/ListHeaderTabs/TrashPill.d.ts +6 -0
  58. package/dist/elements/ListHeaderTabs/TrashPill.d.ts.map +1 -0
  59. package/dist/elements/ListHeaderTabs/TrashPill.js +53 -0
  60. package/dist/elements/ListHeaderTabs/TrashPill.js.map +1 -0
  61. package/dist/elements/{ListFolderPills → ListHeaderTabs}/index.scss +1 -2
  62. package/dist/elements/ListSelection/index.scss +1 -1
  63. package/dist/elements/PermanentlyDeleteButton/index.d.ts +14 -0
  64. package/dist/elements/PermanentlyDeleteButton/index.d.ts.map +1 -0
  65. package/dist/elements/PermanentlyDeleteButton/index.js +147 -0
  66. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -0
  67. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts +3 -3
  68. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts.map +1 -1
  69. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +19 -70
  70. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  71. package/dist/elements/RelationshipTable/cells/DrawerLink/index.scss +10 -0
  72. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  73. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  74. package/dist/elements/RelationshipTable/index.js +61 -40
  75. package/dist/elements/RelationshipTable/index.js.map +1 -1
  76. package/dist/elements/RestoreButton/index.d.ts +15 -0
  77. package/dist/elements/RestoreButton/index.d.ts.map +1 -0
  78. package/dist/elements/RestoreButton/index.js +171 -0
  79. package/dist/elements/RestoreButton/index.js.map +1 -0
  80. package/dist/elements/RestoreButton/index.scss +25 -0
  81. package/dist/elements/RestoreMany/index.d.ts +9 -0
  82. package/dist/elements/RestoreMany/index.d.ts.map +1 -0
  83. package/dist/elements/RestoreMany/index.js +193 -0
  84. package/dist/elements/RestoreMany/index.js.map +1 -0
  85. package/dist/elements/RestoreMany/index.scss +25 -0
  86. package/dist/elements/Status/index.d.ts.map +1 -1
  87. package/dist/elements/Status/index.js +6 -4
  88. package/dist/elements/Status/index.js.map +1 -1
  89. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  90. package/dist/elements/Table/DefaultCell/index.js +12 -9
  91. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  92. package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
  93. package/dist/elements/Toasts/fieldErrors.js +4 -1
  94. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  95. package/dist/elements/TrashBanner/index.d.ts +4 -0
  96. package/dist/elements/TrashBanner/index.d.ts.map +1 -0
  97. package/dist/elements/TrashBanner/index.js +37 -0
  98. package/dist/elements/TrashBanner/index.js.map +1 -0
  99. package/dist/elements/TrashBanner/index.scss +20 -0
  100. package/dist/exports/client/index.js +24 -22
  101. package/dist/exports/client/index.js.map +4 -4
  102. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  103. package/dist/fields/Checkbox/Input.js +2 -0
  104. package/dist/fields/Checkbox/Input.js.map +1 -1
  105. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  106. package/dist/fields/Relationship/Input.js.map +1 -1
  107. package/dist/fields/Relationship/index.d.ts.map +1 -1
  108. package/dist/fields/Relationship/index.js +8 -8
  109. package/dist/fields/Relationship/index.js.map +1 -1
  110. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
  111. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  112. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +7 -0
  113. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  114. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
  115. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  116. package/dist/forms/fieldSchemasToFormState/index.js +2 -0
  117. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  118. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
  119. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  120. package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
  121. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  122. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  123. package/dist/forms/fieldSchemasToFormState/renderField.js +2 -1
  124. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  125. package/dist/forms/fieldSchemasToFormState/types.d.ts +1 -0
  126. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  127. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  128. package/dist/{elements/AddNewRelation → hooks}/useRelatedCollections.d.ts +3 -0
  129. package/dist/hooks/useRelatedCollections.d.ts.map +1 -0
  130. package/dist/{elements/AddNewRelation → hooks}/useRelatedCollections.js +4 -1
  131. package/dist/hooks/useRelatedCollections.js.map +1 -0
  132. package/dist/icons/Trash/index.d.ts +6 -0
  133. package/dist/icons/Trash/index.d.ts.map +1 -0
  134. package/dist/icons/Trash/index.js +22 -0
  135. package/dist/icons/Trash/index.js.map +1 -0
  136. package/dist/icons/Trash/index.scss +6 -0
  137. package/dist/providers/DocumentInfo/types.d.ts +2 -0
  138. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  139. package/dist/providers/DocumentInfo/types.js.map +1 -1
  140. package/dist/providers/ServerFunctions/index.d.ts +1 -0
  141. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  142. package/dist/providers/ServerFunctions/index.js.map +1 -1
  143. package/dist/providers/TableColumns/buildColumnState/index.d.ts +2 -1
  144. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  145. package/dist/providers/TableColumns/buildColumnState/index.js +4 -2
  146. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  147. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +3 -2
  148. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  149. package/dist/providers/TableColumns/buildColumnState/renderCell.js +4 -2
  150. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  151. package/dist/styles.css +1 -1
  152. package/dist/utilities/buildFormState.d.ts.map +1 -1
  153. package/dist/utilities/buildFormState.js +2 -0
  154. package/dist/utilities/buildFormState.js.map +1 -1
  155. package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
  156. package/dist/utilities/getDisplayedFieldValue.js +2 -2
  157. package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
  158. package/dist/utilities/hasOptionLabelJSXElement.js +2 -2
  159. package/dist/utilities/hasOptionLabelJSXElement.js.map +1 -1
  160. package/dist/utilities/isValidReactElement.d.ts +7 -0
  161. package/dist/utilities/isValidReactElement.d.ts.map +1 -0
  162. package/dist/utilities/isValidReactElement.js +10 -0
  163. package/dist/utilities/isValidReactElement.js.map +1 -0
  164. package/dist/utilities/renderTable.d.ts +4 -3
  165. package/dist/utilities/renderTable.d.ts.map +1 -1
  166. package/dist/utilities/renderTable.js +15 -13
  167. package/dist/utilities/renderTable.js.map +1 -1
  168. package/dist/views/CollectionFolder/index.d.ts.map +1 -1
  169. package/dist/views/CollectionFolder/index.js +15 -5
  170. package/dist/views/CollectionFolder/index.js.map +1 -1
  171. package/dist/views/Edit/Auth/index.js +5 -4
  172. package/dist/views/Edit/Auth/index.js.map +1 -1
  173. package/dist/views/Edit/SetDocumentStepNav/index.d.ts +1 -0
  174. package/dist/views/Edit/SetDocumentStepNav/index.d.ts.map +1 -1
  175. package/dist/views/Edit/SetDocumentStepNav/index.js +26 -15
  176. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  177. package/dist/views/Edit/index.d.ts.map +1 -1
  178. package/dist/views/Edit/index.js +11 -3
  179. package/dist/views/Edit/index.js.map +1 -1
  180. package/dist/views/List/ListHeader/index.d.ts +4 -2
  181. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  182. package/dist/views/List/ListHeader/index.js +24 -9
  183. package/dist/views/List/ListHeader/index.js.map +1 -1
  184. package/dist/views/List/ListSelection/index.d.ts +2 -1
  185. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  186. package/dist/views/List/ListSelection/index.js +26 -17
  187. package/dist/views/List/ListSelection/index.js.map +1 -1
  188. package/dist/views/List/index.d.ts.map +1 -1
  189. package/dist/views/List/index.js +28 -13
  190. package/dist/views/List/index.js.map +1 -1
  191. package/package.json +7 -7
  192. package/dist/elements/AddNewRelation/useRelatedCollections.d.ts.map +0 -1
  193. package/dist/elements/AddNewRelation/useRelatedCollections.js.map +0 -1
  194. package/dist/elements/ListFolderPills/index.d.ts +0 -10
  195. package/dist/elements/ListFolderPills/index.d.ts.map +0 -1
  196. package/dist/elements/ListFolderPills/index.js +0 -97
  197. package/dist/elements/ListFolderPills/index.js.map +0 -1
@@ -3,15 +3,17 @@ import { getTranslation } from '@payloadcms/translations';
3
3
  import React from 'react';
4
4
  import { CloseModalButton } from '../../../elements/CloseModalButton/index.js';
5
5
  import { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js';
6
- import { ListFolderPills } from '../../../elements/ListFolderPills/index.js';
7
6
  import { DrawerRelationshipSelect } from '../../../elements/ListHeader/DrawerRelationshipSelect/index.js';
8
7
  import { ListDrawerCreateNewDocButton } from '../../../elements/ListHeader/DrawerTitleActions/index.js';
9
8
  import { ListHeader } from '../../../elements/ListHeader/index.js';
10
- import { ListBulkUploadButton, ListCreateNewButton } from '../../../elements/ListHeader/TitleActions/index.js';
9
+ import { ListBulkUploadButton, ListCreateNewButton, ListEmptyTrashButton } from '../../../elements/ListHeader/TitleActions/index.js';
10
+ import { ByFolderPill } from '../../../elements/ListHeaderTabs/ByFolderPill.js';
11
+ import { DefaultListPill } from '../../../elements/ListHeaderTabs/DefaultListPill.js';
12
+ import './index.scss';
13
+ import { TrashPill } from '../../../elements/ListHeaderTabs/TrashPill.js';
11
14
  import { useConfig } from '../../../providers/Config/index.js';
12
15
  import { useListQuery } from '../../../providers/ListQuery/index.js';
13
16
  import { ListSelection } from '../ListSelection/index.js';
14
- import './index.scss';
15
17
  const drawerBaseClass = 'list-drawer';
16
18
  export const CollectionListHeader = ({
17
19
  className,
@@ -20,8 +22,10 @@ export const CollectionListHeader = ({
20
22
  disableBulkDelete,
21
23
  disableBulkEdit,
22
24
  hasCreatePermission,
25
+ hasDeletePermission,
23
26
  i18n,
24
27
  isBulkUploadEnabled,
28
+ isTrashEnabled,
25
29
  newDocumentURL,
26
30
  onBulkUploadSuccess,
27
31
  openBulkUpload,
@@ -37,6 +41,7 @@ export const CollectionListHeader = ({
37
41
  isInDrawer,
38
42
  selectedOption
39
43
  } = useListDrawerContext();
44
+ const isTrashRoute = viewType === 'trash';
40
45
  const {
41
46
  isGroupingBy
42
47
  } = useListQuery();
@@ -64,26 +69,36 @@ export const CollectionListHeader = ({
64
69
  disableBulkDelete: disableBulkDelete,
65
70
  disableBulkEdit: disableBulkEdit,
66
71
  label: getTranslation(collectionConfig?.labels?.plural, i18n),
67
- showSelectAllAcrossPages: !isGroupingBy
68
- }, "list-selection"), collectionConfig.folders && config.folders && /*#__PURE__*/_jsx(ListFolderPills, {
72
+ showSelectAllAcrossPages: !isGroupingBy,
73
+ viewType: viewType
74
+ }, "list-selection"), (collectionConfig.folders && config.folders || isTrashEnabled) && /*#__PURE__*/_jsx(DefaultListPill, {
75
+ collectionConfig: collectionConfig,
76
+ viewType: viewType
77
+ }, "list-header-default-button"), collectionConfig.folders && config.folders && /*#__PURE__*/_jsx(ByFolderPill, {
69
78
  collectionConfig: collectionConfig,
70
79
  folderCollectionSlug: config.folders.slug,
71
80
  viewType: viewType
72
- }, "list-header-buttons")].filter(Boolean),
81
+ }, "list-header-by-folder-button"), isTrashEnabled && /*#__PURE__*/_jsx(TrashPill, {
82
+ collectionConfig: collectionConfig,
83
+ viewType: viewType
84
+ }, "list-header-trash-button")].filter(Boolean),
73
85
  AfterListHeaderContent: Description,
74
86
  className: className,
75
87
  title: getTranslation(collectionConfig?.labels?.plural, i18n),
76
- TitleActions: [hasCreatePermission && /*#__PURE__*/_jsx(ListCreateNewButton, {
88
+ TitleActions: [hasCreatePermission && !isTrashRoute && /*#__PURE__*/_jsx(ListCreateNewButton, {
77
89
  collectionConfig: collectionConfig,
78
90
  hasCreatePermission: hasCreatePermission,
79
91
  newDocumentURL: newDocumentURL
80
- }, "list-header-create-new-doc"), hasCreatePermission && isBulkUploadEnabled && /*#__PURE__*/_jsx(ListBulkUploadButton, {
92
+ }, "list-header-create-new-doc"), hasCreatePermission && isBulkUploadEnabled && !isTrashRoute && /*#__PURE__*/_jsx(ListBulkUploadButton, {
81
93
  collectionSlug: collectionConfig.slug,
82
94
  hasCreatePermission: hasCreatePermission,
83
95
  isBulkUploadEnabled: isBulkUploadEnabled,
84
96
  onBulkUploadSuccess: onBulkUploadSuccess,
85
97
  openBulkUpload: openBulkUpload
86
- }, "list-header-bulk-upload")].filter(Boolean)
98
+ }, "list-header-bulk-upload"), hasDeletePermission && isTrashEnabled && viewType === 'trash' && /*#__PURE__*/_jsx(ListEmptyTrashButton, {
99
+ collectionConfig: collectionConfig,
100
+ hasDeletePermission: hasDeletePermission
101
+ }, "list-header-empty-trash")].filter(Boolean)
87
102
  });
88
103
  };
89
104
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","CloseModalButton","useListDrawerContext","ListFolderPills","DrawerRelationshipSelect","ListDrawerCreateNewDocButton","ListHeader","ListBulkUploadButton","ListCreateNewButton","useConfig","useListQuery","ListSelection","drawerBaseClass","CollectionListHeader","className","collectionConfig","Description","disableBulkDelete","disableBulkEdit","hasCreatePermission","i18n","isBulkUploadEnabled","newDocumentURL","onBulkUploadSuccess","openBulkUpload","smallBreak","viewType","config","getEntityConfig","drawerSlug","isInDrawer","selectedOption","isGroupingBy","_jsx","Actions","slug","AfterListHeaderContent","_jsxs","_Fragment","title","collectionSlug","value","labels","plural","TitleActions","filter","Boolean","label","showSelectAllAcrossPages","folders","folderCollectionSlug"],"sources":["../../../../src/views/List/ListHeader/index.tsx"],"sourcesContent":["import type { I18nClient, TFunction } from '@payloadcms/translations'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { CloseModalButton } from '../../../elements/CloseModalButton/index.js'\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { ListFolderPills } from '../../../elements/ListFolderPills/index.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} 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 i18n: I18nClient\n isBulkUploadEnabled: 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?: 'folders' | 'list'\n}\n\nexport const CollectionListHeader: React.FC<ListHeaderProps> = ({\n className,\n collectionConfig,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n hasCreatePermission,\n i18n,\n isBulkUploadEnabled,\n newDocumentURL,\n onBulkUploadSuccess,\n openBulkUpload,\n smallBreak,\n viewType,\n}) => {\n const { config, getEntityConfig } = useConfig()\n const { drawerSlug, isInDrawer, selectedOption } = useListDrawerContext()\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 />\n ),\n collectionConfig.folders && config.folders && (\n <ListFolderPills\n collectionConfig={collectionConfig}\n folderCollectionSlug={config.folders.slug}\n key=\"list-header-buttons\"\n viewType={viewType}\n />\n ),\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n className={className}\n title={getTranslation(collectionConfig?.labels?.plural, i18n)}\n TitleActions={[\n hasCreatePermission && (\n <ListCreateNewButton\n collectionConfig={collectionConfig}\n hasCreatePermission={hasCreatePermission}\n key=\"list-header-create-new-doc\"\n newDocumentURL={newDocumentURL}\n />\n ),\n hasCreatePermission && isBulkUploadEnabled && (\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 ].filter(Boolean)}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","CloseModalButton","useListDrawerContext","DrawerRelationshipSelect","ListDrawerCreateNewDocButton","ListHeader","ListBulkUploadButton","ListCreateNewButton","ListEmptyTrashButton","ByFolderPill","DefaultListPill","TrashPill","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","folders","folderCollectionSlug"],"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 { 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 { ByFolderPill } from '../../../elements/ListHeaderTabs/ByFolderPill.js'\nimport { DefaultListPill } from '../../../elements/ListHeaderTabs/DefaultListPill.js'\nimport './index.scss'\nimport { TrashPill } from '../../../elements/ListHeaderTabs/TrashPill.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useListQuery } from '../../../providers/ListQuery/index.js'\nimport { ListSelection } from '../ListSelection/index.js'\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 ((collectionConfig.folders && config.folders) || isTrashEnabled) && (\n <DefaultListPill\n collectionConfig={collectionConfig}\n key=\"list-header-default-button\"\n viewType={viewType}\n />\n ),\n collectionConfig.folders && config.folders && (\n <ByFolderPill\n collectionConfig={collectionConfig}\n folderCollectionSlug={config.folders.slug}\n key=\"list-header-by-folder-button\"\n viewType={viewType}\n />\n ),\n isTrashEnabled && (\n <TrashPill\n collectionConfig={collectionConfig}\n key=\"list-header-trash-button\"\n viewType={viewType}\n />\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,4 +1,4 @@
1
- import type { ClientCollectionConfig, Where } from 'payload';
1
+ import type { ClientCollectionConfig, ViewTypes, Where } from 'payload';
2
2
  import React from 'react';
3
3
  export type ListSelectionProps = {
4
4
  collectionConfig?: ClientCollectionConfig;
@@ -7,6 +7,7 @@ export type ListSelectionProps = {
7
7
  label: string;
8
8
  modalPrefix?: string;
9
9
  showSelectAllAcrossPages?: boolean;
10
+ viewType?: ViewTypes;
10
11
  where?: Where;
11
12
  };
12
13
  export declare const ListSelection: React.FC<ListSelectionProps>;
@@ -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,KAAK,EAAE,MAAM,SAAS,CAAA;AAE5D,OAAO,KAAgC,MAAM,OAAO,CAAA;AAUpD,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,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAyEtD,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,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"}
@@ -7,11 +7,12 @@ import { DeleteMany } from '../../../elements/DeleteMany/index.js';
7
7
  import { EditMany_v4 } from '../../../elements/EditMany/index.js';
8
8
  import { ListSelection_v4, ListSelectionButton } from '../../../elements/ListSelection/index.js';
9
9
  import { PublishMany_v4 } from '../../../elements/PublishMany/index.js';
10
+ import { RestoreMany } from '../../../elements/RestoreMany/index.js';
10
11
  import { UnpublishMany_v4 } from '../../../elements/UnpublishMany/index.js';
11
12
  import { SelectAllStatus, useSelection } from '../../../providers/Selection/index.js';
12
13
  import { useTranslation } from '../../../providers/Translation/index.js';
13
14
  export const ListSelection = t0 => {
14
- const $ = _c(17);
15
+ const $ = _c(19);
15
16
  const {
16
17
  collectionConfig,
17
18
  disableBulkDelete,
@@ -19,6 +20,7 @@ export const ListSelection = t0 => {
19
20
  label,
20
21
  modalPrefix,
21
22
  showSelectAllAcrossPages: t1,
23
+ viewType,
22
24
  where
23
25
  } = t0;
24
26
  const showSelectAllAcrossPages = t1 === undefined ? true : t1;
@@ -44,8 +46,9 @@ export const ListSelection = t0 => {
44
46
  if (count === 0) {
45
47
  return null;
46
48
  }
49
+ const isTrashView = collectionConfig?.trash && viewType === "trash";
47
50
  let t3;
48
- if ($[2] !== collectionConfig || $[3] !== count || $[4] !== disableBulkDelete || $[5] !== disableBulkEdit || $[6] !== label || $[7] !== modalPrefix || $[8] !== onActionSuccess || $[9] !== selectAll || $[10] !== selectedIDs || $[11] !== showSelectAllAcrossPages || $[12] !== t || $[13] !== toggleAll || $[14] !== totalDocs || $[15] !== where) {
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) {
49
52
  t3 = _jsx(ListSelection_v4, {
50
53
  count,
51
54
  ListActions: [selectAll !== SelectAllStatus.AllAvailable && count < totalDocs && showSelectAllAcrossPages !== false ? _jsx(ListSelectionButton, {
@@ -60,7 +63,7 @@ export const ListSelection = t0 => {
60
63
  label: ""
61
64
  })
62
65
  }, "select-all") : null].filter(Boolean),
63
- SelectionActions: [!disableBulkEdit && _jsxs(Fragment, {
66
+ SelectionActions: [!disableBulkEdit && !isTrashView && _jsxs(Fragment, {
64
67
  children: [_jsx(EditMany_v4, {
65
68
  collection: collectionConfig,
66
69
  count,
@@ -86,28 +89,34 @@ export const ListSelection = t0 => {
86
89
  selectAll: selectAll === SelectAllStatus.AllAvailable,
87
90
  where
88
91
  })]
89
- }, "bulk-actions"), !disableBulkDelete && _jsx(DeleteMany, {
92
+ }, "bulk-actions"), isTrashView && _jsx(RestoreMany, {
90
93
  collection: collectionConfig,
91
- modalPrefix
94
+ viewType
95
+ }, "bulk-restore"), !disableBulkDelete && _jsx(DeleteMany, {
96
+ collection: collectionConfig,
97
+ modalPrefix,
98
+ viewType
92
99
  }, "bulk-delete")].filter(Boolean)
93
100
  });
94
101
  $[2] = collectionConfig;
95
102
  $[3] = count;
96
103
  $[4] = disableBulkDelete;
97
104
  $[5] = disableBulkEdit;
98
- $[6] = label;
99
- $[7] = modalPrefix;
100
- $[8] = onActionSuccess;
101
- $[9] = selectAll;
102
- $[10] = selectedIDs;
103
- $[11] = showSelectAllAcrossPages;
104
- $[12] = t;
105
- $[13] = toggleAll;
106
- $[14] = totalDocs;
107
- $[15] = where;
108
- $[16] = t3;
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
118
  } else {
110
- t3 = $[16];
119
+ t3 = $[18];
111
120
  }
112
121
  return t3;
113
122
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","Fragment","useCallback","DeleteMany","EditMany_v4","ListSelection_v4","ListSelectionButton","PublishMany_v4","UnpublishMany_v4","SelectAllStatus","useSelection","useTranslation","ListSelection","t0","$","collectionConfig","disableBulkDelete","disableBulkEdit","label","modalPrefix","showSelectAllAcrossPages","t1","where","undefined","count","selectAll","selectedIDs","toggleAll","totalDocs","t","t2","onActionSuccess","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, 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 { 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 where?: Where\n}\n\nexport const ListSelection: React.FC<ListSelectionProps> = ({\n collectionConfig,\n disableBulkDelete,\n disableBulkEdit,\n label,\n modalPrefix,\n showSelectAllAcrossPages = true,\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 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 && (\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 !disableBulkDelete && (\n <DeleteMany collection={collectionConfig} key=\"bulk-delete\" modalPrefix={modalPrefix} />\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","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 +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,qBAkNzD"}
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;AAwBlD,OAAO,cAAc,CAAA;AAIrB,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,qBA2OzD"}
@@ -3,7 +3,7 @@
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { getTranslation } from '@payloadcms/translations';
5
5
  import { useRouter } from 'next/navigation.js';
6
- import { formatFilesize } from 'payload/shared';
6
+ import { formatAdminURL, formatFilesize } from 'payload/shared';
7
7
  import React, { Fragment, useEffect } from 'react';
8
8
  import { useBulkUpload } from '../../elements/BulkUpload/index.js';
9
9
  import { Button } from '../../elements/Button/index.js';
@@ -19,7 +19,6 @@ import { StickyToolbar } from '../../elements/StickyToolbar/index.js';
19
19
  import { RelationshipProvider } from '../../elements/Table/RelationshipProvider/index.js';
20
20
  import { ViewDescription } from '../../elements/ViewDescription/index.js';
21
21
  import { useControllableState } from '../../hooks/useControllableState.js';
22
- import { useAuth } from '../../providers/Auth/index.js';
23
22
  import { useConfig } from '../../providers/Config/index.js';
24
23
  import { useListQuery } from '../../providers/ListQuery/index.js';
25
24
  import { SelectionProvider } from '../../providers/Selection/index.js';
@@ -45,13 +44,15 @@ export function DefaultListView(props) {
45
44
  disableQueryPresets,
46
45
  enableRowSelections,
47
46
  hasCreatePermission: hasCreatePermissionFromProps,
47
+ hasDeletePermission,
48
48
  listMenuItems,
49
49
  newDocumentURL,
50
50
  queryPreset,
51
51
  queryPresetPermissions,
52
52
  renderedFilters,
53
53
  resolvedFilterOptions,
54
- Table: InitialTable
54
+ Table: InitialTable,
55
+ viewType
55
56
  } = props;
56
57
  const [Table] = useControllableState(InitialTable);
57
58
  const {
@@ -62,9 +63,11 @@ export function DefaultListView(props) {
62
63
  } = useListDrawerContext();
63
64
  const hasCreatePermission = allowCreate !== undefined ? allowCreate && hasCreatePermissionFromProps : hasCreatePermissionFromProps;
64
65
  const {
65
- user
66
- } = useAuth();
67
- const {
66
+ config: {
67
+ routes: {
68
+ admin: adminRoute
69
+ }
70
+ },
68
71
  getEntityConfig
69
72
  } = useConfig();
70
73
  const router = useRouter();
@@ -89,6 +92,7 @@ export function DefaultListView(props) {
89
92
  } = collectionConfig;
90
93
  const isUploadCollection = Boolean(upload);
91
94
  const isBulkUploadEnabled = isUploadCollection && collectionConfig.upload.bulkUpload;
95
+ const isTrashEnabled = Boolean(collectionConfig.trash);
92
96
  const {
93
97
  i18n
94
98
  } = useTranslation();
@@ -119,11 +123,20 @@ export function DefaultListView(props) {
119
123
  }, [router, collectionSlug, bulkUploadDrawerSlug, openModal, setCollectionSlug, setOnSuccess]);
120
124
  useEffect(() => {
121
125
  if (!isInDrawer) {
122
- setStepNav([{
123
- label: labels?.plural
124
- }]);
126
+ const baseLabel = {
127
+ label: getTranslation(labels?.plural, i18n),
128
+ url: isTrashEnabled && viewType === 'trash' ? formatAdminURL({
129
+ adminRoute,
130
+ path: `/collections/${collectionSlug}`
131
+ }) : undefined
132
+ };
133
+ const trashLabel = {
134
+ label: i18n.t('general:trash')
135
+ };
136
+ const navItems = isTrashEnabled && viewType === 'trash' ? [baseLabel, trashLabel] : [baseLabel];
137
+ setStepNav(navItems);
125
138
  }
126
- }, [setStepNav, labels, isInDrawer]);
139
+ }, [adminRoute, setStepNav, labels, isInDrawer, isTrashEnabled, viewType, i18n, collectionSlug]);
127
140
  return /*#__PURE__*/_jsxs(Fragment, {
128
141
  children: [/*#__PURE__*/_jsx(TableColumnsProvider, {
129
142
  collectionSlug: collectionSlug,
@@ -150,12 +163,14 @@ export function DefaultListView(props) {
150
163
  disableBulkDelete: disableBulkDelete,
151
164
  disableBulkEdit: disableBulkEdit,
152
165
  hasCreatePermission: hasCreatePermission,
166
+ hasDeletePermission: hasDeletePermission,
153
167
  i18n: i18n,
154
168
  isBulkUploadEnabled: isBulkUploadEnabled && !upload.hideFileInputOnCreate,
169
+ isTrashEnabled: isTrashEnabled,
155
170
  newDocumentURL: newDocumentURL,
156
171
  openBulkUpload: openBulkUpload,
157
172
  smallBreak: smallBreak,
158
- viewType: "list"
173
+ viewType: viewType
159
174
  }), /*#__PURE__*/_jsx(ListControls, {
160
175
  beforeActions: enableRowSelections && typeof onBulkSelect === 'function' ? beforeActions ? [...beforeActions, /*#__PURE__*/_jsx(SelectMany, {
161
176
  onClick: onBulkSelect
@@ -178,10 +193,10 @@ export function DefaultListView(props) {
178
193
  }), docs?.length === 0 && /*#__PURE__*/_jsxs("div", {
179
194
  className: `${baseClass}__no-results`,
180
195
  children: [/*#__PURE__*/_jsx("p", {
181
- children: i18n.t('general:noResults', {
196
+ children: i18n.t(viewType === 'trash' ? 'general:noTrashResults' : 'general:noResults', {
182
197
  label: getTranslation(labels?.plural, i18n)
183
198
  })
184
- }), hasCreatePermission && newDocumentURL && /*#__PURE__*/_jsx(Fragment, {
199
+ }), hasCreatePermission && newDocumentURL && viewType !== 'trash' && /*#__PURE__*/_jsx(Fragment, {
185
200
  children: isInDrawer ? /*#__PURE__*/_jsx(Button, {
186
201
  el: "button",
187
202
  onClick: () => openModal(createNewDrawerSlug),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","useRouter","formatFilesize","React","Fragment","useEffect","useBulkUpload","Button","Gutter","ListControls","useListDrawerContext","useModal","PageControls","RenderCustomComponent","SelectMany","useStepNav","StickyToolbar","RelationshipProvider","ViewDescription","useControllableState","useAuth","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","listMenuItems","newDocumentURL","queryPreset","queryPresetPermissions","renderedFilters","resolvedFilterOptions","Table","InitialTable","allowCreate","createNewDrawerSlug","isInDrawer","onBulkSelect","undefined","user","getEntityConfig","router","data","isGroupingBy","openModal","drawerSlug","bulkUploadDrawerSlug","setCollectionSlug","setOnSuccess","collectionConfig","labels","upload","isUploadCollection","Boolean","isBulkUploadEnabled","bulkUpload","i18n","setStepNav","breakpoints","s","smallBreak","docs","useMemo","map","doc","filesize","openBulkUpload","useCallback","refresh","label","plural","_jsxs","_jsx","className","totalDocs","CustomComponent","Fallback","description","admin","hideFileInputOnCreate","viewType","onClick","enableQueryPresets","length","t","el","singular","to","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 { 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 { 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 { useAuth } from '../../providers/Auth/index.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 listMenuItems,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table: InitialTable,\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 { user } = useAuth()\n\n const { getEntityConfig } = 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 { 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 setStepNav([\n {\n label: labels?.plural,\n },\n ])\n }\n }, [setStepNav, labels, isInDrawer])\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 <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 }\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n hasCreatePermission={hasCreatePermission}\n i18n={i18n}\n isBulkUploadEnabled={isBulkUploadEnabled && !upload.hideFileInputOnCreate}\n newDocumentURL={newDocumentURL}\n openBulkUpload={openBulkUpload}\n smallBreak={smallBreak}\n viewType=\"list\"\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 <div className={`${baseClass}__no-results`}>\n <p>\n {i18n.t('general:noResults', { label: getTranslation(labels?.plural, i18n) })}\n </p>\n {hasCreatePermission && newDocumentURL && (\n <Fragment>\n {isInDrawer ? (\n <Button el=\"button\" onClick={() => openModal(createNewDrawerSlug)}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ) : (\n <Button el=\"link\" to={newDocumentURL}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n )}\n </Fragment>\n )}\n </div>\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","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","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","CustomComponent","Fallback","description","hideFileInputOnCreate","onClick","enableQueryPresets","length","el","singular","to","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 { 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 },\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 }, [adminRoute, setStepNav, labels, isInDrawer, isTrashEnabled, viewType, i18n, collectionSlug])\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 <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 }\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 <div className={`${baseClass}__no-results`}>\n <p>\n {i18n.t(viewType === 'trash' ? 'general:noTrashResults' : 'general:noResults', {\n label: getTranslation(labels?.plural, i18n),\n })}\n </p>\n {hasCreatePermission && newDocumentURL && viewType !== 'trash' && (\n <Fragment>\n {isInDrawer ? (\n <Button el=\"button\" onClick={() => openModal(createNewDrawerSlug)}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ) : (\n <Button el=\"link\" to={newDocumentURL}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n )}\n </Fragment>\n )}\n </div>\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.49.0-canary.8",
3
+ "version": "3.49.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.49.0-canary.8"
139
+ "@payloadcms/translations": "3.49.1"
140
140
  },
141
141
  "devDependencies": {
142
142
  "@babel/cli": "7.27.2",
@@ -145,20 +145,20 @@
145
145
  "@babel/preset-react": "7.27.1",
146
146
  "@babel/preset-typescript": "7.27.1",
147
147
  "@hyrious/esbuild-plugin-commonjs": "0.2.6",
148
- "@types/react": "19.1.0",
149
- "@types/react-dom": "19.1.2",
148
+ "@types/react": "19.1.8",
149
+ "@types/react-dom": "19.1.6",
150
150
  "@types/uuid": "10.0.0",
151
151
  "babel-plugin-react-compiler": "19.1.0-rc.2",
152
152
  "esbuild": "0.25.5",
153
153
  "esbuild-sass-plugin": "3.3.1",
154
- "@payloadcms/eslint-config": "3.28.0",
155
- "payload": "3.49.0-canary.8"
154
+ "payload": "3.49.1",
155
+ "@payloadcms/eslint-config": "3.28.0"
156
156
  },
157
157
  "peerDependencies": {
158
158
  "next": "^15.2.3",
159
159
  "react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
160
160
  "react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
161
- "payload": "3.49.0-canary.8"
161
+ "payload": "3.49.1"
162
162
  },
163
163
  "engines": {
164
164
  "node": "^18.20.2 || >=20.9.0"
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRelatedCollections.d.ts","sourceRoot":"","sources":["../../../src/elements/AddNewRelation/useRelatedCollections.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,eAAO,MAAM,qBAAqB,eAAgB,MAAM,GAAG,MAAM,EAAE,KAAG,sBAAsB,EAY3F,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRelatedCollections.js","names":["c","_c","useState","useConfig","useRelatedCollections","relationTo","$","getEntityConfig","t0","relations","map","relation","collectionSlug","relatedCollections"],"sources":["../../../src/elements/AddNewRelation/useRelatedCollections.ts"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { useState } from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\n\nexport const useRelatedCollections = (relationTo: string | string[]): ClientCollectionConfig[] => {\n const { getEntityConfig } = useConfig()\n\n const [relatedCollections] = useState(() => {\n if (relationTo) {\n const relations = typeof relationTo === 'string' ? [relationTo] : relationTo\n return relations.map((relation) => getEntityConfig({ collectionSlug: relation }))\n }\n return []\n })\n\n return relatedCollections\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAGA,SAASC,QAAQ,QAAQ;AAEzB,SAASC,SAAS,QAAQ;AAE1B,OAAO,MAAMC,qBAAA,GAAwBC,UAAA;EAAA,MAAAC,CAAA,GAAAL,EAAA;EACnC;IAAAM;EAAA,IAA4BJ,SAAA;EAAA,IAAAK,EAAA;EAAA,IAAAF,CAAA,QAAAC,eAAA,IAAAD,CAAA,QAAAD,UAAA;IAEUG,EAAA,GAAAA,CAAA;MAAA,IAChCH,UAAA;QACF,MAAAI,SAAA,GAAkB,OAAOJ,UAAA,KAAe,YAAYA,UAAA,IAAcA,UAAA;QAAA,OAC3DI,SAAA,CAAAC,GAAA,CAAAC,QAAA,IAA4BJ,eAAA;UAAAK,cAAA,EAAkCD;QAAA,CAAS;MAAA;MAAA;IAAA;IAGlFL,CAAA,MAAAC,eAAA;IAAAD,CAAA,MAAAD,UAAA;IAAAC,CAAA,MAAAE,EAAA;EAAA;IAAAA,EAAA,GAAAF,CAAA;EAAA;EANA,OAAAO,kBAAA,IAA6BX,QAAA,CAASM,EAMtC;EAAA,OAEOK,kBAAA;AAAA,CACT","ignoreList":[]}
@@ -1,10 +0,0 @@
1
- import type { ClientCollectionConfig } from 'payload';
2
- import './index.scss';
3
- type ListFolderPillsProps = {
4
- readonly collectionConfig: ClientCollectionConfig;
5
- readonly folderCollectionSlug: string;
6
- readonly viewType: 'folders' | 'list';
7
- };
8
- export declare function ListFolderPills({ collectionConfig, folderCollectionSlug, viewType, }: ListFolderPillsProps): import("react").JSX.Element;
9
- export {};
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListFolderPills/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAQrD,OAAO,cAAc,CAAA;AAIrB,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;IACjD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,MAAM,CAAA;CACtC,CAAA;AAED,wBAAgB,eAAe,CAAC,EAC9B,gBAAgB,EAChB,oBAAoB,EACpB,QAAQ,GACT,EAAE,oBAAoB,+BA6CtB"}