@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,135 +1,102 @@
1
1
  'use client';
2
2
 
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
5
  import { useModal } from '@faceless-ui/modal';
5
- import { getTranslation } from '@payloadcms/translations';
6
- import { useRouter, useSearchParams } from 'next/navigation.js';
7
- import * as qs from 'qs-esm';
8
- import React, { useCallback } from 'react';
9
- import { toast } from 'sonner';
6
+ import React from 'react';
10
7
  import { useAuth } from '../../providers/Auth/index.js';
11
- import { useConfig } from '../../providers/Config/index.js';
12
- import { useRouteCache } from '../../providers/RouteCache/index.js';
13
8
  import { SelectAllStatus, useSelection } from '../../providers/Selection/index.js';
14
9
  import { useTranslation } from '../../providers/Translation/index.js';
15
- import { requests } from '../../utilities/api.js';
16
- import { parseSearchParams } from '../../utilities/parseSearchParams.js';
17
- import { ConfirmationModal } from '../ConfirmationModal/index.js';
18
- import './index.scss';
19
- const baseClass = 'unpublish-many';
10
+ import { ListSelectionButton } from '../ListSelection/index.js';
11
+ import { UnpublishManyDrawerContent } from './DrawerContent.js';
20
12
  export const UnpublishMany = props => {
13
+ const $ = _c(5);
21
14
  const {
22
- collection: {
23
- slug,
24
- labels: {
25
- plural,
26
- singular
27
- },
28
- versions
29
- } = {}
15
+ count,
16
+ selectAll,
17
+ selected
18
+ } = useSelection();
19
+ let t0;
20
+ if ($[0] !== count || $[1] !== props || $[2] !== selectAll || $[3] !== selected) {
21
+ t0 = _jsx(UnpublishMany_v4, {
22
+ ...props,
23
+ count,
24
+ ids: Array.from(selected.keys()),
25
+ selectAll: selectAll === SelectAllStatus.AllAvailable
26
+ });
27
+ $[0] = count;
28
+ $[1] = props;
29
+ $[2] = selectAll;
30
+ $[3] = selected;
31
+ $[4] = t0;
32
+ } else {
33
+ t0 = $[4];
34
+ }
35
+ return t0;
36
+ };
37
+ export const UnpublishMany_v4 = props => {
38
+ const $ = _c(10);
39
+ const {
40
+ collection,
41
+ collection: t0,
42
+ count,
43
+ ids,
44
+ selectAll
30
45
  } = props;
31
46
  const {
32
- config: {
33
- routes: {
34
- api
35
- },
36
- serverURL
37
- }
38
- } = useConfig();
47
+ slug,
48
+ versions
49
+ } = t0 === undefined ? {} : t0;
50
+ const {
51
+ t
52
+ } = useTranslation();
39
53
  const {
40
54
  permissions
41
55
  } = useAuth();
42
56
  const {
43
57
  toggleModal
44
58
  } = useModal();
45
- const {
46
- i18n,
47
- t
48
- } = useTranslation();
49
- const searchParams = useSearchParams();
50
- const {
51
- getQueryParams,
52
- selectAll
53
- } = useSelection();
54
- const router = useRouter();
55
- const {
56
- clearRouteCache
57
- } = useRouteCache();
58
59
  const collectionPermissions = permissions?.collections?.[slug];
59
60
  const hasPermission = collectionPermissions?.update;
60
- const modalSlug = `unpublish-${slug}`;
61
- const addDefaultError = useCallback(() => {
62
- toast.error(t('error:unknown'));
63
- }, [t]);
64
- const handleUnpublish = useCallback(async () => {
65
- await requests.patch(`${serverURL}${api}/${slug}${getQueryParams({
66
- _status: {
67
- not_equals: 'draft'
68
- }
69
- })}`, {
70
- body: JSON.stringify({
71
- _status: 'draft'
72
- }),
73
- headers: {
74
- 'Accept-Language': i18n.language,
75
- 'Content-Type': 'application/json'
76
- }
77
- }).then(async res => {
78
- try {
79
- const json = await res.json();
80
- const deletedDocs = json?.docs.length || 0;
81
- const successLabel = deletedDocs > 1 ? plural : singular;
82
- if (res.status < 400 || deletedDocs > 0) {
83
- toast.success(t('general:updatedCountSuccessfully', {
84
- count: deletedDocs,
85
- label: getTranslation(successLabel, i18n)
86
- }));
87
- if (json?.errors.length > 0) {
88
- toast.error(json.message, {
89
- description: json.errors.map(error => error.message).join('\n')
90
- });
91
- }
92
- router.replace(qs.stringify({
93
- ...parseSearchParams(searchParams),
94
- page: selectAll ? '1' : undefined
95
- }, {
96
- addQueryPrefix: true
97
- }));
98
- clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this
99
- ;
100
- return null;
101
- }
102
- if (json.errors) {
103
- json.errors.forEach(error_0 => toast.error(error_0.message));
104
- } else {
105
- addDefaultError();
106
- }
107
- return false;
108
- } catch (_err) {
109
- return addDefaultError();
110
- }
111
- });
112
- }, [serverURL, api, slug, getQueryParams, i18n, plural, singular, t, router, searchParams, selectAll, clearRouteCache, addDefaultError]);
113
- if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {
61
+ const drawerSlug = `unpublish-${slug}`;
62
+ if (!versions?.drafts || count === 0 || !hasPermission) {
114
63
  return null;
115
64
  }
116
- return /*#__PURE__*/_jsxs(React.Fragment, {
117
- children: [/*#__PURE__*/_jsx("button", {
118
- className: `${baseClass}__toggle`,
119
- onClick: () => {
120
- toggleModal(modalSlug);
121
- },
122
- type: "button",
123
- children: t('version:unpublish')
124
- }), /*#__PURE__*/_jsx(ConfirmationModal, {
125
- body: t('version:aboutToUnpublishSelection', {
126
- label: getTranslation(plural, i18n)
127
- }),
128
- confirmingLabel: t('version:unpublishing'),
129
- heading: t('version:confirmUnpublish'),
130
- modalSlug: modalSlug,
131
- onConfirm: handleUnpublish
132
- })]
133
- });
65
+ let t1;
66
+ if ($[0] !== collection || $[1] !== drawerSlug || $[2] !== ids || $[3] !== selectAll || $[4] !== t || $[5] !== toggleModal) {
67
+ let t2;
68
+ if ($[7] !== drawerSlug || $[8] !== toggleModal) {
69
+ t2 = () => {
70
+ toggleModal(drawerSlug);
71
+ };
72
+ $[7] = drawerSlug;
73
+ $[8] = toggleModal;
74
+ $[9] = t2;
75
+ } else {
76
+ t2 = $[9];
77
+ }
78
+ t1 = _jsxs(React.Fragment, {
79
+ children: [_jsx(ListSelectionButton, {
80
+ "aria-label": t("version:unpublish"),
81
+ onClick: t2,
82
+ children: t("version:unpublish")
83
+ }), _jsx(UnpublishManyDrawerContent, {
84
+ collection,
85
+ drawerSlug,
86
+ ids,
87
+ selectAll
88
+ })]
89
+ });
90
+ $[0] = collection;
91
+ $[1] = drawerSlug;
92
+ $[2] = ids;
93
+ $[3] = selectAll;
94
+ $[4] = t;
95
+ $[5] = toggleModal;
96
+ $[6] = t1;
97
+ } else {
98
+ t1 = $[6];
99
+ }
100
+ return t1;
134
101
  };
