@payloadcms/ui 3.49.0-canary.7 → 3.49.0

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 (288) hide show
  1. package/dist/elements/ColumnSelector/index.js +1 -1
  2. package/dist/elements/ColumnSelector/index.js.map +1 -1
  3. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  4. package/dist/elements/DeleteDocument/index.js +65 -47
  5. package/dist/elements/DeleteDocument/index.js.map +1 -1
  6. package/dist/elements/DeleteDocument/index.scss +10 -0
  7. package/dist/elements/DeleteMany/index.d.ts +17 -2
  8. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  9. package/dist/elements/DeleteMany/index.js +162 -49
  10. package/dist/elements/DeleteMany/index.js.map +1 -1
  11. package/dist/elements/DeleteMany/index.scss +13 -0
  12. package/dist/elements/DocumentControls/index.d.ts +3 -0
  13. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  14. package/dist/elements/DocumentControls/index.js +24 -5
  15. package/dist/elements/DocumentControls/index.js.map +1 -1
  16. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  17. package/dist/elements/DocumentDrawer/DrawerContent.js +4 -2
  18. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  19. package/dist/elements/DocumentDrawer/Provider.d.ts +4 -0
  20. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
  21. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  22. package/dist/elements/DocumentDrawer/types.d.ts +1 -0
  23. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  24. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  25. package/dist/elements/DocumentFields/index.d.ts +1 -0
  26. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  27. package/dist/elements/DocumentFields/index.js +3 -1
  28. package/dist/elements/DocumentFields/index.js.map +1 -1
  29. package/dist/elements/EditMany/DrawerContent.d.ts +2 -0
  30. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  31. package/dist/elements/EditMany/DrawerContent.js +7 -3
  32. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  33. package/dist/elements/EditMany/index.d.ts +7 -2
  34. package/dist/elements/EditMany/index.d.ts.map +1 -1
  35. package/dist/elements/EditMany/index.js +39 -34
  36. package/dist/elements/EditMany/index.js.map +1 -1
  37. package/dist/elements/FolderView/Cell/index.client.d.ts +3 -2
  38. package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -1
  39. package/dist/elements/FolderView/Cell/index.client.js +3 -1
  40. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  41. package/dist/elements/FolderView/Cell/index.server.d.ts.map +1 -1
  42. package/dist/elements/FolderView/Cell/index.server.js +2 -1
  43. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  44. package/dist/elements/GroupByBuilder/index.d.ts +9 -0
  45. package/dist/elements/GroupByBuilder/index.d.ts.map +1 -0
  46. package/dist/elements/GroupByBuilder/index.js +112 -0
  47. package/dist/elements/GroupByBuilder/index.js.map +1 -0
  48. package/dist/elements/GroupByBuilder/index.scss +39 -0
  49. package/dist/elements/LeaveWithoutSaving/index.d.ts +6 -1
  50. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  51. package/dist/elements/LeaveWithoutSaving/index.js +69 -49
  52. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  53. package/dist/elements/ListControls/index.d.ts.map +1 -1
  54. package/dist/elements/ListControls/index.js +28 -4
  55. package/dist/elements/ListControls/index.js.map +1 -1
  56. package/dist/elements/ListControls/index.scss +4 -2
  57. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  58. package/dist/elements/ListDrawer/DrawerContent.js +34 -15
  59. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  60. package/dist/elements/ListDrawer/Provider.d.ts +9 -3
  61. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  62. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  63. package/dist/elements/ListDrawer/index.d.ts +19 -0
  64. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  65. package/dist/elements/ListDrawer/index.js +19 -0
  66. package/dist/elements/ListDrawer/index.js.map +1 -1
  67. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts +7 -0
  68. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -0
  69. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +164 -0
  70. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -0
  71. package/dist/elements/ListHeader/TitleActions/index.d.ts +1 -0
  72. package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -1
  73. package/dist/elements/ListHeader/TitleActions/index.js +1 -0
  74. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  75. package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts +10 -0
  76. package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts.map +1 -0
  77. package/dist/elements/ListHeaderTabs/ByFolderPill.js +70 -0
  78. package/dist/elements/ListHeaderTabs/ByFolderPill.js.map +1 -0
  79. package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts +9 -0
  80. package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts.map +1 -0
  81. package/dist/elements/ListHeaderTabs/DefaultListPill.js +68 -0
  82. package/dist/elements/ListHeaderTabs/DefaultListPill.js.map +1 -0
  83. package/dist/elements/ListHeaderTabs/TrashPill.d.ts +6 -0
  84. package/dist/elements/ListHeaderTabs/TrashPill.d.ts.map +1 -0
  85. package/dist/elements/ListHeaderTabs/TrashPill.js +53 -0
  86. package/dist/elements/ListHeaderTabs/TrashPill.js.map +1 -0
  87. package/dist/elements/{ListFolderPills → ListHeaderTabs}/index.scss +1 -2
  88. package/dist/elements/ListSelection/index.scss +1 -1
  89. package/dist/elements/PageControls/GroupByPageControls.d.ts +16 -0
  90. package/dist/elements/PageControls/GroupByPageControls.d.ts.map +1 -0
  91. package/dist/elements/PageControls/GroupByPageControls.js +83 -0
  92. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -0
  93. package/dist/elements/PageControls/index.d.ts +17 -0
  94. package/dist/elements/PageControls/index.d.ts.map +1 -0
  95. package/dist/elements/PageControls/index.js +70 -0
  96. package/dist/elements/PageControls/index.js.map +1 -0
  97. package/dist/elements/PageControls/index.scss +40 -0
  98. package/dist/elements/Pagination/ClickableArrow/index.scss +3 -3
  99. package/dist/elements/Pagination/index.js +1 -1
  100. package/dist/elements/Pagination/index.js.map +1 -1
  101. package/dist/elements/Pagination/index.scss +4 -4
  102. package/dist/elements/PermanentlyDeleteButton/index.d.ts +14 -0
  103. package/dist/elements/PermanentlyDeleteButton/index.d.ts.map +1 -0
  104. package/dist/elements/PermanentlyDeleteButton/index.js +147 -0
  105. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -0
  106. package/dist/elements/PublishMany/DrawerContent.d.ts +2 -0
  107. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  108. package/dist/elements/PublishMany/DrawerContent.js +7 -3
  109. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  110. package/dist/elements/PublishMany/index.d.ts +6 -1
  111. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  112. package/dist/elements/PublishMany/index.js +38 -33
  113. package/dist/elements/PublishMany/index.js.map +1 -1
  114. package/dist/elements/ReactSelect/types.d.ts +1 -0
  115. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  116. package/dist/elements/ReactSelect/types.js.map +1 -1
  117. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  118. package/dist/elements/RelationshipTable/index.js +16 -11
  119. package/dist/elements/RelationshipTable/index.js.map +1 -1
  120. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  121. package/dist/elements/RenderTitle/index.js +1 -0
  122. package/dist/elements/RenderTitle/index.js.map +1 -1
  123. package/dist/elements/RestoreButton/index.d.ts +15 -0
  124. package/dist/elements/RestoreButton/index.d.ts.map +1 -0
  125. package/dist/elements/RestoreButton/index.js +171 -0
  126. package/dist/elements/RestoreButton/index.js.map +1 -0
  127. package/dist/elements/RestoreButton/index.scss +25 -0
  128. package/dist/elements/RestoreMany/index.d.ts +9 -0
  129. package/dist/elements/RestoreMany/index.d.ts.map +1 -0
  130. package/dist/elements/RestoreMany/index.js +193 -0
  131. package/dist/elements/RestoreMany/index.js.map +1 -0
  132. package/dist/elements/RestoreMany/index.scss +25 -0
  133. package/dist/elements/Status/index.d.ts.map +1 -1
  134. package/dist/elements/Status/index.js +6 -4
  135. package/dist/elements/Status/index.js.map +1 -1
  136. package/dist/elements/StickyToolbar/index.d.ts +6 -0
  137. package/dist/elements/StickyToolbar/index.d.ts.map +1 -0
  138. package/dist/elements/StickyToolbar/index.js +11 -0
  139. package/dist/elements/StickyToolbar/index.js.map +1 -0
  140. package/dist/elements/StickyToolbar/index.scss +27 -0
  141. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  142. package/dist/elements/Table/DefaultCell/index.js +10 -8
  143. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  144. package/dist/elements/Table/OrderableTable.d.ts +2 -0
  145. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  146. package/dist/elements/Table/OrderableTable.js +4 -3
  147. package/dist/elements/Table/OrderableTable.js.map +1 -1
  148. package/dist/elements/Table/index.d.ts +1 -0
  149. package/dist/elements/Table/index.d.ts.map +1 -1
  150. package/dist/elements/Table/index.js +5 -4
  151. package/dist/elements/Table/index.js.map +1 -1
  152. package/dist/elements/TrashBanner/index.d.ts +4 -0
  153. package/dist/elements/TrashBanner/index.d.ts.map +1 -0
  154. package/dist/elements/TrashBanner/index.js +37 -0
  155. package/dist/elements/TrashBanner/index.js.map +1 -0
  156. package/dist/elements/TrashBanner/index.scss +20 -0
  157. package/dist/elements/UnpublishMany/DrawerContent.d.ts +2 -0
  158. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  159. package/dist/elements/UnpublishMany/DrawerContent.js +6 -2
  160. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  161. package/dist/elements/UnpublishMany/index.d.ts +6 -1
  162. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  163. package/dist/elements/UnpublishMany/index.js +38 -33
  164. package/dist/elements/UnpublishMany/index.js.map +1 -1
  165. package/dist/elements/WhereBuilder/index.js +3 -3
  166. package/dist/elements/WhereBuilder/index.js.map +1 -1
  167. package/dist/exports/client/index.d.ts +2 -0
  168. package/dist/exports/client/index.d.ts.map +1 -1
  169. package/dist/exports/client/index.js +24 -22
  170. package/dist/exports/client/index.js.map +4 -4
  171. package/dist/fields/Blocks/index.d.ts.map +1 -1
  172. package/dist/fields/Blocks/index.js +1 -0
  173. package/dist/fields/Blocks/index.js.map +1 -1
  174. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  175. package/dist/fields/Checkbox/Input.js +2 -0
  176. package/dist/fields/Checkbox/Input.js.map +1 -1
  177. package/dist/fields/Select/Input.d.ts +1 -0
  178. package/dist/fields/Select/Input.d.ts.map +1 -1
  179. package/dist/fields/Select/Input.js +48 -45
  180. package/dist/fields/Select/Input.js.map +1 -1
  181. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
  182. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  183. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +7 -0
  184. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  185. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
  186. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  187. package/dist/forms/fieldSchemasToFormState/index.js +2 -0
  188. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  189. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
  190. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  191. package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
  192. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  193. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  194. package/dist/forms/fieldSchemasToFormState/renderField.js +2 -1
  195. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  196. package/dist/forms/fieldSchemasToFormState/types.d.ts +1 -0
  197. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  198. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  199. package/dist/icons/Trash/index.d.ts +6 -0
  200. package/dist/icons/Trash/index.d.ts.map +1 -0
  201. package/dist/icons/Trash/index.js +22 -0
  202. package/dist/icons/Trash/index.js.map +1 -0
  203. package/dist/icons/Trash/index.scss +6 -0
  204. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  205. package/dist/providers/DocumentInfo/index.js +6 -0
  206. package/dist/providers/DocumentInfo/index.js.map +1 -1
  207. package/dist/providers/DocumentInfo/types.d.ts +7 -0
  208. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  209. package/dist/providers/DocumentInfo/types.js.map +1 -1
  210. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  211. package/dist/providers/ListQuery/index.js +24 -13
  212. package/dist/providers/ListQuery/index.js.map +1 -1
  213. package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
  214. package/dist/providers/ListQuery/mergeQuery.js +15 -1
  215. package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
  216. package/dist/providers/ListQuery/types.d.ts +7 -3
  217. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  218. package/dist/providers/ListQuery/types.js.map +1 -1
  219. package/dist/providers/Selection/index.d.ts +6 -2
  220. package/dist/providers/Selection/index.d.ts.map +1 -1
  221. package/dist/providers/Selection/index.js +37 -19
  222. package/dist/providers/Selection/index.js.map +1 -1
  223. package/dist/providers/ServerFunctions/index.d.ts +1 -0
  224. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  225. package/dist/providers/ServerFunctions/index.js.map +1 -1
  226. package/dist/providers/TableColumns/buildColumnState/index.d.ts +2 -1
  227. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  228. package/dist/providers/TableColumns/buildColumnState/index.js +4 -2
  229. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  230. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +3 -2
  231. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  232. package/dist/providers/TableColumns/buildColumnState/renderCell.js +4 -2
  233. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  234. package/dist/styles.css +1 -1
  235. package/dist/utilities/buildFormState.d.ts.map +1 -1
  236. package/dist/utilities/buildFormState.js +2 -0
  237. package/dist/utilities/buildFormState.js.map +1 -1
  238. package/dist/utilities/buildTableState.js +5 -7
  239. package/dist/utilities/buildTableState.js.map +1 -1
  240. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  241. package/dist/utilities/copyDataFromLocale.js +29 -19
  242. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  243. package/dist/{elements/WhereBuilder/reduceFields.d.ts → utilities/reduceFieldsToOptions.d.ts} +3 -3
  244. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -0
  245. package/dist/{elements/WhereBuilder/reduceFields.js → utilities/reduceFieldsToOptions.js} +11 -11
  246. package/dist/utilities/reduceFieldsToOptions.js.map +1 -0
  247. package/dist/utilities/renderTable.d.ts +9 -3
  248. package/dist/utilities/renderTable.d.ts.map +1 -1
  249. package/dist/utilities/renderTable.js +63 -22
  250. package/dist/utilities/renderTable.js.map +1 -1
  251. package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -1
  252. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  253. package/dist/views/CollectionFolder/index.d.ts.map +1 -1
  254. package/dist/views/CollectionFolder/index.js +15 -5
  255. package/dist/views/CollectionFolder/index.js.map +1 -1
  256. package/dist/views/Edit/Auth/index.js +5 -4
  257. package/dist/views/Edit/Auth/index.js.map +1 -1
  258. package/dist/views/Edit/SetDocumentStepNav/index.d.ts +1 -0
  259. package/dist/views/Edit/SetDocumentStepNav/index.d.ts.map +1 -1
  260. package/dist/views/Edit/SetDocumentStepNav/index.js +26 -15
  261. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  262. package/dist/views/Edit/index.d.ts.map +1 -1
  263. package/dist/views/Edit/index.js +59 -35
  264. package/dist/views/Edit/index.js.map +1 -1
  265. package/dist/views/List/GroupByHeader/index.d.ts +10 -0
  266. package/dist/views/List/GroupByHeader/index.d.ts.map +1 -0
  267. package/dist/views/List/GroupByHeader/index.js +29 -0
  268. package/dist/views/List/GroupByHeader/index.js.map +1 -0
  269. package/dist/views/List/GroupByHeader/index.scss +17 -0
  270. package/dist/views/List/ListHeader/index.d.ts +4 -2
  271. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  272. package/dist/views/List/ListHeader/index.js +30 -10
  273. package/dist/views/List/ListHeader/index.js.map +1 -1
  274. package/dist/views/List/ListSelection/index.d.ts +5 -1
  275. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  276. package/dist/views/List/ListSelection/index.js +53 -30
  277. package/dist/views/List/ListSelection/index.js.map +1 -1
  278. package/dist/views/List/index.d.ts.map +1 -1
  279. package/dist/views/List/index.js +122 -170
  280. package/dist/views/List/index.js.map +1 -1
  281. package/dist/views/List/index.scss +12 -35
  282. package/package.json +5 -5
  283. package/dist/elements/ListFolderPills/index.d.ts +0 -10
  284. package/dist/elements/ListFolderPills/index.d.ts.map +0 -1
  285. package/dist/elements/ListFolderPills/index.js +0 -97
  286. package/dist/elements/ListFolderPills/index.js.map +0 -1
  287. package/dist/elements/WhereBuilder/reduceFields.d.ts.map +0 -1
  288. package/dist/elements/WhereBuilder/reduceFields.js.map +0 -1
