@payloadcms/ui 3.39.0-internal.32c7661 → 3.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (461) hide show
  1. package/dist/elements/BulkUpload/ActionsBar/index.js +1 -1
  2. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  3. package/dist/elements/BulkUpload/AddFilesView/index.js +1 -1
  4. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  5. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  6. package/dist/elements/BulkUpload/EditForm/index.js +9 -0
  7. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  8. package/dist/elements/Button/index.d.ts.map +1 -1
  9. package/dist/elements/Button/index.js +3 -3
  10. package/dist/elements/Button/index.js.map +1 -1
  11. package/dist/elements/Button/index.scss +144 -83
  12. package/dist/elements/Button/types.d.ts +2 -1
  13. package/dist/elements/Button/types.d.ts.map +1 -1
  14. package/dist/elements/Button/types.js.map +1 -1
  15. package/dist/elements/CheckboxPopup/index.d.ts +17 -0
  16. package/dist/elements/CheckboxPopup/index.d.ts.map +1 -0
  17. package/dist/elements/CheckboxPopup/index.js +42 -0
  18. package/dist/elements/CheckboxPopup/index.js.map +1 -0
  19. package/dist/elements/CheckboxPopup/index.scss +19 -0
  20. package/dist/elements/CloseModalButton/index.d.ts +6 -0
  21. package/dist/elements/CloseModalButton/index.d.ts.map +1 -0
  22. package/dist/elements/CloseModalButton/index.js +27 -0
  23. package/dist/elements/CloseModalButton/index.js.map +1 -0
  24. package/dist/elements/CloseModalButton/index.scss +25 -0
  25. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  26. package/dist/elements/ColumnSelector/index.js +3 -2
  27. package/dist/elements/ColumnSelector/index.js.map +1 -1
  28. package/dist/elements/DeleteMany/index.d.ts +50 -2
  29. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  30. package/dist/elements/DeleteMany/index.js +230 -82
  31. package/dist/elements/DeleteMany/index.js.map +1 -1
  32. package/dist/elements/DocumentControls/index.d.ts +2 -2
  33. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  34. package/dist/elements/DocumentControls/index.js +25 -26
  35. package/dist/elements/DocumentControls/index.js.map +1 -1
  36. package/dist/elements/DocumentControls/index.scss +13 -3
  37. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  38. package/dist/elements/DocumentDrawer/DrawerContent.js +1 -3
  39. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  40. package/dist/elements/DrawerActionHeader/index.d.ts +12 -0
  41. package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -0
  42. package/dist/elements/DrawerActionHeader/index.js +77 -0
  43. package/dist/elements/DrawerActionHeader/index.js.map +1 -0
  44. package/dist/elements/DrawerActionHeader/index.scss +24 -0
  45. package/dist/elements/DrawerContentContainer/index.d.ts +9 -0
  46. package/dist/elements/DrawerContentContainer/index.d.ts.map +1 -0
  47. package/dist/elements/DrawerContentContainer/index.js +14 -0
  48. package/dist/elements/DrawerContentContainer/index.js.map +1 -0
  49. package/dist/elements/DrawerContentContainer/index.scss +6 -0
  50. package/dist/elements/EditMany/DrawerContent.d.ts +25 -2
  51. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  52. package/dist/elements/EditMany/DrawerContent.js +37 -13
  53. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  54. package/dist/elements/EditMany/index.d.ts +5 -0
  55. package/dist/elements/EditMany/index.d.ts.map +1 -1
  56. package/dist/elements/EditMany/index.js +68 -34
  57. package/dist/elements/EditMany/index.js.map +1 -1
  58. package/dist/elements/EditMany/index.scss +0 -16
  59. package/dist/elements/FolderView/Breadcrumbs/index.d.ts +19 -0
  60. package/dist/elements/FolderView/Breadcrumbs/index.d.ts.map +1 -0
  61. package/dist/elements/FolderView/Breadcrumbs/index.js +96 -0
  62. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -0
  63. package/dist/elements/FolderView/Breadcrumbs/index.scss +56 -0
  64. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts +6 -0
  65. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts.map +1 -0
  66. package/dist/elements/FolderView/BrowseByFolderButton/index.js +40 -0
  67. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -0
  68. package/dist/elements/FolderView/BrowseByFolderButton/index.scss +30 -0
  69. package/dist/elements/FolderView/Cell/index.client.d.ts +11 -0
  70. package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -0
  71. package/dist/elements/FolderView/Cell/index.client.js +84 -0
  72. package/dist/elements/FolderView/Cell/index.client.js.map +1 -0
  73. package/dist/elements/FolderView/Cell/index.server.d.ts +4 -0
  74. package/dist/elements/FolderView/Cell/index.server.d.ts.map +1 -0
  75. package/dist/elements/FolderView/Cell/index.server.js +13 -0
  76. package/dist/elements/FolderView/Cell/index.server.js.map +1 -0
  77. package/dist/elements/FolderView/CollectionTypePill/index.d.ts +4 -0
  78. package/dist/elements/FolderView/CollectionTypePill/index.d.ts.map +1 -0
  79. package/dist/elements/FolderView/CollectionTypePill/index.js +97 -0
  80. package/dist/elements/FolderView/CollectionTypePill/index.js.map +1 -0
  81. package/dist/elements/FolderView/CollectionTypePill/index.scss +16 -0
  82. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts +3 -0
  83. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts.map +1 -0
  84. package/dist/elements/FolderView/ColoredFolderIcon/index.js +9 -0
  85. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -0
  86. package/dist/elements/FolderView/ColoredFolderIcon/index.scss +5 -0
  87. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts +7 -0
  88. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +1 -0
  89. package/dist/elements/FolderView/CurrentFolderActions/index.js +146 -0
  90. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -0
  91. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts +12 -0
  92. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts.map +1 -0
  93. package/dist/elements/FolderView/DragOverlaySelection/index.js +67 -0
  94. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -0
  95. package/dist/elements/FolderView/DragOverlaySelection/index.scss +35 -0
  96. package/dist/elements/FolderView/DraggableTableRow/index.d.ts +18 -0
  97. package/dist/elements/FolderView/DraggableTableRow/index.d.ts.map +1 -0
  98. package/dist/elements/FolderView/DraggableTableRow/index.js +64 -0
  99. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -0
  100. package/dist/elements/FolderView/DraggableTableRow/index.scss +135 -0
  101. package/dist/elements/FolderView/DraggableWithClick/index.d.ts +15 -0
  102. package/dist/elements/FolderView/DraggableWithClick/index.d.ts.map +1 -0
  103. package/dist/elements/FolderView/DraggableWithClick/index.js +81 -0
  104. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -0
  105. package/dist/elements/FolderView/DraggableWithClick/index.scss +5 -0
  106. package/dist/elements/FolderView/Drawers/DrawerHeader/index.d.ts +10 -0
  107. package/dist/elements/FolderView/Drawers/DrawerHeader/index.d.ts.map +1 -0
  108. package/dist/elements/FolderView/Drawers/DrawerHeader/index.js +55 -0
  109. package/dist/elements/FolderView/Drawers/DrawerHeader/index.js.map +1 -0
  110. package/dist/elements/FolderView/Drawers/DrawerHeader/index.scss +30 -0
  111. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +32 -0
  112. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +1 -0
  113. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +493 -0
  114. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -0
  115. package/dist/elements/FolderView/Drawers/MoveToFolder/index.scss +26 -0
  116. package/dist/elements/FolderView/Drawers/NewFolder/index.d.ts +9 -0
  117. package/dist/elements/FolderView/Drawers/NewFolder/index.d.ts.map +1 -0
  118. package/dist/elements/FolderView/Drawers/NewFolder/index.js +157 -0
  119. package/dist/elements/FolderView/Drawers/NewFolder/index.js.map +1 -0
  120. package/dist/elements/FolderView/Drawers/RenameFolder/index.d.ts +13 -0
  121. package/dist/elements/FolderView/Drawers/RenameFolder/index.d.ts.map +1 -0
  122. package/dist/elements/FolderView/Drawers/RenameFolder/index.js +140 -0
  123. package/dist/elements/FolderView/Drawers/RenameFolder/index.js.map +1 -0
  124. package/dist/elements/FolderView/Field/index.scss +12 -0
  125. package/dist/elements/FolderView/Field/index.server.d.ts +4 -0
  126. package/dist/elements/FolderView/Field/index.server.d.ts.map +1 -0
  127. package/dist/elements/FolderView/Field/index.server.js +11 -0
  128. package/dist/elements/FolderView/Field/index.server.js.map +1 -0
  129. package/dist/elements/FolderView/FolderFileCard/index.d.ts +21 -0
  130. package/dist/elements/FolderView/FolderFileCard/index.d.ts.map +1 -0
  131. package/dist/elements/FolderView/FolderFileCard/index.js +94 -0
  132. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -0
  133. package/dist/elements/FolderView/FolderFileCard/index.scss +213 -0
  134. package/dist/elements/FolderView/FolderFileTable/index.d.ts +29 -0
  135. package/dist/elements/FolderView/FolderFileTable/index.d.ts.map +1 -0
  136. package/dist/elements/FolderView/FolderFileTable/index.js +189 -0
  137. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -0
  138. package/dist/elements/FolderView/FolderFileTable/index.scss +11 -0
  139. package/dist/elements/FolderView/ItemCardGrid/index.d.ts +22 -0
  140. package/dist/elements/FolderView/ItemCardGrid/index.d.ts.map +1 -0
  141. package/dist/elements/FolderView/ItemCardGrid/index.js +100 -0
  142. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -0
  143. package/dist/elements/FolderView/ItemCardGrid/index.scss +16 -0
  144. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts +34 -0
  145. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts.map +1 -0
  146. package/dist/elements/FolderView/MoveDocToFolder/index.js +287 -0
  147. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -0
  148. package/dist/elements/FolderView/MoveDocToFolder/index.scss +12 -0
  149. package/dist/elements/FolderView/SimpleTable/index.d.ts +19 -0
  150. package/dist/elements/FolderView/SimpleTable/index.d.ts.map +1 -0
  151. package/dist/elements/FolderView/SimpleTable/index.js +95 -0
  152. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -0
  153. package/dist/elements/FolderView/SimpleTable/index.scss +59 -0
  154. package/dist/elements/FolderView/SortByPill/index.d.ts +4 -0
  155. package/dist/elements/FolderView/SortByPill/index.d.ts.map +1 -0
  156. package/dist/elements/FolderView/SortByPill/index.js +108 -0
  157. package/dist/elements/FolderView/SortByPill/index.js.map +1 -0
  158. package/dist/elements/FolderView/SortByPill/index.scss +16 -0
  159. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts +8 -0
  160. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts.map +1 -0
  161. package/dist/elements/FolderView/ToggleViewButtons/index.js +31 -0
  162. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -0
  163. package/dist/elements/FolderView/ToggleViewButtons/index.scss +17 -0
  164. package/dist/elements/Gutter/index.d.ts.map +1 -1
  165. package/dist/elements/Gutter/index.js +1 -1
  166. package/dist/elements/Gutter/index.js.map +1 -1
  167. package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts.map +1 -1
  168. package/dist/elements/ListControls/ActiveQueryPreset/index.js +93 -67
  169. package/dist/elements/ListControls/ActiveQueryPreset/index.js.map +1 -1
  170. package/dist/elements/ListControls/ActiveQueryPreset/index.scss +17 -5
  171. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts +2 -1
  172. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
  173. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +5 -2
  174. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  175. package/dist/elements/ListControls/index.d.ts.map +1 -1
  176. package/dist/elements/ListControls/index.js +13 -15
  177. package/dist/elements/ListControls/index.js.map +1 -1
  178. package/dist/elements/ListControls/index.scss +1 -1
  179. package/dist/elements/ListControls/types.d.ts +1 -0
  180. package/dist/elements/ListControls/types.d.ts.map +1 -1
  181. package/dist/elements/ListControls/types.js.map +1 -1
  182. package/dist/elements/ListControls/useQueryPresets.d.ts.map +1 -1
  183. package/dist/elements/ListControls/useQueryPresets.js +19 -27
  184. package/dist/elements/ListControls/useQueryPresets.js.map +1 -1
  185. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  186. package/dist/elements/ListDrawer/DrawerContent.js +34 -22
  187. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  188. package/dist/elements/ListFolderPills/index.d.ts +9 -0
  189. package/dist/elements/ListFolderPills/index.d.ts.map +1 -0
  190. package/dist/elements/ListFolderPills/index.js +93 -0
  191. package/dist/elements/ListFolderPills/index.js.map +1 -0
  192. package/dist/elements/ListFolderPills/index.scss +7 -0
  193. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts +2 -0
  194. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -0
  195. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +98 -0
  196. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -0
  197. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.d.ts +6 -0
  198. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.d.ts.map +1 -0
  199. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +39 -0
  200. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -0
  201. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts +2 -0
  202. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts.map +1 -0
  203. package/dist/elements/ListHeader/DrawerTitleActions/index.js +2 -0
  204. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -0
  205. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +15 -0
  206. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -0
  207. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +85 -0
  208. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -0
  209. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.d.ts +8 -0
  210. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.d.ts.map +1 -0
  211. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +48 -0
  212. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -0
  213. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts +12 -0
  214. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +1 -0
  215. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +168 -0
  216. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -0
  217. package/dist/elements/ListHeader/TitleActions/index.d.ts +4 -0
  218. package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -0
  219. package/dist/elements/ListHeader/TitleActions/index.js +4 -0
  220. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -0
  221. package/dist/elements/ListHeader/index.d.ts +13 -0
  222. package/dist/elements/ListHeader/index.d.ts.map +1 -0
  223. package/dist/elements/ListHeader/index.js +29 -0
  224. package/dist/elements/ListHeader/index.js.map +1 -0
  225. package/dist/elements/ListHeader/index.scss +48 -0
  226. package/dist/elements/ListSelection/index.d.ts +22 -7
  227. package/dist/elements/ListSelection/index.d.ts.map +1 -1
  228. package/dist/elements/ListSelection/index.js +58 -60
  229. package/dist/elements/ListSelection/index.js.map +1 -1
  230. package/dist/elements/ListSelection/index.scss +10 -1
  231. package/dist/elements/NoListResults/index.d.ts +9 -0
  232. package/dist/elements/NoListResults/index.d.ts.map +1 -0
  233. package/dist/elements/NoListResults/index.js +19 -0
  234. package/dist/elements/NoListResults/index.js.map +1 -0
  235. package/dist/elements/NoListResults/index.scss +20 -0
  236. package/dist/elements/Pagination/index.js +2 -2
  237. package/dist/elements/Pagination/index.js.map +1 -1
  238. package/dist/elements/Pill/index.scss +25 -9
  239. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  240. package/dist/elements/Popup/PopupButtonList/index.js +1 -1
  241. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  242. package/dist/elements/Popup/PopupButtonList/index.scss +12 -1
  243. package/dist/elements/Popup/PopupDivider/index.scss +1 -0
  244. package/dist/elements/Popup/PopupGroupLabel/index.scss +4 -1
  245. package/dist/elements/Popup/PopupTrigger/index.js +92 -26
  246. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  247. package/dist/elements/Popup/index.d.ts +1 -0
  248. package/dist/elements/Popup/index.d.ts.map +1 -1
  249. package/dist/elements/Popup/index.js +18 -7
  250. package/dist/elements/Popup/index.js.map +1 -1
  251. package/dist/elements/Popup/index.scss +1 -0
  252. package/dist/elements/PublishMany/DrawerContent.d.ts +10 -0
  253. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -0
  254. package/dist/elements/PublishMany/DrawerContent.js +143 -0
  255. package/dist/elements/PublishMany/DrawerContent.js.map +1 -0
  256. package/dist/elements/PublishMany/index.d.ts +7 -1
  257. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  258. package/dist/elements/PublishMany/index.js +75 -110
  259. package/dist/elements/PublishMany/index.js.map +1 -1
  260. package/dist/elements/SearchBar/index.d.ts +12 -0
  261. package/dist/elements/SearchBar/index.d.ts.map +1 -0
  262. package/dist/elements/SearchBar/index.js +26 -0
  263. package/dist/elements/SearchBar/index.js.map +1 -0
  264. package/dist/elements/SearchBar/index.scss +26 -0
  265. package/dist/elements/SearchFilter/index.d.ts +23 -0
  266. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  267. package/dist/elements/SearchFilter/index.js +9 -7
  268. package/dist/elements/SearchFilter/index.js.map +1 -1
  269. package/dist/elements/SortColumn/index.scss +1 -1
  270. package/dist/elements/StepNav/types.d.ts +2 -1
  271. package/dist/elements/StepNav/types.d.ts.map +1 -1
  272. package/dist/elements/StepNav/types.js.map +1 -1
  273. package/dist/elements/Table/index.scss +33 -7
  274. package/dist/elements/UnpublishMany/DrawerContent.d.ts +10 -0
  275. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -0
  276. package/dist/elements/UnpublishMany/DrawerContent.js +134 -0
  277. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -0
  278. package/dist/elements/UnpublishMany/index.d.ts +5 -1
  279. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  280. package/dist/elements/UnpublishMany/index.js +79 -112
  281. package/dist/elements/UnpublishMany/index.js.map +1 -1
  282. package/dist/elements/Upload/index.d.ts.map +1 -1
  283. package/dist/elements/Upload/index.js +29 -16
  284. package/dist/elements/Upload/index.js.map +1 -1
  285. package/dist/elements/Upload/index.scss +0 -15
  286. package/dist/exports/client/index.d.ts +16 -2
  287. package/dist/exports/client/index.d.ts.map +1 -1
  288. package/dist/exports/client/index.js +22 -23
  289. package/dist/exports/client/index.js.map +4 -4
  290. package/dist/exports/rsc/index.d.ts +2 -0
  291. package/dist/exports/rsc/index.d.ts.map +1 -1
  292. package/dist/exports/rsc/index.js +2 -0
  293. package/dist/exports/rsc/index.js.map +1 -1
  294. package/dist/exports/shared/index.d.ts +1 -1
  295. package/dist/exports/shared/index.d.ts.map +1 -1
  296. package/dist/exports/shared/index.js +2 -2
  297. package/dist/exports/shared/index.js.map +2 -2
  298. package/dist/fields/Group/index.d.ts.map +1 -1
  299. package/dist/fields/Group/index.js +4 -4
  300. package/dist/fields/Group/index.js.map +1 -1
  301. package/dist/fields/Join/index.d.ts.map +1 -1
  302. package/dist/fields/Join/index.js +3 -1
  303. package/dist/fields/Join/index.js.map +1 -1
  304. package/dist/fields/Upload/index.scss +0 -4
  305. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -1
  306. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  307. package/dist/hooks/useClickOutside.d.ts +2 -0
  308. package/dist/hooks/useClickOutside.d.ts.map +1 -0
  309. package/dist/hooks/useClickOutside.js +20 -0
  310. package/dist/hooks/useClickOutside.js.map +1 -0
  311. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  312. package/dist/hooks/useUseAsTitle.js +25 -5
  313. package/dist/hooks/useUseAsTitle.js.map +1 -1
  314. package/dist/icons/Document/index.d.ts +4 -0
  315. package/dist/icons/Document/index.d.ts.map +1 -0
  316. package/dist/icons/Document/index.js +20 -0
  317. package/dist/icons/Document/index.js.map +1 -0
  318. package/dist/icons/Document/index.scss +6 -0
  319. package/dist/icons/Dots/index.scss +3 -3
  320. package/dist/icons/Folder/index.d.ts +6 -0
  321. package/dist/icons/Folder/index.d.ts.map +1 -0
  322. package/dist/icons/Folder/index.js +20 -0
  323. package/dist/icons/Folder/index.js.map +1 -0
  324. package/dist/icons/Folder/index.scss +6 -0
  325. package/dist/icons/GridView/index.d.ts +4 -0
  326. package/dist/icons/GridView/index.d.ts.map +1 -0
  327. package/dist/icons/GridView/index.js +35 -0
  328. package/dist/icons/GridView/index.js.map +1 -0
  329. package/dist/icons/GridView/index.scss +3 -0
  330. package/dist/icons/ListView/index.d.ts +4 -0
  331. package/dist/icons/ListView/index.d.ts.map +1 -0
  332. package/dist/icons/ListView/index.js +20 -0
  333. package/dist/icons/ListView/index.js.map +1 -0
  334. package/dist/icons/ListView/index.scss +3 -0
  335. package/dist/icons/MoveFolder/index.d.ts +4 -0
  336. package/dist/icons/MoveFolder/index.d.ts.map +1 -0
  337. package/dist/icons/MoveFolder/index.js +39 -0
  338. package/dist/icons/MoveFolder/index.js.map +1 -0
  339. package/dist/icons/MoveFolder/index.scss +6 -0
  340. package/dist/icons/People/index.d.ts.map +1 -1
  341. package/dist/icons/People/index.js +7 -5
  342. package/dist/icons/People/index.js.map +1 -1
  343. package/dist/icons/ThreeDots/index.d.ts +6 -0
  344. package/dist/icons/ThreeDots/index.d.ts.map +1 -0
  345. package/dist/icons/ThreeDots/index.js +12 -0
  346. package/dist/icons/ThreeDots/index.js.map +1 -0
  347. package/dist/icons/ThreeDots/index.scss +17 -0
  348. package/dist/providers/ClickOutside/index.d.ts +14 -0
  349. package/dist/providers/ClickOutside/index.d.ts.map +1 -0
  350. package/dist/providers/ClickOutside/index.js +39 -0
  351. package/dist/providers/ClickOutside/index.js.map +1 -0
  352. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  353. package/dist/providers/DocumentInfo/index.js +10 -4
  354. package/dist/providers/DocumentInfo/index.js.map +1 -1
  355. package/dist/providers/Folders/index.d.ts +119 -0
  356. package/dist/providers/Folders/index.d.ts.map +1 -0
  357. package/dist/providers/Folders/index.js +856 -0
  358. package/dist/providers/Folders/index.js.map +1 -0
  359. package/dist/providers/Folders/selection.d.ts +11 -0
  360. package/dist/providers/Folders/selection.d.ts.map +1 -0
  361. package/dist/providers/Folders/selection.js +38 -0
  362. package/dist/providers/Folders/selection.js.map +1 -0
  363. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  364. package/dist/providers/ListQuery/index.js +31 -25
  365. package/dist/providers/ListQuery/index.js.map +1 -1
  366. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  367. package/dist/providers/ListQuery/types.js.map +1 -1
  368. package/dist/providers/Preferences/index.d.ts +3 -2
  369. package/dist/providers/Preferences/index.d.ts.map +1 -1
  370. package/dist/providers/Preferences/index.js +1 -0
  371. package/dist/providers/Preferences/index.js.map +1 -1
  372. package/dist/providers/Root/index.d.ts.map +1 -1
  373. package/dist/providers/Root/index.js +99 -67
  374. package/dist/providers/Root/index.js.map +1 -1
  375. package/dist/providers/RouteCache/index.d.ts +2 -0
  376. package/dist/providers/RouteCache/index.d.ts.map +1 -1
  377. package/dist/providers/RouteCache/index.js +38 -29
  378. package/dist/providers/RouteCache/index.js.map +1 -1
  379. package/dist/providers/Selection/index.d.ts +1 -0
  380. package/dist/providers/Selection/index.d.ts.map +1 -1
  381. package/dist/providers/Selection/index.js +15 -5
  382. package/dist/providers/Selection/index.js.map +1 -1
  383. package/dist/providers/TableColumns/RenderDefaultCell/index.js +1 -1
  384. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  385. package/dist/providers/TableColumns/buildColumnState/filterFields.d.ts.map +1 -0
  386. package/dist/providers/TableColumns/buildColumnState/filterFields.js.map +1 -0
  387. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts +12 -0
  388. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts.map +1 -0
  389. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js +13 -0
  390. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js.map +1 -0
  391. package/dist/providers/TableColumns/buildColumnState/index.d.ts +31 -0
  392. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -0
  393. package/dist/providers/TableColumns/buildColumnState/index.js +143 -0
  394. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -0
  395. package/dist/providers/TableColumns/buildColumnState/isColumnActive.d.ts +8 -0
  396. package/dist/providers/TableColumns/buildColumnState/isColumnActive.d.ts.map +1 -0
  397. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js +16 -0
  398. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js.map +1 -0
  399. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +18 -0
  400. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -0
  401. package/dist/providers/TableColumns/buildColumnState/renderCell.js +110 -0
  402. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -0
  403. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.d.ts +3 -0
  404. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.d.ts.map +1 -0
  405. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js +20 -0
  406. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js.map +1 -0
  407. package/dist/scss/app.scss +6 -2
  408. package/dist/scss/resets.scss +2 -0
  409. package/dist/styles.css +1 -1
  410. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts +3 -3
  411. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  412. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  413. package/dist/utilities/renderTable.d.ts +2 -3
  414. package/dist/utilities/renderTable.d.ts.map +1 -1
  415. package/dist/utilities/renderTable.js +52 -33
  416. package/dist/utilities/renderTable.js.map +1 -1
  417. package/dist/views/BrowseByFolder/index.d.ts +8 -0
  418. package/dist/views/BrowseByFolder/index.d.ts.map +1 -0
  419. package/dist/views/BrowseByFolder/index.js +312 -0
  420. package/dist/views/BrowseByFolder/index.js.map +1 -0
  421. package/dist/views/BrowseByFolder/index.scss +174 -0
  422. package/dist/views/CollectionFolder/ListSelection/index.d.ts +7 -0
  423. package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -0
  424. package/dist/views/CollectionFolder/ListSelection/index.js +201 -0
  425. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -0
  426. package/dist/views/CollectionFolder/index.d.ts +5 -0
  427. package/dist/views/CollectionFolder/index.d.ts.map +1 -0
  428. package/dist/views/CollectionFolder/index.js +306 -0
  429. package/dist/views/CollectionFolder/index.js.map +1 -0
  430. package/dist/views/CollectionFolder/index.scss +162 -0
  431. package/dist/views/Edit/index.js +1 -1
  432. package/dist/views/Edit/index.js.map +1 -1
  433. package/dist/views/List/ListHeader/index.d.ts +13 -2
  434. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  435. package/dist/views/List/ListHeader/index.js +52 -113
  436. package/dist/views/List/ListHeader/index.js.map +1 -1
  437. package/dist/views/List/ListHeader/index.scss +10 -77
  438. package/dist/views/List/ListSelection/index.d.ts +10 -0
  439. package/dist/views/List/ListSelection/index.d.ts.map +1 -0
  440. package/dist/views/List/ListSelection/index.js +87 -0
  441. package/dist/views/List/ListSelection/index.js.map +1 -0
  442. package/dist/views/List/index.d.ts.map +1 -1
  443. package/dist/views/List/index.js +7 -11
  444. package/dist/views/List/index.js.map +1 -1
  445. package/dist/views/List/index.scss +0 -7
  446. package/package.json +5 -4
  447. package/dist/elements/DeleteMany/index.scss +0 -27
  448. package/dist/elements/PublishMany/index.scss +0 -21
  449. package/dist/elements/UnpublishMany/index.scss +0 -21
  450. package/dist/providers/TableColumns/buildColumnState.d.ts +0 -21
  451. package/dist/providers/TableColumns/buildColumnState.d.ts.map +0 -1
  452. package/dist/providers/TableColumns/buildColumnState.js +0 -201
  453. package/dist/providers/TableColumns/buildColumnState.js.map +0 -1
  454. package/dist/providers/TableColumns/buildPolymorphicColumnState.d.ts +0 -20
  455. package/dist/providers/TableColumns/buildPolymorphicColumnState.d.ts.map +0 -1
  456. package/dist/providers/TableColumns/buildPolymorphicColumnState.js +0 -200
  457. package/dist/providers/TableColumns/buildPolymorphicColumnState.js.map +0 -1
  458. package/dist/providers/TableColumns/filterFields.d.ts.map +0 -1
  459. package/dist/providers/TableColumns/filterFields.js.map +0 -1
  460. /package/dist/providers/TableColumns/{filterFields.d.ts → buildColumnState/filterFields.d.ts} +0 -0
  461. /package/dist/providers/TableColumns/{filterFields.js → buildColumnState/filterFields.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useRouter","useSearchParams","formatAdminURL","React","Fragment","useCallback","useEffect","useMemo","useRef","useState","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","Upload","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","OperationProvider","useRouteTransition","useServerFunctions","useUploadEdits","abortAndIgnore","handleAbortRef","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","BeforeDocumentControls","Description","PreviewButton","PublishButton","SaveButton","SaveDraftButton","CustomUpload","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialState","isEditing","isInitializing","lastUpdateTime","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","savedDocumentData","setCurrentEditor","setDocumentIsLocked","unlockDocument","updateDocumentEditor","updateSavedDocumentData","clearDoc","drawerSlug","onDelete","onDuplicate","onSave","onSaveFromContext","isInDrawer","Boolean","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","startRouteTransition","abortOnChangeRef","abortOnSaveRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","versions","drafts","autosave","preventLeaveWithoutSaving","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","documentLockStateRef","hasShownLockedModal","isLocked","classes","push","schemaPathSegments","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","json","controller","document","doc","result","updatedAt","toISOString","redirectRoute","path","docPreferences","state","data","renderAllFields","returnLockStatus","schemaPath","join","signal","skipValidation","onChange","formState","prevFormState","submitted","currentTime","timeSinceLastUpdate","updateLastEdited","shouldUnlockDocument","some","window","location","pathname","includes","abortOnChange","abortOnSave","shouldShowDocumentLockedModal","_jsx","className","filter","_jsxs","disabled","disableValidationOnSubmit","isDocumentForm","method","onSuccess","isActive","onReadOnly","onTakeOver","pluralLabel","labels","plural","useAsTitle","fallback","toString","customComponents","onDrawerCreateNew","permissions","readOnlyForIncomingUser","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","uploadConfig","fields"],"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["/* eslint-disable react-compiler/react-compiler -- TODO: fix */\n'use client'\n\nimport type { ClientUser, DocumentViewClientProps, FormState } from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { LockedState } from '../../utilities/buildFormState.js'\n\nimport { DocumentControls } from '../../elements/DocumentControls/index.js'\nimport { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js'\nimport { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../elements/DocumentFields/index.js'\nimport { DocumentLocked } from '../../elements/DocumentLocked/index.js'\nimport { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js'\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { Upload } from '../../elements/Upload/index.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { OperationProvider } from '../../providers/Operation/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { handleBackToDashboard } from '../../utilities/handleBackToDashboard.js'\nimport { handleGoBack } from '../../utilities/handleGoBack.js'\nimport { handleTakeOver } from '../../utilities/handleTakeOver.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport function DefaultEditView({\n BeforeDocumentControls,\n Description,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Upload: CustomUpload,\n}: DocumentViewClientProps) {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialState,\n isEditing,\n isInitializing,\n lastUpdateTime,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n savedDocumentData,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n updateDocumentEditor,\n updateSavedDocumentData,\n } = useDocumentInfo()\n\n const {\n clearDoc,\n drawerSlug,\n onDelete,\n onDuplicate,\n onSave: onSaveFromContext,\n } = useDocumentDrawerContext()\n\n const isInDrawer = Boolean(drawerSlug)\n\n const { refreshCookieAsync, user } = useAuth()\n\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const depth = useEditDepth()\n\n const router = useRouter()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n const { getFormState } = useServerFunctions()\n const { startRouteTransition } = useRouteTransition()\n\n const abortOnChangeRef = useRef<AbortController>(null)\n const abortOnSaveRef = useRef<AbortController>(null)\n\n const locale = params.get('locale')\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const autosaveEnabled = Boolean(\n (collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave),\n )\n\n const preventLeaveWithoutSaving =\n typeof disableLeaveWithoutSaving !== 'undefined' ? !disableLeaveWithoutSaving : !autosaveEnabled\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n\n const isLockExpired = Date.now() > lockExpiryTime\n\n const documentLockStateRef = useRef<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\n } | null>({\n hasShownLockedModal: false,\n isLocked: false,\n user: null,\n })\n\n const classes = [baseClass, (id || globalSlug) && `${baseClass}--is-editing`]\n\n if (globalSlug) {\n classes.push(`global-edit--${globalSlug}`)\n }\n\n if (collectionSlug) {\n classes.push(`collection-edit--${collectionSlug}`)\n }\n\n const schemaPathSegments = useMemo(() => [entitySlug], [entitySlug])\n\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const handleDocumentLocking = useCallback(\n (lockedState: LockedState) => {\n setDocumentIsLocked(true)\n const previousOwnerID =\n typeof documentLockStateRef.current?.user === 'object'\n ? documentLockStateRef.current?.user?.id\n : documentLockStateRef.current?.user\n\n if (lockedState) {\n const lockedUserID =\n typeof lockedState.user === 'string' || typeof lockedState.user === 'number'\n ? lockedState.user\n : lockedState.user.id\n\n if (!documentLockStateRef.current || lockedUserID !== previousOwnerID) {\n if (previousOwnerID === user.id && lockedUserID !== user.id) {\n setShowTakeOverModal(true)\n documentLockStateRef.current.hasShownLockedModal = true\n }\n\n documentLockStateRef.current = {\n hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user as ClientUser,\n }\n setCurrentEditor(lockedState.user as ClientUser)\n }\n }\n },\n [setCurrentEditor, setDocumentIsLocked, user?.id],\n )\n\n const onSave = useCallback(\n async (json): Promise<FormState> => {\n const controller = handleAbortRef(abortOnSaveRef)\n\n const document = json?.doc || json?.result\n\n reportUpdate({\n id,\n entitySlug,\n updatedAt: document?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n incrementVersionCount()\n\n if (typeof updateSavedDocumentData === 'function') {\n void updateSavedDocumentData(document || {})\n }\n\n if (typeof onSaveFromContext === 'function') {\n const operation = id ? 'update' : 'create'\n\n void onSaveFromContext({\n ...json,\n operation,\n updatedAt:\n operation === 'update'\n ? new Date().toISOString()\n : document?.updatedAt || new Date().toISOString(),\n })\n }\n\n if (!isEditing && depth < 2 && redirectAfterCreate !== false) {\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n\n startRouteTransition(() => router.push(redirectRoute))\n } else {\n resetUploadEdits()\n }\n\n await getDocPermissions(json)\n\n if ((id || globalSlug) && !autosaveEnabled) {\n const docPreferences = await getDocPreferences()\n\n const { state } = await getFormState({\n id,\n collectionSlug,\n data: document,\n docPermissions,\n docPreferences,\n globalSlug,\n operation,\n renderAllFields: true,\n returnLockStatus: false,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: true,\n })\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n abortOnSaveRef.current = null\n\n return state\n }\n },\n [\n reportUpdate,\n id,\n entitySlug,\n user,\n collectionSlug,\n userSlug,\n incrementVersionCount,\n updateSavedDocumentData,\n onSaveFromContext,\n isEditing,\n depth,\n getDocPermissions,\n globalSlug,\n autosaveEnabled,\n refreshCookieAsync,\n adminRoute,\n locale,\n router,\n resetUploadEdits,\n getDocPreferences,\n getFormState,\n docPermissions,\n operation,\n schemaPathSegments,\n isLockingEnabled,\n setDocumentIsLocked,\n startRouteTransition,\n redirectAfterCreate,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n const docPreferences = await getDocPreferences()\n\n const { lockedState, state } = await getFormState({\n id,\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n skipValidation: !submitted,\n // Performance optimization: Setting it to false ensure that only fields that have explicit requireRender set in the form state will be rendered (e.g. new array rows).\n // We only want to render ALL fields on initial render, not in onChange.\n renderAllFields: false,\n returnLockStatus: isLockingEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n updateLastEdited,\n })\n\n if (isLockingEnabled) {\n handleDocumentLocking(lockedState)\n }\n\n abortOnChangeRef.current = null\n\n return state\n },\n [\n id,\n collectionSlug,\n getDocPreferences,\n getFormState,\n globalSlug,\n handleDocumentLocking,\n isLockingEnabled,\n operation,\n schemaPathSegments,\n docPermissions,\n editSessionStartTime,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {\n // Only retain the lock if the user is still viewing the document\n const shouldUnlockDocument = !['preview', 'api', 'versions'].some((path) =>\n window.location.pathname.includes(path),\n )\n if (shouldUnlockDocument) {\n // Check if this user is still the current editor\n if (\n typeof documentLockStateRef.current?.user === 'object'\n ? documentLockStateRef.current?.user?.id === user?.id\n : documentLockStateRef.current?.user === user?.id\n ) {\n void unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n }\n }\n }\n\n setShowTakeOverModal(false)\n }\n }, [\n collectionSlug,\n globalSlug,\n id,\n unlockDocument,\n user,\n setCurrentEditor,\n isLockingEnabled,\n documentIsLocked,\n setDocumentIsLocked,\n ])\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n const abortOnSave = abortOnSaveRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n abortAndIgnore(abortOnSave)\n }\n }, [])\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n (typeof currentEditor === 'object'\n ? currentEditor.id !== user?.id\n : currentEditor !== user?.id) &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n !documentLockStateRef.current?.hasShownLockedModal &&\n !isLockExpired\n\n return (\n <main className={classes.filter(Boolean).join(' ')}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isDocumentForm={true}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {isInDrawer && <DocumentDrawerHeader drawerSlug={drawerSlug} />}\n {isLockingEnabled && shouldShowDocumentLockedModal && !isReadOnlyForIncomingUser && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n false,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n )\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {!isReadOnlyForIncomingUser && preventLeaveWithoutSaving && <LeaveWithoutSaving />}\n {!isInDrawer && (\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n BeforeDocumentControls={BeforeDocumentControls}\n customComponents={{\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n }}\n data={savedDocumentData}\n disableActions={disableActions}\n disableCreate={disableCreate}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n onDelete={onDelete}\n onDrawerCreateNew={clearDoc}\n onDuplicate={onDuplicate}\n onSave={onSave}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n true,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n setIsReadOnlyForIncomingUser,\n )\n }\n permissions={docPermissions}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n slug={collectionConfig?.slug || globalConfig?.slug}\n user={currentEditor}\n />\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={savedDocumentData?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n useAPIKey={auth.useAPIKey}\n username={savedDocumentData?.username}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n {CustomUpload || (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n )}\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n Description={Description}\n docPermissions={docPermissions}\n fields={docConfig.fields}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission}\n schemaPathSegments={schemaPathSegments}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useRouter","useSearchParams","formatAdminURL","React","Fragment","useCallback","useEffect","useMemo","useRef","useState","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","Upload","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","OperationProvider","useRouteTransition","useServerFunctions","useUploadEdits","abortAndIgnore","handleAbortRef","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","BeforeDocumentControls","Description","PreviewButton","PublishButton","SaveButton","SaveDraftButton","CustomUpload","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialState","isEditing","isInitializing","lastUpdateTime","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","savedDocumentData","setCurrentEditor","setDocumentIsLocked","unlockDocument","updateDocumentEditor","updateSavedDocumentData","clearDoc","drawerSlug","onDelete","onDuplicate","onSave","onSaveFromContext","isInDrawer","Boolean","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","startRouteTransition","abortOnChangeRef","abortOnSaveRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","versions","drafts","autosave","preventLeaveWithoutSaving","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","documentLockStateRef","hasShownLockedModal","isLocked","classes","push","schemaPathSegments","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","json","controller","document","doc","result","updatedAt","toISOString","redirectRoute","path","docPreferences","state","data","renderAllFields","returnLockStatus","schemaPath","join","signal","skipValidation","onChange","formState","prevFormState","submitted","currentTime","timeSinceLastUpdate","updateLastEdited","shouldUnlockDocument","some","window","location","pathname","includes","abortOnChange","abortOnSave","shouldShowDocumentLockedModal","_jsx","className","filter","_jsxs","disabled","disableValidationOnSubmit","isDocumentForm","method","onSuccess","isActive","onReadOnly","onTakeOver","pluralLabel","labels","plural","useAsTitle","fallback","toString","customComponents","onDrawerCreateNew","permissions","readOnlyForIncomingUser","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","uploadConfig","fields"],"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["/* eslint-disable react-compiler/react-compiler -- TODO: fix */\n'use client'\n\nimport type { ClientUser, DocumentViewClientProps, FormState } from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { LockedState } from '../../utilities/buildFormState.js'\n\nimport { DocumentControls } from '../../elements/DocumentControls/index.js'\nimport { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js'\nimport { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../elements/DocumentFields/index.js'\nimport { DocumentLocked } from '../../elements/DocumentLocked/index.js'\nimport { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js'\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { Upload } from '../../elements/Upload/index.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { OperationProvider } from '../../providers/Operation/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { handleBackToDashboard } from '../../utilities/handleBackToDashboard.js'\nimport { handleGoBack } from '../../utilities/handleGoBack.js'\nimport { handleTakeOver } from '../../utilities/handleTakeOver.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport function DefaultEditView({\n BeforeDocumentControls,\n Description,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Upload: CustomUpload,\n}: DocumentViewClientProps) {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialState,\n isEditing,\n isInitializing,\n lastUpdateTime,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n savedDocumentData,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n updateDocumentEditor,\n updateSavedDocumentData,\n } = useDocumentInfo()\n\n const {\n clearDoc,\n drawerSlug,\n onDelete,\n onDuplicate,\n onSave: onSaveFromContext,\n } = useDocumentDrawerContext()\n\n const isInDrawer = Boolean(drawerSlug)\n\n const { refreshCookieAsync, user } = useAuth()\n\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const depth = useEditDepth()\n\n const router = useRouter()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n const { getFormState } = useServerFunctions()\n const { startRouteTransition } = useRouteTransition()\n\n const abortOnChangeRef = useRef<AbortController>(null)\n const abortOnSaveRef = useRef<AbortController>(null)\n\n const locale = params.get('locale')\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const autosaveEnabled = Boolean(\n (collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave),\n )\n\n const preventLeaveWithoutSaving =\n typeof disableLeaveWithoutSaving !== 'undefined' ? !disableLeaveWithoutSaving : !autosaveEnabled\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n\n const isLockExpired = Date.now() > lockExpiryTime\n\n const documentLockStateRef = useRef<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\n } | null>({\n hasShownLockedModal: false,\n isLocked: false,\n user: null,\n })\n\n const classes = [baseClass, (id || globalSlug) && `${baseClass}--is-editing`]\n\n if (globalSlug) {\n classes.push(`global-edit--${globalSlug}`)\n }\n\n if (collectionSlug) {\n classes.push(`collection-edit--${collectionSlug}`)\n }\n\n const schemaPathSegments = useMemo(() => [entitySlug], [entitySlug])\n\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const handleDocumentLocking = useCallback(\n (lockedState: LockedState) => {\n setDocumentIsLocked(true)\n const previousOwnerID =\n typeof documentLockStateRef.current?.user === 'object'\n ? documentLockStateRef.current?.user?.id\n : documentLockStateRef.current?.user\n\n if (lockedState) {\n const lockedUserID =\n typeof lockedState.user === 'string' || typeof lockedState.user === 'number'\n ? lockedState.user\n : lockedState.user.id\n\n if (!documentLockStateRef.current || lockedUserID !== previousOwnerID) {\n if (previousOwnerID === user.id && lockedUserID !== user.id) {\n setShowTakeOverModal(true)\n documentLockStateRef.current.hasShownLockedModal = true\n }\n\n documentLockStateRef.current = {\n hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user as ClientUser,\n }\n setCurrentEditor(lockedState.user as ClientUser)\n }\n }\n },\n [setCurrentEditor, setDocumentIsLocked, user?.id],\n )\n\n const onSave = useCallback(\n async (json): Promise<FormState> => {\n const controller = handleAbortRef(abortOnSaveRef)\n\n const document = json?.doc || json?.result\n\n reportUpdate({\n id,\n entitySlug,\n updatedAt: document?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n incrementVersionCount()\n\n if (typeof updateSavedDocumentData === 'function') {\n void updateSavedDocumentData(document || {})\n }\n\n if (typeof onSaveFromContext === 'function') {\n const operation = id ? 'update' : 'create'\n\n void onSaveFromContext({\n ...json,\n operation,\n updatedAt:\n operation === 'update'\n ? new Date().toISOString()\n : document?.updatedAt || new Date().toISOString(),\n })\n }\n\n if (!isEditing && depth < 2 && redirectAfterCreate !== false) {\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n\n startRouteTransition(() => router.push(redirectRoute))\n } else {\n resetUploadEdits()\n }\n\n await getDocPermissions(json)\n\n if ((id || globalSlug) && !autosaveEnabled) {\n const docPreferences = await getDocPreferences()\n\n const { state } = await getFormState({\n id,\n collectionSlug,\n data: document,\n docPermissions,\n docPreferences,\n globalSlug,\n operation,\n renderAllFields: true,\n returnLockStatus: false,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: true,\n })\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n abortOnSaveRef.current = null\n\n return state\n }\n },\n [\n reportUpdate,\n id,\n entitySlug,\n user,\n collectionSlug,\n userSlug,\n incrementVersionCount,\n updateSavedDocumentData,\n onSaveFromContext,\n redirectAfterCreate,\n isEditing,\n depth,\n getDocPermissions,\n globalSlug,\n autosaveEnabled,\n refreshCookieAsync,\n adminRoute,\n locale,\n router,\n resetUploadEdits,\n getDocPreferences,\n getFormState,\n docPermissions,\n operation,\n schemaPathSegments,\n isLockingEnabled,\n setDocumentIsLocked,\n startRouteTransition,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n const docPreferences = await getDocPreferences()\n\n const { lockedState, state } = await getFormState({\n id,\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n skipValidation: !submitted,\n // Performance optimization: Setting it to false ensure that only fields that have explicit requireRender set in the form state will be rendered (e.g. new array rows).\n // We only want to render ALL fields on initial render, not in onChange.\n renderAllFields: false,\n returnLockStatus: isLockingEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n updateLastEdited,\n })\n\n if (isLockingEnabled) {\n handleDocumentLocking(lockedState)\n }\n\n abortOnChangeRef.current = null\n\n return state\n },\n [\n id,\n collectionSlug,\n getDocPreferences,\n getFormState,\n globalSlug,\n handleDocumentLocking,\n isLockingEnabled,\n operation,\n schemaPathSegments,\n docPermissions,\n editSessionStartTime,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {\n // Only retain the lock if the user is still viewing the document\n const shouldUnlockDocument = !['preview', 'api', 'versions'].some((path) =>\n window.location.pathname.includes(path),\n )\n if (shouldUnlockDocument) {\n // Check if this user is still the current editor\n if (\n typeof documentLockStateRef.current?.user === 'object'\n ? documentLockStateRef.current?.user?.id === user?.id\n : documentLockStateRef.current?.user === user?.id\n ) {\n void unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n }\n }\n }\n\n setShowTakeOverModal(false)\n }\n }, [\n collectionSlug,\n globalSlug,\n id,\n unlockDocument,\n user,\n setCurrentEditor,\n isLockingEnabled,\n documentIsLocked,\n setDocumentIsLocked,\n ])\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n const abortOnSave = abortOnSaveRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n abortAndIgnore(abortOnSave)\n }\n }, [])\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n (typeof currentEditor === 'object'\n ? currentEditor.id !== user?.id\n : currentEditor !== user?.id) &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n !documentLockStateRef.current?.hasShownLockedModal &&\n !isLockExpired\n\n return (\n <main className={classes.filter(Boolean).join(' ')}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isDocumentForm={true}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {isInDrawer && <DocumentDrawerHeader drawerSlug={drawerSlug} />}\n {isLockingEnabled && shouldShowDocumentLockedModal && !isReadOnlyForIncomingUser && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n false,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n )\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {!isReadOnlyForIncomingUser && preventLeaveWithoutSaving && <LeaveWithoutSaving />}\n {!isInDrawer && (\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n BeforeDocumentControls={BeforeDocumentControls}\n customComponents={{\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n }}\n data={savedDocumentData}\n disableActions={disableActions}\n disableCreate={disableCreate}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n onDelete={onDelete}\n onDrawerCreateNew={clearDoc}\n onDuplicate={onDuplicate}\n onSave={onSave}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n true,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n setIsReadOnlyForIncomingUser,\n )\n }\n permissions={docPermissions}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n slug={collectionConfig?.slug || globalConfig?.slug}\n user={currentEditor}\n />\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={savedDocumentData?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n useAPIKey={auth.useAPIKey}\n username={savedDocumentData?.username}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n {CustomUpload || (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n )}\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n Description={Description}\n docPermissions={docPermissions}\n fields={docConfig.fields}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission}\n schemaPathSegments={schemaPathSegments}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,7 @@ import type { ClientCollectionConfig } from 'payload';
3
3
  import React from 'react';
4
4
  import './index.scss';
5
5
  export type ListHeaderProps = {
6
+ Actions?: React.ReactNode[];
6
7
  className?: string;
7
8
  collectionConfig: ClientCollectionConfig;
8
9
  Description?: React.ReactNode;
@@ -12,9 +13,19 @@ export type ListHeaderProps = {
12
13
  i18n: I18nClient;
13
14
  isBulkUploadEnabled: boolean;
14
15
  newDocumentURL: string;
16
+ onBulkUploadSuccess?: () => void;
17
+ /** @deprecated This prop will be removed in the next major version.
18
+ *
19
+ * Opening of the bulk upload modal is handled internally.
20
+ *
21
+ * Prefer `onBulkUploadSuccess` usage to handle the success of the bulk upload.
22
+ */
15
23
  openBulkUpload: () => void;
16
24
  smallBreak: boolean;
17
- t: TFunction;
25
+ /** @deprecated This prop will be removed in the next major version. */
26
+ t?: TFunction;
27
+ TitleActions?: React.ReactNode[];
28
+ viewType?: 'folders' | 'list';
18
29
  };
19
- export declare const ListHeader: React.FC<ListHeaderProps>;
30
+ export declare const CollectionListHeader: React.FC<ListHeaderProps>;
20
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/ListHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAIrD,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,cAAc,CAAA;AAKrB,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,IAAI,EAAE,UAAU,CAAA;IAChB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,UAAU,EAAE,OAAO,CAAA;IACnB,CAAC,EAAE,SAAS,CAAA;CACb,CAAA;AAoID,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAQhD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/ListHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAGrD,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,IAAI,EAAE,UAAU,CAAA;IAChB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC;;;;;OAKG;IACH,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,UAAU,EAAE,OAAO,CAAA;IACnB,uEAAuE;IACvE,CAAC,CAAC,EAAE,SAAS,CAAA;IACb,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAChC,QAAQ,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA8F1D,CAAA"}
@@ -1,19 +1,18 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useModal } from '@faceless-ui/modal';
3
2
  import { getTranslation } from '@payloadcms/translations';
4
3
  import React from 'react';
5
- import { Button } from '../../../elements/Button/index.js';
4
+ import { CloseModalButton } from '../../../elements/CloseModalButton/index.js';
6
5
  import { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js';
7
- import { ListSelection } from '../../../elements/ListSelection/index.js';
8
- import { Pill } from '../../../elements/Pill/index.js';
9
- import { ReactSelect } from '../../../elements/ReactSelect/index.js';
10
- import { FieldLabel } from '../../../fields/FieldLabel/index.js';
11
- import { XIcon } from '../../../icons/X/index.js';
6
+ import { ListFolderPills } from '../../../elements/ListFolderPills/index.js';
7
+ import { DrawerRelationshipSelect } from '../../../elements/ListHeader/DrawerRelationshipSelect/index.js';
8
+ import { ListDrawerCreateNewDocButton } from '../../../elements/ListHeader/DrawerTitleActions/index.js';
9
+ import { ListHeader } from '../../../elements/ListHeader/index.js';
10
+ import { ListBulkUploadButton, ListCreateNewButton } from '../../../elements/ListHeader/TitleActions/index.js';
12
11
  import { useConfig } from '../../../providers/Config/index.js';
12
+ import { ListSelection } from '../ListSelection/index.js';
13
13
  import './index.scss';
14
- const baseClass = 'list-header';
15
14
  const drawerBaseClass = 'list-drawer';
16
- const DefaultListHeader = ({
15
+ export const CollectionListHeader = ({
17
16
  className,
18
17
  collectionConfig,
19
18
  Description,
@@ -23,122 +22,62 @@ const DefaultListHeader = ({
23
22
  i18n,
24
23
  isBulkUploadEnabled,
25
24
  newDocumentURL,
25
+ onBulkUploadSuccess,
26
26
  openBulkUpload,
27
27
  smallBreak,
28
- t
29
- }) => {
30
- return /*#__PURE__*/_jsxs("header", {
31
- className: [baseClass, className].filter(Boolean).join(' '),
32
- children: [/*#__PURE__*/_jsx("h1", {
33
- children: getTranslation(collectionConfig?.labels?.plural, i18n)
34
- }), hasCreatePermission && /*#__PURE__*/_jsxs(_Fragment, {
35
- children: [/*#__PURE__*/_jsx(Button, {
36
- "aria-label": i18n.t('general:createNewLabel', {
37
- label: getTranslation(collectionConfig?.labels?.singular, i18n)
38
- }),
39
- buttonStyle: "pill",
40
- el: 'link',
41
- size: "small",
42
- to: newDocumentURL,
43
- children: i18n.t('general:createNew')
44
- }), isBulkUploadEnabled && /*#__PURE__*/_jsx(Button, {
45
- "aria-label": t('upload:bulkUpload'),
46
- buttonStyle: "pill",
47
- onClick: openBulkUpload,
48
- size: "small",
49
- children: t('upload:bulkUpload')
50
- })]
51
- }), !smallBreak && /*#__PURE__*/_jsx(ListSelection, {
52
- collectionConfig: collectionConfig,
53
- disableBulkDelete: disableBulkDelete,
54
- disableBulkEdit: disableBulkEdit,
55
- label: getTranslation(collectionConfig?.labels?.plural, i18n)
56
- }), Description]
57
- });
58
- };
59
- const ListDrawerHeader = ({
60
- Description,
61
- hasCreatePermission,
62
- i18n,
63
- t
28
+ viewType
64
29
  }) => {
65
30
  const {
66
- config: {
67
- collections
68
- },
31
+ config,
69
32
  getEntityConfig
70
33
  } = useConfig();
71
34
  const {
72
- closeModal
73
- } = useModal();
74
- const {
75
- DocumentDrawerToggler,
76
35
  drawerSlug,
77
- enabledCollections,
78
- selectedOption,
79
- setSelectedOption
80
- } = useListDrawerContext();
81
- const collectionConfig = getEntityConfig({
82
- collectionSlug: selectedOption.value
83
- });
84
- const enabledCollectionConfigs = collections.filter(({
85
- slug
86
- }) => enabledCollections.includes(slug));
87
- const moreThanOneAvailableCollection = enabledCollections.length > 1;
88
- return /*#__PURE__*/_jsxs("header", {
89
- className: `${drawerBaseClass}__header`,
90
- children: [/*#__PURE__*/_jsxs("div", {
91
- className: `${drawerBaseClass}__header-wrap`,
92
- children: [/*#__PURE__*/_jsxs("div", {
93
- className: `${drawerBaseClass}__header-content`,
94
- children: [/*#__PURE__*/_jsx("h2", {
95
- className: `${drawerBaseClass}__header-text`,
96
- children: getTranslation(collectionConfig?.labels?.plural, i18n)
97
- }), hasCreatePermission && /*#__PURE__*/_jsx(DocumentDrawerToggler, {
98
- className: `${drawerBaseClass}__create-new-button`,
99
- children: /*#__PURE__*/_jsx(Pill, {
100
- children: t('general:createNew')
101
- })
102
- })]
103
- }), /*#__PURE__*/_jsx("button", {
104
- "aria-label": t('general:close'),
105
- className: `${drawerBaseClass}__header-close`,
106
- onClick: () => {
107
- closeModal(drawerSlug);
108
- },
109
- type: "button",
110
- children: /*#__PURE__*/_jsx(XIcon, {})
111
- })]
112
- }), Description, moreThanOneAvailableCollection && /*#__PURE__*/_jsxs("div", {
113
- className: `${drawerBaseClass}__select-collection-wrap`,
114
- children: [/*#__PURE__*/_jsx(FieldLabel, {
115
- label: t('upload:selectCollectionToBrowse')
116
- }), /*#__PURE__*/_jsx(ReactSelect, {
117
- className: `${baseClass}__select-collection`,
118
- onChange: setSelectedOption,
119
- options: enabledCollectionConfigs.map(coll => ({
120
- label: getTranslation(coll.labels.singular, i18n),
121
- value: coll.slug
122
- })),
123
- value: {
124
- label: getTranslation(collectionConfig?.labels.singular, i18n),
125
- value: collectionConfig?.slug
126
- }
127
- })]
128
- })]
129
- });
130
- };
131
- export const ListHeader = props => {
132
- const {
133
- isInDrawer
36
+ isInDrawer,
37
+ selectedOption
134
38
  } = useListDrawerContext();
135
39
  if (isInDrawer) {
136
- return /*#__PURE__*/_jsx(ListDrawerHeader, {
137
- ...props
40
+ return /*#__PURE__*/_jsx(ListHeader, {
41
+ Actions: [/*#__PURE__*/_jsx(CloseModalButton, {
42
+ className: `${drawerBaseClass}__header-close`,
43
+ slug: drawerSlug
44
+ }, "close-button")],
45
+ AfterListHeaderContent: /*#__PURE__*/_jsxs(_Fragment, {
46
+ children: [Description, /*#__PURE__*/_jsx(DrawerRelationshipSelect, {})]
47
+ }),
48
+ className: `${drawerBaseClass}__header`,
49
+ title: getTranslation(getEntityConfig({
50
+ collectionSlug: selectedOption.value
51
+ })?.labels?.plural, i18n),
52
+ TitleActions: [/*#__PURE__*/_jsx(ListDrawerCreateNewDocButton, {
53
+ hasCreatePermission: hasCreatePermission
54
+ }, "list-drawer-create-new-doc")].filter(Boolean)
138
55
  });
139
56
  }
140
- return /*#__PURE__*/_jsx(DefaultListHeader, {
141
- ...props
57
+ return /*#__PURE__*/_jsx(ListHeader, {
58
+ Actions: [!smallBreak && /*#__PURE__*/_jsx(ListSelection, {
59
+ collectionConfig: collectionConfig,
60
+ disableBulkDelete: disableBulkDelete,
61
+ disableBulkEdit: disableBulkEdit,
62
+ label: getTranslation(collectionConfig?.labels?.plural, i18n)
63
+ }, "list-selection"), collectionConfig.admin.folders && /*#__PURE__*/_jsx(ListFolderPills, {
64
+ collectionConfig: collectionConfig,
65
+ viewType: viewType
66
+ }, "list-header-buttons")].filter(Boolean),
67
+ AfterListHeaderContent: Description,
68
+ className: className,
69
+ title: getTranslation(collectionConfig?.labels?.plural, i18n),
70
+ TitleActions: [hasCreatePermission && /*#__PURE__*/_jsx(ListCreateNewButton, {
71
+ collectionConfig: collectionConfig,
72
+ hasCreatePermission: hasCreatePermission,
73
+ newDocumentURL: newDocumentURL
74
+ }, "list-header-create-new-doc"), hasCreatePermission && isBulkUploadEnabled && /*#__PURE__*/_jsx(ListBulkUploadButton, {
75
+ collectionSlug: collectionConfig.slug,
76
+ hasCreatePermission: hasCreatePermission,
77
+ isBulkUploadEnabled: isBulkUploadEnabled,
78
+ onBulkUploadSuccess: onBulkUploadSuccess,
79
+ openBulkUpload: openBulkUpload
80
+ }, "list-header-bulk-upload")].filter(Boolean)
142
81
  });
143
82
  };
144
83
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","getTranslation","React","Button","useListDrawerContext","ListSelection","Pill","ReactSelect","FieldLabel","XIcon","useConfig","baseClass","drawerBaseClass","DefaultListHeader","className","collectionConfig","Description","disableBulkDelete","disableBulkEdit","hasCreatePermission","i18n","isBulkUploadEnabled","newDocumentURL","openBulkUpload","smallBreak","t","_jsxs","filter","Boolean","join","_jsx","labels","plural","_Fragment","label","singular","buttonStyle","el","size","to","onClick","ListDrawerHeader","config","collections","getEntityConfig","closeModal","DocumentDrawerToggler","drawerSlug","enabledCollections","selectedOption","setSelectedOption","collectionSlug","value","enabledCollectionConfigs","slug","includes","moreThanOneAvailableCollection","length","type","onChange","options","map","coll","ListHeader","props","isInDrawer"],"sources":["../../../../src/views/List/ListHeader/index.tsx"],"sourcesContent":["import type { I18nClient, TFunction } from '@payloadcms/translations'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { ListSelection } from '../../../elements/ListSelection/index.js'\nimport { Pill } from '../../../elements/Pill/index.js'\nimport { ReactSelect } from '../../../elements/ReactSelect/index.js'\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-header'\nconst drawerBaseClass = 'list-drawer'\n\nexport type ListHeaderProps = {\n className?: string\n collectionConfig: ClientCollectionConfig\n Description?: React.ReactNode\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n hasCreatePermission: boolean\n i18n: I18nClient\n isBulkUploadEnabled: boolean\n newDocumentURL: string\n openBulkUpload: () => void\n smallBreak: boolean\n t: TFunction\n}\n\nconst DefaultListHeader: React.FC<ListHeaderProps> = ({\n className,\n collectionConfig,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n hasCreatePermission,\n i18n,\n isBulkUploadEnabled,\n newDocumentURL,\n openBulkUpload,\n smallBreak,\n t,\n}) => {\n return (\n <header className={[baseClass, className].filter(Boolean).join(' ')}>\n <h1>{getTranslation(collectionConfig?.labels?.plural, i18n)}</h1>\n {hasCreatePermission && (\n <>\n <Button\n aria-label={i18n.t('general:createNewLabel', {\n label: getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n buttonStyle=\"pill\"\n el={'link'}\n size=\"small\"\n to={newDocumentURL}\n >\n {i18n.t('general:createNew')}\n </Button>\n {isBulkUploadEnabled && (\n <Button\n aria-label={t('upload:bulkUpload')}\n buttonStyle=\"pill\"\n onClick={openBulkUpload}\n size=\"small\"\n >\n {t('upload:bulkUpload')}\n </Button>\n )}\n </>\n )}\n {!smallBreak && (\n <ListSelection\n collectionConfig={collectionConfig}\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n label={getTranslation(collectionConfig?.labels?.plural, i18n)}\n />\n )}\n {Description}\n </header>\n )\n}\n\nconst ListDrawerHeader: React.FC<ListHeaderProps> = ({\n Description,\n hasCreatePermission,\n i18n,\n t,\n}) => {\n const {\n config: { collections },\n getEntityConfig,\n } = useConfig()\n\n const { closeModal } = useModal()\n\n const {\n DocumentDrawerToggler,\n drawerSlug,\n enabledCollections,\n selectedOption,\n setSelectedOption,\n } = useListDrawerContext()\n\n const collectionConfig = getEntityConfig({ collectionSlug: selectedOption.value })\n\n const enabledCollectionConfigs = collections.filter(({ slug }) =>\n enabledCollections.includes(slug),\n )\n\n const moreThanOneAvailableCollection = enabledCollections.length > 1\n\n return (\n <header className={`${drawerBaseClass}__header`}>\n <div className={`${drawerBaseClass}__header-wrap`}>\n <div className={`${drawerBaseClass}__header-content`}>\n <h2 className={`${drawerBaseClass}__header-text`}>\n {getTranslation(collectionConfig?.labels?.plural, i18n)}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${drawerBaseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n aria-label={t('general:close')}\n className={`${drawerBaseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n {Description}\n {moreThanOneAvailableCollection && (\n <div className={`${drawerBaseClass}__select-collection-wrap`}>\n <FieldLabel label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption}\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={{\n label: getTranslation(collectionConfig?.labels.singular, i18n),\n value: collectionConfig?.slug,\n }}\n />\n </div>\n )}\n </header>\n )\n}\n\nexport const ListHeader: React.FC<ListHeaderProps> = (props) => {\n const { isInDrawer } = useListDrawerContext()\n\n if (isInDrawer) {\n return <ListDrawerHeader {...props} />\n }\n\n return <DefaultListHeader {...props} />\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","CloseModalButton","useListDrawerContext","ListFolderPills","DrawerRelationshipSelect","ListDrawerCreateNewDocButton","ListHeader","ListBulkUploadButton","ListCreateNewButton","useConfig","ListSelection","drawerBaseClass","CollectionListHeader","className","collectionConfig","Description","disableBulkDelete","disableBulkEdit","hasCreatePermission","i18n","isBulkUploadEnabled","newDocumentURL","onBulkUploadSuccess","openBulkUpload","smallBreak","viewType","config","getEntityConfig","drawerSlug","isInDrawer","selectedOption","_jsx","Actions","slug","AfterListHeaderContent","_jsxs","_Fragment","title","collectionSlug","value","labels","plural","TitleActions","filter","Boolean","label","admin","folders"],"sources":["../../../../src/views/List/ListHeader/index.tsx"],"sourcesContent":["import type { I18nClient, TFunction } from '@payloadcms/translations'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { CloseModalButton } from '../../../elements/CloseModalButton/index.js'\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { ListFolderPills } from '../../../elements/ListFolderPills/index.js'\nimport { DrawerRelationshipSelect } from '../../../elements/ListHeader/DrawerRelationshipSelect/index.js'\nimport { ListDrawerCreateNewDocButton } from '../../../elements/ListHeader/DrawerTitleActions/index.js'\nimport { ListHeader } from '../../../elements/ListHeader/index.js'\nimport {\n ListBulkUploadButton,\n ListCreateNewButton,\n} from '../../../elements/ListHeader/TitleActions/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { ListSelection } from '../ListSelection/index.js'\nimport './index.scss'\n\nconst drawerBaseClass = 'list-drawer'\n\nexport type ListHeaderProps = {\n Actions?: React.ReactNode[]\n className?: string\n collectionConfig: ClientCollectionConfig\n Description?: React.ReactNode\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n hasCreatePermission: boolean\n i18n: I18nClient\n isBulkUploadEnabled: boolean\n newDocumentURL: string\n onBulkUploadSuccess?: () => void\n /** @deprecated This prop will be removed in the next major version.\n *\n * Opening of the bulk upload modal is handled internally.\n *\n * Prefer `onBulkUploadSuccess` usage to handle the success of the bulk upload.\n */\n openBulkUpload: () => void\n smallBreak: boolean\n /** @deprecated This prop will be removed in the next major version. */\n t?: TFunction\n TitleActions?: React.ReactNode[]\n viewType?: 'folders' | 'list'\n}\n\nexport const CollectionListHeader: React.FC<ListHeaderProps> = ({\n className,\n collectionConfig,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n hasCreatePermission,\n i18n,\n isBulkUploadEnabled,\n newDocumentURL,\n onBulkUploadSuccess,\n openBulkUpload,\n smallBreak,\n viewType,\n}) => {\n const { config, getEntityConfig } = useConfig()\n const { drawerSlug, isInDrawer, selectedOption } = useListDrawerContext()\n\n if (isInDrawer) {\n return (\n <ListHeader\n Actions={[\n <CloseModalButton\n className={`${drawerBaseClass}__header-close`}\n key=\"close-button\"\n slug={drawerSlug}\n />,\n ]}\n AfterListHeaderContent={\n <>\n {Description}\n {<DrawerRelationshipSelect />}\n </>\n }\n className={`${drawerBaseClass}__header`}\n title={getTranslation(\n getEntityConfig({ collectionSlug: selectedOption.value })?.labels?.plural,\n i18n,\n )}\n TitleActions={[\n <ListDrawerCreateNewDocButton\n hasCreatePermission={hasCreatePermission}\n key=\"list-drawer-create-new-doc\"\n />,\n ].filter(Boolean)}\n />\n )\n }\n\n return (\n <ListHeader\n Actions={[\n !smallBreak && (\n <ListSelection\n collectionConfig={collectionConfig}\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n key=\"list-selection\"\n label={getTranslation(collectionConfig?.labels?.plural, i18n)}\n />\n ),\n collectionConfig.admin.folders && (\n <ListFolderPills\n collectionConfig={collectionConfig}\n key=\"list-header-buttons\"\n viewType={viewType}\n />\n ),\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n className={className}\n title={getTranslation(collectionConfig?.labels?.plural, i18n)}\n TitleActions={[\n hasCreatePermission && (\n <ListCreateNewButton\n collectionConfig={collectionConfig}\n hasCreatePermission={hasCreatePermission}\n key=\"list-header-create-new-doc\"\n newDocumentURL={newDocumentURL}\n />\n ),\n hasCreatePermission && isBulkUploadEnabled && (\n <ListBulkUploadButton\n collectionSlug={collectionConfig.slug}\n hasCreatePermission={hasCreatePermission}\n isBulkUploadEnabled={isBulkUploadEnabled}\n key=\"list-header-bulk-upload\"\n onBulkUploadSuccess={onBulkUploadSuccess}\n openBulkUpload={openBulkUpload}\n />\n ),\n ].filter(Boolean)}\n />\n )\n}\n"],"mappings":";AAGA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,gBAAgB,QAAQ;AACjC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,eAAe,QAAQ;AAChC,SAASC,wBAAwB,QAAQ;AACzC,SAASC,4BAA4B,QAAQ;AAC7C,SAASC,UAAU,QAAQ;AAC3B,SACEC,oBAAoB,EACpBC,mBAAmB,QACd;AACP,SAASC,SAAS,QAAQ;AAC1B,SAASC,aAAa,QAAQ;AAC9B,OAAO;AAEP,MAAMC,eAAA,GAAkB;AA4BxB,OAAO,MAAMC,oBAAA,GAAkDA,CAAC;EAC9DC,SAAS;EACTC,gBAAgB;EAChBC,WAAW;EACXC,iBAAiB;EACjBC,eAAe;EACfC,mBAAmB;EACnBC,IAAI;EACJC,mBAAmB;EACnBC,cAAc;EACdC,mBAAmB;EACnBC,cAAc;EACdC,UAAU;EACVC;AAAQ,CACT;EACC,MAAM;IAAEC,MAAM;IAAEC;EAAe,CAAE,GAAGlB,SAAA;EACpC,MAAM;IAAEmB,UAAU;IAAEC,UAAU;IAAEC;EAAc,CAAE,GAAG5B,oBAAA;EAEnD,IAAI2B,UAAA,EAAY;IACd,oBACEE,IAAA,CAACzB,UAAA;MACC0B,OAAA,EAAS,C,aACPD,IAAA,CAAC9B,gBAAA;QACCY,SAAA,EAAW,GAAGF,eAAA,gBAA+B;QAE7CsB,IAAA,EAAML;SADF,gBAGP;MACDM,sBAAA,eACEC,KAAA,CAAAC,SAAA;mBACGrB,WAAA,E,aACAgB,IAAA,CAAC3B,wBAAA;;MAGNS,SAAA,EAAW,GAAGF,eAAA,UAAyB;MACvC0B,KAAA,EAAOtC,cAAA,CACL4B,eAAA,CAAgB;QAAEW,cAAA,EAAgBR,cAAA,CAAeS;MAAM,IAAIC,MAAA,EAAQC,MAAA,EACnEtB,IAAA;MAEFuB,YAAA,EAAc,C,aACZX,IAAA,CAAC1B,4BAAA;QACCa,mBAAA,EAAqBA;SACjB,8BAEP,CAACyB,MAAM,CAACC,OAAA;;EAGf;EAEA,oBACEb,IAAA,CAACzB,UAAA;IACC0B,OAAA,EAAS,CACP,CAACR,UAAA,iBACCO,IAAA,CAACrB,aAAA;MACCI,gBAAA,EAAkBA,gBAAA;MAClBE,iBAAA,EAAmBA,iBAAA;MACnBC,eAAA,EAAiBA,eAAA;MAEjB4B,KAAA,EAAO9C,cAAA,CAAee,gBAAA,EAAkB0B,MAAA,EAAQC,MAAA,EAAQtB,IAAA;OADpD,mBAIRL,gBAAA,CAAiBgC,KAAK,CAACC,OAAO,iBAC5BhB,IAAA,CAAC5B,eAAA;MACCW,gBAAA,EAAkBA,gBAAA;MAElBW,QAAA,EAAUA;OADN,uBAIT,CAACkB,MAAM,CAACC,OAAA;IACTV,sBAAA,EAAwBnB,WAAA;IACxBF,SAAA,EAAWA,SAAA;IACXwB,KAAA,EAAOtC,cAAA,CAAee,gBAAA,EAAkB0B,MAAA,EAAQC,MAAA,EAAQtB,IAAA;IACxDuB,YAAA,EAAc,CACZxB,mBAAA,iBACEa,IAAA,CAACvB,mBAAA;MACCM,gBAAA,EAAkBA,gBAAA;MAClBI,mBAAA,EAAqBA,mBAAA;MAErBG,cAAA,EAAgBA;OADZ,+BAIRH,mBAAA,IAAuBE,mBAAA,iBACrBW,IAAA,CAACxB,oBAAA;MACC+B,cAAA,EAAgBxB,gBAAA,CAAiBmB,IAAI;MACrCf,mBAAA,EAAqBA,mBAAA;MACrBE,mBAAA,EAAqBA,mBAAA;MAErBE,mBAAA,EAAqBA,mBAAA;MACrBC,cAAA,EAAgBA;OAFZ,2BAKT,CAACoB,MAAM,CAACC,OAAA;;AAGf","ignoreList":[]}
@@ -1,18 +1,11 @@
1
1
  @import '../../../scss/styles.scss';
2
2
 
3
3
  @layer payload-default {
4
- .list-header {
5
- display: flex;
6
- align-items: flex-end;
7
- flex-wrap: wrap;
8
- gap: calc(var(--base) * 0.8);
9
-
10
- h1 {
11
- margin: 0;
4
+ .list-drawer {
5
+ .list-header__title {
6
+ @extend %h2;
12
7
  }
13
- }
14
8
 
15
- .list-drawer {
16
9
  &__header {
17
10
  margin-top: base(2.5);
18
11
  width: 100%;
@@ -22,35 +15,7 @@
22
15
  }
23
16
  }
24
17
 
25
- &__header-wrap {
26
- display: flex;
27
- gap: base(1);
28
- }
29
-
30
- &__header-content {
31
- display: flex;
32
- flex-wrap: wrap;
33
- flex-grow: 1;
34
- align-items: flex-start;
35
- align-items: center;
36
-
37
- button .pill {
38
- pointer-events: none;
39
- margin: 0;
40
- top: 4px;
41
- margin-left: base(0.5);
42
- }
43
- }
44
-
45
- &__header-text {
46
- margin: 0;
47
- }
48
-
49
- &__header-close {
50
- flex-shrink: 0;
51
- }
52
-
53
- &__toggler {
18
+ .doc-drawer__toggler.list-header__create-new-button {
54
19
  background: transparent;
55
20
  border: 0;
56
21
  padding: 0;
@@ -58,6 +23,10 @@
58
23
  color: inherit;
59
24
  border-radius: var(--style-radius-s);
60
25
 
26
+ &:hover .pill {
27
+ background: var(--theme-elevation-250);
28
+ }
29
+
61
30
  &:focus:not(:focus-visible),
62
31
  &:focus-within:not(:focus-visible) {
63
32
  outline: none;
@@ -71,29 +40,9 @@
71
40
  &:disabled {
72
41
  pointer-events: none;
73
42
  }
74
- }
75
-
76
- &__header-close {
77
- border: 0;
78
- background-color: transparent;
79
- padding: 0;
80
- margin: 0;
81
- cursor: pointer;
82
- overflow: hidden;
83
- width: base(1);
84
- height: base(1);
85
-
86
- svg {
87
- width: base(2);
88
- height: base(2);
89
- position: relative;
90
- inset-inline-start: base(-0.5);
91
- top: base(-0.5);
92
43
 
93
- .stroke {
94
- stroke-width: 2px;
95
- vector-effect: non-scaling-stroke;
96
- }
44
+ .pill {
45
+ cursor: inherit;
97
46
  }
98
47
  }
99
48
 
@@ -101,16 +50,6 @@
101
50
  margin-top: base(1);
102
51
  }
103
52
 
104
- &__first-cell {
105
- border: 0;
106
- background-color: transparent;
107
- padding: 0;
108
- cursor: pointer;
109
- text-decoration: underline;
110
- text-align: left;
111
- white-space: nowrap;
112
- }
113
-
114
53
  @include mid-break {
115
54
  .collection-list__header {
116
55
  margin-bottom: base(0.5);
@@ -119,12 +58,6 @@
119
58
  &__select-collection-wrap {
120
59
  margin-top: calc(var(--base) / 2);
121
60
  }
122
-
123
- &__header-content {
124
- button .pill {
125
- top: 2px;
126
- }
127
- }
128
61
  }
129
62
  }
130
63
  }
@@ -0,0 +1,10 @@
1
+ import type { ClientCollectionConfig } from 'payload';
2
+ import React from 'react';
3
+ export type ListSelectionProps = {
4
+ collectionConfig?: ClientCollectionConfig;
5
+ disableBulkDelete?: boolean;
6
+ disableBulkEdit?: boolean;
7
+ label: string;
8
+ };
9
+ export declare const ListSelection: React.FC<ListSelectionProps>;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/ListSelection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAUvC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAuDtD,CAAA"}