135
102
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","getTranslation","useRouter","useSearchParams","qs","React","useCallback","toast","useAuth","useConfig","useRouteCache","SelectAllStatus","useSelection","useTranslation","requests","parseSearchParams","ConfirmationModal","baseClass","UnpublishMany","props","collection","slug","labels","plural","singular","versions","config","routes","api","serverURL","permissions","toggleModal","i18n","t","searchParams","getQueryParams","selectAll","router","clearRouteCache","collectionPermissions","collections","hasPermission","update","modalSlug","addDefaultError","error","handleUnpublish","patch","_status","not_equals","body","JSON","stringify","headers","language","then","res","json","deletedDocs","docs","length","successLabel","status","success","count","label","errors","message","description","map","join","replace","page","undefined","addQueryPrefix","forEach","_err","drafts","None","_jsxs","Fragment","_jsx","className","onClick","type","confirmingLabel","heading","onConfirm"],"sources":["../../../src/elements/UnpublishMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport './index.scss'\n\nexport type UnpublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nconst baseClass = 'unpublish-many'\n\nexport const UnpublishMany: React.FC<UnpublishManyProps> = (props) => {\n const { collection: { slug, labels: { plural, singular }, versions } = {} } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { permissions } = useAuth()\n const { toggleModal } = useModal()\n const { i18n, t } = useTranslation()\n const searchParams = useSearchParams()\n const { getQueryParams, selectAll } = useSelection()\n const router = useRouter()\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update\n\n const modalSlug = `unpublish-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handleUnpublish = useCallback(async () => {\n await requests\n .patch(`${serverURL}${api}/${slug}${getQueryParams({ _status: { not_equals: 'draft' } })}`, {\n body: JSON.stringify({\n _status: 'draft',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n\n const deletedDocs = json?.docs.length || 0\n const successLabel = deletedDocs > 1 ? plural : singular\n\n if (res.status < 400 || deletedDocs > 0) {\n toast.success(\n t('general:updatedCountSuccessfully', {\n count: deletedDocs,\n label: getTranslation(successLabel, i18n),\n }),\n )\n\n if (json?.errors.length > 0) {\n toast.error(json.message, {\n description: json.errors.map((error) => error.message).join('\\n'),\n })\n }\n\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n\n clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this\n\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (_err) {\n return addDefaultError()\n }\n })\n }, [\n serverURL,\n api,\n slug,\n getQueryParams,\n i18n,\n plural,\n singular,\n t,\n router,\n searchParams,\n selectAll,\n clearRouteCache,\n addDefaultError,\n ])\n\n if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <button\n className={`${baseClass}__toggle`}\n onClick={() => {\n toggleModal(modalSlug)\n }}\n type=\"button\"\n >\n {t('version:unpublish')}\n </button>\n <ConfirmationModal\n body={t('version:aboutToUnpublishSelection', { label: getTranslation(plural, i18n) })}\n confirmingLabel={t('version:unpublishing')}\n heading={t('version:confirmUnpublish')}\n modalSlug={modalSlug}\n onConfirm={handleUnpublish}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,EAAEC,eAAe,QAAQ;AAC3C,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,IAASC,WAAW,QAAQ;AACnC,SAASC,KAAK,QAAQ;AAEtB,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,aAAa,QAAQ;AAC9B,SAASC,eAAe,EAAEC,YAAY,QAAQ;AAC9C,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,iBAAiB,QAAQ;AAClC,OAAO;AAMP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,aAAA,GAA+CC,KAAA;EAC1D,MAAM;IAAEC,UAAA,EAAY;MAAEC,IAAI;MAAEC,MAAA,EAAQ;QAAEC,MAAM;QAAEC;MAAQ,CAAE;MAAEC;IAAQ,CAAE,GAAG,CAAC;EAAC,CAAE,GAAGN,KAAA;EAE9E,MAAM;IACJO,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC;MAAG,CAAE;MACfC;IAAS;EACV,CACF,GAAGpB,SAAA;EAEJ,MAAM;IAAEqB;EAAW,CAAE,GAAGtB,OAAA;EACxB,MAAM;IAAEuB;EAAW,CAAE,GAAG/B,QAAA;EACxB,MAAM;IAAEgC,IAAI;IAAEC;EAAC,CAAE,GAAGpB,cAAA;EACpB,MAAMqB,YAAA,GAAe/B,eAAA;EACrB,MAAM;IAAEgC,cAAc;IAAEC;EAAS,CAAE,GAAGxB,YAAA;EACtC,MAAMyB,MAAA,GAASnC,SAAA;EACf,MAAM;IAAEoC;EAAe,CAAE,GAAG5B,aAAA;EAE5B,MAAM6B,qBAAA,GAAwBT,WAAA,EAAaU,WAAA,GAAcnB,IAAA,CAAK;EAC9D,MAAMoB,aAAA,GAAgBF,qBAAA,EAAuBG,MAAA;EAE7C,MAAMC,SAAA,GAAY,aAAatB,IAAA,EAAM;EAErC,MAAMuB,eAAA,GAAkBtC,WAAA,CAAY;IAClCC,KAAA,CAAMsC,KAAK,CAACZ,CAAA,CAAE;EAChB,GAAG,CAACA,CAAA,CAAE;EAEN,MAAMa,eAAA,GAAkBxC,WAAA,CAAY;IAClC,MAAMQ,QAAA,CACHiC,KAAK,CAAC,GAAGlB,SAAA,GAAYD,GAAA,IAAOP,IAAA,GAAOc,cAAA,CAAe;MAAEa,OAAA,EAAS;QAAEC,UAAA,EAAY;MAAQ;IAAE,IAAI,EAAE;MAC1FC,IAAA,EAAMC,IAAA,CAAKC,SAAS,CAAC;QACnBJ,OAAA,EAAS;MACX;MACAK,OAAA,EAAS;QACP,mBAAmBrB,IAAA,CAAKsB,QAAQ;QAChC,gBAAgB;MAClB;IACF,GACCC,IAAI,CAAC,MAAOC,GAAA;MACX,IAAI;QACF,MAAMC,IAAA,GAAO,MAAMD,GAAA,CAAIC,IAAI;QAE3B,MAAMC,WAAA,GAAcD,IAAA,EAAME,IAAA,CAAKC,MAAA,IAAU;QACzC,MAAMC,YAAA,GAAeH,WAAA,GAAc,IAAInC,MAAA,GAASC,QAAA;QAEhD,IAAIgC,GAAA,CAAIM,MAAM,GAAG,OAAOJ,WAAA,GAAc,GAAG;UACvCnD,KAAA,CAAMwD,OAAO,CACX9B,CAAA,CAAE,oCAAoC;YACpC+B,KAAA,EAAON,WAAA;YACPO,KAAA,EAAOhE,cAAA,CAAe4D,YAAA,EAAc7B,IAAA;UACtC;UAGF,IAAIyB,IAAA,EAAMS,MAAA,CAAON,MAAA,GAAS,GAAG;YAC3BrD,KAAA,CAAMsC,KAAK,CAACY,IAAA,CAAKU,OAAO,EAAE;cACxBC,WAAA,EAAaX,IAAA,CAAKS,MAAM,CAACG,GAAG,CAAExB,KAAA,IAAUA,KAAA,CAAMsB,OAAO,EAAEG,IAAI,CAAC;YAC9D;UACF;UAEAjC,MAAA,CAAOkC,OAAO,CACZnE,EAAA,CAAGgD,SAAS,CACV;YACE,GAAGrC,iBAAA,CAAkBmB,YAAA,CAAa;YAClCsC,IAAA,EAAMpC,SAAA,GAAY,MAAMqC;UAC1B,GACA;YAAEC,cAAA,EAAgB;UAAK;UAI3BpC,eAAA,GAAkB;UAAA;UAElB,OAAO;QACT;QAEA,IAAImB,IAAA,CAAKS,MAAM,EAAE;UACfT,IAAA,CAAKS,MAAM,CAACS,OAAO,CAAE9B,OAAA,IAAUtC,KAAA,CAAMsC,KAAK,CAACA,OAAA,CAAMsB,OAAO;QAC1D,OAAO;UACLvB,eAAA;QACF;QACA,OAAO;MACT,EAAE,OAAOgC,IAAA,EAAM;QACb,OAAOhC,eAAA;MACT;IACF;EACJ,GAAG,CACDf,SAAA,EACAD,GAAA,EACAP,IAAA,EACAc,cAAA,EACAH,IAAA,EACAT,MAAA,EACAC,QAAA,EACAS,CAAA,EACAI,MAAA,EACAH,YAAA,EACAE,SAAA,EACAE,eAAA,EACAM,eAAA,CACD;EAED,IAAI,CAACnB,QAAA,EAAUoD,MAAA,IAAUzC,SAAA,KAAczB,eAAA,CAAgBmE,IAAI,IAAI,CAACrC,aAAA,EAAe;IAC7E,OAAO;EACT;EAEA,oBACEsC,KAAA,CAAC1E,KAAA,CAAM2E,QAAQ;4BACbC,IAAA,CAAC;MACCC,SAAA,EAAW,GAAGjE,SAAA,UAAmB;MACjCkE,OAAA,EAASA,CAAA;QACPpD,WAAA,CAAYY,SAAA;MACd;MACAyC,IAAA,EAAK;gBAEJnD,CAAA,CAAE;qBAELgD,IAAA,CAACjE,iBAAA;MACCkC,IAAA,EAAMjB,CAAA,CAAE,qCAAqC;QAAEgC,KAAA,EAAOhE,cAAA,CAAesB,MAAA,EAAQS,IAAA;MAAM;MACnFqD,eAAA,EAAiBpD,CAAA,CAAE;MACnBqD,OAAA,EAASrD,CAAA,CAAE;MACXU,SAAA,EAAWA,SAAA;MACX4C,SAAA,EAAWzC;;;AAInB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","React","useAuth","SelectAllStatus","useSelection","useTranslation","ListSelectionButton","UnpublishManyDrawerContent","UnpublishMany","props","$","count","selectAll","selected","t0","_jsx","UnpublishMany_v4","ids","Array","from","keys","AllAvailable","collection","slug","versions","undefined","t","permissions","toggleModal","collectionPermissions","collections","hasPermission","update","drawerSlug","drafts","t1","t2","_jsxs","Fragment","children","onClick"],"sources":["../../../src/elements/UnpublishMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ListSelectionButton } from '../ListSelection/index.js'\nimport { UnpublishManyDrawerContent } from './DrawerContent.js'\n\nexport type UnpublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nexport const UnpublishMany: React.FC<UnpublishManyProps> = (props) => {\n const { count, selectAll, selected } = useSelection()\n\n return (\n <UnpublishMany_v4\n {...props}\n count={count}\n ids={Array.from(selected.keys())}\n selectAll={selectAll === SelectAllStatus.AllAvailable}\n />\n )\n}\n\nexport const UnpublishMany_v4: React.FC<\n {\n count: number\n ids: (number | string)[]\n selectAll: boolean\n } & UnpublishManyProps\n> = (props) => {\n const { collection, collection: { slug, versions } = {}, count, ids, selectAll } = props\n\n const { t } = useTranslation()\n const { permissions } = useAuth()\n const { toggleModal } = useModal()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update\n\n const drawerSlug = `unpublish-${slug}`\n\n if (!versions?.drafts || count === 0 || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <ListSelectionButton\n aria-label={t('version:unpublish')}\n onClick={() => {\n toggleModal(drawerSlug)\n }}\n >\n {t('version:unpublish')}\n </ListSelectionButton>\n <UnpublishManyDrawerContent\n collection={collection}\n drawerSlug={drawerSlug}\n ids={ids}\n selectAll={selectAll}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,MAAW;AAElB,SAASC,OAAO,QAAQ;AACxB,SAASC,eAAe,EAAEC,YAAY,QAAQ;AAC9C,SAASC,cAAc,QAAQ;AAC/B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,0BAA0B,QAAQ;AAM3C,OAAO,MAAMC,aAAA,GAA8CC,KAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EACzD;IAAAY,KAAA;IAAAC,SAAA;IAAAC;EAAA,IAAuCT,YAAA;EAAA,IAAAU,EAAA;EAAA,IAAAJ,CAAA,QAAAC,KAAA,IAAAD,CAAA,QAAAD,KAAA,IAAAC,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAG,QAAA;IAGrCC,EAAA,GAAAC,IAAA,CAAAC,gBAAA;MAAA,GACMP,KAAK;MAAAE,KAAA;MAAAM,GAAA,EAEJC,KAAA,CAAAC,IAAA,CAAWN,QAAA,CAAAO,IAAA,CAAa;MAAAR,SAAA,EAClBA,SAAA,KAAAT,eAAA,CAAAkB;IAA0C,C;;;;;;;;;SAJvDP,E;CAOJ;AAEA,OAAO,MAAME,gBAAA,GAMTP,KAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EACF;IAAAuB,UAAA;IAAAA,UAAA,EAAAR,EAAA;IAAAH,KAAA;IAAAM,GAAA;IAAAL;EAAA,IAAmFH,KAAA;EAAnD;IAAAc,IAAA;IAAAC;EAAA,IAAAV,EAAuB,KAAAW,SAAA,QAAvBX,EAAuB;EAEvD;IAAAY;EAAA,IAAcrB,cAAA;EACd;IAAAsB;EAAA,IAAwBzB,OAAA;EACxB;IAAA0B;EAAA,IAAwB5B,QAAA;EAExB,MAAA6B,qBAAA,GAA8BF,WAAA,EAAAG,WAAA,GAA2BP,IAAA;EACzD,MAAAQ,aAAA,GAAsBF,qBAAA,EAAAG,MAAA;EAEtB,MAAAC,UAAA,GAAmB,aAAaV,IAAA,EAAM;EAAA,IAElC,CAACC,QAAA,EAAAU,MAAA,IAAoBvB,KAAA,MAAU,KAAMoB,aAAA;IAAA;EAAA;EAAA,IAAAI,EAAA;EAAA,IAAAzB,CAAA,QAAAY,UAAA,IAAAZ,CAAA,QAAAuB,UAAA,IAAAvB,CAAA,QAAAO,GAAA,IAAAP,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAgB,CAAA,IAAAhB,CAAA,QAAAkB,WAAA;IAAA,IAAAQ,EAAA;IAAA,IAAA1B,CAAA,QAAAuB,UAAA,IAAAvB,CAAA,QAAAkB,WAAA;MAQ1BQ,EAAA,GAAAA,CAAA;QACPR,WAAA,CAAYK,UAAA;MAAA;MACdvB,CAAA,MAAAuB,UAAA;MAAAvB,CAAA,MAAAkB,WAAA;MAAAlB,CAAA,MAAA0B,EAAA;IAAA;MAAAA,EAAA,GAAA1B,CAAA;IAAA;IALJyB,EAAA,GAAAE,KAAA,CAAApC,KAAA,CAAAqC,QAAA;MAAAC,QAAA,GACExB,IAAA,CAAAT,mBAAA;QAAA,cACcoB,CAAA,CAAE;QAAAc,OAAA,EACLJ,EAET;QAAAG,QAAA,EAECb,CAAA,CAAE;MAAA,C,GAELX,IAAA,CAAAR,0BAAA;QAAAe,UAAA;QAAAW,UAAA;QAAAhB,GAAA;QAAAL;MAAA,C;;;;;;;;;;;;SATFuB,E;CAiBJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAGhF,OAAO,KAA6D,MAAM,OAAO,CAAA;AAmBjF,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAU9C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,aAAa,wEAKvB,iBAAiB,sBAiCnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAC3D,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAUxC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IACtC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAA;IACxD,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CACnC,GAAG,WAAW,CAAA;AAEf,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAiX9C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAIhF,OAAO,KAA6D,MAAM,OAAO,CAAA;AAmBjF,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAU9C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,aAAa,wEAKvB,iBAAiB,sBAgDnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAC3D,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAUxC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IACtC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAA;IACxD,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CACnC,GAAG,WAAW,CAAA;AAEf,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAiX9C,CAAA"}
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ import { useModal } from '@faceless-ui/modal';
5
6
  import { isImage } from 'payload/shared';
6
7
  import React, { Fragment, useCallback, useEffect, useRef, useState } from 'react';
7
8
  import { toast } from 'sonner';
@@ -15,7 +16,7 @@ import { EditDepthProvider } from '../../providers/EditDepth/index.js';
15
16
  import { useTranslation } from '../../providers/Translation/index.js';
16
17
  import { useUploadEdits } from '../../providers/UploadEdits/index.js';
17
18
  import { Button } from '../Button/index.js';
18
- import { Drawer, DrawerToggler } from '../Drawer/index.js';
19
+ import { Drawer } from '../Drawer/index.js';
19
20
  import { Dropzone } from '../Dropzone/index.js';
20
21
  import { EditUpload } from '../EditUpload/index.js';
21
22
  import { FileDetails } from '../FileDetails/index.js';
@@ -32,7 +33,7 @@ const validate = value => {
32
33
  return true;
33
34
  };
34
35
  export const UploadActions = t0 => {
35
- const $ = _c(9);
36
+ const $ = _c(10);
36
37
  const {
37
38
  customActions,
38
39
  enableAdjustments,
@@ -42,9 +43,12 @@ export const UploadActions = t0 => {
42
43
  const {
43
44
  t
44
45
  } = useTranslation();
46
+ const {
47
+ openModal
48
+ } = useModal();
45
49
  let t1;
46
50
  let t2;
47
- if ($[0] !== customActions || $[1] !== enableAdjustments || $[2] !== enablePreviewSizes || $[3] !== mimeType || $[4] !== t) {
51
+ if ($[0] !== customActions || $[1] !== enableAdjustments || $[2] !== enablePreviewSizes || $[3] !== mimeType || $[4] !== openModal || $[5] !== t) {
48
52
  t2 = Symbol.for("react.early_return_sentinel");
49
53
  bb0: {
50
54
  const fileTypeIsAdjustable = isImage(mimeType) && mimeType !== "image/svg+xml" && mimeType !== "image/jxl";
@@ -53,23 +57,31 @@ export const UploadActions = t0 => {
53
57
  break bb0;
54
58
  }
55
59
  let t3;
56
- if ($[7] !== customActions) {
60
+ if ($[8] !== customActions) {
57
61
  t3 = customActions && customActions.map(_temp);
58
- $[7] = customActions;
59
- $[8] = t3;
62
+ $[8] = customActions;
63
+ $[9] = t3;
60
64
  } else {
61
- t3 = $[8];
65
+ t3 = $[9];
62
66
  }
63
67
  t1 = _jsxs("div", {
64
68
  className: `${baseClass}__upload-actions`,
65
69
  children: [fileTypeIsAdjustable && _jsxs(React.Fragment, {
66
- children: [enablePreviewSizes && _jsx(DrawerToggler, {
70
+ children: [enablePreviewSizes && _jsx(Button, {
71
+ buttonStyle: "pill",
67
72
  className: `${baseClass}__previewSizes`,
68
- slug: sizePreviewSlug,
73
+ onClick: () => {
74
+ openModal(sizePreviewSlug);
75
+ },
76
+ size: "small",
69
77
  children: t("upload:previewSizes")
70
- }), enableAdjustments && _jsx(DrawerToggler, {
78
+ }), enableAdjustments && _jsx(Button, {
79
+ buttonStyle: "pill",
71
80
  className: `${baseClass}__edit`,
72
- slug: editDrawerSlug,
81
+ onClick: () => {
82
+ openModal(editDrawerSlug);
83
+ },
84
+ size: "small",
73
85
  children: t("upload:editImage")
74
86
  })]
75
87
  }), t3]
@@ -79,12 +91,13 @@ export const UploadActions = t0 => {
79
91
  $[1] = enableAdjustments;
80
92
  $[2] = enablePreviewSizes;
81
93
  $[3] = mimeType;
82
- $[4] = t;
83
- $[5] = t1;
84
- $[6] = t2;
94
+ $[4] = openModal;
95
+ $[5] = t;
96
+ $[6] = t1;
97
+ $[7] = t2;
85
98
  } else {
86
- t1 = $[5];
87
- t2 = $[6];
99
+ t1 = $[6];
100
+ t2 = $[7];
88
101
  }
89
102
  if (t2 !== Symbol.for("react.early_return_sentinel")) {
90
103
  return t2;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","isImage","React","Fragment","useCallback","useEffect","useRef","useState","toast","FieldError","fieldBaseClass","useForm","useFormProcessing","useField","useConfig","useDocumentInfo","EditDepthProvider","useTranslation","useUploadEdits","Button","Drawer","DrawerToggler","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","UploadActions","t0","$","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","t1","t2","Symbol","for","bb0","fileTypeIsAdjustable","length","t3","map","_temp","_jsxs","className","children","_jsx","slug","Upload","props","resetUploadEdits","updateUploadEdits","uploadEdits","Upload_v4","collectionSlug","initialState","onChange","uploadConfig","config","routes","api","serverURL","setModified","id","docPermissions","savedDocumentData","setUploadStatus","isFormSubmitting","errorMessage","setValue","showError","path","fileSrc","setFileSrc","removedFile","setRemovedFile","filename","setFilename","name","showUrlInput","setShowUrlInput","fileUrl","setFileUrl","urlInputRef","inputRef","useServerSideFetch","pasteURL","allowList","handleFileChange","newFile","File","URL","createObjectURL","renameFile","fileToChange","newName","type","lastModified","handleFileNameChange","e","updatedFileName","target","handleFileSelection","files","fileToUpload","handleFileRemoval","onEditsSave","args","handleUrlSubmit","clientResponse","fetch","ok","Error","status","blob","fileName","decodeURIComponent","split","pop","file","_clientError","error","encodeURIComponent","serverResponse","_serverError","current","canRemoveUpload","update","delete","hasImageSizes","imageSizes","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","focalPoint","crop","showCrop","showFocalPoint","acceptMimeTypes","mimeTypes","join","imageCacheTag","cacheTags","updatedAt","hideFileInputOnCreate","filter","message","customUploadActions","doc","handleRemove","hideRemoveFile","buttonStyle","onClick","click","size","accept","hidden","ref","icon","iconStyle","round","tooltip","Header","url","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","title","label","CustomAction","i"],"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { isImage } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { useForm, useFormProcessing } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n readonly customActions?: React.ReactNode[]\n readonly enableAdjustments: boolean\n readonly enablePreviewSizes: boolean\n readonly mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n\n const fileTypeIsAdjustable =\n isImage(mimeType) && mimeType !== 'image/svg+xml' && mimeType !== 'image/jxl'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) {\n return null\n }\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <DrawerToggler className={`${baseClass}__previewSizes`} slug={sizePreviewSlug}>\n {t('upload:previewSizes')}\n </DrawerToggler>\n )}\n {enableAdjustments && (\n <DrawerToggler className={`${baseClass}__edit`} slug={editDrawerSlug}>\n {t('upload:editImage')}\n </DrawerToggler>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n readonly collectionSlug: string\n readonly customActions?: React.ReactNode[]\n readonly initialState?: FormState\n readonly onChange?: (file?: File) => void\n readonly uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n return (\n <Upload_v4\n {...props}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadEdits={uploadEdits}\n />\n )\n}\n\nexport type UploadProps_v4 = {\n readonly resetUploadEdits?: () => void\n readonly updateUploadEdits?: (args: UploadEdits) => void\n readonly uploadEdits?: UploadEdits\n} & UploadProps\n\nexport const Upload_v4: React.FC<UploadProps_v4> = (props) => {\n const {\n collectionSlug,\n customActions,\n initialState,\n onChange,\n resetUploadEdits,\n updateUploadEdits,\n uploadConfig,\n uploadEdits,\n } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { id, docPermissions, savedDocumentData, setUploadStatus } = useDocumentInfo()\n const isFormSubmitting = useFormProcessing()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const [removedFile, setRemovedFile] = useState(false)\n const [filename, setFilename] = useState<string>(value?.name || '')\n const [showUrlInput, setShowUrlInput] = useState(false)\n const [fileUrl, setFileUrl] = useState<string>('')\n\n const urlInputRef = useRef<HTMLInputElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n\n const useServerSideFetch =\n typeof uploadConfig?.pasteURL === 'object' && uploadConfig.pasteURL.allowList?.length > 0\n\n const handleFileChange = useCallback(\n (newFile: File) => {\n if (newFile instanceof File) {\n setFileSrc(URL.createObjectURL(newFile))\n }\n\n setValue(newFile)\n setShowUrlInput(false)\n\n if (typeof onChange === 'function') {\n onChange(newFile)\n }\n },\n [onChange, setValue],\n )\n\n const renameFile = (fileToChange: File, newName: string): File => {\n // Creating a new File object with updated properties\n const newFile = new File([fileToChange], newName, {\n type: fileToChange.type,\n lastModified: fileToChange.lastModified,\n })\n return newFile\n }\n\n const handleFileNameChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n\n if (value) {\n handleFileChange(renameFile(value, updatedFileName))\n setFilename(updatedFileName)\n }\n },\n [handleFileChange, value],\n )\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange(fileToUpload)\n },\n [handleFileChange],\n )\n\n const handleFileRemoval = useCallback(() => {\n setRemovedFile(true)\n handleFileChange(null)\n setFileSrc('')\n setFileUrl('')\n resetUploadEdits()\n setShowUrlInput(false)\n }, [handleFileChange, resetUploadEdits])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n const handleUrlSubmit = async () => {\n if (!fileUrl || uploadConfig?.pasteURL === false) {\n return\n }\n\n setUploadStatus('uploading')\n try {\n // Attempt client-side fetch\n const clientResponse = await fetch(fileUrl)\n\n if (!clientResponse.ok) {\n throw new Error(`Fetch failed with status: ${clientResponse.status}`)\n }\n\n const blob = await clientResponse.blob()\n const fileName = decodeURIComponent(fileUrl.split('/').pop() || '')\n const file = new File([blob], fileName, { type: blob.type })\n\n handleFileChange(file)\n setUploadStatus('idle')\n return // Exit if client-side fetch succeeds\n } catch (_clientError) {\n if (!useServerSideFetch) {\n // If server-side fetch is not enabled, show client-side error\n toast.error('Failed to fetch the file.')\n setUploadStatus('failed')\n return\n }\n }\n\n // Attempt server-side fetch if client-side fetch fails and useServerSideFetch is true\n try {\n const pasteURL = `/${collectionSlug}/paste-url${id ? `/${id}?` : '?'}src=${encodeURIComponent(fileUrl)}`\n const serverResponse = await fetch(`${serverURL}${api}${pasteURL}`)\n\n if (!serverResponse.ok) {\n throw new Error(`Fetch failed with status: ${serverResponse.status}`)\n }\n\n const blob = await serverResponse.blob()\n const fileName = decodeURIComponent(fileUrl.split('/').pop() || '')\n const file = new File([blob], fileName, { type: blob.type })\n\n handleFileChange(file)\n setUploadStatus('idle')\n } catch (_serverError) {\n toast.error('The provided URL is not allowed.')\n setUploadStatus('failed')\n }\n }\n\n useEffect(() => {\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n setRemovedFile(false)\n }\n }, [initialState])\n\n useEffect(() => {\n if (showUrlInput && urlInputRef.current) {\n // urlInputRef.current.focus() // Focus on the remote-url input field when showUrlInput is true\n }\n }, [showUrlInput])\n\n useEffect(() => {\n if (isFormSubmitting) {\n setRemovedFile(false)\n }\n }, [isFormSubmitting])\n\n const canRemoveUpload =\n docPermissions?.update && 'delete' in docPermissions && docPermissions?.delete\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ')\n\n const imageCacheTag = uploadConfig?.cacheTags && savedDocumentData?.updatedAt\n\n if (uploadConfig.hideFileInputOnCreate && !savedDocumentData?.filename) {\n return null\n }\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {savedDocumentData && savedDocumentData.filename && !removedFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={savedDocumentData}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasImageSizes}\n hideRemoveFile={uploadConfig.hideRemoveFile}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n )}\n {((!uploadConfig.hideFileInputOnCreate && !savedDocumentData?.filename) || removedFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && !showUrlInput && (\n <Dropzone onChange={handleFileSelection}>\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneButtons`}>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n if (inputRef.current) {\n inputRef.current.click()\n }\n }}\n size=\"small\"\n >\n {t('upload:selectFile')}\n </Button>\n <input\n accept={acceptMimeTypes}\n aria-hidden=\"true\"\n className={`${baseClass}__hidden-input`}\n hidden\n onChange={(e) => {\n if (e.target.files && e.target.files.length > 0) {\n handleFileSelection(e.target.files)\n }\n }}\n ref={inputRef}\n type=\"file\"\n />\n {uploadConfig?.pasteURL !== false && (\n <Fragment>\n <span className={`${baseClass}__orText`}>{t('general:or')}</span>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n setShowUrlInput(true)\n }}\n size=\"small\"\n >\n {t('upload:pasteURL')}\n </Button>\n </Fragment>\n )}\n </div>\n\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n </Dropzone>\n )}\n {showUrlInput && (\n <React.Fragment>\n <div className={`${baseClass}__remote-file-wrap`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__remote-file`}\n onChange={(e) => {\n setFileUrl(e.target.value)\n }}\n ref={urlInputRef}\n type=\"text\"\n value={fileUrl}\n />\n <div className={`${baseClass}__add-file-wrap`}>\n <button\n className={`${baseClass}__add-file`}\n onClick={() => {\n void handleUrlSubmit()\n }}\n type=\"button\"\n >\n {t('upload:addFile')}\n </button>\n </div>\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={() => {\n setShowUrlInput(false)\n }}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__filename`}\n onChange={handleFileNameChange}\n type=\"text\"\n value={filename || value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasImageSizes && savedDocumentData?.filename && !removedFile}\n mimeType={value.type}\n />\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n </div>\n )}\n {(value || savedDocumentData?.filename) && (\n <EditDepthProvider>\n <Drawer Header={null} slug={editDrawerSlug}>\n <EditUpload\n fileName={value?.name || savedDocumentData?.filename}\n fileSrc={savedDocumentData?.url || fileSrc}\n imageCacheTag={imageCacheTag}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || savedDocumentData?.focalX || 50,\n y: uploadEdits?.focalPoint?.y || savedDocumentData?.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </Drawer>\n </EditDepthProvider>\n )}\n {savedDocumentData && hasImageSizes && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: savedDocumentData.filename })}\n >\n <PreviewSizes\n doc={savedDocumentData}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n </Drawer>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","isImage","React","Fragment","useCallback","useEffect","useRef","useState","toast","FieldError","fieldBaseClass","useForm","useFormProcessing","useField","useConfig","useDocumentInfo","EditDepthProvider","useTranslation","useUploadEdits","Button","Drawer","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","UploadActions","t0","$","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","openModal","t1","t2","Symbol","for","bb0","fileTypeIsAdjustable","length","t3","map","_temp","_jsxs","className","children","_jsx","buttonStyle","onClick","size","Upload","props","resetUploadEdits","updateUploadEdits","uploadEdits","Upload_v4","collectionSlug","initialState","onChange","uploadConfig","config","routes","api","serverURL","setModified","id","docPermissions","savedDocumentData","setUploadStatus","isFormSubmitting","errorMessage","setValue","showError","path","fileSrc","setFileSrc","removedFile","setRemovedFile","filename","setFilename","name","showUrlInput","setShowUrlInput","fileUrl","setFileUrl","urlInputRef","inputRef","useServerSideFetch","pasteURL","allowList","handleFileChange","newFile","File","URL","createObjectURL","renameFile","fileToChange","newName","type","lastModified","handleFileNameChange","e","updatedFileName","target","handleFileSelection","files","fileToUpload","handleFileRemoval","onEditsSave","args","handleUrlSubmit","clientResponse","fetch","ok","Error","status","blob","fileName","decodeURIComponent","split","pop","file","_clientError","error","encodeURIComponent","serverResponse","_serverError","current","canRemoveUpload","update","delete","hasImageSizes","imageSizes","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","focalPoint","crop","showCrop","showFocalPoint","acceptMimeTypes","mimeTypes","join","imageCacheTag","cacheTags","updatedAt","hideFileInputOnCreate","filter","message","customUploadActions","doc","handleRemove","hideRemoveFile","click","accept","hidden","ref","icon","iconStyle","round","tooltip","Header","slug","url","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","title","label","CustomAction","i"],"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { isImage } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { useForm, useFormProcessing } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n readonly customActions?: React.ReactNode[]\n readonly enableAdjustments: boolean\n readonly enablePreviewSizes: boolean\n readonly mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n const { openModal } = useModal()\n\n const fileTypeIsAdjustable =\n isImage(mimeType) && mimeType !== 'image/svg+xml' && mimeType !== 'image/jxl'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) {\n return null\n }\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__previewSizes`}\n onClick={() => {\n openModal(sizePreviewSlug)\n }}\n size=\"small\"\n >\n {t('upload:previewSizes')}\n </Button>\n )}\n {enableAdjustments && (\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__edit`}\n onClick={() => {\n openModal(editDrawerSlug)\n }}\n size=\"small\"\n >\n {t('upload:editImage')}\n </Button>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n readonly collectionSlug: string\n readonly customActions?: React.ReactNode[]\n readonly initialState?: FormState\n readonly onChange?: (file?: File) => void\n readonly uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n return (\n <Upload_v4\n {...props}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadEdits={uploadEdits}\n />\n )\n}\n\nexport type UploadProps_v4 = {\n readonly resetUploadEdits?: () => void\n readonly updateUploadEdits?: (args: UploadEdits) => void\n readonly uploadEdits?: UploadEdits\n} & UploadProps\n\nexport const Upload_v4: React.FC<UploadProps_v4> = (props) => {\n const {\n collectionSlug,\n customActions,\n initialState,\n onChange,\n resetUploadEdits,\n updateUploadEdits,\n uploadConfig,\n uploadEdits,\n } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { id, docPermissions, savedDocumentData, setUploadStatus } = useDocumentInfo()\n const isFormSubmitting = useFormProcessing()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const [removedFile, setRemovedFile] = useState(false)\n const [filename, setFilename] = useState<string>(value?.name || '')\n const [showUrlInput, setShowUrlInput] = useState(false)\n const [fileUrl, setFileUrl] = useState<string>('')\n\n const urlInputRef = useRef<HTMLInputElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n\n const useServerSideFetch =\n typeof uploadConfig?.pasteURL === 'object' && uploadConfig.pasteURL.allowList?.length > 0\n\n const handleFileChange = useCallback(\n (newFile: File) => {\n if (newFile instanceof File) {\n setFileSrc(URL.createObjectURL(newFile))\n }\n\n setValue(newFile)\n setShowUrlInput(false)\n\n if (typeof onChange === 'function') {\n onChange(newFile)\n }\n },\n [onChange, setValue],\n )\n\n const renameFile = (fileToChange: File, newName: string): File => {\n // Creating a new File object with updated properties\n const newFile = new File([fileToChange], newName, {\n type: fileToChange.type,\n lastModified: fileToChange.lastModified,\n })\n return newFile\n }\n\n const handleFileNameChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n\n if (value) {\n handleFileChange(renameFile(value, updatedFileName))\n setFilename(updatedFileName)\n }\n },\n [handleFileChange, value],\n )\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange(fileToUpload)\n },\n [handleFileChange],\n )\n\n const handleFileRemoval = useCallback(() => {\n setRemovedFile(true)\n handleFileChange(null)\n setFileSrc('')\n setFileUrl('')\n resetUploadEdits()\n setShowUrlInput(false)\n }, [handleFileChange, resetUploadEdits])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n const handleUrlSubmit = async () => {\n if (!fileUrl || uploadConfig?.pasteURL === false) {\n return\n }\n\n setUploadStatus('uploading')\n try {\n // Attempt client-side fetch\n const clientResponse = await fetch(fileUrl)\n\n if (!clientResponse.ok) {\n throw new Error(`Fetch failed with status: ${clientResponse.status}`)\n }\n\n const blob = await clientResponse.blob()\n const fileName = decodeURIComponent(fileUrl.split('/').pop() || '')\n const file = new File([blob], fileName, { type: blob.type })\n\n handleFileChange(file)\n setUploadStatus('idle')\n return // Exit if client-side fetch succeeds\n } catch (_clientError) {\n if (!useServerSideFetch) {\n // If server-side fetch is not enabled, show client-side error\n toast.error('Failed to fetch the file.')\n setUploadStatus('failed')\n return\n }\n }\n\n // Attempt server-side fetch if client-side fetch fails and useServerSideFetch is true\n try {\n const pasteURL = `/${collectionSlug}/paste-url${id ? `/${id}?` : '?'}src=${encodeURIComponent(fileUrl)}`\n const serverResponse = await fetch(`${serverURL}${api}${pasteURL}`)\n\n if (!serverResponse.ok) {\n throw new Error(`Fetch failed with status: ${serverResponse.status}`)\n }\n\n const blob = await serverResponse.blob()\n const fileName = decodeURIComponent(fileUrl.split('/').pop() || '')\n const file = new File([blob], fileName, { type: blob.type })\n\n handleFileChange(file)\n setUploadStatus('idle')\n } catch (_serverError) {\n toast.error('The provided URL is not allowed.')\n setUploadStatus('failed')\n }\n }\n\n useEffect(() => {\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n setRemovedFile(false)\n }\n }, [initialState])\n\n useEffect(() => {\n if (showUrlInput && urlInputRef.current) {\n // urlInputRef.current.focus() // Focus on the remote-url input field when showUrlInput is true\n }\n }, [showUrlInput])\n\n useEffect(() => {\n if (isFormSubmitting) {\n setRemovedFile(false)\n }\n }, [isFormSubmitting])\n\n const canRemoveUpload =\n docPermissions?.update && 'delete' in docPermissions && docPermissions?.delete\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ')\n\n const imageCacheTag = uploadConfig?.cacheTags && savedDocumentData?.updatedAt\n\n if (uploadConfig.hideFileInputOnCreate && !savedDocumentData?.filename) {\n return null\n }\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {savedDocumentData && savedDocumentData.filename && !removedFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={savedDocumentData}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasImageSizes}\n hideRemoveFile={uploadConfig.hideRemoveFile}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n )}\n {((!uploadConfig.hideFileInputOnCreate && !savedDocumentData?.filename) || removedFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && !showUrlInput && (\n <Dropzone onChange={handleFileSelection}>\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneButtons`}>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n if (inputRef.current) {\n inputRef.current.click()\n }\n }}\n size=\"small\"\n >\n {t('upload:selectFile')}\n </Button>\n <input\n accept={acceptMimeTypes}\n aria-hidden=\"true\"\n className={`${baseClass}__hidden-input`}\n hidden\n onChange={(e) => {\n if (e.target.files && e.target.files.length > 0) {\n handleFileSelection(e.target.files)\n }\n }}\n ref={inputRef}\n type=\"file\"\n />\n {uploadConfig?.pasteURL !== false && (\n <Fragment>\n <span className={`${baseClass}__orText`}>{t('general:or')}</span>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n setShowUrlInput(true)\n }}\n size=\"small\"\n >\n {t('upload:pasteURL')}\n </Button>\n </Fragment>\n )}\n </div>\n\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n </Dropzone>\n )}\n {showUrlInput && (\n <React.Fragment>\n <div className={`${baseClass}__remote-file-wrap`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__remote-file`}\n onChange={(e) => {\n setFileUrl(e.target.value)\n }}\n ref={urlInputRef}\n type=\"text\"\n value={fileUrl}\n />\n <div className={`${baseClass}__add-file-wrap`}>\n <button\n className={`${baseClass}__add-file`}\n onClick={() => {\n void handleUrlSubmit()\n }}\n type=\"button\"\n >\n {t('upload:addFile')}\n </button>\n </div>\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={() => {\n setShowUrlInput(false)\n }}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__filename`}\n onChange={handleFileNameChange}\n type=\"text\"\n value={filename || value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasImageSizes && savedDocumentData?.filename && !removedFile}\n mimeType={value.type}\n />\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n </div>\n )}\n {(value || savedDocumentData?.filename) && (\n <EditDepthProvider>\n <Drawer Header={null} slug={editDrawerSlug}>\n <EditUpload\n fileName={value?.name || savedDocumentData?.filename}\n fileSrc={savedDocumentData?.url || fileSrc}\n imageCacheTag={imageCacheTag}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || savedDocumentData?.focalX || 50,\n y: uploadEdits?.focalPoint?.y || savedDocumentData?.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </Drawer>\n </EditDepthProvider>\n )}\n {savedDocumentData && hasImageSizes && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: savedDocumentData.filename })}\n >\n <PreviewSizes\n doc={savedDocumentData}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n </Drawer>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -58,21 +58,6 @@
