@payloadcms/ui 4.0.0-internal.40de3ec → 4.0.0-internal.4c792ad

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 (562) hide show
  1. package/dist/css/colors.css +3 -0
  2. package/dist/css/design-tokens.css +5 -0
  3. package/dist/css/elevations.css +4 -0
  4. package/dist/css/radius.css +1 -3
  5. package/dist/css/theme.css +4 -0
  6. package/dist/css/utilities.css +5 -0
  7. package/dist/elements/APIKeyInput/index.css +92 -0
  8. package/dist/elements/APIKeyInput/index.d.ts +14 -0
  9. package/dist/elements/APIKeyInput/index.d.ts.map +1 -0
  10. package/dist/elements/APIKeyInput/index.js +86 -0
  11. package/dist/elements/APIKeyInput/index.js.map +1 -0
  12. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  13. package/dist/elements/AddNewRelation/index.js +85 -103
  14. package/dist/elements/AddNewRelation/index.js.map +1 -1
  15. package/dist/elements/AppHeader/index.d.ts +3 -1
  16. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  17. package/dist/elements/AppHeader/index.js +7 -27
  18. package/dist/elements/AppHeader/index.js.map +1 -1
  19. package/dist/elements/BulkUpload/ActionsBar/index.css +10 -4
  20. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  21. package/dist/elements/BulkUpload/ActionsBar/index.js +43 -40
  22. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/AddFilesView/index.js +1 -1
  24. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  25. package/dist/elements/BulkUpload/AddingFilesView/index.css +25 -0
  26. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +1 -1
  27. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  28. package/dist/elements/BulkUpload/AddingFilesView/index.js +1 -1
  29. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/EditForm/index.css +9 -0
  31. package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
  32. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  33. package/dist/elements/BulkUpload/EditForm/index.js +1 -1
  34. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  35. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts +1 -1
  36. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  37. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +59 -55
  38. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  39. package/dist/elements/BulkUpload/EditMany/index.css +71 -0
  40. package/dist/elements/BulkUpload/EditMany/index.d.ts +1 -1
  41. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  42. package/dist/elements/BulkUpload/EditMany/index.js +1 -1
  43. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  44. package/dist/elements/BulkUpload/FileSidebar/index.css +54 -75
  45. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  46. package/dist/elements/BulkUpload/FileSidebar/index.js +60 -50
  47. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  48. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  49. package/dist/elements/BulkUpload/FormsManager/index.js +13 -0
  50. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  51. package/dist/elements/Button/index.css +8 -0
  52. package/dist/elements/Card/index.css +1 -1
  53. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  54. package/dist/elements/CodeEditor/CodeEditor.js +19 -0
  55. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  56. package/dist/elements/ColumnSelection/Popup.d.ts +12 -0
  57. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -0
  58. package/dist/elements/{ColumnSelector/index.js → ColumnSelection/Popup.js} +24 -13
  59. package/dist/elements/ColumnSelection/Popup.js.map +1 -0
  60. package/dist/elements/ColumnSelection/index.d.ts +10 -0
  61. package/dist/elements/ColumnSelection/index.d.ts.map +1 -0
  62. package/dist/elements/{ColumnsButton → ColumnSelection}/index.js +23 -17
  63. package/dist/elements/ColumnSelection/index.js.map +1 -0
  64. package/dist/elements/Combobox/index.css +1 -0
  65. package/dist/elements/ConfirmationModal/index.css +7 -0
  66. package/dist/elements/ConfirmationModal/index.d.ts +1 -0
  67. package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
  68. package/dist/elements/ConfirmationModal/index.js +7 -3
  69. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  70. package/dist/elements/DeleteMany/index.d.ts +3 -26
  71. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  72. package/dist/elements/DeleteMany/index.js +1 -95
  73. package/dist/elements/DeleteMany/index.js.map +1 -1
  74. package/dist/elements/Dialog/DialogModal/index.d.ts +1 -1
  75. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  76. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  77. package/dist/elements/Dialog/index.css +4 -0
  78. package/dist/elements/DocumentControls/index.css +17 -1
  79. package/dist/elements/DocumentControls/index.d.ts +6 -0
  80. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  81. package/dist/elements/DocumentControls/index.js +9 -8
  82. package/dist/elements/DocumentControls/index.js.map +1 -1
  83. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  84. package/dist/elements/DocumentDrawer/DrawerContent.js +10 -6
  85. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  86. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +76 -4
  87. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +7 -1
  88. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  89. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +150 -87
  90. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  91. package/dist/elements/DocumentDrawer/types.d.ts +1 -0
  92. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  93. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  94. package/dist/elements/DocumentFields/index.css +61 -2
  95. package/dist/elements/DraggableSortable/index.js.map +1 -1
  96. package/dist/elements/Drawer/index.css +57 -26
  97. package/dist/elements/Drawer/index.d.ts +25 -0
  98. package/dist/elements/Drawer/index.d.ts.map +1 -1
  99. package/dist/elements/Drawer/index.js +133 -54
  100. package/dist/elements/Drawer/index.js.map +1 -1
  101. package/dist/elements/Drawer/types.d.ts +1 -0
  102. package/dist/elements/Drawer/types.d.ts.map +1 -1
  103. package/dist/elements/Drawer/types.js.map +1 -1
  104. package/dist/elements/EditMany/DrawerContent.d.ts +1 -1
  105. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  106. package/dist/elements/EditMany/DrawerContent.js +76 -71
  107. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  108. package/dist/elements/EditMany/index.css +71 -0
  109. package/dist/elements/EditMany/index.d.ts +9 -11
  110. package/dist/elements/EditMany/index.d.ts.map +1 -1
  111. package/dist/elements/EditMany/index.js +2 -40
  112. package/dist/elements/EditMany/index.js.map +1 -1
  113. package/dist/elements/FieldSelect/index.css +3 -0
  114. package/dist/elements/FileDetails/DraggableFileDetails/index.css +32 -0
  115. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  116. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  117. package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -18
  118. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  119. package/dist/elements/GroupBy/Popup.d.ts +21 -0
  120. package/dist/elements/GroupBy/Popup.d.ts.map +1 -0
  121. package/dist/elements/GroupBy/Popup.js +269 -0
  122. package/dist/elements/GroupBy/Popup.js.map +1 -0
  123. package/dist/elements/GroupBy/index.d.ts +12 -0
  124. package/dist/elements/GroupBy/index.d.ts.map +1 -0
  125. package/dist/elements/GroupBy/index.js +91 -0
  126. package/dist/elements/GroupBy/index.js.map +1 -0
  127. package/dist/elements/Hierarchy/Drawer/index.css +3 -21
  128. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +1 -1
  129. package/dist/elements/Hierarchy/Drawer/index.js +5 -3
  130. package/dist/elements/Hierarchy/Drawer/index.js.map +1 -1
  131. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +36 -0
  132. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +1 -1
  133. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
  134. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +1 -1
  135. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
  136. package/dist/elements/Hierarchy/Field/index.client.d.ts +1 -1
  137. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  138. package/dist/elements/Hierarchy/Field/index.client.js +5 -2
  139. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  140. package/dist/elements/Hierarchy/Field/index.css +37 -0
  141. package/dist/elements/Hierarchy/MoveMany/index.d.ts +0 -1
  142. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  143. package/dist/elements/Hierarchy/MoveMany/index.js +0 -1
  144. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  145. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +27 -0
  146. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +1 -1
  147. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +1 -1
  148. package/dist/elements/Hierarchy/Tree/LoadMore/index.js +1 -1
  149. package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +1 -1
  150. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  151. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +36 -16
  152. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  153. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  154. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +20 -15
  155. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  156. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  157. package/dist/elements/ListColumnSelectionButton/index.d.ts +11 -0
  158. package/dist/elements/ListColumnSelectionButton/index.d.ts.map +1 -0
  159. package/dist/elements/ListColumnSelectionButton/index.js +37 -0
  160. package/dist/elements/ListColumnSelectionButton/index.js.map +1 -0
  161. package/dist/elements/ListControls/index.css +5 -0
  162. package/dist/elements/ListControls/index.d.ts.map +1 -1
  163. package/dist/elements/ListControls/index.js +7 -7
  164. package/dist/elements/ListControls/index.js.map +1 -1
  165. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  166. package/dist/elements/ListDrawer/DrawerContent.js +12 -6
  167. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  168. package/dist/elements/ListGroupByButton/index.d.ts +12 -0
  169. package/dist/elements/ListGroupByButton/index.d.ts.map +1 -0
  170. package/dist/elements/ListGroupByButton/index.js +55 -0
  171. package/dist/elements/ListGroupByButton/index.js.map +1 -0
  172. package/dist/elements/ListWhereBuilder/index.d.ts +16 -0
  173. package/dist/elements/ListWhereBuilder/index.d.ts.map +1 -0
  174. package/dist/elements/ListWhereBuilder/index.js +62 -0
  175. package/dist/elements/ListWhereBuilder/index.js.map +1 -0
  176. package/dist/elements/LoadMoreRow/index.css +34 -0
  177. package/dist/elements/LoadMoreRow/index.d.ts +1 -1
  178. package/dist/elements/LoadMoreRow/index.d.ts.map +1 -1
  179. package/dist/elements/LoadMoreRow/index.js +4 -8
  180. package/dist/elements/LoadMoreRow/index.js.map +1 -1
  181. package/dist/elements/Loading/index.css +28 -74
  182. package/dist/elements/Loading/index.d.ts.map +1 -1
  183. package/dist/elements/Loading/index.js +16 -60
  184. package/dist/elements/Loading/index.js.map +1 -1
  185. package/dist/elements/Localizer/index.d.ts.map +1 -1
  186. package/dist/elements/Localizer/index.js +3 -4
  187. package/dist/elements/Localizer/index.js.map +1 -1
  188. package/dist/elements/MenuSeparator/index.d.ts +4 -0
  189. package/dist/elements/MenuSeparator/index.d.ts.map +1 -0
  190. package/dist/elements/MenuSeparator/index.js +10 -0
  191. package/dist/elements/MenuSeparator/index.js.map +1 -0
  192. package/dist/elements/Nav/index.d.ts.map +1 -1
  193. package/dist/elements/Nav/index.js +4 -23
  194. package/dist/elements/Nav/index.js.map +1 -1
  195. package/dist/elements/Popup/PopupButtonList/index.css +48 -4
  196. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  197. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  198. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  199. package/dist/elements/Popup/PopupGroupLabel/index.css +19 -4
  200. package/dist/elements/Popup/index.d.ts +7 -0
  201. package/dist/elements/Popup/index.d.ts.map +1 -1
  202. package/dist/elements/Popup/index.js +143 -63
  203. package/dist/elements/Popup/index.js.map +1 -1
  204. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts +13 -0
  205. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -0
  206. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js +41 -0
  207. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js.map +1 -0
  208. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +1 -0
  209. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  210. package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
  211. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  212. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  213. package/dist/elements/PublishButton/index.js +4 -5
  214. package/dist/elements/PublishButton/index.js.map +1 -1
  215. package/dist/elements/PublishMany/DrawerContent.d.ts +2 -1
  216. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  217. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  218. package/dist/elements/PublishMany/index.d.ts +2 -6
  219. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  220. package/dist/elements/PublishMany/index.js +0 -38
  221. package/dist/elements/PublishMany/index.js.map +1 -1
  222. package/dist/elements/QueryPresets/cells/ColumnsCell/{index.scss → index.css} +1 -3
  223. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +1 -1
  224. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +1 -1
  225. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +1 -1
  226. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  227. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +1 -1
  228. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  229. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +77 -48
  230. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  231. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +1 -1
  232. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
  233. package/dist/elements/QueryPresets/fields/GroupByField/index.js +12 -21
  234. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  235. package/dist/elements/QueryPresets/fields/Heading/index.css +52 -0
  236. package/dist/elements/QueryPresets/fields/Heading/index.d.ts +7 -0
  237. package/dist/elements/QueryPresets/fields/Heading/index.d.ts.map +1 -0
  238. package/dist/elements/QueryPresets/fields/Heading/index.js +31 -0
  239. package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -0
  240. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +1 -1
  241. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  242. package/dist/elements/QueryPresets/fields/WhereField/index.js +24 -23
  243. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  244. package/dist/elements/QueryPresets/fields/fields.css +23 -0
  245. package/dist/elements/ReactSelect/MultiValue/index.css +1 -1
  246. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts +5 -0
  247. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -0
  248. package/dist/elements/ReactSelect/getCaptureMenuScroll.js +10 -0
  249. package/dist/elements/ReactSelect/getCaptureMenuScroll.js.map +1 -0
  250. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +6 -0
  251. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -0
  252. package/dist/elements/ReactSelect/getMenuListStyles.js +7 -0
  253. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -0
  254. package/dist/elements/ReactSelect/index.css +0 -1
  255. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  256. package/dist/elements/ReactSelect/index.js +176 -139
  257. package/dist/elements/ReactSelect/index.js.map +1 -1
  258. package/dist/elements/ReactSelect/types.d.ts +1 -0
  259. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  260. package/dist/elements/ReactSelect/types.js.map +1 -1
  261. package/dist/elements/RelationshipTable/index.js +2 -2
  262. package/dist/elements/RelationshipTable/index.js.map +1 -1
  263. package/dist/elements/RenderTitle/index.css +10 -0
  264. package/dist/elements/RenderTitle/index.d.ts +5 -0
  265. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  266. package/dist/elements/RenderTitle/index.js +52 -27
  267. package/dist/elements/RenderTitle/index.js.map +1 -1
  268. package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
  269. package/dist/elements/SchedulePublishButton/index.js +6 -1
  270. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  271. package/dist/elements/SelectMany/index.js +1 -1
  272. package/dist/elements/SelectMany/index.js.map +1 -1
  273. package/dist/elements/SortColumn/index.css +1 -1
  274. package/dist/elements/Spinner/index.css +16 -0
  275. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  276. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  277. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  278. package/dist/elements/Table/OrderableRow.js +1 -1
  279. package/dist/elements/Table/OrderableRow.js.map +1 -1
  280. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  281. package/dist/elements/Table/RelationshipProvider/index.js +1 -0
  282. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  283. package/dist/elements/Table/index.css +39 -10
  284. package/dist/elements/Tabs/index.css +100 -0
  285. package/dist/elements/Tabs/index.d.ts +32 -0
  286. package/dist/elements/Tabs/index.d.ts.map +1 -0
  287. package/dist/elements/Tabs/index.js +62 -0
  288. package/dist/elements/Tabs/index.js.map +1 -0
  289. package/dist/elements/TimezonePicker/index.css +0 -15
  290. package/dist/elements/Toasts/fieldErrors.d.ts +1 -0
  291. package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
  292. package/dist/elements/Toasts/fieldErrors.js +25 -9
  293. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  294. package/dist/elements/Toasts/index.css +5 -0
  295. package/dist/elements/Tooltip/index.css +20 -4
  296. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  297. package/dist/elements/Tooltip/index.js +71 -3
  298. package/dist/elements/Tooltip/index.js.map +1 -1
  299. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  300. package/dist/elements/UnpublishButton/index.js +5 -13
  301. package/dist/elements/UnpublishButton/index.js.map +1 -1
  302. package/dist/elements/UnpublishMany/DrawerContent.d.ts +2 -1
  303. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  304. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  305. package/dist/elements/UnpublishMany/index.d.ts +2 -4
  306. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  307. package/dist/elements/UnpublishMany/index.js +0 -38
  308. package/dist/elements/UnpublishMany/index.js.map +1 -1
  309. package/dist/elements/UserMenu/LanguageMenu/index.d.ts +6 -0
  310. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -0
  311. package/dist/elements/UserMenu/LanguageMenu/index.js +133 -0
  312. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -0
  313. package/dist/elements/UserMenu/SettingsMenu/index.d.ts +15 -0
  314. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -0
  315. package/dist/elements/UserMenu/SettingsMenu/index.js +119 -0
  316. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -0
  317. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts +6 -0
  318. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -0
  319. package/dist/elements/UserMenu/SubMenuHeader/index.js +34 -0
  320. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -0
  321. package/dist/elements/UserMenu/ThemeMenu/index.d.ts +6 -0
  322. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -0
  323. package/dist/elements/UserMenu/ThemeMenu/index.js +145 -0
  324. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -0
  325. package/dist/elements/UserMenu/index.css +80 -0
  326. package/dist/elements/UserMenu/index.d.ts +10 -0
  327. package/dist/elements/UserMenu/index.d.ts.map +1 -0
  328. package/dist/elements/UserMenu/index.js +204 -0
  329. package/dist/elements/UserMenu/index.js.map +1 -0
  330. package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
  331. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  332. package/dist/elements/WhereBuilder/Condition/index.js +17 -2
  333. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  334. package/dist/elements/WhereBuilder/index.d.ts +4 -3
  335. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  336. package/dist/elements/WhereBuilder/index.js +71 -62
  337. package/dist/elements/WhereBuilder/index.js.map +1 -1
  338. package/dist/elements/WhereBuilder/types.d.ts +6 -5
  339. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  340. package/dist/elements/WhereBuilder/types.js.map +1 -1
  341. package/dist/exports/client/index.d.ts +13 -0
  342. package/dist/exports/client/index.d.ts.map +1 -1
  343. package/dist/exports/client/index.js +2 -2
  344. package/dist/exports/client/index.js.map +3 -3
  345. package/dist/exports/shared/index.js +1 -1
  346. package/dist/exports/shared/index.js.map +1 -1
  347. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +1 -49
  348. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.d.ts.map +1 -1
  349. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +27 -20
  350. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  351. package/dist/fields/Blocks/BlockSelector/index.css +17 -3
  352. package/dist/fields/Blocks/BlockSelector/index.js +1 -1
  353. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  354. package/dist/fields/RadioGroup/index.css +6 -0
  355. package/dist/fields/Row/index.d.ts +1 -1
  356. package/dist/fields/Tabs/Tab/index.d.ts +0 -1
  357. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  358. package/dist/fields/Tabs/Tab/index.js +12 -23
  359. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  360. package/dist/fields/Tabs/index.d.ts.map +1 -1
  361. package/dist/fields/Tabs/index.js +37 -37
  362. package/dist/fields/Tabs/index.js.map +1 -1
  363. package/dist/fields/Upload/HasMany/index.css +4 -0
  364. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  365. package/dist/forms/RenderFields/RenderField.js +2 -1
  366. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  367. package/dist/forms/useField/index.js.map +1 -1
  368. package/dist/icons/Check/index.css +1 -2
  369. package/dist/icons/Check/index.js +1 -1
  370. package/dist/icons/Check/index.js.map +1 -1
  371. package/dist/icons/Gear/index.d.ts.map +1 -1
  372. package/dist/icons/Gear/index.js +8 -1
  373. package/dist/icons/Gear/index.js.map +1 -1
  374. package/dist/icons/InteractionEnter/index.css +5 -0
  375. package/dist/icons/InteractionEnter/index.d.ts +11 -0
  376. package/dist/icons/InteractionEnter/index.d.ts.map +1 -0
  377. package/dist/icons/InteractionEnter/index.js +25 -0
  378. package/dist/icons/InteractionEnter/index.js.map +1 -0
  379. package/dist/icons/{Write → Key}/index.css +1 -1
  380. package/dist/icons/Key/index.d.ts +7 -0
  381. package/dist/icons/Key/index.d.ts.map +1 -0
  382. package/dist/icons/Key/index.js +24 -0
  383. package/dist/icons/Key/index.js.map +1 -0
  384. package/dist/icons/LogOut/index.js +2 -2
  385. package/dist/icons/LogOut/index.js.map +1 -1
  386. package/dist/icons/Schedule/index.d.ts.map +1 -1
  387. package/dist/icons/Schedule/index.js +38 -39
  388. package/dist/icons/Schedule/index.js.map +1 -1
  389. package/dist/icons/VariableColor/index.css +5 -0
  390. package/dist/icons/VariableColor/index.d.ts +7 -0
  391. package/dist/icons/VariableColor/index.d.ts.map +1 -0
  392. package/dist/icons/VariableColor/index.js +23 -0
  393. package/dist/icons/VariableColor/index.js.map +1 -0
  394. package/dist/icons/Warning/index.css +1 -7
  395. package/dist/icons/Warning/index.d.ts +1 -1
  396. package/dist/icons/Warning/index.d.ts.map +1 -1
  397. package/dist/icons/Warning/index.js +11 -16
  398. package/dist/icons/Warning/index.js.map +1 -1
  399. package/dist/icons/WarningTriangle/index.css +5 -0
  400. package/dist/icons/WarningTriangle/index.d.ts +6 -0
  401. package/dist/icons/WarningTriangle/index.d.ts.map +1 -0
  402. package/dist/icons/WarningTriangle/index.js +21 -0
  403. package/dist/icons/WarningTriangle/index.js.map +1 -0
  404. package/dist/icons/Write/index.d.ts +0 -1
  405. package/dist/icons/Write/index.d.ts.map +1 -1
  406. package/dist/icons/Write/index.js +1 -2
  407. package/dist/icons/Write/index.js.map +1 -1
  408. package/dist/providers/Auth/index.d.ts +3 -1
  409. package/dist/providers/Auth/index.d.ts.map +1 -1
  410. package/dist/providers/Auth/index.js +8 -3
  411. package/dist/providers/Auth/index.js.map +1 -1
  412. package/dist/providers/Config/index.js.map +1 -1
  413. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  414. package/dist/providers/DocumentInfo/index.js +4 -0
  415. package/dist/providers/DocumentInfo/index.js.map +1 -1
  416. package/dist/providers/DocumentInfo/types.d.ts +4 -0
  417. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  418. package/dist/providers/DocumentInfo/types.js.map +1 -1
  419. package/dist/providers/Root/index.d.ts.map +1 -1
  420. package/dist/providers/Root/index.js +27 -24
  421. package/dist/providers/Root/index.js.map +1 -1
  422. package/dist/providers/TableColumns/RenderDefaultCell/index.css +1 -0
  423. package/dist/providers/Theme/index.d.ts.map +1 -1
  424. package/dist/providers/Theme/index.js +16 -14
  425. package/dist/providers/Theme/index.js.map +1 -1
  426. package/dist/providers/ToastContainer/index.css +208 -0
  427. package/dist/providers/ToastContainer/index.d.ts +1 -0
  428. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  429. package/dist/providers/ToastContainer/index.js +19 -6
  430. package/dist/providers/ToastContainer/index.js.map +1 -1
  431. package/dist/scss/app.scss +7 -2
  432. package/dist/styles.css +1361 -1
  433. package/dist/templates/Default/index.d.ts.map +1 -1
  434. package/dist/templates/Default/index.js +52 -2
  435. package/dist/templates/Default/index.js.map +1 -1
  436. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +0 -1
  437. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  438. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +0 -1
  439. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  440. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  441. package/dist/utilities/formatDocTitle/formatDateTitle.js +1 -1
  442. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  443. package/dist/utilities/getHasScheduledPublish.d.ts +12 -0
  444. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -0
  445. package/dist/utilities/getHasScheduledPublish.js +38 -0
  446. package/dist/utilities/getHasScheduledPublish.js.map +1 -0
  447. package/dist/utilities/getVersions.d.ts.map +1 -1
  448. package/dist/utilities/getVersions.js +1 -21
  449. package/dist/utilities/getVersions.js.map +1 -1
  450. package/dist/utilities/reduceFieldsToOptions.js +1 -1
  451. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  452. package/dist/views/Account/ResetPreferences/index.js +1 -0
  453. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  454. package/dist/views/Account/Settings/index.css +30 -13
  455. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  456. package/dist/views/Account/ToggleTheme/index.js +31 -47
  457. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  458. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  459. package/dist/views/Document/index.d.ts.map +1 -1
  460. package/dist/views/Document/index.js +10 -1
  461. package/dist/views/Document/index.js.map +1 -1
  462. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  463. package/dist/views/Edit/Auth/APIKey.js +10 -32
  464. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  465. package/dist/views/Edit/Auth/index.css +0 -67
  466. package/dist/views/Edit/index.d.ts.map +1 -1
  467. package/dist/views/Edit/index.js +62 -48
  468. package/dist/views/Edit/index.js.map +1 -1
  469. package/dist/views/HierarchyList/DocumentListSelection/index.js +8 -8
  470. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  471. package/dist/views/List/ListHeader/index.css +23 -1
  472. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  473. package/dist/views/List/ListHeader/index.js +0 -1
  474. package/dist/views/List/ListHeader/index.js.map +1 -1
  475. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  476. package/dist/views/List/ListSelection/index.js +84 -33
  477. package/dist/views/List/ListSelection/index.js.map +1 -1
  478. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  479. package/dist/views/List/handleGroupBy.js +9 -0
  480. package/dist/views/List/handleGroupBy.js.map +1 -1
  481. package/dist/views/List/index.client.d.ts.map +1 -1
  482. package/dist/views/List/index.client.js +7 -6
  483. package/dist/views/List/index.client.js.map +1 -1
  484. package/dist/views/List/index.css +15 -0
  485. package/dist/views/List/index.d.ts.map +1 -1
  486. package/dist/views/List/index.js +9 -2
  487. package/dist/views/List/index.js.map +1 -1
  488. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  489. package/dist/views/List/renderListViewSlots.js +11 -0
  490. package/dist/views/List/renderListViewSlots.js.map +1 -1
  491. package/dist/views/Logout/LogoutClient.d.ts +14 -0
  492. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  493. package/dist/views/Logout/LogoutClient.js +39 -33
  494. package/dist/views/Logout/LogoutClient.js.map +1 -1
  495. package/dist/views/Logout/index.d.ts.map +1 -1
  496. package/dist/views/Logout/index.js +7 -2
  497. package/dist/views/Logout/index.js.map +1 -1
  498. package/dist/views/Version/Default/index.css +3 -5
  499. package/dist/views/Version/Default/index.d.ts.map +1 -1
  500. package/dist/views/Version/Default/index.js +7 -28
  501. package/dist/views/Version/Default/index.js.map +1 -1
  502. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  503. package/dist/views/Version/Restore/index.css +2 -2
  504. package/dist/views/Version/SelectComparison/VersionDrawer/index.css +5 -0
  505. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts +1 -1
  506. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  507. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +1 -2
  508. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  509. package/dist/views/Version/SelectComparison/index.css +5 -0
  510. package/dist/views/Version/SelectComparison/index.d.ts +1 -1
  511. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  512. package/dist/views/Version/SelectComparison/index.js +1 -1
  513. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  514. package/dist/views/Version/SelectLocales/index.d.ts +1 -2
  515. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  516. package/dist/views/Version/SelectLocales/index.js +83 -32
  517. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  518. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  519. package/dist/views/Versions/index.css +19 -16
  520. package/dist/views/Versions/index.d.ts +1 -1
  521. package/dist/views/Versions/index.d.ts.map +1 -1
  522. package/dist/views/Versions/index.js +3 -26
  523. package/dist/views/Versions/index.js.map +1 -1
  524. package/package.json +5 -5
  525. package/dist/elements/BulkUpload/AddingFilesView/index.scss +0 -25
  526. package/dist/elements/BulkUpload/EditForm/index.scss +0 -11
  527. package/dist/elements/BulkUpload/EditMany/index.scss +0 -171
  528. package/dist/elements/ColumnSelector/index.d.ts +0 -9
  529. package/dist/elements/ColumnSelector/index.d.ts.map +0 -1
  530. package/dist/elements/ColumnSelector/index.js.map +0 -1
  531. package/dist/elements/ColumnsButton/index.d.ts +0 -7
  532. package/dist/elements/ColumnsButton/index.d.ts.map +0 -1
  533. package/dist/elements/ColumnsButton/index.js.map +0 -1
  534. package/dist/elements/EditMany/index.scss +0 -182
  535. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +0 -35
  536. package/dist/elements/GroupByBuilder/index.d.ts +0 -12
  537. package/dist/elements/GroupByBuilder/index.d.ts.map +0 -1
  538. package/dist/elements/GroupByBuilder/index.js +0 -164
  539. package/dist/elements/GroupByBuilder/index.js.map +0 -1
  540. package/dist/elements/GroupByBuilder/index.scss +0 -39
  541. package/dist/elements/GroupByControl/index.d.ts +0 -9
  542. package/dist/elements/GroupByControl/index.d.ts.map +0 -1
  543. package/dist/elements/GroupByControl/index.js +0 -258
  544. package/dist/elements/GroupByControl/index.js.map +0 -1
  545. package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +0 -78
  546. package/dist/elements/Hierarchy/Field/index.scss +0 -41
  547. package/dist/elements/Hierarchy/MoveMany/index.scss +0 -7
  548. package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +0 -26
  549. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +0 -7
  550. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +0 -1
  551. package/dist/elements/Hierarchy/Tree/TreeConnector.js +0 -23
  552. package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +0 -1
  553. package/dist/elements/LoadMoreRow/index.scss +0 -45
  554. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -17
  555. package/dist/elements/QueryPresets/fields/GroupByField/index.scss +0 -17
  556. package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
  557. package/dist/fields/Tabs/Tab/index.css +0 -82
  558. package/dist/scss/toasts.scss +0 -146
  559. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +0 -18
  560. package/dist/views/Version/SelectComparison/index.scss +0 -9
  561. /package/dist/elements/{ColumnSelector/index.css → ColumnSelection/Popup.css} +0 -0
  562. /package/dist/elements/{GroupByControl/index.css → GroupBy/Popup.css} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.js","names":["getTranslation","formatAdminURL","formatFilesize","React","Fragment","useEffect","useRef","useState","useBulkUpload","Button","ListControls","useListDrawerContext","useModal","NoListResults","PageControls","RenderCustomComponent","SelectMany","useStepNav","RelationshipProvider","ViewDescription","WhereBuilder","useControllableState","useConfig","DocumentSelectionProvider","useListQuery","useRouter","SelectionProvider","TableColumnsProvider","useTranslation","useWindowInfo","ListSelection","DocumentListSelection","HierarchyTable","CollectionListHeader","baseClass","DefaultListView","props","AfterList","AfterListTable","beforeActions","BeforeList","BeforeListTable","collectionSlug","columnState","Description","disableBulkDelete","disableBulkEdit","disableQueryPresets","enableRowSelections","hasCreatePermission","hasCreatePermissionFromProps","hasDeletePermission","hasTrashPermission","hierarchyData","listMenuItems","newDocumentURL","queryPreset","queryPresetPermissions","renderedFilters","resolvedFilterOptions","Table","InitialTable","viewType","allowCreate","createNewDrawerSlug","isInDrawer","onBulkSelect","undefined","config","routes","admin","adminRoute","serverURL","getEntityConfig","router","data","hasActiveFilters","isGroupingBy","query","hasWhereParam","Boolean","where","isWhereOpen","setIsWhereOpen","current","openModal","drawerSlug","bulkUploadDrawerSlug","setCollectionSlug","setOnSuccess","collectionConfig","labels","upload","isUploadCollection","isBulkUploadEnabled","bulkUpload","isTrashEnabled","trash","i18n","collectionLabel","plural","setStepNav","breakpoints","s","smallBreak","docs","useMemo","map","doc","filesize","openBulkUpload","useCallback","refresh","baseLabel","label","url","path","trashLabel","t","navItems","breadcrumbs","queryParam","parentFieldName","hierarchyBreadcrumbs","crumb","index","isLast","length","title","id","_jsxs","_jsx","className","totalDocs","description","CustomComponent","Fallback","hideFileInputOnCreate","onClick","enableQueryPresets","onWhereToggle","prev","collectionPluralLabel","fields","onClose","collectionData","childrenData","Object","fromEntries","entries","relatedDocumentsByCollection","slug","related","result","hierarchyLabel","parentId","relatedGroups","fieldName","hasMany","useAsTitle","Actions","el","singular","to","withMargin","AfterPageControls","showSelectAllAcrossPages","totalPages"],"sources":["../../../src/views/List/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { ListViewClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, formatFilesize } from 'payload/shared'\nimport React, { Fragment, useEffect, useRef, useState } from 'react'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { ListControls } from '../../elements/ListControls/index.js'\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { useModal } from '../../elements/Modal/index.js'\nimport { NoListResults } from '../../elements/NoListResults/index.js'\nimport { PageControls } from '../../elements/PageControls/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { SelectMany } from '../../elements/SelectMany/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { RelationshipProvider } from '../../elements/Table/RelationshipProvider/index.js'\nimport { ViewDescription } from '../../elements/ViewDescription/index.js'\nimport { WhereBuilder } from '../../elements/WhereBuilder/index.js'\nimport { useControllableState } from '../../hooks/useControllableState.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentSelectionProvider } from '../../providers/DocumentSelection/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useRouter } from '../../providers/RouterAdapter/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 { DocumentListSelection } from '../HierarchyList/DocumentListSelection/index.js'\nimport { HierarchyTable } from '../HierarchyList/HierarchyTable/index.js'\nimport { CollectionListHeader } from './ListHeader/index.js'\nimport './index.css'\n\nconst baseClass = 'collection-list'\n\nexport function DefaultListView(props: ListViewClientProps) {\n const {\n AfterList,\n AfterListTable,\n beforeActions,\n BeforeList,\n BeforeListTable,\n collectionSlug,\n columnState,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission: hasCreatePermissionFromProps,\n hasDeletePermission,\n hasTrashPermission,\n hierarchyData,\n listMenuItems,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table: InitialTable,\n viewType,\n } = props\n\n const [Table] = useControllableState(InitialTable)\n\n const { allowCreate, createNewDrawerSlug, isInDrawer, onBulkSelect } = useListDrawerContext()\n\n const hasCreatePermission =\n allowCreate !== undefined\n ? allowCreate && hasCreatePermissionFromProps\n : hasCreatePermissionFromProps\n\n const {\n config: {\n routes: { admin: adminRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n const router = useRouter()\n\n const { data, hasActiveFilters, isGroupingBy, query } = useListQuery()\n\n const hasWhereParam = useRef(Boolean(query?.where))\n const [isWhereOpen, setIsWhereOpen] = useState(hasActiveFilters)\n\n useEffect(() => {\n if (hasWhereParam.current && !query?.where) {\n hasWhereParam.current = false\n setIsWhereOpen(false)\n } else if (query?.where) {\n hasWhereParam.current = true\n }\n }, [query?.where])\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 collectionLabel = getTranslation(labels?.plural, i18n)\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: collectionLabel,\n url:\n hierarchyData || (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 let navItems = isTrashEnabled && viewType === 'trash' ? [baseLabel, trashLabel] : [baseLabel]\n\n // Add hierarchy breadcrumbs\n if (hierarchyData?.breadcrumbs) {\n const queryParam = hierarchyData.parentFieldName || 'parent'\n const hierarchyBreadcrumbs = hierarchyData.breadcrumbs.map((crumb, index) => {\n const isLast = index === hierarchyData.breadcrumbs.length - 1\n return {\n label: crumb.title,\n url: isLast\n ? undefined\n : formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}?${queryParam}=${crumb.id}`,\n }),\n }\n })\n navItems = [...navItems, ...hierarchyBreadcrumbs]\n }\n\n setStepNav(navItems)\n }\n }, [\n adminRoute,\n setStepNav,\n serverURL,\n labels,\n isInDrawer,\n isTrashEnabled,\n viewType,\n i18n,\n collectionSlug,\n hierarchyData,\n collectionLabel,\n ])\n\n return (\n <Fragment>\n <TableColumnsProvider collectionSlug={collectionSlug} columnState={columnState}>\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n <SelectionProvider docs={docs} totalDocs={data?.totalDocs}>\n {BeforeList}\n <CollectionListHeader\n collectionConfig={collectionConfig}\n Description={\n Description || collectionConfig?.admin?.description ? (\n <div className={`${baseClass}__sub-header`}>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={\n <ViewDescription\n collectionSlug={collectionSlug}\n description={collectionConfig?.admin?.description}\n />\n }\n />\n </div>\n ) : undefined\n }\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n hasCreatePermission={hasCreatePermission}\n hasDeletePermission={hasDeletePermission}\n hasTrashPermission={hasTrashPermission}\n i18n={i18n}\n isBulkUploadEnabled={isBulkUploadEnabled && !upload.hideFileInputOnCreate}\n isTrashEnabled={isTrashEnabled}\n newDocumentURL={newDocumentURL}\n openBulkUpload={openBulkUpload}\n smallBreak={smallBreak}\n viewType={viewType}\n />\n <ListControls\n beforeActions={\n enableRowSelections && typeof onBulkSelect === 'function'\n ? beforeActions\n ? [...beforeActions, <SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : beforeActions\n }\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n disableQueryPresets={\n collectionConfig?.enableQueryPresets !== true || disableQueryPresets\n }\n hasCreatePermission={hasCreatePermission && viewType !== 'trash'}\n isWhereOpen={isWhereOpen}\n listMenuItems={listMenuItems}\n newDocumentURL={newDocumentURL}\n onWhereToggle={() => setIsWhereOpen((prev) => !prev)}\n queryPreset={queryPreset}\n queryPresetPermissions={queryPresetPermissions}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n {isWhereOpen && (\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionSlug}\n fields={collectionConfig?.fields}\n onClose={() => setIsWhereOpen(false)}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n )}\n {BeforeListTable}\n {hierarchyData ? (\n <DocumentSelectionProvider\n collectionData={{\n [collectionSlug]: { docs: hierarchyData.childrenData.docs },\n ...Object.fromEntries(\n Object.entries(hierarchyData.relatedDocumentsByCollection).map(\n ([slug, related]) => [slug, { docs: related.result.docs }],\n ),\n ),\n }}\n >\n <HierarchyTable\n childrenData={hierarchyData.childrenData}\n collectionSlug={collectionSlug}\n hierarchyLabel={collectionLabel}\n key={hierarchyData.parentId}\n parentId={hierarchyData.parentId}\n relatedGroups={Object.entries(hierarchyData.relatedDocumentsByCollection).map(\n ([slug, related]) => ({\n collectionSlug: slug,\n data: related.result,\n fieldName: related.fieldName,\n hasMany: related.hasMany,\n label: related.label,\n }),\n )}\n useAsTitle={collectionConfig?.admin?.useAsTitle || 'id'}\n />\n <DocumentListSelection\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n />\n </DocumentSelectionProvider>\n ) : docs?.length > 0 ? (\n <RelationshipProvider>{Table}</RelationshipProvider>\n ) : null}\n {/* HierarchyTable handles its own empty state, skip for hierarchy views */}\n {docs?.length === 0 && (\n <NoListResults\n Actions={\n hasCreatePermission && newDocumentURL && viewType !== 'trash'\n ? [\n isInDrawer ? (\n <Button\n el=\"button\"\n key=\"create\"\n onClick={() => openModal(createNewDrawerSlug)}\n >\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ) : (\n <Button el=\"link\" key=\"create\" to={newDocumentURL}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ),\n ]\n : []\n }\n description={\n viewType === 'trash'\n ? i18n.t('general:noTrashResults', {\n label: getTranslation(labels?.plural, i18n),\n })\n : i18n.t('general:noResultsDescription')\n }\n title={viewType !== 'trash' ? i18n.t('general:noResultsFound') : undefined}\n withMargin\n />\n )}\n {AfterListTable}\n {AfterList}\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={collectionLabel}\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 </SelectionProvider>\n </div>\n </TableColumnsProvider>\n {docs?.length > 0 && isGroupingBy && data.totalPages > 1 && (\n <PageControls collectionConfig={collectionConfig} />\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.client.js","names":["getTranslation","formatAdminURL","formatFilesize","React","Fragment","useEffect","useRef","useState","useBulkUpload","Button","ListControls","useListDrawerContext","ListWhereBuilder","useModal","NoListResults","PageControls","RenderCustomComponent","SelectMany","useStepNav","RelationshipProvider","ViewDescription","useControllableState","useConfig","DocumentSelectionProvider","useListQuery","useRouter","SelectionProvider","TableColumnsProvider","useTranslation","useWindowInfo","ListSelection","DocumentListSelection","HierarchyTable","CollectionListHeader","baseClass","DefaultListView","props","AfterList","AfterListTable","beforeActions","BeforeList","BeforeListTable","collectionSlug","columnState","Description","disableBulkDelete","disableBulkEdit","disableQueryPresets","enableRowSelections","hasCreatePermission","hasCreatePermissionFromProps","hasDeletePermission","hasTrashPermission","hierarchyData","listMenuItems","newDocumentURL","NoResults","queryPreset","queryPresetPermissions","renderedFilters","resolvedFilterOptions","Table","InitialTable","viewType","allowCreate","createNewDrawerSlug","isInDrawer","onBulkSelect","undefined","config","routes","admin","adminRoute","serverURL","getEntityConfig","router","data","hasActiveFilters","isGroupingBy","query","hasWhereParam","Boolean","where","isWhereOpen","setIsWhereOpen","current","openModal","drawerSlug","bulkUploadDrawerSlug","setCollectionSlug","setOnSuccess","collectionConfig","labels","upload","isUploadCollection","isBulkUploadEnabled","bulkUpload","isTrashEnabled","trash","i18n","collectionLabel","plural","setStepNav","breakpoints","s","smallBreak","docs","useMemo","map","doc","filesize","openBulkUpload","useCallback","refresh","baseLabel","label","url","path","trashLabel","t","navItems","breadcrumbs","queryParam","parentFieldName","hierarchyBreadcrumbs","crumb","index","isLast","length","title","id","_jsxs","_jsx","className","totalDocs","description","CustomComponent","Fallback","hideFileInputOnCreate","onClick","enableQueryPresets","onWhereToggle","prev","collectionPluralLabel","fields","onEmptyRemove","collectionData","childrenData","Object","fromEntries","entries","relatedDocumentsByCollection","slug","related","result","hierarchyLabel","parentId","relatedGroups","fieldName","hasMany","useAsTitle","Actions","el","singular","to","withMargin","AfterPageControls","showSelectAllAcrossPages","totalPages"],"sources":["../../../src/views/List/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { ListViewClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, formatFilesize } from 'payload/shared'\nimport React, { Fragment, useEffect, useRef, useState } from 'react'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { ListControls } from '../../elements/ListControls/index.js'\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { ListWhereBuilder } from '../../elements/ListWhereBuilder/index.js'\nimport { useModal } from '../../elements/Modal/index.js'\nimport { NoListResults } from '../../elements/NoListResults/index.js'\nimport { PageControls } from '../../elements/PageControls/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { SelectMany } from '../../elements/SelectMany/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { 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 { DocumentSelectionProvider } from '../../providers/DocumentSelection/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useRouter } from '../../providers/RouterAdapter/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 { DocumentListSelection } from '../HierarchyList/DocumentListSelection/index.js'\nimport { HierarchyTable } from '../HierarchyList/HierarchyTable/index.js'\nimport { CollectionListHeader } from './ListHeader/index.js'\nimport './index.css'\n\nconst baseClass = 'collection-list'\n\nexport function DefaultListView(props: ListViewClientProps) {\n const {\n AfterList,\n AfterListTable,\n beforeActions,\n BeforeList,\n BeforeListTable,\n collectionSlug,\n columnState,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission: hasCreatePermissionFromProps,\n hasDeletePermission,\n hasTrashPermission,\n hierarchyData,\n listMenuItems,\n newDocumentURL,\n NoResults,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table: InitialTable,\n viewType,\n } = props\n\n const [Table] = useControllableState(InitialTable)\n\n const { allowCreate, createNewDrawerSlug, isInDrawer, onBulkSelect } = useListDrawerContext()\n\n const hasCreatePermission =\n allowCreate !== undefined\n ? allowCreate && hasCreatePermissionFromProps\n : hasCreatePermissionFromProps\n\n const {\n config: {\n routes: { admin: adminRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n const router = useRouter()\n\n const { data, hasActiveFilters, isGroupingBy, query } = useListQuery()\n\n const hasWhereParam = useRef(Boolean(query?.where))\n const [isWhereOpen, setIsWhereOpen] = useState(hasActiveFilters)\n\n useEffect(() => {\n if (hasWhereParam.current && !query?.where) {\n hasWhereParam.current = false\n setIsWhereOpen(false)\n } else if (query?.where) {\n hasWhereParam.current = true\n }\n }, [query?.where])\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 collectionLabel = getTranslation(labels?.plural, i18n)\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: collectionLabel,\n url:\n hierarchyData || (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 let navItems = isTrashEnabled && viewType === 'trash' ? [baseLabel, trashLabel] : [baseLabel]\n\n // Add hierarchy breadcrumbs\n if (hierarchyData?.breadcrumbs) {\n const queryParam = hierarchyData.parentFieldName || 'parent'\n const hierarchyBreadcrumbs = hierarchyData.breadcrumbs.map((crumb, index) => {\n const isLast = index === hierarchyData.breadcrumbs.length - 1\n return {\n label: crumb.title,\n url: isLast\n ? undefined\n : formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}?${queryParam}=${crumb.id}`,\n }),\n }\n })\n navItems = [...navItems, ...hierarchyBreadcrumbs]\n }\n\n setStepNav(navItems)\n }\n }, [\n adminRoute,\n setStepNav,\n serverURL,\n labels,\n isInDrawer,\n isTrashEnabled,\n viewType,\n i18n,\n collectionSlug,\n hierarchyData,\n collectionLabel,\n ])\n\n return (\n <Fragment>\n <TableColumnsProvider collectionSlug={collectionSlug} columnState={columnState}>\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n <SelectionProvider docs={docs} totalDocs={data?.totalDocs}>\n {BeforeList}\n <CollectionListHeader\n collectionConfig={collectionConfig}\n Description={\n Description || collectionConfig?.admin?.description ? (\n <div className={`${baseClass}__sub-header`}>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={\n <ViewDescription\n collectionSlug={collectionSlug}\n description={collectionConfig?.admin?.description}\n />\n }\n />\n </div>\n ) : undefined\n }\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n hasCreatePermission={hasCreatePermission}\n hasDeletePermission={hasDeletePermission}\n hasTrashPermission={hasTrashPermission}\n i18n={i18n}\n isBulkUploadEnabled={isBulkUploadEnabled && !upload.hideFileInputOnCreate}\n isTrashEnabled={isTrashEnabled}\n newDocumentURL={newDocumentURL}\n openBulkUpload={openBulkUpload}\n smallBreak={smallBreak}\n viewType={viewType}\n />\n <ListControls\n beforeActions={\n enableRowSelections && typeof onBulkSelect === 'function'\n ? beforeActions\n ? [...beforeActions, <SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : beforeActions\n }\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n disableQueryPresets={\n collectionConfig?.enableQueryPresets !== true || disableQueryPresets\n }\n hasCreatePermission={hasCreatePermission && viewType !== 'trash' && !isInDrawer}\n isWhereOpen={isWhereOpen}\n listMenuItems={listMenuItems}\n newDocumentURL={newDocumentURL}\n onWhereToggle={() => setIsWhereOpen((prev) => !prev)}\n queryPreset={queryPreset}\n queryPresetPermissions={queryPresetPermissions}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n {isWhereOpen && (\n <ListWhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionSlug}\n fields={collectionConfig?.fields}\n onEmptyRemove={() => setIsWhereOpen(false)}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n )}\n {BeforeListTable}\n {hierarchyData ? (\n <DocumentSelectionProvider\n collectionData={{\n [collectionSlug]: { docs: hierarchyData.childrenData.docs },\n ...Object.fromEntries(\n Object.entries(hierarchyData.relatedDocumentsByCollection).map(\n ([slug, related]) => [slug, { docs: related.result.docs }],\n ),\n ),\n }}\n >\n <HierarchyTable\n childrenData={hierarchyData.childrenData}\n collectionSlug={collectionSlug}\n hierarchyLabel={collectionLabel}\n key={hierarchyData.parentId}\n parentId={hierarchyData.parentId}\n relatedGroups={Object.entries(hierarchyData.relatedDocumentsByCollection).map(\n ([slug, related]) => ({\n collectionSlug: slug,\n data: related.result,\n fieldName: related.fieldName,\n hasMany: related.hasMany,\n label: related.label,\n }),\n )}\n useAsTitle={collectionConfig?.admin?.useAsTitle || 'id'}\n />\n <DocumentListSelection\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n />\n </DocumentSelectionProvider>\n ) : docs?.length > 0 ? (\n <RelationshipProvider>{Table}</RelationshipProvider>\n ) : null}\n {/* HierarchyTable handles its own empty state, skip for hierarchy views */}\n {docs?.length === 0 &&\n (NoResults ?? (\n <NoListResults\n Actions={\n hasCreatePermission && newDocumentURL && viewType !== 'trash'\n ? [\n isInDrawer ? (\n <Button\n el=\"button\"\n key=\"create\"\n onClick={() => openModal(createNewDrawerSlug)}\n >\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ) : (\n <Button el=\"link\" key=\"create\" to={newDocumentURL}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ),\n ]\n : []\n }\n description={\n viewType === 'trash'\n ? i18n.t('general:noTrashResults', {\n label: getTranslation(labels?.plural, i18n),\n })\n : i18n.t('general:noResultsDescription')\n }\n title={viewType !== 'trash' ? i18n.t('general:noResultsFound') : undefined}\n withMargin\n />\n ))}\n {AfterListTable}\n {AfterList}\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={collectionLabel}\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 </SelectionProvider>\n </div>\n </TableColumnsProvider>\n {docs?.length > 0 && isGroupingBy && data.totalPages > 1 && (\n <PageControls collectionConfig={collectionConfig} />\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -20,6 +20,21 @@