@@ -1,9 +1,9 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { getTranslation } from '@payloadcms/translations';
3
3
  import { fieldAffectsData, fieldIsHiddenOrDisabled, flattenTopLevelFields } from 'payload/shared';
4
4
  import React from 'react';
5
5
  import { RenderServerComponent } from '../elements/RenderServerComponent/index.js';
6
- import { OrderableTable, Pill, SelectAll, SelectRow, SortHeader, SortRow, Table } from '../exports/client/index.js';
6
+ import { GroupByHeader, GroupByPageControls, OrderableTable, Pill, SelectAll, SelectionProvider, SelectRow, SortHeader, SortRow, Table } from '../exports/client/index.js';
7
7
  import { filterFields } from '../providers/TableColumns/buildColumnState/filterFields.js';
8
8
  import { buildColumnState } from '../providers/TableColumns/buildColumnState/index.js';
9
9
  import { getInitialColumns } from '../providers/TableColumns/getInitialColumns.js';
@@ -26,20 +26,27 @@ export const renderTable = ({
26
26
  collections,
27
27
  columns: columnsFromArgs,
28
28
  customCellProps,
29
- docs,
29
+ data,
30
30
  enableRowSelections,
31
+ groupByFieldPath,
32
+ groupByValue,
33
+ heading,
31
34
  i18n,
35
+ key = 'table',
32
36
  orderableFieldName,
33
37
  payload,
38
+ query,
34
39
  renderRowTypes,
35
40
  tableAppearance,
36
- useAsTitle
41
+ useAsTitle,
42
+ viewType
37
43
  }) => {
38
44
  // Ensure that columns passed as args comply with the field config, i.e. `hidden`, `disableListColumn`, etc.
39
45
  let columnState;
40
46
  let clientFields = clientCollectionConfig?.fields || [];
41
47
  let serverFields = collectionConfig?.fields || [];
42
48
  const isPolymorphic = collections;
49
+ const isGroupingBy = Boolean(collectionConfig?.admin?.groupBy && query?.groupBy);
43
50
  if (isPolymorphic) {
44
51
  clientFields = [];
45
52
  serverFields = [];
@@ -81,21 +88,22 @@ export const renderTable = ({
81
88
  customCellProps,
82
89
  payload,
83
90
  serverFields,
84
- useAsTitle
91
+ useAsTitle,
92
+ viewType
85
93
  };
86
94
  if (isPolymorphic) {
87
95
  columnState = buildColumnState({
88
96
  ...sharedArgs,
89
97
  collectionSlug: undefined,
90
98
  dataType: 'polymorphic',
91
- docs
99
+ docs: data.docs
92
100
  });
93
101
  } else {
94
102
  columnState = buildColumnState({
95
103
  ...sharedArgs,
96
104
  collectionSlug: clientCollectionConfig.slug,
97
105
  dataType: 'monomorphic',
98
- docs
106
+ docs: data.docs
99
107
  });
100
108
  }
101
109
  const columnsToUse = [...columnState];
@@ -110,7 +118,7 @@ export const renderTable = ({
110
118
  hidden: true
111
119
  },
112
120
  Heading: i18n.t('version:type'),
113
- renderedCells: docs.map((doc, i) => /*#__PURE__*/_jsx(Pill, {
121
+ renderedCells: data.docs.map((doc, i) => /*#__PURE__*/_jsx(Pill, {
114
122
  size: "small",
115
123
  children: getTranslation(collections ? payload.collections[doc.relationTo].config.labels.singular : clientCollectionConfig.labels.singular, i18n)
116
124
  }, i))
@@ -127,20 +135,50 @@ export const renderTable = ({
127
135
  hidden: true
128
136
  },
129
137
  Heading: /*#__PURE__*/_jsx(SelectAll, {}),
130
- renderedCells: docs.map((_, i) => /*#__PURE__*/_jsx(SelectRow, {
131
- rowData: docs[i]
138
+ renderedCells: data.docs.map((_, i) => /*#__PURE__*/_jsx(SelectRow, {
139
+ rowData: data.docs[i]
132
140
  }, i))
133
141
  });
134
142
  }
143
+ if (isGroupingBy) {
144
+ return {
145
+ columnState,
146
+ // key is required since Next.js 15.2.0 to prevent React key error
147
+ Table: /*#__PURE__*/_jsx("div", {
148
+ className: ['table-wrap', groupByValue !== undefined && `table-wrap--group-by`].filter(Boolean).join(' '),
149
+ children: /*#__PURE__*/_jsxs(SelectionProvider, {
150
+ docs: data.docs,
151
+ totalDocs: data.totalDocs,
152
+ children: [/*#__PURE__*/_jsx(GroupByHeader, {
153
+ collectionConfig: clientCollectionConfig,
154
+ groupByFieldPath: groupByFieldPath,
155
+ groupByValue: groupByValue,
156
+ heading: heading
157
+ }), /*#__PURE__*/_jsx(Table, {
158
+ appearance: tableAppearance,
159
+ columns: columnsToUse,
160
+ data: data.docs
161
+ }), /*#__PURE__*/_jsx(GroupByPageControls, {
162
+ collectionConfig: clientCollectionConfig,
163
+ data: data,
164
+ groupByValue: groupByValue
165
+ })]
166
+ })
167
+ }, key)
168
+ };
169
+ }
135
170
  if (!orderableFieldName) {
136
171
  return {
137
172
  columnState,
138
173
  // key is required since Next.js 15.2.0 to prevent React key error
139
- Table: /*#__PURE__*/_jsx(Table, {
140
- appearance: tableAppearance,
141
- columns: columnsToUse,
142
- data: docs
143
- }, "table")
174
+ Table: /*#__PURE__*/_jsx("div", {
175
+ className: "table-wrap",
176
+ children: /*#__PURE__*/_jsx(Table, {
177
+ appearance: tableAppearance,
178
+ columns: columnsToUse,
179
+ data: data.docs
180
+ })
181
+ }, key)
144
182
  };
145
183
  }
146
184
  columnsToUse.unshift({
@@ -153,17 +191,20 @@ export const renderTable = ({
153
191
  hidden: true
154
192
  },
155
193
  Heading: /*#__PURE__*/_jsx(SortHeader, {}),
156
- renderedCells: docs.map((_, i) => /*#__PURE__*/_jsx(SortRow, {}, i))
194
+ renderedCells: data.docs.map((_, i) => /*#__PURE__*/_jsx(SortRow, {}, i))
157
195
  });
158
196
  return {
159
197
  columnState,
160
198
  // key is required since Next.js 15.2.0 to prevent React key error
161
- Table: /*#__PURE__*/_jsx(OrderableTable, {
162
- appearance: tableAppearance,
163
- collection: clientCollectionConfig,
164
- columns: columnsToUse,
165
- data: docs
166
- }, "table")
199
+ Table: /*#__PURE__*/_jsx("div", {
200
+ className: "table-wrap",
201
+ children: /*#__PURE__*/_jsx(OrderableTable, {
202
+ appearance: tableAppearance,
203
+ collection: clientCollectionConfig,
204
+ columns: columnsToUse,
205
+ data: data.docs
206
+ })
207
+ }, key)
167
208
  };
168
209
  };
169
210
  //# sourceMappingURL=renderTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderTable.js","names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","flattenTopLevelFields","React","RenderServerComponent","OrderableTable","Pill","SelectAll","SelectRow","SortHeader","SortRow","Table","filterFields","buildColumnState","getInitialColumns","renderFilters","fields","importMap","reduce","acc","field","admin","components","Filter","set","name","Component","Map","renderTable","clientCollectionConfig","clientConfig","collectionConfig","collections","columns","columnsFromArgs","customCellProps","docs","enableRowSelections","i18n","orderableFieldName","payload","renderRowTypes","tableAppearance","useAsTitle","columnState","clientFields","serverFields","isPolymorphic","collection","find","each","slug","some","push","serverCollectionConfig","config","filter","column","keepPresentationalFields","moveSubFieldsToTop","accessor","undefined","defaultColumns","sharedArgs","collectionSlug","dataType","columnsToUse","unshift","active","disabled","hidden","Heading","t","renderedCells","map","doc","i","_jsx","size","relationTo","labels","singular","_","rowData","appearance","data"],"sources":["../../src/utilities/renderTable.tsx"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n CollectionConfig,\n CollectionPreferences,\n Column,\n ColumnPreference,\n Field,\n ImportMap,\n PaginatedDocs,\n Payload,\n SanitizedCollectionConfig,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled, flattenTopLevelFields } from 'payload/shared'\nimport React from 'react'\n\nimport type { BuildColumnStateArgs } from '../providers/TableColumns/buildColumnState/index.js'\n\nimport { RenderServerComponent } from '../elements/RenderServerComponent/index.js'\nimport {\n OrderableTable,\n Pill,\n SelectAll,\n SelectRow,\n SortHeader,\n SortRow,\n Table,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- these MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../exports/client/index.js'\nimport { filterFields } from '../providers/TableColumns/buildColumnState/filterFields.js'\nimport { buildColumnState } from '../providers/TableColumns/buildColumnState/index.js'\nimport { getInitialColumns } from '../providers/TableColumns/getInitialColumns.js'\n\nexport const renderFilters = (\n fields: Field[],\n importMap: ImportMap,\n): Map<string, React.ReactNode> =>\n fields.reduce(\n (acc, field) => {\n if (fieldIsHiddenOrDisabled(field)) {\n return acc\n }\n\n if ('name' in field && field.admin?.components?.Filter) {\n acc.set(\n field.name,\n RenderServerComponent({\n Component: field.admin.components?.Filter,\n importMap,\n }),\n )\n }\n\n return acc\n },\n new Map() as Map<string, React.ReactNode>,\n )\n\nexport const renderTable = ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collections,\n columns: columnsFromArgs,\n customCellProps,\n docs,\n enableRowSelections,\n i18n,\n orderableFieldName,\n payload,\n renderRowTypes,\n tableAppearance,\n useAsTitle,\n}: {\n clientCollectionConfig?: ClientCollectionConfig\n clientConfig?: ClientConfig\n collectionConfig?: SanitizedCollectionConfig\n collections?: string[]\n columns?: CollectionPreferences['columns']\n customCellProps?: Record<string, unknown>\n docs: PaginatedDocs['docs']\n drawerSlug?: string\n enableRowSelections: boolean\n i18n: I18nClient\n orderableFieldName: string\n payload: Payload\n renderRowTypes?: boolean\n tableAppearance?: 'condensed' | 'default'\n useAsTitle: CollectionConfig['admin']['useAsTitle']\n}): {\n columnState: Column[]\n Table: React.ReactNode\n} => {\n // Ensure that columns passed as args comply with the field config, i.e. `hidden`, `disableListColumn`, etc.\n\n let columnState: Column[]\n let clientFields: ClientField[] = clientCollectionConfig?.fields || []\n let serverFields: Field[] = collectionConfig?.fields || []\n const isPolymorphic = collections\n\n if (isPolymorphic) {\n clientFields = []\n serverFields = []\n for (const collection of collections) {\n const clientCollectionConfig = clientConfig.collections.find(\n (each) => each.slug === collection,\n )\n for (const field of filterFields(clientCollectionConfig.fields)) {\n if (fieldAffectsData(field)) {\n if (clientFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n clientFields.push(field)\n }\n\n const serverCollectionConfig = payload.collections[collection].config\n for (const field of filterFields(serverCollectionConfig.fields)) {\n if (fieldAffectsData(field)) {\n if (serverFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n serverFields.push(field)\n }\n }\n }\n\n const columns: ColumnPreference[] = columnsFromArgs\n ? columnsFromArgs?.filter((column) =>\n flattenTopLevelFields(clientFields, {\n i18n,\n keepPresentationalFields: true,\n moveSubFieldsToTop: true,\n })?.some((field) => {\n const accessor =\n 'accessor' in field ? field.accessor : 'name' in field ? field.name : undefined\n return accessor === column.accessor\n }),\n )\n : getInitialColumns(\n isPolymorphic ? clientFields : filterFields(clientFields),\n useAsTitle,\n isPolymorphic ? [] : clientCollectionConfig?.admin?.defaultColumns,\n )\n\n const sharedArgs: Pick<\n BuildColumnStateArgs,\n | 'clientFields'\n | 'columns'\n | 'customCellProps'\n | 'enableRowSelections'\n | 'i18n'\n | 'payload'\n | 'serverFields'\n | 'useAsTitle'\n > = {\n clientFields,\n columns,\n enableRowSelections,\n i18n,\n // sortColumnProps,\n customCellProps,\n payload,\n serverFields,\n useAsTitle,\n }\n\n if (isPolymorphic) {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: undefined,\n dataType: 'polymorphic',\n docs,\n })\n } else {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: clientCollectionConfig.slug,\n dataType: 'monomorphic',\n docs,\n })\n }\n\n const columnsToUse = [...columnState]\n\n if (renderRowTypes) {\n columnsToUse.unshift({\n accessor: 'collection',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: i18n.t('version:type'),\n renderedCells: docs.map((doc, i) => (\n <Pill key={i} size=\"small\">\n {getTranslation(\n collections\n ? payload.collections[doc.relationTo].config.labels.singular\n : clientCollectionConfig.labels.singular,\n i18n,\n )}\n </Pill>\n )),\n } as Column)\n }\n\n if (enableRowSelections) {\n columnsToUse.unshift({\n accessor: '_select',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SelectAll />,\n renderedCells: docs.map((_, i) => <SelectRow key={i} rowData={docs[i]} />),\n } as Column)\n }\n\n if (!orderableFieldName) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: <Table appearance={tableAppearance} columns={columnsToUse} data={docs} key=\"table\" />,\n }\n }\n\n columnsToUse.unshift({\n accessor: '_dragHandle',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SortHeader />,\n renderedCells: docs.map((_, i) => <SortRow key={i} />),\n } as Column)\n\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <OrderableTable\n appearance={tableAppearance}\n collection={clientCollectionConfig}\n columns={columnsToUse}\n data={docs}\n key=\"table\"\n />\n ),\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"renderTable.js","names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","flattenTopLevelFields","React","RenderServerComponent","GroupByHeader","GroupByPageControls","OrderableTable","Pill","SelectAll","SelectionProvider","SelectRow","SortHeader","SortRow","Table","filterFields","buildColumnState","getInitialColumns","renderFilters","fields","importMap","reduce","acc","field","admin","components","Filter","set","name","Component","Map","renderTable","clientCollectionConfig","clientConfig","collectionConfig","collections","columns","columnsFromArgs","customCellProps","data","enableRowSelections","groupByFieldPath","groupByValue","heading","i18n","key","orderableFieldName","payload","query","renderRowTypes","tableAppearance","useAsTitle","viewType","columnState","clientFields","serverFields","isPolymorphic","isGroupingBy","Boolean","groupBy","collection","find","each","slug","some","push","serverCollectionConfig","config","filter","column","keepPresentationalFields","moveSubFieldsToTop","accessor","undefined","defaultColumns","sharedArgs","collectionSlug","dataType","docs","columnsToUse","unshift","active","disabled","hidden","Heading","t","renderedCells","map","doc","i","_jsx","size","relationTo","labels","singular","_","rowData","className","join","_jsxs","totalDocs","appearance"],"sources":["../../src/utilities/renderTable.tsx"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n CollectionConfig,\n CollectionPreferences,\n Column,\n ColumnPreference,\n Field,\n ImportMap,\n ListQuery,\n PaginatedDocs,\n Payload,\n SanitizedCollectionConfig,\n ViewTypes,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled, flattenTopLevelFields } from 'payload/shared'\nimport React from 'react'\n\nimport type { BuildColumnStateArgs } from '../providers/TableColumns/buildColumnState/index.js'\n\nimport { RenderServerComponent } from '../elements/RenderServerComponent/index.js'\nimport {\n GroupByHeader,\n GroupByPageControls,\n OrderableTable,\n Pill,\n SelectAll,\n SelectionProvider,\n SelectRow,\n SortHeader,\n SortRow,\n Table,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- these MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../exports/client/index.js'\nimport { filterFields } from '../providers/TableColumns/buildColumnState/filterFields.js'\nimport { buildColumnState } from '../providers/TableColumns/buildColumnState/index.js'\nimport { getInitialColumns } from '../providers/TableColumns/getInitialColumns.js'\n\nexport const renderFilters = (\n fields: Field[],\n importMap: ImportMap,\n): Map<string, React.ReactNode> =>\n fields.reduce(\n (acc, field) => {\n if (fieldIsHiddenOrDisabled(field)) {\n return acc\n }\n\n if ('name' in field && field.admin?.components?.Filter) {\n acc.set(\n field.name,\n RenderServerComponent({\n Component: field.admin.components?.Filter,\n importMap,\n }),\n )\n }\n\n return acc\n },\n new Map() as Map<string, React.ReactNode>,\n )\n\nexport const renderTable = ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collections,\n columns: columnsFromArgs,\n customCellProps,\n data,\n enableRowSelections,\n groupByFieldPath,\n groupByValue,\n heading,\n i18n,\n key = 'table',\n orderableFieldName,\n payload,\n query,\n renderRowTypes,\n tableAppearance,\n useAsTitle,\n viewType,\n}: {\n clientCollectionConfig?: ClientCollectionConfig\n clientConfig?: ClientConfig\n collectionConfig?: SanitizedCollectionConfig\n collections?: string[]\n columns?: CollectionPreferences['columns']\n customCellProps?: Record<string, unknown>\n data: PaginatedDocs\n drawerSlug?: string\n enableRowSelections: boolean\n groupByFieldPath?: string\n groupByValue?: string\n heading?: string\n i18n: I18nClient\n key?: string\n orderableFieldName: string\n payload: Payload\n query?: ListQuery\n renderRowTypes?: boolean\n tableAppearance?: 'condensed' | 'default'\n useAsTitle: CollectionConfig['admin']['useAsTitle']\n viewType?: ViewTypes\n}): {\n columnState: Column[]\n Table: React.ReactNode\n} => {\n // Ensure that columns passed as args comply with the field config, i.e. `hidden`, `disableListColumn`, etc.\n\n let columnState: Column[]\n let clientFields: ClientField[] = clientCollectionConfig?.fields || []\n let serverFields: Field[] = collectionConfig?.fields || []\n const isPolymorphic = collections\n\n const isGroupingBy = Boolean(collectionConfig?.admin?.groupBy && query?.groupBy)\n\n if (isPolymorphic) {\n clientFields = []\n serverFields = []\n for (const collection of collections) {\n const clientCollectionConfig = clientConfig.collections.find(\n (each) => each.slug === collection,\n )\n for (const field of filterFields(clientCollectionConfig.fields)) {\n if (fieldAffectsData(field)) {\n if (clientFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n clientFields.push(field)\n }\n\n const serverCollectionConfig = payload.collections[collection].config\n for (const field of filterFields(serverCollectionConfig.fields)) {\n if (fieldAffectsData(field)) {\n if (serverFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n serverFields.push(field)\n }\n }\n }\n\n const columns: ColumnPreference[] = columnsFromArgs\n ? columnsFromArgs?.filter((column) =>\n flattenTopLevelFields(clientFields, {\n i18n,\n keepPresentationalFields: true,\n moveSubFieldsToTop: true,\n })?.some((field) => {\n const accessor =\n 'accessor' in field ? field.accessor : 'name' in field ? field.name : undefined\n return accessor === column.accessor\n }),\n )\n : getInitialColumns(\n isPolymorphic ? clientFields : filterFields(clientFields),\n useAsTitle,\n isPolymorphic ? [] : clientCollectionConfig?.admin?.defaultColumns,\n )\n\n const sharedArgs: Pick<\n BuildColumnStateArgs,\n | 'clientFields'\n | 'columns'\n | 'customCellProps'\n | 'enableRowSelections'\n | 'i18n'\n | 'payload'\n | 'serverFields'\n | 'useAsTitle'\n | 'viewType'\n > = {\n clientFields,\n columns,\n enableRowSelections,\n i18n,\n // sortColumnProps,\n customCellProps,\n payload,\n serverFields,\n useAsTitle,\n viewType,\n }\n\n if (isPolymorphic) {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: undefined,\n dataType: 'polymorphic',\n docs: data.docs,\n })\n } else {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: clientCollectionConfig.slug,\n dataType: 'monomorphic',\n docs: data.docs,\n })\n }\n\n const columnsToUse = [...columnState]\n\n if (renderRowTypes) {\n columnsToUse.unshift({\n accessor: 'collection',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: i18n.t('version:type'),\n renderedCells: data.docs.map((doc, i) => (\n <Pill key={i} size=\"small\">\n {getTranslation(\n collections\n ? payload.collections[doc.relationTo].config.labels.singular\n : clientCollectionConfig.labels.singular,\n i18n,\n )}\n </Pill>\n )),\n } as Column)\n }\n\n if (enableRowSelections) {\n columnsToUse.unshift({\n accessor: '_select',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SelectAll />,\n renderedCells: data.docs.map((_, i) => <SelectRow key={i} rowData={data.docs[i]} />),\n } as Column)\n }\n\n if (isGroupingBy) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div\n className={['table-wrap', groupByValue !== undefined && `table-wrap--group-by`]\n .filter(Boolean)\n .join(' ')}\n key={key}\n >\n <SelectionProvider docs={data.docs} totalDocs={data.totalDocs}>\n <GroupByHeader\n collectionConfig={clientCollectionConfig}\n groupByFieldPath={groupByFieldPath}\n groupByValue={groupByValue}\n heading={heading}\n />\n <Table appearance={tableAppearance} columns={columnsToUse} data={data.docs} />\n <GroupByPageControls\n collectionConfig={clientCollectionConfig}\n data={data}\n groupByValue={groupByValue}\n />\n </SelectionProvider>\n </div>\n ),\n }\n }\n\n if (!orderableFieldName) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div className=\"table-wrap\" key={key}>\n <Table appearance={tableAppearance} columns={columnsToUse} data={data.docs} />\n </div>\n ),\n }\n }\n\n columnsToUse.unshift({\n accessor: '_dragHandle',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SortHeader />,\n renderedCells: data.docs.map((_, i) => <SortRow key={i} />),\n } as Column)\n\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div className=\"table-wrap\" key={key}>\n <OrderableTable\n appearance={tableAppearance}\n collection={clientCollectionConfig}\n columns={columnsToUse}\n data={data.docs}\n />\n </div>\n ),\n }\n}\n"],"mappings":"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","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,CAuJtD,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,CAwJtD,CAAA"}
@@ -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 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","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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/CollectionFolder/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAmB,MAAM,OAAO,CAAA;AA2BvC,OAAO,cAAc,CAAA;AAIrB,wBAAgB,2BAA2B,CAAC,EAC1C,wBAAwB,EAAE,qBAAqB,EAC/C,0BAA0B,EAC1B,cAAc,EACd,WAAW,EACX,SAAS,EACT,eAAe,EACf,QAAQ,EACR,sBAAsB,EACtB,MAAM,EACN,IAAI,EACJ,UAAU,EACV,GAAG,WAAW,EACf,EAAE,yBAAyB,qBAkB3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/CollectionFolder/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAyBvC,OAAO,cAAc,CAAA;AAQrB,wBAAgB,2BAA2B,CAAC,EAC1C,wBAAwB,EAAE,qBAAqB,EAC/C,0BAA0B,EAC1B,cAAc,EACd,WAAW,EACX,SAAS,EACT,eAAe,EACf,QAAQ,EACR,sBAAsB,EACtB,MAAM,EACN,IAAI,EACJ,UAAU,EACV,GAAG,WAAW,EACf,EAAE,yBAAyB,qBAkB3B"}
@@ -14,9 +14,11 @@ import { DragOverlaySelection } from '../../elements/FolderView/DragOverlaySelec
14
14
  import { SortByPill } from '../../elements/FolderView/SortByPill/index.js';
15
15
  import { ToggleViewButtons } from '../../elements/FolderView/ToggleViewButtons/index.js';
16
16
  import { Gutter } from '../../elements/Gutter/index.js';
17
- import { ListFolderPills } from '../../elements/ListFolderPills/index.js';
18
17
  import { ListHeader } from '../../elements/ListHeader/index.js';
19
18
  import { ListBulkUploadButton, ListCreateNewDocInFolderButton } from '../../elements/ListHeader/TitleActions/index.js';
19
+ import { ByFolderPill } from '../../elements/ListHeaderTabs/ByFolderPill.js';
20
+ import { DefaultListPill } from '../../elements/ListHeaderTabs/DefaultListPill.js';
21
+ import { TrashPill } from '../../elements/ListHeaderTabs/TrashPill.js';
20
22
  import { NoListResults } from '../../elements/NoListResults/index.js';
21
23
  import { SearchBar } from '../../elements/SearchBar/index.js';
22
24
  import { useStepNav } from '../../elements/StepNav/index.js';
@@ -25,11 +27,11 @@ import { useEditDepth } from '../../providers/EditDepth/index.js';
25
27
  import { FolderProvider, useFolder } from '../../providers/Folders/index.js';
26
28
  import { usePreferences } from '../../providers/Preferences/index.js';
27
29
  import { useRouteCache } from '../../providers/RouteCache/index.js';
30
+ import './index.scss';
28
31
  import { useRouteTransition } from '../../providers/RouteTransition/index.js';
29
32
  import { useTranslation } from '../../providers/Translation/index.js';
30
33
  import { useWindowInfo } from '../../providers/WindowInfo/index.js';
31
34
  import { ListSelection } from './ListSelection/index.js';
32
- import './index.scss';
33
35
  const baseClass = 'collection-folder-list';
34
36
  export function DefaultCollectionFolderView({
35
37
  allCollectionFolderSlugs: folderCollectionSlugs,
@@ -262,11 +264,19 @@ function CollectionFolderViewInContext(props) {
262
264
  disableBulkDelete,
263
265
  disableBulkEdit: collectionConfig.disableBulkEdit ?? disableBulkEdit,
264
266
  folderAssignedCollections: Array.isArray(folderType) ? folderType : [collectionSlug]
265
- }, "list-selection"), config.folders && collectionConfig.folders && _jsx(ListFolderPills, {
267
+ }, "list-selection"), config.folders && collectionConfig.folders && _jsxs(Fragment, {
268
+ children: [_jsx(DefaultListPill, {
269
+ collectionConfig,
270
+ viewType: "folders"
271
+ }, "list-header-default-button"), _jsx(ByFolderPill, {
272
+ collectionConfig,
273
+ folderCollectionSlug,
274
+ viewType: "folders"
275
+ }, "list-header-by-folder-button")]
276
+ }, "list-header-folder-view-buttons"), collectionConfig.trash && _jsx(TrashPill, {
266
277
  collectionConfig,
267
- folderCollectionSlug,
268
278
  viewType: "folders"
269
- }, "list-header-buttons")].filter(Boolean),
279
+ }, "list-header-trash-button")].filter(Boolean),
270
280
  AfterListHeaderContent: Description,
271
281
  title: getTranslation(labels?.plural, i18n),
272
282
  TitleActions: [allowCreateCollectionSlugs.length && _jsx(ListCreateNewDocInFolderButton, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useDndMonitor","getTranslation","useRouter","formatAdminURL","React","Fragment","DroppableBreadcrumb","ColoredFolderIcon","CurrentFolderActions","DragOverlaySelection","SortByPill","ToggleViewButtons","Gutter","ListFolderPills","ListHeader","ListBulkUploadButton","ListCreateNewDocInFolderButton","NoListResults","SearchBar","useStepNav","useConfig","useEditDepth","FolderProvider","useFolder","usePreferences","useRouteCache","useRouteTransition","useTranslation","useWindowInfo","ListSelection","baseClass","DefaultCollectionFolderView","allCollectionFolderSlugs","folderCollectionSlugs","allowCreateCollectionSlugs","baseFolderPath","breadcrumbs","documents","folderFieldName","folderID","FolderResultsComponent","search","sort","subfolders","restOfProps","_jsx","CollectionFolderViewInContext","props","$","AfterFolderList","AfterFolderListTable","BeforeFolderList","BeforeFolderListTable","collectionSlug","Description","disableBulkDelete","disableBulkEdit","viewPreference","config","getEntityConfig","i18n","t","drawerDepth","setStepNav","setPreference","dragOverlayItem","folderCollectionConfig","folderCollectionSlug","folderType","getSelectedItems","moveToFolder","refineFolderData","selectedItemKeys","setIsDragging","router","startRouteTransition","clearRouteCache","collectionConfig","labels","upload","isUploadCollection","Boolean","isBulkUploadEnabled","bulkUpload","breakpoints","t0","s","smallBreak","t1","event","over","data","current","type","itemsToMove","toFolderID","id","t2","error","console","onDragEnd","handleSetViewType","view","plural","t3","folders","routes","admin","useEffect","length","label","_jsxs","className","children","filter","join","onClick","push","adminRoute","path","slug","map","crumb","crumbIndex","name","totalDocsAndSubfolders","t4","search_0","query","updateURL","t5","size","item","selectedCount","DndEventListener","Actions","folderAssignedCollections","Array","isArray","viewType","AfterListHeaderContent","title","TitleActions","buttonLabel","collectionSlugs","onCreateSuccess","slugPrefix","hasCreatePermission","includes","activeView","setActiveView","onSearchChange","searchQueryParam","singular","toLowerCase","Message","onDragCancel","onDragStart"],"sources":["../../../src/views/CollectionFolder/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DragEndEvent } from '@dnd-kit/core'\nimport type { FolderListViewClientProps } from 'payload'\n\nimport { useDndMonitor } from '@dnd-kit/core'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { DroppableBreadcrumb } from '../../elements/FolderView/Breadcrumbs/index.js'\nimport { ColoredFolderIcon } from '../../elements/FolderView/ColoredFolderIcon/index.js'\nimport { CurrentFolderActions } from '../../elements/FolderView/CurrentFolderActions/index.js'\nimport { DragOverlaySelection } from '../../elements/FolderView/DragOverlaySelection/index.js'\nimport { SortByPill } from '../../elements/FolderView/SortByPill/index.js'\nimport { ToggleViewButtons } from '../../elements/FolderView/ToggleViewButtons/index.js'\nimport { Gutter } from '../../elements/Gutter/index.js'\nimport { ListFolderPills } from '../../elements/ListFolderPills/index.js'\nimport { ListHeader } from '../../elements/ListHeader/index.js'\nimport {\n ListBulkUploadButton,\n ListCreateNewDocInFolderButton,\n} from '../../elements/ListHeader/TitleActions/index.js'\nimport { NoListResults } from '../../elements/NoListResults/index.js'\nimport { SearchBar } from '../../elements/SearchBar/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { FolderProvider, useFolder } from '../../providers/Folders/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListSelection } from './ListSelection/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-folder-list'\n\nexport function DefaultCollectionFolderView({\n allCollectionFolderSlugs: folderCollectionSlugs,\n allowCreateCollectionSlugs,\n baseFolderPath,\n breadcrumbs,\n documents,\n folderFieldName,\n folderID,\n FolderResultsComponent,\n search,\n sort,\n subfolders,\n ...restOfProps\n}: FolderListViewClientProps) {\n return (\n <FolderProvider\n allCollectionFolderSlugs={folderCollectionSlugs}\n allowCreateCollectionSlugs={allowCreateCollectionSlugs}\n baseFolderPath={baseFolderPath}\n breadcrumbs={breadcrumbs}\n documents={documents}\n folderFieldName={folderFieldName}\n folderID={folderID}\n FolderResultsComponent={FolderResultsComponent}\n search={search}\n sort={sort}\n subfolders={subfolders}\n >\n <CollectionFolderViewInContext {...restOfProps} />\n </FolderProvider>\n )\n}\n\ntype CollectionFolderViewInContextProps = Omit<\n FolderListViewClientProps,\n | 'allCollectionFolderSlugs'\n | 'allowCreateCollectionSlugs'\n | 'baseFolderPath'\n | 'breadcrumbs'\n | 'documents'\n | 'folderFieldName'\n | 'folderID'\n | 'FolderResultsComponent'\n | 'subfolders'\n>\n\nfunction CollectionFolderViewInContext(props: CollectionFolderViewInContextProps) {\n const {\n AfterFolderList,\n AfterFolderListTable,\n BeforeFolderList,\n BeforeFolderListTable,\n collectionSlug,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n search,\n viewPreference,\n } = props\n\n const { config, getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n const drawerDepth = useEditDepth()\n const { setStepNav } = useStepNav()\n const { setPreference } = usePreferences()\n const {\n allowCreateCollectionSlugs,\n breadcrumbs,\n documents,\n dragOverlayItem,\n folderCollectionConfig,\n folderCollectionSlug,\n FolderResultsComponent,\n folderType,\n getSelectedItems,\n moveToFolder,\n refineFolderData,\n selectedItemKeys,\n setIsDragging,\n subfolders,\n } = useFolder()\n\n const router = useRouter()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { labels, upload } = collectionConfig\n const isUploadCollection = Boolean(upload)\n const isBulkUploadEnabled = isUploadCollection && collectionConfig.upload.bulkUpload\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const onDragEnd = React.useCallback(\n async (event: DragEndEvent) => {\n if (!event.over) {\n return\n }\n\n if (event.over.data.current.type === 'folder' && 'id' in event.over.data.current) {\n try {\n await moveToFolder({\n itemsToMove: getSelectedItems(),\n toFolderID: event.over.data.current.id,\n })\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error moving items:', error)\n }\n\n clearRouteCache()\n }\n },\n [moveToFolder, getSelectedItems, clearRouteCache],\n )\n\n const handleSetViewType = React.useCallback(\n async (view: 'grid' | 'list') => {\n await setPreference(`${collectionSlug}-collection-folder`, {\n viewPreference: view,\n })\n clearRouteCache()\n },\n [collectionSlug, setPreference, clearRouteCache],\n )\n\n React.useEffect(() => {\n if (!drawerDepth) {\n setStepNav([\n !breadcrumbs.length\n ? {\n label: (\n <div className={`${baseClass}__step-nav-icon-label`} key=\"root\">\n <ColoredFolderIcon />\n {getTranslation(labels?.plural, i18n)}\n </div>\n ),\n }\n : {\n label: (\n <DroppableBreadcrumb\n className={[\n `${baseClass}__step-nav-droppable`,\n `${baseClass}__step-nav-icon-label`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={null}\n key=\"root\"\n onClick={() => {\n startRouteTransition(() => {\n if (config.folders) {\n router.push(\n formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionSlug}/${config.folders.slug}`,\n }),\n )\n }\n })\n }}\n >\n <ColoredFolderIcon />\n {getTranslation(labels?.plural, i18n)}\n </DroppableBreadcrumb>\n ),\n },\n ...breadcrumbs.map((crumb, crumbIndex) => {\n return {\n label:\n crumbIndex === breadcrumbs.length - 1 ? (\n crumb.name\n ) : (\n <DroppableBreadcrumb\n className={`${baseClass}__step-nav-droppable`}\n id={crumb.id}\n key={crumb.id}\n onClick={() => {\n startRouteTransition(() => {\n if (config.folders) {\n router.push(\n formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionSlug}/${config.folders.slug}/${crumb.id}`,\n }),\n )\n }\n })\n }}\n >\n {crumb.name}\n </DroppableBreadcrumb>\n ),\n }\n }),\n ])\n }\n }, [\n breadcrumbs,\n collectionSlug,\n config.folders,\n config.routes.admin,\n drawerDepth,\n i18n,\n labels?.plural,\n router,\n setStepNav,\n startRouteTransition,\n ])\n\n const totalDocsAndSubfolders = documents.length + subfolders.length\n\n return (\n <Fragment>\n <DndEventListener onDragEnd={onDragEnd} setIsDragging={setIsDragging} />\n\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n {BeforeFolderList}\n <Gutter className={`${baseClass}__wrap`}>\n <ListHeader\n Actions={[\n !smallBreak && (\n <ListSelection\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={collectionConfig.disableBulkEdit ?? disableBulkEdit}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"list-selection\"\n />\n ),\n config.folders && collectionConfig.folders && (\n <ListFolderPills\n collectionConfig={collectionConfig}\n folderCollectionSlug={folderCollectionSlug}\n key=\"list-header-buttons\"\n viewType=\"folders\"\n />\n ),\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n title={getTranslation(labels?.plural, i18n)}\n TitleActions={[\n allowCreateCollectionSlugs.length && (\n <ListCreateNewDocInFolderButton\n buttonLabel={t('general:createNew')}\n collectionSlugs={allowCreateCollectionSlugs}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"create-new-button\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-document--header-pill\"\n />\n ),\n <ListBulkUploadButton\n collectionSlug={collectionSlug}\n hasCreatePermission={allowCreateCollectionSlugs.includes(collectionSlug)}\n isBulkUploadEnabled={isBulkUploadEnabled}\n key=\"bulk-upload-button\"\n />,\n ].filter(Boolean)}\n />\n <SearchBar\n Actions={[\n <SortByPill key=\"sort-by-pill\" />,\n <ToggleViewButtons\n activeView={viewPreference}\n key=\"toggle-view-buttons\"\n setActiveView={handleSetViewType}\n />,\n <CurrentFolderActions key=\"current-folder-actions\" />,\n ].filter(Boolean)}\n label={t('general:searchBy', {\n label: t('general:name'),\n })}\n onSearchChange={(search) => refineFolderData({ query: { search }, updateURL: true })}\n searchQueryParam={search}\n />\n {BeforeFolderListTable}\n {totalDocsAndSubfolders > 0 && FolderResultsComponent}\n {totalDocsAndSubfolders === 0 && (\n <NoListResults\n Actions={[\n allowCreateCollectionSlugs.includes(folderCollectionSlug) && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`}\n collectionSlugs={[folderCollectionConfig.slug]}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"create-folder\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-folder--no-results\"\n />\n ),\n allowCreateCollectionSlugs.includes(collectionSlug) && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${t('general:document').toLowerCase()}`}\n collectionSlugs={[collectionSlug]}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"create-document\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-document--no-results\"\n />\n ),\n ].filter(Boolean)}\n Message={\n <p>\n {i18n.t('general:noResults', {\n label: `${getTranslation(labels?.plural, i18n)} ${t('general:or').toLowerCase()} ${getTranslation(\n folderCollectionConfig.labels?.plural,\n i18n,\n )}`,\n })}\n </p>\n }\n />\n )}\n {AfterFolderListTable}\n </Gutter>\n {AfterFolderList}\n </div>\n {selectedItemKeys.size > 0 && dragOverlayItem && (\n <DragOverlaySelection item={dragOverlayItem} selectedCount={selectedItemKeys.size} />\n )}\n </Fragment>\n )\n}\n\nfunction DndEventListener({ onDragEnd, setIsDragging }) {\n useDndMonitor({\n onDragCancel() {\n setIsDragging(false)\n },\n onDragEnd(event) {\n setIsDragging(false)\n onDragEnd(event)\n },\n onDragStart() {\n setIsDragging(true)\n },\n })\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useDndMonitor","getTranslation","useRouter","formatAdminURL","React","Fragment","DroppableBreadcrumb","ColoredFolderIcon","CurrentFolderActions","DragOverlaySelection","SortByPill","ToggleViewButtons","Gutter","ListHeader","ListBulkUploadButton","ListCreateNewDocInFolderButton","ByFolderPill","DefaultListPill","TrashPill","NoListResults","SearchBar","useStepNav","useConfig","useEditDepth","FolderProvider","useFolder","usePreferences","useRouteCache","useRouteTransition","useTranslation","useWindowInfo","ListSelection","baseClass","DefaultCollectionFolderView","allCollectionFolderSlugs","folderCollectionSlugs","allowCreateCollectionSlugs","baseFolderPath","breadcrumbs","documents","folderFieldName","folderID","FolderResultsComponent","search","sort","subfolders","restOfProps","_jsx","CollectionFolderViewInContext","props","$","AfterFolderList","AfterFolderListTable","BeforeFolderList","BeforeFolderListTable","collectionSlug","Description","disableBulkDelete","disableBulkEdit","viewPreference","config","getEntityConfig","i18n","t","drawerDepth","setStepNav","setPreference","dragOverlayItem","folderCollectionConfig","folderCollectionSlug","folderType","getSelectedItems","moveToFolder","refineFolderData","selectedItemKeys","setIsDragging","router","startRouteTransition","clearRouteCache","collectionConfig","labels","upload","isUploadCollection","Boolean","isBulkUploadEnabled","bulkUpload","breakpoints","t0","s","smallBreak","t1","event","over","data","current","type","itemsToMove","toFolderID","id","t2","error","console","onDragEnd","handleSetViewType","view","plural","t3","folders","routes","admin","useEffect","length","label","_jsxs","className","children","filter","join","onClick","push","adminRoute","path","slug","map","crumb","crumbIndex","name","totalDocsAndSubfolders","t4","search_0","query","updateURL","t5","size","item","selectedCount","DndEventListener","Actions","folderAssignedCollections","Array","isArray","viewType","trash","AfterListHeaderContent","title","TitleActions","buttonLabel","collectionSlugs","onCreateSuccess","slugPrefix","hasCreatePermission","includes","activeView","setActiveView","onSearchChange","searchQueryParam","singular","toLowerCase","Message","onDragCancel","onDragStart"],"sources":["../../../src/views/CollectionFolder/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DragEndEvent } from '@dnd-kit/core'\nimport type { FolderListViewClientProps } from 'payload'\n\nimport { useDndMonitor } from '@dnd-kit/core'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { DroppableBreadcrumb } from '../../elements/FolderView/Breadcrumbs/index.js'\nimport { ColoredFolderIcon } from '../../elements/FolderView/ColoredFolderIcon/index.js'\nimport { CurrentFolderActions } from '../../elements/FolderView/CurrentFolderActions/index.js'\nimport { DragOverlaySelection } from '../../elements/FolderView/DragOverlaySelection/index.js'\nimport { SortByPill } from '../../elements/FolderView/SortByPill/index.js'\nimport { ToggleViewButtons } from '../../elements/FolderView/ToggleViewButtons/index.js'\nimport { Gutter } from '../../elements/Gutter/index.js'\nimport { ListHeader } from '../../elements/ListHeader/index.js'\nimport {\n ListBulkUploadButton,\n ListCreateNewDocInFolderButton,\n} from '../../elements/ListHeader/TitleActions/index.js'\nimport { ByFolderPill } from '../../elements/ListHeaderTabs/ByFolderPill.js'\nimport { DefaultListPill } from '../../elements/ListHeaderTabs/DefaultListPill.js'\nimport { TrashPill } from '../../elements/ListHeaderTabs/TrashPill.js'\nimport { NoListResults } from '../../elements/NoListResults/index.js'\nimport { SearchBar } from '../../elements/SearchBar/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { FolderProvider, useFolder } from '../../providers/Folders/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport './index.scss'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListSelection } from './ListSelection/index.js'\n\nconst baseClass = 'collection-folder-list'\n\nexport function DefaultCollectionFolderView({\n allCollectionFolderSlugs: folderCollectionSlugs,\n allowCreateCollectionSlugs,\n baseFolderPath,\n breadcrumbs,\n documents,\n folderFieldName,\n folderID,\n FolderResultsComponent,\n search,\n sort,\n subfolders,\n ...restOfProps\n}: FolderListViewClientProps) {\n return (\n <FolderProvider\n allCollectionFolderSlugs={folderCollectionSlugs}\n allowCreateCollectionSlugs={allowCreateCollectionSlugs}\n baseFolderPath={baseFolderPath}\n breadcrumbs={breadcrumbs}\n documents={documents}\n folderFieldName={folderFieldName}\n folderID={folderID}\n FolderResultsComponent={FolderResultsComponent}\n search={search}\n sort={sort}\n subfolders={subfolders}\n >\n <CollectionFolderViewInContext {...restOfProps} />\n </FolderProvider>\n )\n}\n\ntype CollectionFolderViewInContextProps = Omit<\n FolderListViewClientProps,\n | 'allCollectionFolderSlugs'\n | 'allowCreateCollectionSlugs'\n | 'baseFolderPath'\n | 'breadcrumbs'\n | 'documents'\n | 'folderFieldName'\n | 'folderID'\n | 'FolderResultsComponent'\n | 'subfolders'\n>\n\nfunction CollectionFolderViewInContext(props: CollectionFolderViewInContextProps) {\n const {\n AfterFolderList,\n AfterFolderListTable,\n BeforeFolderList,\n BeforeFolderListTable,\n collectionSlug,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n search,\n viewPreference,\n } = props\n\n const { config, getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n const drawerDepth = useEditDepth()\n const { setStepNav } = useStepNav()\n const { setPreference } = usePreferences()\n const {\n allowCreateCollectionSlugs,\n breadcrumbs,\n documents,\n dragOverlayItem,\n folderCollectionConfig,\n folderCollectionSlug,\n FolderResultsComponent,\n folderType,\n getSelectedItems,\n moveToFolder,\n refineFolderData,\n selectedItemKeys,\n setIsDragging,\n subfolders,\n } = useFolder()\n\n const router = useRouter()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { labels, upload } = collectionConfig\n const isUploadCollection = Boolean(upload)\n const isBulkUploadEnabled = isUploadCollection && collectionConfig.upload.bulkUpload\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const onDragEnd = React.useCallback(\n async (event: DragEndEvent) => {\n if (!event.over) {\n return\n }\n\n if (event.over.data.current.type === 'folder' && 'id' in event.over.data.current) {\n try {\n await moveToFolder({\n itemsToMove: getSelectedItems(),\n toFolderID: event.over.data.current.id,\n })\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error moving items:', error)\n }\n\n clearRouteCache()\n }\n },\n [moveToFolder, getSelectedItems, clearRouteCache],\n )\n\n const handleSetViewType = React.useCallback(\n async (view: 'grid' | 'list') => {\n await setPreference(`${collectionSlug}-collection-folder`, {\n viewPreference: view,\n })\n clearRouteCache()\n },\n [collectionSlug, setPreference, clearRouteCache],\n )\n\n React.useEffect(() => {\n if (!drawerDepth) {\n setStepNav([\n !breadcrumbs.length\n ? {\n label: (\n <div className={`${baseClass}__step-nav-icon-label`} key=\"root\">\n <ColoredFolderIcon />\n {getTranslation(labels?.plural, i18n)}\n </div>\n ),\n }\n : {\n label: (\n <DroppableBreadcrumb\n className={[\n `${baseClass}__step-nav-droppable`,\n `${baseClass}__step-nav-icon-label`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={null}\n key=\"root\"\n onClick={() => {\n startRouteTransition(() => {\n if (config.folders) {\n router.push(\n formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionSlug}/${config.folders.slug}`,\n }),\n )\n }\n })\n }}\n >\n <ColoredFolderIcon />\n {getTranslation(labels?.plural, i18n)}\n </DroppableBreadcrumb>\n ),\n },\n ...breadcrumbs.map((crumb, crumbIndex) => {\n return {\n label:\n crumbIndex === breadcrumbs.length - 1 ? (\n crumb.name\n ) : (\n <DroppableBreadcrumb\n className={`${baseClass}__step-nav-droppable`}\n id={crumb.id}\n key={crumb.id}\n onClick={() => {\n startRouteTransition(() => {\n if (config.folders) {\n router.push(\n formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionSlug}/${config.folders.slug}/${crumb.id}`,\n }),\n )\n }\n })\n }}\n >\n {crumb.name}\n </DroppableBreadcrumb>\n ),\n }\n }),\n ])\n }\n }, [\n breadcrumbs,\n collectionSlug,\n config.folders,\n config.routes.admin,\n drawerDepth,\n i18n,\n labels?.plural,\n router,\n setStepNav,\n startRouteTransition,\n ])\n\n const totalDocsAndSubfolders = documents.length + subfolders.length\n\n return (\n <Fragment>\n <DndEventListener onDragEnd={onDragEnd} setIsDragging={setIsDragging} />\n\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n {BeforeFolderList}\n <Gutter className={`${baseClass}__wrap`}>\n <ListHeader\n Actions={[\n !smallBreak && (\n <ListSelection\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={collectionConfig.disableBulkEdit ?? disableBulkEdit}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"list-selection\"\n />\n ),\n config.folders && collectionConfig.folders && (\n <Fragment key=\"list-header-folder-view-buttons\">\n <DefaultListPill\n collectionConfig={collectionConfig}\n key=\"list-header-default-button\"\n viewType=\"folders\"\n />\n <ByFolderPill\n collectionConfig={collectionConfig}\n folderCollectionSlug={folderCollectionSlug}\n key=\"list-header-by-folder-button\"\n viewType=\"folders\"\n />\n </Fragment>\n ),\n collectionConfig.trash && (\n <TrashPill\n collectionConfig={collectionConfig}\n key=\"list-header-trash-button\"\n viewType=\"folders\"\n />\n ),\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n title={getTranslation(labels?.plural, i18n)}\n TitleActions={[\n allowCreateCollectionSlugs.length && (\n <ListCreateNewDocInFolderButton\n buttonLabel={t('general:createNew')}\n collectionSlugs={allowCreateCollectionSlugs}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"create-new-button\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-document--header-pill\"\n />\n ),\n <ListBulkUploadButton\n collectionSlug={collectionSlug}\n hasCreatePermission={allowCreateCollectionSlugs.includes(collectionSlug)}\n isBulkUploadEnabled={isBulkUploadEnabled}\n key=\"bulk-upload-button\"\n />,\n ].filter(Boolean)}\n />\n <SearchBar\n Actions={[\n <SortByPill key=\"sort-by-pill\" />,\n <ToggleViewButtons\n activeView={viewPreference}\n key=\"toggle-view-buttons\"\n setActiveView={handleSetViewType}\n />,\n <CurrentFolderActions key=\"current-folder-actions\" />,\n ].filter(Boolean)}\n label={t('general:searchBy', {\n label: t('general:name'),\n })}\n onSearchChange={(search) => refineFolderData({ query: { search }, updateURL: true })}\n searchQueryParam={search}\n />\n {BeforeFolderListTable}\n {totalDocsAndSubfolders > 0 && FolderResultsComponent}\n {totalDocsAndSubfolders === 0 && (\n <NoListResults\n Actions={[\n allowCreateCollectionSlugs.includes(folderCollectionSlug) && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`}\n collectionSlugs={[folderCollectionConfig.slug]}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"create-folder\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-folder--no-results\"\n />\n ),\n allowCreateCollectionSlugs.includes(collectionSlug) && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${t('general:document').toLowerCase()}`}\n collectionSlugs={[collectionSlug]}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"create-document\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-document--no-results\"\n />\n ),\n ].filter(Boolean)}\n Message={\n <p>\n {i18n.t('general:noResults', {\n label: `${getTranslation(labels?.plural, i18n)} ${t('general:or').toLowerCase()} ${getTranslation(\n folderCollectionConfig.labels?.plural,\n i18n,\n )}`,\n })}\n </p>\n }\n />\n )}\n {AfterFolderListTable}\n </Gutter>\n {AfterFolderList}\n </div>\n {selectedItemKeys.size > 0 && dragOverlayItem && (\n <DragOverlaySelection item={dragOverlayItem} selectedCount={selectedItemKeys.size} />\n )}\n </Fragment>\n )\n}\n\nfunction DndEventListener({ onDragEnd, setIsDragging }) {\n useDndMonitor({\n onDragCancel() {\n setIsDragging(false)\n },\n onDragEnd(event) {\n setIsDragging(false)\n onDragEnd(event)\n },\n onDragStart() {\n setIsDragging(true)\n },\n })\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -48,7 +48,8 @@ export const Auth = props => {
48
48
  const {
49
49
  docPermissions,
50
50
  isEditing,
51
- isInitializing
51
+ isInitializing,
52
+ isTrashed
52
53
  } = useDocumentInfo();
53
54
  const {
54
55
  config: t0
@@ -117,7 +118,7 @@ export const Auth = props => {
117
118
  }
118
119
  }
119
120
  const enableFields = (!disableLocalStrategy || typeof disableLocalStrategy === "object" && disableLocalStrategy.enableFields === true) && (showUnlock || showPasswordFields);
120
- const disabled = readOnly || isInitializing;
121
+ const disabled = readOnly || isInitializing || isTrashed;
121
122
  const apiKeyPermissions = docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey;
122
123
  const apiKeyReadOnly = readOnly || apiKeyPermissions === true || apiKeyPermissions && typeof apiKeyPermissions === "object" && !apiKeyPermissions?.update;
123
124
  const enableAPIKeyReadOnly = readOnly || apiKeyPermissions !== true && !apiKeyPermissions?.update;
@@ -299,7 +300,7 @@ export const Auth = props => {
299
300
  loginWithUsername,
300
301
  operation,
301
302
  permissions: docPermissions?.fields,
302
- readOnly,
303
+ readOnly: readOnly || isTrashed,
303
304
  t
304
305
  }), (changingPassword || requirePassword) && (!disableLocalStrategy || !enableFields) && _jsxs("div", {
305
306
  className: `${baseClass}__changing-password`,
@@ -316,7 +317,7 @@ export const Auth = props => {
316
317
  path: "password",
317
318
  schemaPath: "password"
318
319
  }), _jsx(ConfirmPasswordField, {
319
- disabled: readOnly
320
+ disabled: readOnly || isTrashed
320
321
  })]
321
322
  }), _jsxs("div", {
322
323
  className: `${baseClass}__controls`,