58
58
  display: flex;
59
59
  gap: calc(var(--base) / 2);
60
60
  flex-wrap: wrap;
61
-
62
- & button {
63
- cursor: pointer;
64
- background-color: var(--theme-elevation-150);
65
- border: none;
66
- border-radius: $style-radius-m;
67
- padding: base(0.25) base(0.5);
68
- text-wrap: nowrap;
69
- overflow: hidden;
70
- text-overflow: ellipsis;
71
-
72
- &:hover {
73
- background-color: var(--theme-elevation-100);
74
- }
75
- }
76
61
  }
77
62
 
78
63
  &__previewDrawer {
@@ -27,12 +27,15 @@ export { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js';
27
27
  export { DocumentLocked } from '../../elements/DocumentLocked/index.js';
28
28
  export { TableColumnsProvider, useTableColumns } from '../../providers/TableColumns/index.js';
29
29
  export { RenderDefaultCell, useCellProps, } from '../../providers/TableColumns/RenderDefaultCell/index.js';
30
+ export { DateCell } from '../../elements/Table/DefaultCell/fields/Date/index.js';
30
31
  export { Translation } from '../../elements/Translation/index.js';
31
32
  export { default as DatePicker } from '../../elements/DatePicker/DatePicker.js';
32
33
  export { ViewDescription } from '../../elements/ViewDescription/index.js';
33
34
  export { AppHeader } from '../../elements/AppHeader/index.js';
34
35
  export { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js';
35
36
  export { BulkUploadDrawer, BulkUploadProvider, useBulkUpload, useBulkUploadDrawerSlug, } from '../../elements/BulkUpload/index.js';
37
+ export { DrawerActionHeader } from '../../elements/DrawerActionHeader/index.js';
38
+ export { DrawerContentContainer } from '../../elements/DrawerContentContainer/index.js';
36
39
  export type { BulkUploadProps } from '../../elements/BulkUpload/index.js';
37
40
  export { Banner } from '../../elements/Banner/index.js';
38
41
  export { Button } from '../../elements/Button/index.js';
@@ -45,6 +48,8 @@ export { DocumentControls } from '../../elements/DocumentControls/index.js';
45
48
  export { Dropzone } from '../../elements/Dropzone/index.js';
46
49
  export { documentDrawerBaseClass, useDocumentDrawer } from '../../elements/DocumentDrawer/index.js';
47
50
  export type { DocumentDrawerProps, DocumentTogglerProps, UseDocumentDrawer, } from '../../elements/DocumentDrawer/types.js';
51
+ export { useClickOutside } from '../../hooks/useClickOutside.js';
52
+ export { useClickOutsideContext } from '../../providers/ClickOutside/index.js';
48
53
  export { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js';
49
54
  export { DocumentFields } from '../../elements/DocumentFields/index.js';
50
55
  export { Drawer, DrawerToggler, formatDrawerSlug } from '../../elements/Drawer/index.js';
@@ -60,8 +65,8 @@ export { Locked } from '../../elements/Locked/index.js';
60
65
  export { ListControls } from '../../elements/ListControls/index.js';
61
66
  export { useListDrawer } from '../../elements/ListDrawer/index.js';
62
67
  export type { ListDrawerProps, ListTogglerProps, UseListDrawer, } from '../../elements/ListDrawer/types.js';
63
- export { ListSelection } from '../../elements/ListSelection/index.js';
64
- export { ListHeader } from '../../views/List/ListHeader/index.js';
68
+ export { ListSelection } from '../../views/List/ListSelection/index.js';
69
+ export { CollectionListHeader as ListHeader } from '../../views/List/ListHeader/index.js';
65
70
  export { LoadingOverlayToggle } from '../../elements/Loading/index.js';
66
71
  export { FormLoadingOverlayToggle } from '../../elements/Loading/index.js';
67
72
  export { LoadingOverlay } from '../../elements/Loading/index.js';
@@ -80,6 +85,8 @@ export { PublishMany } from '../../elements/PublishMany/index.js';
80
85
  export { PublishButton } from '../../elements/PublishButton/index.js';
81
86
  export { SaveButton } from '../../elements/SaveButton/index.js';
82
87
  export { SaveDraftButton } from '../../elements/SaveDraftButton/index.js';
88
+ export { FolderProvider, useFolder } from '../../providers/Folders/index.js';
89
+ export { BrowseByFolderButton } from '../../elements/FolderView/BrowseByFolderButton/index.js';
83
90
  export { type Option as ReactSelectOption, ReactSelect } from '../../elements/ReactSelect/index.js';
84
91
  export { ReactSelect as Select } from '../../elements/ReactSelect/index.js';
85
92
  export { RenderTitle } from '../../elements/RenderTitle/index.js';
@@ -186,6 +193,11 @@ export { PlusIcon } from '../../icons/Plus/index.js';
186
193
  export { SearchIcon } from '../../icons/Search/index.js';
187
194
  export { SwapIcon } from '../../icons/Swap/index.js';
188
195
  export { XIcon } from '../../icons/X/index.js';
196
+ export { FolderIcon } from '../../icons/Folder/index.js';
197
+ export { DocumentIcon } from '../../icons/Document/index.js';
198
+ export { MoveFolderIcon } from '../../icons/MoveFolder/index.js';
199
+ export { GridViewIcon } from '../../icons/GridView/index.js';
200
+ export { ListViewIcon } from '../../icons/ListView/index.js';
189
201
  export { Error as ErrorIcon } from '../../providers/ToastContainer/icons/Error.js';
190
202
  export { Info as InfoIcon } from '../../providers/ToastContainer/icons/Info.js';
191
203
  export { Success as SuccessIcon } from '../../providers/ToastContainer/icons/Success.js';
@@ -232,6 +244,8 @@ export { SelectAll } from '../../elements/SelectAll/index.js';
232
244
  export { SelectRow } from '../../elements/SelectRow/index.js';
233
245
  export { SelectMany } from '../../elements/SelectMany/index.js';
234
246
  export { DefaultListView } from '../../views/List/index.js';
247
+ export { DefaultCollectionFolderView } from '../../views/CollectionFolder/index.js';
248
+ export { DefaultBrowseByFolderView } from '../../views/BrowseByFolder/index.js';
235
249
  export type {
236
250
  /**
237
251
  * @deprecated