20
20
  overflow: auto;
21
21
  }
22
22
 
23
+ .collection-list .table table td.cell--linked > :is(a, button) {
24
+ font-weight: var(--text-body-medium-strong-font-weight);
25
+ text-decoration-line: underline;
26
+ text-decoration-style: solid;
27
+ text-decoration-skip-ink: none;
28
+ text-decoration-color: var(--color-border);
29
+ text-decoration-thickness: auto;
30
+ text-underline-offset: 2px;
31
+ text-underline-position: from-font;
32
+
33
+ &:hover {
34
+ text-decoration-color: var(--color-text);
35
+ }
36
+ }
37
+
23
38
  .collection-list .table table [class^='cell']:not(.cell--linked) > p,
24
39
  .collection-list .table table [class^='cell']:not(.cell--linked) > span,
25
40
  .collection-list .table table [class^='cell']:not(.cell--linked) > a {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAKpB,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EAEvB,gBAAgB,EAGjB,MAAM,SAAS,CAAA;AAYhB,OAAO,KAAmB,MAAM,OAAO,CAAA;AAsBvC,OAAO,aAAa,CAAA;AAEpB;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;OAGG;IACH,iBAAiB,CAAC,EACd,gBAAgB,GAChB,KAAK,CAAC,aAAa,CAAC,mBAAmB,GAAG,CAAC,mBAAmB,GAAG,uBAAuB,CAAC,CAAC,CAAA;IAC9F,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,GAAG,oBAAoB,CAAA;AAExB;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,kBAAkB,KACvB,OAAO,CAAC;IACT,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;CACtB,CAgeA,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAWjD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAKpB,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EAEvB,gBAAgB,EAGjB,MAAM,SAAS,CAAA;AAYhB,OAAO,KAAmB,MAAM,OAAO,CAAA;AAsBvC,OAAO,aAAa,CAAA;AAEpB;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;OAGG;IACH,iBAAiB,CAAC,EACd,gBAAgB,GAChB,KAAK,CAAC,aAAa,CAAC,mBAAmB,GAAG,CAAC,mBAAmB,GAAG,uBAAuB,CAAC,CAAC,CAAA;IAC9F,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,GAAG,oBAAoB,CAAA;AAExB;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,kBAAkB,KACvB,OAAO,CAAC;IACT,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;CACtB,CAueA,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAWjD,CAAA"}
@@ -110,7 +110,13 @@ export const renderListView = async args => {
110
110
  if (queryPreset?.where && !query.where) {
111
111
  query.where = queryPreset.where;
112
112
  }
113
- query.groupBy = query.groupBy ?? queryPreset?.groupBy ?? collectionPreferences?.groupBy;
113
+ // Prefer an explicit user preference (incl. an empty string, which means the
114
+ // user cleared grouping on a modified preset) over the preset's saved groupBy.
115
+ // Otherwise clearing groupBy while a preset is active reverts: the cleared URL
116
+ // re-syncs to `groupBy` absent and `?? queryPreset.groupBy` re-applies the
117
+ // preset's value. `??` keeps an empty-string preference and only falls through
118
+ // to the preset when the preference is truly unset.
119
+ query.groupBy = query.groupBy ?? collectionPreferences?.groupBy ?? queryPreset?.groupBy;
114
120
  const columnPreference = query.columns ? transformColumnsToPreferences(query.columns) : queryPreset?.columns ?? collectionPreferences?.columns;
115
121
  query.columns = transformColumnsToSearchParams(columnPreference);
116
122
  query.page = isNumber(query?.page) ? Number(query.page) : 0;
@@ -352,7 +358,8 @@ export const renderListView = async args => {
352
358
  hasCreatePermission,
353
359
  hasDeletePermission,
354
360
  hasTrashPermission,
355
- newDocumentURL
361
+ newDocumentURL,
362
+ viewType
356
363
  },
357
364
  collectionConfig,
358
365
  description: staticDescription,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["appendDateTimezoneSelectFields","appendUploadSelectFields","combineWhereConstraints","formatAdminURL","isNumber","mergeListSearchAndWhere","transformColumnsToPreferences","transformColumnsToSearchParams","React","Fragment","RenderServerComponent","DefaultListView","HierarchyListView","HydrateAuthProvider","HydrateHierarchyProvider","ListQueryProvider","getColumns","getDocumentPermissions","renderFilters","renderTable","upsertPreferences","enrichDocsWithVersionStatus","handleGroupBy","handleHierarchy","renderListViewSlots","resolveAllFilterOptions","transformColumnsToSelect","renderListView","args","clientConfig","ComponentOverride","customCellProps","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","initPageResult","overrideEntityVisibility","params","query","queryFromArgs","searchParams","trash","viewType","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","routes","admin","adminRoute","collections","read","includes","Error","columnsFromQuery","columns","queryByGroup","JSON","parse","collectionPreferences","key","value","groupBy","limit","Number","undefined","preset","sort","queryPreset","queryPresetPermissions","findByID","id","collection","depth","overrideAccess","data","docPermissions","err","logger","error","where","columnPreference","page","pagination","defaultLimit","defaultSort","baseFilterConstraint","baseFilter","baseListFilter","whereWithMergedSearch","search","and","deletedAt","exists","Table","columnState","docs","hasNextPage","hasPrevPage","nextPage","pagingCounter","prevPage","totalDocs","totalPages","clientCollectionConfig","find","c","select","fields","flattenedFields","orderable","_order","versions","drafts","_status","isHierarchyCollection","Boolean","hierarchy","hierarchyParentFieldName","parentFieldName","hierarchyParentId","parentParam","db","defaultIDType","hierarchyData","fieldPermissions","draft","fallbackLocale","includeLockStatus","orderableFieldName","useAsTitle","name","msg","HierarchyIcon","isHierarchyView","typeFilterParam","typeFilter","length","split","parentId","childrenData","hierarchyConfig","Component","components","Icon","importMap","renderedFilters","resolvedFilterOptions","staticDescription","description","t","newDocumentURL","path","hasCreatePermission","create","hasDeletePermission","hasTrashPermission","notFoundDocId","notFound","serverProps","listPreferences","listSearchableFields","server","listViewSlots","clientProps","isInDrawer","stringify","RenderedListViewComponent","views","list","Fallback","List","_jsxs","_jsx","allowedCollections","expandedNodes","breadcrumbs","slice","map","b","parent","tableData","treeLimit","typeFieldName","collectionSpecific","fieldName","modifySearchParams","ListView","RenderedList","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Column,\n ColumnPreference,\n HierarchyViewData,\n ListQuery,\n ListViewClientProps,\n ListViewServerPropsOnly,\n PaginatedDocs,\n PayloadComponent,\n QueryPreset,\n SanitizedCollectionPermission,\n} from 'payload'\n\nimport {\n appendDateTimezoneSelectFields,\n appendUploadSelectFields,\n combineWhereConstraints,\n formatAdminURL,\n isNumber,\n mergeListSearchAndWhere,\n transformColumnsToPreferences,\n transformColumnsToSearchParams,\n} from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n/* eslint-disable payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds */\nimport {\n DefaultListView,\n HierarchyListView,\n HydrateAuthProvider,\n HydrateHierarchyProvider,\n ListQueryProvider,\n} from '../../exports/client/index.js'\n/* eslint-enable payload/no-imports-from-exports-dir */\nimport { getColumns } from '../../utilities/getColumns.js'\nimport { getDocumentPermissions } from '../../utilities/getDocumentPermissions.js'\nimport { renderFilters, renderTable } from '../../utilities/renderTable.js'\nimport { upsertPreferences } from '../../utilities/upsertPreferences.js'\nimport { enrichDocsWithVersionStatus } from './enrichDocsWithVersionStatus.js'\nimport { handleGroupBy } from './handleGroupBy.js'\nimport { handleHierarchy } from './handleHierarchy.js'\nimport { renderListViewSlots } from './renderListViewSlots.js'\nimport { resolveAllFilterOptions } from './resolveAllFilterOptions.js'\nimport { transformColumnsToSelect } from './transformColumnsToSelect.js'\nimport './index.css'\n\n/**\n * @internal\n */\nexport type RenderListViewArgs = {\n /**\n * Allows providing your own list view component. This will override the default list view component and\n * the collection's configured list view component (if any).\n */\n ComponentOverride?:\n | PayloadComponent\n | React.ComponentType<ListViewClientProps | (ListViewClientProps & ListViewServerPropsOnly)>\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n /**\n * If not ListQuery is provided, `req.query` will be used.\n */\n query?: ListQuery\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n /**\n * @experimental This prop is subject to change in future releases.\n */\n trash?: boolean\n} & AdminViewServerProps\n\n/**\n * This function is responsible for rendering\n * the list view on the server for both:\n * - default list view\n * - list view within drawers\n *\n * @internal\n */\nexport const renderListView = async (\n args: RenderListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n ComponentOverride,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n trash,\n viewType,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (\n !collectionConfig ||\n !permissions?.collections?.[collectionSlug]?.read ||\n (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility)\n ) {\n throw new Error('not-found')\n }\n\n const query: ListQuery = queryFromArgs || queryFromReq\n\n const columnsFromQuery: ColumnPreference[] = transformColumnsToPreferences(query?.columns)\n\n query.queryByGroup =\n query?.queryByGroup && typeof query.queryByGroup === 'string'\n ? JSON.parse(query.queryByGroup)\n : query?.queryByGroup\n\n const collectionPreferences = await upsertPreferences<CollectionPreferences>({\n key: `collection-${collectionSlug}`,\n req,\n value: {\n columns: columnsFromQuery,\n groupBy: query?.groupBy,\n limit: isNumber(query?.limit) ? Number(query.limit) : undefined,\n preset: query?.preset,\n sort: query?.sort as string,\n },\n })\n\n let queryPreset: QueryPreset | undefined\n let queryPresetPermissions: SanitizedCollectionPermission | undefined =\n permissions?.collections?.['payload-query-presets']\n\n if (collectionPreferences?.preset) {\n try {\n queryPreset = (await payload.findByID({\n id: collectionPreferences?.preset,\n collection: 'payload-query-presets',\n depth: 0,\n overrideAccess: false,\n user,\n })) as QueryPreset\n\n if (queryPreset) {\n queryPresetPermissions = (\n await getDocumentPermissions({\n id: queryPreset.id,\n collectionConfig: req.payload.collections['payload-query-presets'].config,\n data: queryPreset,\n req,\n })\n )?.docPermissions\n }\n } catch (err) {\n req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`)\n }\n }\n\n query.preset = queryPreset?.id\n if (queryPreset?.where && !query.where) {\n query.where = queryPreset.where\n }\n query.groupBy = query.groupBy ?? queryPreset?.groupBy ?? collectionPreferences?.groupBy\n\n const columnPreference = query.columns\n ? transformColumnsToPreferences(query.columns)\n : (queryPreset?.columns ?? collectionPreferences?.columns)\n query.columns = transformColumnsToSearchParams(columnPreference)\n\n query.page = isNumber(query?.page) ? Number(query.page) : 0\n\n query.limit = collectionPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n query.sort =\n collectionPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : undefined)\n\n const baseFilterConstraint = await (\n collectionConfig.admin?.baseFilter ?? collectionConfig.admin?.baseListFilter\n )?.({\n limit: query.limit,\n page: query.page,\n req,\n sort: query.sort,\n })\n\n let whereWithMergedSearch = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: combineWhereConstraints([query?.where, baseFilterConstraint]),\n })\n\n if (trash === true) {\n whereWithMergedSearch = {\n and: [\n whereWithMergedSearch,\n {\n deletedAt: {\n exists: true,\n },\n },\n ],\n }\n }\n\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[] = []\n let data: PaginatedDocs = {\n // no results default\n docs: [],\n hasNextPage: false,\n hasPrevPage: false,\n limit: query.limit,\n nextPage: null,\n page: 1,\n pagingCounter: 0,\n prevPage: null,\n totalDocs: 0,\n totalPages: 0,\n }\n\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n const columns = getColumns({\n clientConfig,\n collectionConfig: clientCollectionConfig,\n collectionSlug,\n columns: columnPreference,\n i18n,\n permissions,\n })\n\n /** Automatically force select active columns. */\n const select = transformColumnsToSelect(columns)\n\n /** Force select image fields for list view thumbnails */\n appendUploadSelectFields({\n collectionConfig,\n select,\n })\n\n /** Force select `_tz` siblings for any timezone-enabled date fields in select */\n appendDateTimezoneSelectFields({\n fields: collectionConfig.flattenedFields,\n select,\n })\n\n /** Force select `_order` for orderable collections — OrderableTable needs it to compute reorder targets */\n if (collectionConfig.orderable === true) {\n select._order = true\n }\n\n /** Force select `_status` for drafts-enabled collections — needed by `enrichDocsWithVersionStatus` and `formatDocURL` */\n if (collectionConfig.versions?.drafts) {\n select._status = true\n }\n\n // Check for hierarchy parent param\n const isHierarchyCollection = Boolean(collectionConfig.hierarchy)\n const hierarchyParentFieldName =\n typeof collectionConfig.hierarchy === 'object'\n ? (collectionConfig.hierarchy.parentFieldName ?? 'parent')\n : 'parent'\n let hierarchyParentId: null | number | string = null\n\n if (isHierarchyCollection) {\n const parentParam = searchParams?.[hierarchyParentFieldName]\n if (parentParam === 'null' || parentParam === undefined) {\n hierarchyParentId = null\n } else if (typeof parentParam === 'string') {\n hierarchyParentId =\n payload.db.defaultIDType === 'number' && isNumber(parentParam)\n ? Number(parentParam)\n : parentParam\n }\n }\n\n // Hierarchy data for client-side rendering\n let hierarchyData: HierarchyViewData | undefined\n\n try {\n if (query.groupBy) {\n ;({ columnState, data, Table } = await handleGroupBy({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n query,\n req,\n select,\n trash,\n user,\n viewType,\n where: whereWithMergedSearch,\n }))\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n } else {\n data = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.limit ? Number(query.limit) : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page ? Number(query.page) : undefined,\n req,\n select,\n sort: query?.sort,\n trash,\n user,\n where: whereWithMergedSearch,\n })\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n ;({ columnState, Table } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n i18n: req.i18n,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n req,\n useAsTitle: collectionConfig.admin.useAsTitle,\n viewType,\n }))\n }\n } catch (err) {\n if (err.name !== 'QueryError') {\n // QueryErrors are expected when a user filters by a field they do not have access to\n req.payload.logger.error({\n err,\n msg: `There was an error fetching the list view data for collection ${collectionSlug}`,\n })\n throw err\n }\n }\n\n // Fetch hierarchy data only for hierarchy view\n let HierarchyIcon: React.ReactNode | undefined\n const isHierarchyView = viewType === 'hierarchy'\n\n if (isHierarchyCollection && isHierarchyView) {\n // Extract typeFilter from searchParams (comma-separated list of collection slugs)\n const typeFilterParam = searchParams?.typeFilter\n const typeFilter =\n typeof typeFilterParam === 'string' && typeFilterParam.length > 0\n ? typeFilterParam.split(',')\n : undefined\n\n hierarchyData = await handleHierarchy({\n baseFilter: baseFilterConstraint,\n collectionConfig,\n collectionSlug,\n parentId: hierarchyParentId,\n permissions,\n req,\n search: typeof query?.search === 'string' ? query.search : undefined,\n typeFilter,\n user,\n })\n\n data = hierarchyData.childrenData\n\n // Resolve hierarchy icon from collection config\n const hierarchyConfig =\n typeof collectionConfig.hierarchy === 'object' ? collectionConfig.hierarchy : undefined\n\n HierarchyIcon = RenderServerComponent({\n Component: hierarchyConfig?.admin?.components?.Icon,\n importMap: payload.importMap,\n key: `hierarchy-icon-${collectionSlug}`,\n })\n }\n\n const renderedFilters = renderFilters(collectionConfig.fields, req.payload.importMap)\n\n const resolvedFilterOptions = await resolveAllFilterOptions({\n fields: collectionConfig.fields,\n req,\n })\n\n const staticDescription =\n typeof collectionConfig.admin.description === 'function'\n ? collectionConfig.admin.description({ t: i18n.t })\n : collectionConfig.admin.description\n\n const newDocumentURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n })\n\n const hasCreatePermission = permissions?.collections?.[collectionSlug]?.create\n\n const { hasDeletePermission, hasTrashPermission } = await getDocumentPermissions({\n collectionConfig,\n // Empty object serves as base for computing differentiated trash/delete permissions\n data: {},\n req,\n })\n\n // Check if there's a notFound query parameter (document ID that wasn't found)\n const notFoundDocId = typeof searchParams?.notFound === 'string' ? searchParams.notFound : null\n\n const serverProps: ListViewServerPropsOnly = {\n collectionConfig,\n data,\n i18n,\n limit: query.limit,\n listPreferences: collectionPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n server: req.server,\n user,\n }\n\n const listViewSlots = renderListViewSlots({\n clientProps: {\n collectionSlug,\n hasCreatePermission,\n hasDeletePermission,\n hasTrashPermission,\n newDocumentURL,\n },\n collectionConfig,\n description: staticDescription,\n notFoundDocId,\n payload,\n serverProps,\n })\n\n const isInDrawer = Boolean(drawerSlug)\n\n // Needed to prevent: Only plain objects can be passed to Client Components from Server Components. Objects with toJSON methods are not supported. Convert it manually to a simple value before passing it to props.\n // Is there a way to avoid this? The `where` object is already seemingly plain, but is not bc it originates from the params.\n query.where = query?.where ? JSON.parse(JSON.stringify(query?.where || {})) : undefined\n\n const RenderedListViewComponent = RenderServerComponent({\n clientProps: {\n ...listViewSlots,\n baseFilter: baseFilterConstraint,\n collectionSlug,\n columnState,\n disableBulkDelete: collectionConfig.disableBulkDelete ?? disableBulkDelete,\n disableBulkEdit: collectionConfig.disableBulkEdit ?? disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission,\n hasDeletePermission,\n hasTrashPermission,\n hierarchyData,\n HierarchyIcon,\n listPreferences: collectionPreferences,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table,\n viewType,\n } satisfies ListViewClientProps,\n Component: ComponentOverride ?? collectionConfig?.admin?.components?.views?.list?.Component,\n Fallback: viewType === 'hierarchy' ? HierarchyListView : DefaultListView,\n importMap: payload.importMap,\n key: `list-view-${collectionSlug}-${viewType}`,\n serverProps,\n })\n\n return {\n List: (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n {isHierarchyView ? (\n <Fragment>\n <HydrateHierarchyProvider\n allowedCollections={hierarchyData?.allowedCollections}\n baseFilter={baseFilterConstraint}\n collectionSlug={collectionSlug}\n expandedNodes={hierarchyData?.breadcrumbs?.slice(0, -1).map((b) => b.id)}\n parent={hierarchyData?.parent}\n parentFieldName={\n typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy?.parentFieldName\n : undefined\n }\n tableData={data}\n treeLimit={\n typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy?.admin?.treeLimit\n : undefined\n }\n typeFieldName={\n typeof collectionConfig.hierarchy === 'object' &&\n collectionConfig.hierarchy?.collectionSpecific &&\n typeof collectionConfig.hierarchy.collectionSpecific === 'object'\n ? collectionConfig.hierarchy.collectionSpecific.fieldName\n : undefined\n }\n />\n {RenderedListViewComponent}\n </Fragment>\n ) : (\n <ListQueryProvider\n collectionSlug={collectionSlug}\n data={data}\n modifySearchParams={!isInDrawer}\n orderableFieldName={collectionConfig.orderable === true ? '_order' : undefined}\n query={query}\n >\n {RenderedListViewComponent}\n </ListQueryProvider>\n )}\n </Fragment>\n ),\n }\n}\n\nexport const ListView: React.FC<RenderListViewArgs> = async (args) => {\n try {\n const { List: RenderedList } = await renderListView({ ...args, enableRowSelections: true })\n return RenderedList\n } catch (error) {\n if (error.message === 'not-found') {\n args.initPageResult.req.server.notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["appendDateTimezoneSelectFields","appendUploadSelectFields","combineWhereConstraints","formatAdminURL","isNumber","mergeListSearchAndWhere","transformColumnsToPreferences","transformColumnsToSearchParams","React","Fragment","RenderServerComponent","DefaultListView","HierarchyListView","HydrateAuthProvider","HydrateHierarchyProvider","ListQueryProvider","getColumns","getDocumentPermissions","renderFilters","renderTable","upsertPreferences","enrichDocsWithVersionStatus","handleGroupBy","handleHierarchy","renderListViewSlots","resolveAllFilterOptions","transformColumnsToSelect","renderListView","args","clientConfig","ComponentOverride","customCellProps","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","initPageResult","overrideEntityVisibility","params","query","queryFromArgs","searchParams","trash","viewType","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","routes","admin","adminRoute","collections","read","includes","Error","columnsFromQuery","columns","queryByGroup","JSON","parse","collectionPreferences","key","value","groupBy","limit","Number","undefined","preset","sort","queryPreset","queryPresetPermissions","findByID","id","collection","depth","overrideAccess","data","docPermissions","err","logger","error","where","columnPreference","page","pagination","defaultLimit","defaultSort","baseFilterConstraint","baseFilter","baseListFilter","whereWithMergedSearch","search","and","deletedAt","exists","Table","columnState","docs","hasNextPage","hasPrevPage","nextPage","pagingCounter","prevPage","totalDocs","totalPages","clientCollectionConfig","find","c","select","fields","flattenedFields","orderable","_order","versions","drafts","_status","isHierarchyCollection","Boolean","hierarchy","hierarchyParentFieldName","parentFieldName","hierarchyParentId","parentParam","db","defaultIDType","hierarchyData","fieldPermissions","draft","fallbackLocale","includeLockStatus","orderableFieldName","useAsTitle","name","msg","HierarchyIcon","isHierarchyView","typeFilterParam","typeFilter","length","split","parentId","childrenData","hierarchyConfig","Component","components","Icon","importMap","renderedFilters","resolvedFilterOptions","staticDescription","description","t","newDocumentURL","path","hasCreatePermission","create","hasDeletePermission","hasTrashPermission","notFoundDocId","notFound","serverProps","listPreferences","listSearchableFields","server","listViewSlots","clientProps","isInDrawer","stringify","RenderedListViewComponent","views","list","Fallback","List","_jsxs","_jsx","allowedCollections","expandedNodes","breadcrumbs","slice","map","b","parent","tableData","treeLimit","typeFieldName","collectionSpecific","fieldName","modifySearchParams","ListView","RenderedList","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Column,\n ColumnPreference,\n HierarchyViewData,\n ListQuery,\n ListViewClientProps,\n ListViewServerPropsOnly,\n PaginatedDocs,\n PayloadComponent,\n QueryPreset,\n SanitizedCollectionPermission,\n} from 'payload'\n\nimport {\n appendDateTimezoneSelectFields,\n appendUploadSelectFields,\n combineWhereConstraints,\n formatAdminURL,\n isNumber,\n mergeListSearchAndWhere,\n transformColumnsToPreferences,\n transformColumnsToSearchParams,\n} from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n/* eslint-disable payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds */\nimport {\n DefaultListView,\n HierarchyListView,\n HydrateAuthProvider,\n HydrateHierarchyProvider,\n ListQueryProvider,\n} from '../../exports/client/index.js'\n/* eslint-enable payload/no-imports-from-exports-dir */\nimport { getColumns } from '../../utilities/getColumns.js'\nimport { getDocumentPermissions } from '../../utilities/getDocumentPermissions.js'\nimport { renderFilters, renderTable } from '../../utilities/renderTable.js'\nimport { upsertPreferences } from '../../utilities/upsertPreferences.js'\nimport { enrichDocsWithVersionStatus } from './enrichDocsWithVersionStatus.js'\nimport { handleGroupBy } from './handleGroupBy.js'\nimport { handleHierarchy } from './handleHierarchy.js'\nimport { renderListViewSlots } from './renderListViewSlots.js'\nimport { resolveAllFilterOptions } from './resolveAllFilterOptions.js'\nimport { transformColumnsToSelect } from './transformColumnsToSelect.js'\nimport './index.css'\n\n/**\n * @internal\n */\nexport type RenderListViewArgs = {\n /**\n * Allows providing your own list view component. This will override the default list view component and\n * the collection's configured list view component (if any).\n */\n ComponentOverride?:\n | PayloadComponent\n | React.ComponentType<ListViewClientProps | (ListViewClientProps & ListViewServerPropsOnly)>\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n /**\n * If not ListQuery is provided, `req.query` will be used.\n */\n query?: ListQuery\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n /**\n * @experimental This prop is subject to change in future releases.\n */\n trash?: boolean\n} & AdminViewServerProps\n\n/**\n * This function is responsible for rendering\n * the list view on the server for both:\n * - default list view\n * - list view within drawers\n *\n * @internal\n */\nexport const renderListView = async (\n args: RenderListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n ComponentOverride,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n trash,\n viewType,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (\n !collectionConfig ||\n !permissions?.collections?.[collectionSlug]?.read ||\n (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility)\n ) {\n throw new Error('not-found')\n }\n\n const query: ListQuery = queryFromArgs || queryFromReq\n\n const columnsFromQuery: ColumnPreference[] = transformColumnsToPreferences(query?.columns)\n\n query.queryByGroup =\n query?.queryByGroup && typeof query.queryByGroup === 'string'\n ? JSON.parse(query.queryByGroup)\n : query?.queryByGroup\n\n const collectionPreferences = await upsertPreferences<CollectionPreferences>({\n key: `collection-${collectionSlug}`,\n req,\n value: {\n columns: columnsFromQuery,\n groupBy: query?.groupBy,\n limit: isNumber(query?.limit) ? Number(query.limit) : undefined,\n preset: query?.preset,\n sort: query?.sort as string,\n },\n })\n\n let queryPreset: QueryPreset | undefined\n let queryPresetPermissions: SanitizedCollectionPermission | undefined =\n permissions?.collections?.['payload-query-presets']\n\n if (collectionPreferences?.preset) {\n try {\n queryPreset = (await payload.findByID({\n id: collectionPreferences?.preset,\n collection: 'payload-query-presets',\n depth: 0,\n overrideAccess: false,\n user,\n })) as QueryPreset\n\n if (queryPreset) {\n queryPresetPermissions = (\n await getDocumentPermissions({\n id: queryPreset.id,\n collectionConfig: req.payload.collections['payload-query-presets'].config,\n data: queryPreset,\n req,\n })\n )?.docPermissions\n }\n } catch (err) {\n req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`)\n }\n }\n\n query.preset = queryPreset?.id\n if (queryPreset?.where && !query.where) {\n query.where = queryPreset.where\n }\n // Prefer an explicit user preference (incl. an empty string, which means the\n // user cleared grouping on a modified preset) over the preset's saved groupBy.\n // Otherwise clearing groupBy while a preset is active reverts: the cleared URL\n // re-syncs to `groupBy` absent and `?? queryPreset.groupBy` re-applies the\n // preset's value. `??` keeps an empty-string preference and only falls through\n // to the preset when the preference is truly unset.\n query.groupBy = query.groupBy ?? collectionPreferences?.groupBy ?? queryPreset?.groupBy\n\n const columnPreference = query.columns\n ? transformColumnsToPreferences(query.columns)\n : (queryPreset?.columns ?? collectionPreferences?.columns)\n query.columns = transformColumnsToSearchParams(columnPreference)\n\n query.page = isNumber(query?.page) ? Number(query.page) : 0\n\n query.limit = collectionPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n query.sort =\n collectionPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : undefined)\n\n const baseFilterConstraint = await (\n collectionConfig.admin?.baseFilter ?? collectionConfig.admin?.baseListFilter\n )?.({\n limit: query.limit,\n page: query.page,\n req,\n sort: query.sort,\n })\n\n let whereWithMergedSearch = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: combineWhereConstraints([query?.where, baseFilterConstraint]),\n })\n\n if (trash === true) {\n whereWithMergedSearch = {\n and: [\n whereWithMergedSearch,\n {\n deletedAt: {\n exists: true,\n },\n },\n ],\n }\n }\n\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[] = []\n let data: PaginatedDocs = {\n // no results default\n docs: [],\n hasNextPage: false,\n hasPrevPage: false,\n limit: query.limit,\n nextPage: null,\n page: 1,\n pagingCounter: 0,\n prevPage: null,\n totalDocs: 0,\n totalPages: 0,\n }\n\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n const columns = getColumns({\n clientConfig,\n collectionConfig: clientCollectionConfig,\n collectionSlug,\n columns: columnPreference,\n i18n,\n permissions,\n })\n\n /** Automatically force select active columns. */\n const select = transformColumnsToSelect(columns)\n\n /** Force select image fields for list view thumbnails */\n appendUploadSelectFields({\n collectionConfig,\n select,\n })\n\n /** Force select `_tz` siblings for any timezone-enabled date fields in select */\n appendDateTimezoneSelectFields({\n fields: collectionConfig.flattenedFields,\n select,\n })\n\n /** Force select `_order` for orderable collections — OrderableTable needs it to compute reorder targets */\n if (collectionConfig.orderable === true) {\n select._order = true\n }\n\n /** Force select `_status` for drafts-enabled collections — needed by `enrichDocsWithVersionStatus` and `formatDocURL` */\n if (collectionConfig.versions?.drafts) {\n select._status = true\n }\n\n // Check for hierarchy parent param\n const isHierarchyCollection = Boolean(collectionConfig.hierarchy)\n const hierarchyParentFieldName =\n typeof collectionConfig.hierarchy === 'object'\n ? (collectionConfig.hierarchy.parentFieldName ?? 'parent')\n : 'parent'\n let hierarchyParentId: null | number | string = null\n\n if (isHierarchyCollection) {\n const parentParam = searchParams?.[hierarchyParentFieldName]\n if (parentParam === 'null' || parentParam === undefined) {\n hierarchyParentId = null\n } else if (typeof parentParam === 'string') {\n hierarchyParentId =\n payload.db.defaultIDType === 'number' && isNumber(parentParam)\n ? Number(parentParam)\n : parentParam\n }\n }\n\n // Hierarchy data for client-side rendering\n let hierarchyData: HierarchyViewData | undefined\n\n try {\n if (query.groupBy) {\n ;({ columnState, data, Table } = await handleGroupBy({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n query,\n req,\n select,\n trash,\n user,\n viewType,\n where: whereWithMergedSearch,\n }))\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n } else {\n data = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.limit ? Number(query.limit) : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page ? Number(query.page) : undefined,\n req,\n select,\n sort: query?.sort,\n trash,\n user,\n where: whereWithMergedSearch,\n })\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n ;({ columnState, Table } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n i18n: req.i18n,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n req,\n useAsTitle: collectionConfig.admin.useAsTitle,\n viewType,\n }))\n }\n } catch (err) {\n if (err.name !== 'QueryError') {\n // QueryErrors are expected when a user filters by a field they do not have access to\n req.payload.logger.error({\n err,\n msg: `There was an error fetching the list view data for collection ${collectionSlug}`,\n })\n throw err\n }\n }\n\n // Fetch hierarchy data only for hierarchy view\n let HierarchyIcon: React.ReactNode | undefined\n const isHierarchyView = viewType === 'hierarchy'\n\n if (isHierarchyCollection && isHierarchyView) {\n // Extract typeFilter from searchParams (comma-separated list of collection slugs)\n const typeFilterParam = searchParams?.typeFilter\n const typeFilter =\n typeof typeFilterParam === 'string' && typeFilterParam.length > 0\n ? typeFilterParam.split(',')\n : undefined\n\n hierarchyData = await handleHierarchy({\n baseFilter: baseFilterConstraint,\n collectionConfig,\n collectionSlug,\n parentId: hierarchyParentId,\n permissions,\n req,\n search: typeof query?.search === 'string' ? query.search : undefined,\n typeFilter,\n user,\n })\n\n data = hierarchyData.childrenData\n\n // Resolve hierarchy icon from collection config\n const hierarchyConfig =\n typeof collectionConfig.hierarchy === 'object' ? collectionConfig.hierarchy : undefined\n\n HierarchyIcon = RenderServerComponent({\n Component: hierarchyConfig?.admin?.components?.Icon,\n importMap: payload.importMap,\n key: `hierarchy-icon-${collectionSlug}`,\n })\n }\n\n const renderedFilters = renderFilters(collectionConfig.fields, req.payload.importMap)\n\n const resolvedFilterOptions = await resolveAllFilterOptions({\n fields: collectionConfig.fields,\n req,\n })\n\n const staticDescription =\n typeof collectionConfig.admin.description === 'function'\n ? collectionConfig.admin.description({ t: i18n.t })\n : collectionConfig.admin.description\n\n const newDocumentURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n })\n\n const hasCreatePermission = permissions?.collections?.[collectionSlug]?.create\n\n const { hasDeletePermission, hasTrashPermission } = await getDocumentPermissions({\n collectionConfig,\n // Empty object serves as base for computing differentiated trash/delete permissions\n data: {},\n req,\n })\n\n // Check if there's a notFound query parameter (document ID that wasn't found)\n const notFoundDocId = typeof searchParams?.notFound === 'string' ? searchParams.notFound : null\n\n const serverProps: ListViewServerPropsOnly = {\n collectionConfig,\n data,\n i18n,\n limit: query.limit,\n listPreferences: collectionPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n server: req.server,\n user,\n }\n\n const listViewSlots = renderListViewSlots({\n clientProps: {\n collectionSlug,\n hasCreatePermission,\n hasDeletePermission,\n hasTrashPermission,\n newDocumentURL,\n viewType,\n },\n collectionConfig,\n description: staticDescription,\n notFoundDocId,\n payload,\n serverProps,\n })\n\n const isInDrawer = Boolean(drawerSlug)\n\n // Needed to prevent: Only plain objects can be passed to Client Components from Server Components. Objects with toJSON methods are not supported. Convert it manually to a simple value before passing it to props.\n // Is there a way to avoid this? The `where` object is already seemingly plain, but is not bc it originates from the params.\n query.where = query?.where ? JSON.parse(JSON.stringify(query?.where || {})) : undefined\n\n const RenderedListViewComponent = RenderServerComponent({\n clientProps: {\n ...listViewSlots,\n baseFilter: baseFilterConstraint,\n collectionSlug,\n columnState,\n disableBulkDelete: collectionConfig.disableBulkDelete ?? disableBulkDelete,\n disableBulkEdit: collectionConfig.disableBulkEdit ?? disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission,\n hasDeletePermission,\n hasTrashPermission,\n hierarchyData,\n HierarchyIcon,\n listPreferences: collectionPreferences,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table,\n viewType,\n } satisfies ListViewClientProps,\n Component: ComponentOverride ?? collectionConfig?.admin?.components?.views?.list?.Component,\n Fallback: viewType === 'hierarchy' ? HierarchyListView : DefaultListView,\n importMap: payload.importMap,\n key: `list-view-${collectionSlug}-${viewType}`,\n serverProps,\n })\n\n return {\n List: (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n {isHierarchyView ? (\n <Fragment>\n <HydrateHierarchyProvider\n allowedCollections={hierarchyData?.allowedCollections}\n baseFilter={baseFilterConstraint}\n collectionSlug={collectionSlug}\n expandedNodes={hierarchyData?.breadcrumbs?.slice(0, -1).map((b) => b.id)}\n parent={hierarchyData?.parent}\n parentFieldName={\n typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy?.parentFieldName\n : undefined\n }\n tableData={data}\n treeLimit={\n typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy?.admin?.treeLimit\n : undefined\n }\n typeFieldName={\n typeof collectionConfig.hierarchy === 'object' &&\n collectionConfig.hierarchy?.collectionSpecific &&\n typeof collectionConfig.hierarchy.collectionSpecific === 'object'\n ? collectionConfig.hierarchy.collectionSpecific.fieldName\n : undefined\n }\n />\n {RenderedListViewComponent}\n </Fragment>\n ) : (\n <ListQueryProvider\n collectionSlug={collectionSlug}\n data={data}\n modifySearchParams={!isInDrawer}\n orderableFieldName={collectionConfig.orderable === true ? '_order' : undefined}\n query={query}\n >\n {RenderedListViewComponent}\n </ListQueryProvider>\n )}\n </Fragment>\n ),\n }\n}\n\nexport const ListView: React.FC<RenderListViewArgs> = async (args) => {\n try {\n const { List: RenderedList } = await renderListView({ ...args, enableRowSelections: true })\n return RenderedList\n } catch (error) {\n if (error.message === 'not-found') {\n args.initPageResult.req.server.notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"renderListViewSlots.d.ts","sourceRoot":"","sources":["../../../src/views/List/renderListViewSlots.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAQV,uBAAuB,EACvB,aAAa,EACb,6BAA6B,EAC7B,OAAO,EACP,yBAAyB,EACzB,iBAAiB,EAGlB,MAAM,SAAS,CAAA;AAOhB,KAAK,IAAI,GAAG;IACV,WAAW,EAAE,6BAA6B,CAAA;IAC1C,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,aAAa,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,uBAAuB,CAAA;CACrC,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,sFAOjC,IAAI,KAAG,aAmFT,CAAA"}
1
+ {"version":3,"file":"renderListViewSlots.d.ts","sourceRoot":"","sources":["../../../src/views/List/renderListViewSlots.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAQV,uBAAuB,EACvB,aAAa,EACb,6BAA6B,EAG7B,OAAO,EACP,yBAAyB,EACzB,iBAAiB,EAGlB,MAAM,SAAS,CAAA;AAOhB,KAAK,IAAI,GAAG;IACV,WAAW,EAAE,6BAA6B,CAAA;IAC1C,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,aAAa,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,uBAAuB,CAAA;CACrC,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,sFAOjC,IAAI,KAAG,aAiGT,CAAA"}
@@ -76,6 +76,17 @@ export const renderListViewSlots = ({
76
76
  serverProps: serverProps
77
77
  });
78
78
  }
79
+ if (collectionConfig.admin.components?.views?.list?.NoResults) {
80
+ result.NoResults = /*#__PURE__*/_jsx(React.Fragment, {
81
+ children: RenderServerComponent({
82
+ clientProps: clientProps,
83
+ Component: collectionConfig.admin.components.views.list.NoResults,
84
+ importMap: payload.importMap,
85
+ key: 'list-view-no-results',
86
+ serverProps: serverProps
87
+ })
88
+ }, "list-view-no-results");
89
+ }
79
90
  return result;
80
91
  };
81
92
  //# sourceMappingURL=renderListViewSlots.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderListViewSlots.js","names":["React","Banner","RenderServerComponent","renderListViewSlots","clientProps","collectionConfig","description","notFoundDocId","payload","serverProps","result","admin","components","afterList","AfterList","Component","importMap","listMenuItems","Array","isArray","afterListTable","AfterListTable","beforeList","BeforeList","existingBeforeListTable","beforeListTable","notFoundBanner","_jsx","className","type","i18n","t","id","BeforeListTable","_jsxs","Fragment","Description","collectionSlug","slug"],"sources":["../../../src/views/List/renderListViewSlots.tsx"],"sourcesContent":["import type {\n AfterListClientProps,\n AfterListTableClientProps,\n AfterListTableServerPropsOnly,\n BeforeListClientProps,\n BeforeListServerPropsOnly,\n BeforeListTableClientProps,\n BeforeListTableServerPropsOnly,\n ListViewServerPropsOnly,\n ListViewSlots,\n ListViewSlotSharedClientProps,\n Payload,\n SanitizedCollectionConfig,\n StaticDescription,\n ViewDescriptionClientProps,\n ViewDescriptionServerPropsOnly,\n} from 'payload'\n\nimport React from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n\ntype Args = {\n clientProps: ListViewSlotSharedClientProps\n collectionConfig: SanitizedCollectionConfig\n description?: StaticDescription\n notFoundDocId?: null | string\n payload: Payload\n serverProps: ListViewServerPropsOnly\n}\n\nexport const renderListViewSlots = ({\n clientProps,\n collectionConfig,\n description,\n notFoundDocId,\n payload,\n serverProps,\n}: Args): ListViewSlots => {\n const result: ListViewSlots = {} as ListViewSlots\n\n if (collectionConfig.admin.components?.afterList) {\n result.AfterList = RenderServerComponent({\n clientProps: clientProps satisfies AfterListClientProps,\n Component: collectionConfig.admin.components.afterList,\n importMap: payload.importMap,\n serverProps: serverProps satisfies AfterListTableServerPropsOnly,\n })\n }\n\n const listMenuItems = collectionConfig.admin.components?.listMenuItems\n\n if (Array.isArray(listMenuItems)) {\n result.listMenuItems = [\n RenderServerComponent({\n clientProps,\n Component: listMenuItems,\n importMap: payload.importMap,\n serverProps,\n }),\n ]\n }\n\n if (collectionConfig.admin.components?.afterListTable) {\n result.AfterListTable = RenderServerComponent({\n clientProps: clientProps satisfies AfterListTableClientProps,\n Component: collectionConfig.admin.components.afterListTable,\n importMap: payload.importMap,\n serverProps: serverProps satisfies AfterListTableServerPropsOnly,\n })\n }\n\n if (collectionConfig.admin.components?.beforeList) {\n result.BeforeList = RenderServerComponent({\n clientProps: clientProps satisfies BeforeListClientProps,\n Component: collectionConfig.admin.components.beforeList,\n importMap: payload.importMap,\n serverProps: serverProps satisfies BeforeListServerPropsOnly,\n })\n }\n\n // Handle beforeListTable with optional banner\n const existingBeforeListTable = collectionConfig.admin.components?.beforeListTable\n ? RenderServerComponent({\n clientProps: clientProps satisfies BeforeListTableClientProps,\n Component: collectionConfig.admin.components.beforeListTable,\n importMap: payload.importMap,\n serverProps: serverProps satisfies BeforeListTableServerPropsOnly,\n })\n : null\n\n // Create banner for document not found\n const notFoundBanner = notFoundDocId ? (\n <Banner className=\"list-view__not-found-banner\" type=\"danger\">\n {serverProps.i18n.t('error:documentNotFound', { id: notFoundDocId })}\n </Banner>\n ) : null\n\n // Combine banner and existing component\n if (notFoundBanner || existingBeforeListTable) {\n result.BeforeListTable = (\n <React.Fragment>\n {notFoundBanner}\n {existingBeforeListTable}\n </React.Fragment>\n )\n }\n\n if (collectionConfig.admin.components?.Description) {\n result.Description = RenderServerComponent({\n clientProps: {\n collectionSlug: collectionConfig.slug,\n description,\n } satisfies ViewDescriptionClientProps,\n Component: collectionConfig.admin.components.Description,\n importMap: payload.importMap,\n serverProps: serverProps satisfies ViewDescriptionServerPropsOnly,\n })\n }\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"renderListViewSlots.js","names":["React","Banner","RenderServerComponent","renderListViewSlots","clientProps","collectionConfig","description","notFoundDocId","payload","serverProps","result","admin","components","afterList","AfterList","Component","importMap","listMenuItems","Array","isArray","afterListTable","AfterListTable","beforeList","BeforeList","existingBeforeListTable","beforeListTable","notFoundBanner","_jsx","className","type","i18n","t","id","BeforeListTable","_jsxs","Fragment","Description","collectionSlug","slug","views","list","NoResults","key"],"sources":["../../../src/views/List/renderListViewSlots.tsx"],"sourcesContent":["import type {\n AfterListClientProps,\n AfterListTableClientProps,\n AfterListTableServerPropsOnly,\n BeforeListClientProps,\n BeforeListServerPropsOnly,\n BeforeListTableClientProps,\n BeforeListTableServerPropsOnly,\n ListViewServerPropsOnly,\n ListViewSlots,\n ListViewSlotSharedClientProps,\n NoResultsClientProps,\n NoResultsServerPropsOnly,\n Payload,\n SanitizedCollectionConfig,\n StaticDescription,\n ViewDescriptionClientProps,\n ViewDescriptionServerPropsOnly,\n} from 'payload'\n\nimport React from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n\ntype Args = {\n clientProps: ListViewSlotSharedClientProps\n collectionConfig: SanitizedCollectionConfig\n description?: StaticDescription\n notFoundDocId?: null | string\n payload: Payload\n serverProps: ListViewServerPropsOnly\n}\n\nexport const renderListViewSlots = ({\n clientProps,\n collectionConfig,\n description,\n notFoundDocId,\n payload,\n serverProps,\n}: Args): ListViewSlots => {\n const result: ListViewSlots = {} as ListViewSlots\n\n if (collectionConfig.admin.components?.afterList) {\n result.AfterList = RenderServerComponent({\n clientProps: clientProps satisfies AfterListClientProps,\n Component: collectionConfig.admin.components.afterList,\n importMap: payload.importMap,\n serverProps: serverProps satisfies AfterListTableServerPropsOnly,\n })\n }\n\n const listMenuItems = collectionConfig.admin.components?.listMenuItems\n\n if (Array.isArray(listMenuItems)) {\n result.listMenuItems = [\n RenderServerComponent({\n clientProps,\n Component: listMenuItems,\n importMap: payload.importMap,\n serverProps,\n }),\n ]\n }\n\n if (collectionConfig.admin.components?.afterListTable) {\n result.AfterListTable = RenderServerComponent({\n clientProps: clientProps satisfies AfterListTableClientProps,\n Component: collectionConfig.admin.components.afterListTable,\n importMap: payload.importMap,\n serverProps: serverProps satisfies AfterListTableServerPropsOnly,\n })\n }\n\n if (collectionConfig.admin.components?.beforeList) {\n result.BeforeList = RenderServerComponent({\n clientProps: clientProps satisfies BeforeListClientProps,\n Component: collectionConfig.admin.components.beforeList,\n importMap: payload.importMap,\n serverProps: serverProps satisfies BeforeListServerPropsOnly,\n })\n }\n\n // Handle beforeListTable with optional banner\n const existingBeforeListTable = collectionConfig.admin.components?.beforeListTable\n ? RenderServerComponent({\n clientProps: clientProps satisfies BeforeListTableClientProps,\n Component: collectionConfig.admin.components.beforeListTable,\n importMap: payload.importMap,\n serverProps: serverProps satisfies BeforeListTableServerPropsOnly,\n })\n : null\n\n // Create banner for document not found\n const notFoundBanner = notFoundDocId ? (\n <Banner className=\"list-view__not-found-banner\" type=\"danger\">\n {serverProps.i18n.t('error:documentNotFound', { id: notFoundDocId })}\n </Banner>\n ) : null\n\n // Combine banner and existing component\n if (notFoundBanner || existingBeforeListTable) {\n result.BeforeListTable = (\n <React.Fragment>\n {notFoundBanner}\n {existingBeforeListTable}\n </React.Fragment>\n )\n }\n\n if (collectionConfig.admin.components?.Description) {\n result.Description = RenderServerComponent({\n clientProps: {\n collectionSlug: collectionConfig.slug,\n description,\n } satisfies ViewDescriptionClientProps,\n Component: collectionConfig.admin.components.Description,\n importMap: payload.importMap,\n serverProps: serverProps satisfies ViewDescriptionServerPropsOnly,\n })\n }\n\n if (collectionConfig.admin.components?.views?.list?.NoResults) {\n result.NoResults = (\n <React.Fragment key=\"list-view-no-results\">\n {RenderServerComponent({\n clientProps: clientProps satisfies NoResultsClientProps,\n Component: collectionConfig.admin.components.views.list.NoResults,\n importMap: payload.importMap,\n key: 'list-view-no-results',\n serverProps: serverProps satisfies NoResultsServerPropsOnly,\n })}\n </React.Fragment>\n )\n }\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
@@ -14,5 +14,19 @@ export declare const LogoutClient: React.FC<{
14
14
  adminRoute: string;
15
15
  inactivity?: boolean;
16
16
  redirect: string;
17
+ /**
18
+ * The server-resolved user for the logout request. This is the source of
19
+ * truth for *who* to log out: the client `useAuth().user` is unreliable here
20
+ * because the admin `AuthProvider` clears any user that isn't in the admin
21
+ * user collection (a non-admin/public user resolves to `null` via `/me`).
22
+ * On adapters that mount this view's tree after the layout's auth effects
23
+ * (e.g. TanStack Start, where the RSC payload streams in after hydration),
24
+ * that clear races ahead of this component and `useAuth().user` is already
25
+ * `null` at mount — so relying on it would skip the logout request entirely.
26
+ */
27
+ user?: {
28
+ collection?: string;
29
+ id?: number | string;
30
+ } | null;
17
31
  }>;
18
32
  //# sourceMappingURL=LogoutClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LogoutClient.d.ts","sourceRoot":"","sources":["../../../src/views/Logout/LogoutClient.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoB,MAAM,OAAO,CAAA;AASxC,OAAO,aAAa,CAAA;AAIpB;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB,CA0DA,CAAA"}
1
+ {"version":3,"file":"LogoutClient.d.ts","sourceRoot":"","sources":["../../../src/views/Logout/LogoutClient.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoB,MAAM,OAAO,CAAA;AASxC,OAAO,aAAa,CAAA;AAIpB;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CAC5D,CA+DA,CAAA"}
@@ -24,21 +24,23 @@ const baseClass = 'logout';
24
24
  * is logged out due to inactivity.
25
25
  */
26
26
  export const LogoutClient = props => {
27
- const $ = _c(23);
27
+ const $ = _c(24);
28
28
  const {
29
29
  adminRoute,
30
30
  inactivity,
31
- redirect
31
+ redirect,
32
+ user: serverUser
32
33
  } = props;
33
34
  const {
34
35
  logOut,
35
- user
36
+ user: clientUser
36
37
  } = useAuth();
38
+ const logoutUser = clientUser ?? serverUser;
37
39
  const {
38
40
  startRouteTransition
39
41
  } = useRouteTransition();
40
- user?.id;
41
- const isLoggedIn = Boolean(user?.id);
42
+ logoutUser?.id;
43
+ const isLoggedIn = Boolean(logoutUser?.id);
42
44
  const navigatingToLoginRef = React.useRef(false);
43
45
  let t0;
44
46
  if ($[0] !== adminRoute || $[1] !== inactivity || $[2] !== redirect) {
@@ -59,29 +61,33 @@ export const LogoutClient = props => {
59
61
  } = useTranslation();
60
62
  const router = useRouter();
61
63
  let t1;
62
- if ($[4] !== logOut || $[5] !== loginRoute || $[6] !== router || $[7] !== startRouteTransition || $[8] !== t) {
64
+ if ($[4] !== logOut || $[5] !== loginRoute || $[6] !== logoutUser?.collection || $[7] !== router || $[8] !== startRouteTransition || $[9] !== t) {
63
65
  t1 = async () => {
64
66
  if (!navigatingToLoginRef.current) {
65
67
  navigatingToLoginRef.current = true;
66
- await logOut();
67
- toast.success(t("authentication:loggedOutSuccessfully"));
68
+ await logOut({
69
+ collection: logoutUser?.collection
70
+ });
71
+ toast(t("authentication:loggedOutSuccessfully"));
68
72
  startRouteTransition(() => router.push(loginRoute));
69
73
  return;
70
74
  }
71
75
  };
72
76
  $[4] = logOut;
73
77
  $[5] = loginRoute;
74
- $[6] = router;
75
- $[7] = startRouteTransition;
76
- $[8] = t;
77
- $[9] = t1;
78
+ $[6] = logoutUser?.collection;
79
+ $[7] = router;
80
+ $[8] = startRouteTransition;
81
+ $[9] = t;
82
+ $[10] = t1;
78
83
  } else {
79
- t1 = $[9];
84
+ t1 = $[10];
80
85
  }
86
+ logoutUser?.collection;
81
87
  const handleLogOut = t1;
82
88
  let t2;
83
89
  let t3;
84
- if ($[10] !== handleLogOut || $[11] !== inactivity || $[12] !== isLoggedIn || $[13] !== loginRoute || $[14] !== router || $[15] !== startRouteTransition) {
90
+ if ($[11] !== handleLogOut || $[12] !== inactivity || $[13] !== isLoggedIn || $[14] !== loginRoute || $[15] !== router || $[16] !== startRouteTransition) {
85
91
  t2 = () => {
86
92
  if (isLoggedIn && !inactivity) {
87
93
  handleLogOut();
@@ -93,22 +99,22 @@ export const LogoutClient = props => {
93
99
  }
94
100
  };
95
101
  t3 = [handleLogOut, isLoggedIn, loginRoute, router, startRouteTransition, inactivity];
96
- $[10] = handleLogOut;
97
- $[11] = inactivity;
98
- $[12] = isLoggedIn;
99
- $[13] = loginRoute;
100
- $[14] = router;
101
- $[15] = startRouteTransition;
102
- $[16] = t2;
103
- $[17] = t3;
102
+ $[11] = handleLogOut;
103
+ $[12] = inactivity;
104
+ $[13] = isLoggedIn;
105
+ $[14] = loginRoute;
106
+ $[15] = router;
107
+ $[16] = startRouteTransition;
108
+ $[17] = t2;
109
+ $[18] = t3;
104
110
  } else {
105
- t2 = $[16];
106
- t3 = $[17];
111
+ t2 = $[17];
112
+ t3 = $[18];
107
113
  }
108
114
  useEffect(t2, t3);
109
115
  if (!isLoggedIn && inactivity) {
110
116
  let t4;
111
- if ($[18] !== loginRoute || $[19] !== t) {
117
+ if ($[19] !== loginRoute || $[20] !== t) {
112
118
  t4 = _jsxs("div", {
113
119
  className: `${baseClass}__wrap`,
114
120
  children: [_jsx("h2", {
@@ -121,24 +127,24 @@ export const LogoutClient = props => {
121
127
  children: t("authentication:logBackIn")
122
128
  })]
123
129
  });
124
- $[18] = loginRoute;
125
- $[19] = t;
126
- $[20] = t4;
130
+ $[19] = loginRoute;
131
+ $[20] = t;
132
+ $[21] = t4;
127
133
  } else {
128
- t4 = $[20];
134
+ t4 = $[21];
129
135
  }
130
136
  return t4;
131
137
  }
132
138
  let t4;
133
- if ($[21] !== t) {
139
+ if ($[22] !== t) {
134
140
  t4 = _jsx(LoadingOverlay, {
135
141
  animationDuration: "0ms",
136
142
  loadingText: t("authentication:loggingOut")
137
143
  });
138
- $[21] = t;
139
- $[22] = t4;
144
+ $[22] = t;
145
+ $[23] = t4;
140
146
  } else {
141
- t4 = $[22];
147
+ t4 = $[23];
142
148
  }
143
149
  return t4;
144
150
  };