@payloadcms/ui 4.0.0-internal.9726517 → 4.0.0-internal.a1317b2

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 (558) hide show
  1. package/dist/css/app.css +121 -0
  2. package/dist/css/forms.css +0 -6
  3. package/dist/css/spacing.css +11 -3
  4. package/dist/css/z-index.css +1 -0
  5. package/dist/elements/AddNewRelation/index.css +0 -1
  6. package/dist/elements/AppHeader/index.css +1 -3
  7. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  8. package/dist/elements/AppHeader/index.js +6 -2
  9. package/dist/elements/AppHeader/index.js.map +1 -1
  10. package/dist/elements/ArrayAction/index.d.ts +1 -0
  11. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  12. package/dist/elements/ArrayAction/index.js +45 -32
  13. package/dist/elements/ArrayAction/index.js.map +1 -1
  14. package/dist/elements/Autosave/index.d.ts.map +1 -1
  15. package/dist/elements/Autosave/index.js +2 -3
  16. package/dist/elements/Autosave/index.js.map +1 -1
  17. package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
  18. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  19. package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
  20. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +2 -2
  22. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  23. package/dist/elements/BulkUpload/FileSidebar/index.css +4 -0
  24. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  25. package/dist/elements/BulkUpload/FormsManager/index.js +2 -3
  26. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  27. package/dist/elements/Button/index.css +2 -2
  28. package/dist/elements/Button/index.d.ts.map +1 -1
  29. package/dist/elements/Button/index.js +2 -0
  30. package/dist/elements/Button/index.js.map +1 -1
  31. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
  32. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  33. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
  34. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  35. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +345 -1
  36. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
  37. package/dist/elements/CodeEditor/index.css +0 -5
  38. package/dist/elements/CommandPalette/index.css +0 -7
  39. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  40. package/dist/elements/CopyLocaleData/index.js +8 -9
  41. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  42. package/dist/elements/CopyToClipboard/index.d.ts +1 -0
  43. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  44. package/dist/elements/CopyToClipboard/index.js +10 -8
  45. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  46. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  47. package/dist/elements/CreateDocumentButton/index.js +4 -1
  48. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  49. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  50. package/dist/elements/DatePicker/DatePicker.js +1 -0
  51. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  52. package/dist/elements/DatePicker/index.css +1 -1
  53. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  54. package/dist/elements/DeleteDocument/index.js +16 -1
  55. package/dist/elements/DeleteDocument/index.js.map +1 -1
  56. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  57. package/dist/elements/DeleteMany/index.js +2 -3
  58. package/dist/elements/DeleteMany/index.js.map +1 -1
  59. package/dist/elements/Drawer/index.css +10 -4
  60. package/dist/elements/Dropzone/index.css +10 -4
  61. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
  62. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  63. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  64. package/dist/elements/DuplicateDocument/index.js +2 -3
  65. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  66. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  67. package/dist/elements/EditMany/DrawerContent.js +4 -5
  68. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  69. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  70. package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
  71. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  72. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
  73. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
  74. package/dist/elements/FileDetails/StaticFileDetails/index.css +8 -9
  75. package/dist/elements/FileManager/FilePreview/index.css +3 -3
  76. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
  77. package/dist/elements/FileManager/FileToolbar/index.js +3 -0
  78. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
  79. package/dist/elements/FileManager/index.css +35 -52
  80. package/dist/elements/FileManager/index.d.ts.map +1 -1
  81. package/dist/elements/FileManager/index.js +385 -282
  82. package/dist/elements/FileManager/index.js.map +1 -1
  83. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +0 -1
  84. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  85. package/dist/elements/Hierarchy/MoveMany/index.js +2 -3
  86. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  87. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  88. package/dist/elements/Hierarchy/Search/useHierarchySearch.js +2 -3
  89. package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
  90. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  91. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +109 -89
  92. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  93. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  94. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +2 -0
  95. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  96. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +0 -1
  97. package/dist/elements/IDLabel/index.css +6 -0
  98. package/dist/elements/IDLabel/index.d.ts +1 -1
  99. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  100. package/dist/elements/IDLabel/index.js +16 -21
  101. package/dist/elements/IDLabel/index.js.map +1 -1
  102. package/dist/elements/InputStepper/index.css +0 -1
  103. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
  104. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
  105. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
  106. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  107. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
  108. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +2 -3
  109. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  110. package/dist/elements/LivePreview/Window/index.js +1 -1
  111. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  112. package/dist/elements/Localizer/index.js +1 -1
  113. package/dist/elements/Localizer/index.js.map +1 -1
  114. package/dist/elements/Locked/index.css +0 -8
  115. package/dist/elements/Locked/index.d.ts.map +1 -1
  116. package/dist/elements/Locked/index.js +70 -64
  117. package/dist/elements/Locked/index.js.map +1 -1
  118. package/dist/elements/MiniCarousel/index.css +39 -37
  119. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  120. package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
  121. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  122. package/dist/elements/Nav/SidebarTabs/index.css +0 -5
  123. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
  124. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
  125. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
  126. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
  127. package/dist/elements/NavGroup/index.css +0 -1
  128. package/dist/elements/Popup/PopupButtonList/index.css +1 -1
  129. package/dist/elements/Popup/index.js +1 -1
  130. package/dist/elements/Popup/index.js.map +1 -1
  131. package/dist/elements/PreviewButton/index.d.ts +1 -2
  132. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  133. package/dist/elements/PreviewButton/index.js +11 -5
  134. package/dist/elements/PreviewButton/index.js.map +1 -1
  135. package/dist/elements/PreviewSizes/index.css +8 -9
  136. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  137. package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
  138. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  139. package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts +1 -1
  140. package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts.map +1 -1
  141. package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
  142. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  143. package/dist/elements/PublishButton/index.js +5 -6
  144. package/dist/elements/PublishButton/index.js.map +1 -1
  145. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  146. package/dist/elements/PublishMany/DrawerContent.js +2 -3
  147. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  148. package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
  149. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  150. package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
  151. package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
  152. package/dist/elements/ReactSelect/MultiValueLabel/index.css +2 -2
  153. package/dist/elements/ReactSelect/index.css +0 -3
  154. package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
  155. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
  156. package/dist/elements/RelationshipTable/Pagination.js +27 -77
  157. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  158. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  159. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  160. package/dist/elements/RelationshipTable/index.js +41 -5
  161. package/dist/elements/RelationshipTable/index.js.map +1 -1
  162. package/dist/elements/RenderTitle/index.css +4 -0
  163. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  164. package/dist/elements/RenderTitle/index.js +18 -13
  165. package/dist/elements/RenderTitle/index.js.map +1 -1
  166. package/dist/elements/RestoreMany/index.d.ts.map +1 -1
  167. package/dist/elements/RestoreMany/index.js +2 -3
  168. package/dist/elements/RestoreMany/index.js.map +1 -1
  169. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  170. package/dist/elements/SaveDraftButton/index.js +2 -3
  171. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  172. package/dist/elements/SelectRow/index.d.ts +4 -3
  173. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  174. package/dist/elements/SelectRow/index.js +10 -7
  175. package/dist/elements/SelectRow/index.js.map +1 -1
  176. package/dist/elements/SidebarToggle/index.css +0 -17
  177. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  178. package/dist/elements/SortColumn/index.js +42 -38
  179. package/dist/elements/SortColumn/index.js.map +1 -1
  180. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  181. package/dist/elements/SortHeader/index.js +29 -26
  182. package/dist/elements/SortHeader/index.js.map +1 -1
  183. package/dist/elements/Status/index.d.ts.map +1 -1
  184. package/dist/elements/Status/index.js +2 -3
  185. package/dist/elements/Status/index.js.map +1 -1
  186. package/dist/elements/StepNav/index.css +64 -14
  187. package/dist/elements/StepNav/index.d.ts.map +1 -1
  188. package/dist/elements/StepNav/index.js +143 -69
  189. package/dist/elements/StepNav/index.js.map +1 -1
  190. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  191. package/dist/elements/Table/DefaultCell/index.js +3 -11
  192. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  193. package/dist/elements/Table/OrderableRow.d.ts +3 -1
  194. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  195. package/dist/elements/Table/OrderableRow.js +17 -1
  196. package/dist/elements/Table/OrderableRow.js.map +1 -1
  197. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  198. package/dist/elements/Table/OrderableTable.js +20 -4
  199. package/dist/elements/Table/OrderableTable.js.map +1 -1
  200. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  201. package/dist/elements/Table/RelationshipProvider/index.js +2 -3
  202. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  203. package/dist/elements/TableSection/index.css +0 -1
  204. package/dist/elements/Tooltip/index.css +15 -34
  205. package/dist/elements/Tooltip/index.d.ts +11 -3
  206. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  207. package/dist/elements/Tooltip/index.js +151 -85
  208. package/dist/elements/Tooltip/index.js.map +1 -1
  209. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  210. package/dist/elements/UnpublishButton/index.js +3 -4
  211. package/dist/elements/UnpublishButton/index.js.map +1 -1
  212. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  213. package/dist/elements/UnpublishMany/DrawerContent.js +2 -3
  214. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  215. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
  216. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
  217. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
  218. package/dist/elements/Upload/index.css +39 -37
  219. package/dist/elements/Upload/index.d.ts.map +1 -1
  220. package/dist/elements/Upload/index.js +37 -99
  221. package/dist/elements/Upload/index.js.map +1 -1
  222. package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
  223. package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
  224. package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
  225. package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
  226. package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
  227. package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
  228. package/dist/elements/Upload/useUploadFromUrl.js +201 -0
  229. package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
  230. package/dist/elements/UploadDropzoneContent/index.css +31 -0
  231. package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
  232. package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
  233. package/dist/elements/UploadDropzoneContent/index.js +62 -0
  234. package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
  235. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +1 -1
  236. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  237. package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
  238. package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
  239. package/dist/elements/WhereBuilder/conditionValue.js +32 -0
  240. package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
  241. package/dist/elements/WhereBuilder/conditionValue.spec.js +65 -0
  242. package/dist/elements/WhereBuilder/conditionValue.spec.js.map +1 -0
  243. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  244. package/dist/elements/WhereBuilder/index.js +15 -4
  245. package/dist/elements/WhereBuilder/index.js.map +1 -1
  246. package/dist/exports/client/index.d.ts +5 -1
  247. package/dist/exports/client/index.d.ts.map +1 -1
  248. package/dist/exports/client/index.js +1 -1
  249. package/dist/exports/client/index.js.map +3 -3
  250. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  251. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  252. package/dist/fields/Array/ArrayRow.js +2 -0
  253. package/dist/fields/Array/ArrayRow.js.map +1 -1
  254. package/dist/fields/Array/index.d.ts.map +1 -1
  255. package/dist/fields/Array/index.js +40 -13
  256. package/dist/fields/Array/index.js.map +1 -1
  257. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  258. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  259. package/dist/fields/Blocks/BlockRow.js +2 -0
  260. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  261. package/dist/fields/Blocks/RowActions.d.ts +1 -0
  262. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  263. package/dist/fields/Blocks/RowActions.js +22 -19
  264. package/dist/fields/Blocks/RowActions.js.map +1 -1
  265. package/dist/fields/Blocks/index.d.ts.map +1 -1
  266. package/dist/fields/Blocks/index.js +40 -13
  267. package/dist/fields/Blocks/index.js.map +1 -1
  268. package/dist/fields/Checkbox/Input.d.ts +2 -0
  269. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  270. package/dist/fields/Checkbox/Input.js +32 -26
  271. package/dist/fields/Checkbox/Input.js.map +1 -1
  272. package/dist/fields/Checkbox/index.css +37 -73
  273. package/dist/fields/FieldError/index.css +0 -9
  274. package/dist/fields/FieldError/index.d.ts.map +1 -1
  275. package/dist/fields/FieldError/index.js +19 -9
  276. package/dist/fields/FieldError/index.js.map +1 -1
  277. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  278. package/dist/fields/FieldLabel/index.js +4 -5
  279. package/dist/fields/FieldLabel/index.js.map +1 -1
  280. package/dist/fields/Join/index.css +9 -0
  281. package/dist/fields/Join/index.d.ts.map +1 -1
  282. package/dist/fields/Join/index.js +13 -9
  283. package/dist/fields/Join/index.js.map +1 -1
  284. package/dist/fields/RadioGroup/index.css +0 -7
  285. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  286. package/dist/fields/Relationship/Input.js +34 -17
  287. package/dist/fields/Relationship/Input.js.map +1 -1
  288. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  289. package/dist/fields/Slug/index.css +0 -1
  290. package/dist/fields/Slug/index.d.ts.map +1 -1
  291. package/dist/fields/Slug/index.js +74 -111
  292. package/dist/fields/Slug/index.js.map +1 -1
  293. package/dist/fields/Upload/Input.d.ts.map +1 -1
  294. package/dist/fields/Upload/Input.js +46 -19
  295. package/dist/fields/Upload/Input.js.map +1 -1
  296. package/dist/fields/Upload/Input.spec.js +242 -0
  297. package/dist/fields/Upload/Input.spec.js.map +1 -0
  298. package/dist/fields/Upload/index.css +19 -4
  299. package/dist/fields/shared/index.d.ts +1 -1
  300. package/dist/fields/shared/index.d.ts.map +1 -1
  301. package/dist/fields/shared/index.js.map +1 -1
  302. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  303. package/dist/forms/Form/fieldReducer.js +3 -1
  304. package/dist/forms/Form/fieldReducer.js.map +1 -1
  305. package/dist/forms/Form/index.d.ts.map +1 -1
  306. package/dist/forms/Form/index.js +11 -4
  307. package/dist/forms/Form/index.js.map +1 -1
  308. package/dist/forms/Form/types.d.ts +1 -1
  309. package/dist/forms/Form/types.d.ts.map +1 -1
  310. package/dist/forms/Form/types.js.map +1 -1
  311. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  312. package/dist/forms/NullifyField/index.js +2 -3
  313. package/dist/forms/NullifyField/index.js.map +1 -1
  314. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  315. package/dist/forms/WatchChildErrors/index.js +2 -2
  316. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  317. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  318. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +2 -1
  319. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  320. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  321. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
  322. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  323. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  324. package/dist/hooks/usePayloadAPI.js +2 -3
  325. package/dist/hooks/usePayloadAPI.js.map +1 -1
  326. package/dist/icons/Edit/index.d.ts +0 -1
  327. package/dist/icons/Edit/index.d.ts.map +1 -1
  328. package/dist/icons/Edit/index.js +4 -4
  329. package/dist/icons/Edit/index.js.map +1 -1
  330. package/dist/layouts/Root/index.d.ts +1 -1
  331. package/dist/layouts/Root/index.d.ts.map +1 -1
  332. package/dist/layouts/Root/index.js +8 -2
  333. package/dist/layouts/Root/index.js.map +1 -1
  334. package/dist/providers/Actions/index.d.ts +1 -0
  335. package/dist/providers/Actions/index.d.ts.map +1 -1
  336. package/dist/providers/Actions/index.js +43 -11
  337. package/dist/providers/Actions/index.js.map +1 -1
  338. package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
  339. package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
  340. package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
  341. package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
  342. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
  343. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
  344. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
  345. package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
  346. package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
  347. package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
  348. package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
  349. package/dist/providers/Auth/authSessionRequests.js +119 -0
  350. package/dist/providers/Auth/authSessionRequests.js.map +1 -0
  351. package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
  352. package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
  353. package/dist/providers/Auth/index.d.ts +2 -56
  354. package/dist/providers/Auth/index.d.ts.map +1 -1
  355. package/dist/providers/Auth/index.js +283 -135
  356. package/dist/providers/Auth/index.js.map +1 -1
  357. package/dist/providers/Auth/sessionActivity.d.ts +23 -0
  358. package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
  359. package/dist/providers/Auth/sessionActivity.js +49 -0
  360. package/dist/providers/Auth/sessionActivity.js.map +1 -0
  361. package/dist/providers/Auth/sessionActivity.spec.js +44 -0
  362. package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
  363. package/dist/providers/Auth/sessionTiming.d.ts +11 -0
  364. package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
  365. package/dist/providers/Auth/sessionTiming.js +18 -0
  366. package/dist/providers/Auth/sessionTiming.js.map +1 -0
  367. package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
  368. package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
  369. package/dist/providers/Auth/tabSessionSync/index.js +263 -0
  370. package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
  371. package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
  372. package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
  373. package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
  374. package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
  375. package/dist/providers/Auth/tabSessionSync/types.js +6 -0
  376. package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
  377. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
  378. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
  379. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
  380. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
  381. package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
  382. package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
  383. package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
  384. package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
  385. package/dist/providers/Auth/types.d.ts +65 -0
  386. package/dist/providers/Auth/types.d.ts.map +1 -0
  387. package/dist/providers/Auth/types.js +2 -0
  388. package/dist/providers/Auth/types.js.map +1 -0
  389. package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
  390. package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
  391. package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
  392. package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
  393. package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
  394. package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
  395. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  396. package/dist/providers/DocumentInfo/index.js +2 -3
  397. package/dist/providers/DocumentInfo/index.js.map +1 -1
  398. package/dist/providers/DocumentTitle/index.d.ts +1 -0
  399. package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
  400. package/dist/providers/DocumentTitle/index.js +2 -0
  401. package/dist/providers/DocumentTitle/index.js.map +1 -1
  402. package/dist/providers/Embed/index.d.ts +24 -0
  403. package/dist/providers/Embed/index.d.ts.map +1 -0
  404. package/dist/providers/Embed/index.js +105 -0
  405. package/dist/providers/Embed/index.js.map +1 -0
  406. package/dist/providers/FormErrorHandler/index.d.ts +24 -0
  407. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
  408. package/dist/providers/FormErrorHandler/index.js +6 -0
  409. package/dist/providers/FormErrorHandler/index.js.map +1 -0
  410. package/dist/providers/Locale/index.d.ts +1 -5
  411. package/dist/providers/Locale/index.d.ts.map +1 -1
  412. package/dist/providers/Locale/index.js +64 -137
  413. package/dist/providers/Locale/index.js.map +1 -1
  414. package/dist/providers/Root/index.d.ts +1 -0
  415. package/dist/providers/Root/index.d.ts.map +1 -1
  416. package/dist/providers/Root/index.js +37 -31
  417. package/dist/providers/Root/index.js.map +1 -1
  418. package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
  419. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  420. package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
  421. package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
  422. package/dist/providers/RouteTransition/index.d.ts +2 -0
  423. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  424. package/dist/providers/RouteTransition/index.js +42 -14
  425. package/dist/providers/RouteTransition/index.js.map +1 -1
  426. package/dist/providers/Selection/index.d.ts.map +1 -1
  427. package/dist/providers/Selection/index.js +2 -3
  428. package/dist/providers/Selection/index.js.map +1 -1
  429. package/dist/providers/ServerFunctions/index.d.ts +5 -1
  430. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  431. package/dist/providers/ServerFunctions/index.js +15 -0
  432. package/dist/providers/ServerFunctions/index.js.map +1 -1
  433. package/dist/providers/SidebarTabs/index.d.ts +3 -2
  434. package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
  435. package/dist/providers/SidebarTabs/index.js.map +1 -1
  436. package/dist/providers/Theme/index.d.ts +3 -0
  437. package/dist/providers/Theme/index.d.ts.map +1 -1
  438. package/dist/providers/Theme/index.js +107 -95
  439. package/dist/providers/Theme/index.js.map +1 -1
  440. package/dist/styles.css +13 -10
  441. package/dist/templates/Default/index.d.ts +1 -0
  442. package/dist/templates/Default/index.d.ts.map +1 -1
  443. package/dist/templates/Default/index.js +2 -0
  444. package/dist/templates/Default/index.js.map +1 -1
  445. package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
  446. package/dist/utilities/combineFieldLabel.js +5 -1
  447. package/dist/utilities/combineFieldLabel.js.map +1 -1
  448. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  449. package/dist/utilities/formatMetadata.js +0 -5
  450. package/dist/utilities/formatMetadata.js.map +1 -1
  451. package/dist/utilities/generateFieldID.d.ts +1 -1
  452. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  453. package/dist/utilities/generateFieldID.js +2 -2
  454. package/dist/utilities/generateFieldID.js.map +1 -1
  455. package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
  456. package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
  457. package/dist/utilities/getFilesFromClipboard.js +49 -0
  458. package/dist/utilities/getFilesFromClipboard.js.map +1 -0
  459. package/dist/utilities/getHasScheduledPublish.d.ts +2 -3
  460. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  461. package/dist/utilities/getHasScheduledPublish.js +2 -5
  462. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  463. package/dist/utilities/getRequestEmbed.d.ts +14 -0
  464. package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
  465. package/dist/utilities/getRequestEmbed.js +10 -0
  466. package/dist/utilities/getRequestEmbed.js.map +1 -0
  467. package/dist/utilities/handleServerFunctions.d.ts +32 -8
  468. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  469. package/dist/utilities/handleServerFunctions.js +17 -37
  470. package/dist/utilities/handleServerFunctions.js.map +1 -1
  471. package/dist/utilities/renderTable.d.ts.map +1 -1
  472. package/dist/utilities/renderTable.js +18 -2
  473. package/dist/utilities/renderTable.js.map +1 -1
  474. package/dist/utilities/schedulePublishHandler.d.ts +8 -1
  475. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  476. package/dist/utilities/schedulePublishHandler.js +68 -4
  477. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  478. package/dist/utilities/serverFunctionRegistry.d.ts +12 -7
  479. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  480. package/dist/utilities/serverFunctionRegistry.js +27 -8
  481. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  482. package/dist/utilities/slugify.d.ts.map +1 -1
  483. package/dist/utilities/slugify.js +52 -6
  484. package/dist/utilities/slugify.js.map +1 -1
  485. package/dist/views/API/index.client.d.ts.map +1 -1
  486. package/dist/views/API/index.client.js +2 -3
  487. package/dist/views/API/index.client.js.map +1 -1
  488. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  489. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
  490. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  491. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  492. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
  493. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  494. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  495. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
  496. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  497. package/dist/views/Dashboard/Default/ModularDashboard/index.css +29 -144
  498. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +4 -4
  499. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  500. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
  501. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  502. package/dist/views/Document/index.d.ts.map +1 -1
  503. package/dist/views/Document/index.js +1 -2
  504. package/dist/views/Document/index.js.map +1 -1
  505. package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
  506. package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
  507. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  508. package/dist/views/Edit/index.css +61 -53
  509. package/dist/views/Edit/index.d.ts.map +1 -1
  510. package/dist/views/Edit/index.js +3 -2
  511. package/dist/views/Edit/index.js.map +1 -1
  512. package/dist/views/HierarchyList/index.css +1 -1
  513. package/dist/views/List/ListHeader/index.d.ts +1 -10
  514. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  515. package/dist/views/List/ListHeader/index.js +1 -3
  516. package/dist/views/List/ListHeader/index.js.map +1 -1
  517. package/dist/views/List/index.client.d.ts.map +1 -1
  518. package/dist/views/List/index.client.js +0 -14
  519. package/dist/views/List/index.client.js.map +1 -1
  520. package/dist/views/List/index.css +6 -1
  521. package/dist/views/List/index.d.ts.map +1 -1
  522. package/dist/views/List/index.js +4 -0
  523. package/dist/views/List/index.js.map +1 -1
  524. package/dist/views/Logout/index.d.ts.map +1 -1
  525. package/dist/views/Logout/index.js +11 -0
  526. package/dist/views/Logout/index.js.map +1 -1
  527. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  528. package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
  529. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  530. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
  531. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  532. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  533. package/dist/views/Root/index.d.ts +12 -1
  534. package/dist/views/Root/index.d.ts.map +1 -1
  535. package/dist/views/Root/index.js +11 -3
  536. package/dist/views/Root/index.js.map +1 -1
  537. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  538. package/dist/views/Version/Default/SetStepNav.js +10 -13
  539. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  540. package/dist/views/Version/Default/index.d.ts.map +1 -1
  541. package/dist/views/Version/Default/index.js +12 -13
  542. package/dist/views/Version/Default/index.js.map +1 -1
  543. package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
  544. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
  545. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js +2 -3
  546. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
  547. package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
  548. package/package.json +6 -10
  549. package/dist/elements/RelationshipTable/Pagination.css +0 -39
  550. package/dist/scss/app.scss +0 -183
  551. package/dist/scss/colors.scss +0 -191
  552. package/dist/scss/custom.css +0 -1
  553. package/dist/scss/queries.scss +0 -27
  554. package/dist/scss/styles.scss +0 -9
  555. package/dist/scss/svg.scss +0 -10
  556. package/dist/scss/toastify.scss +0 -61
  557. package/dist/scss/vars.scss +0 -192
  558. package/dist/scss/z-index.scss +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","hasLocalizeStatusEnabled","qs","React","useCallback","useState","toast","useForm","useConfig","useDocumentInfo","useLocale","useTranslation","requests","ConfirmationModal","PopupList","UnpublishButton","label","labelProp","id","collectionSlug","data","dataFromProps","globalSlug","hasPublishedDoc","hasPublishPermission","incrementVersionCount","isTrashed","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","toggleModal","config","getEntityConfig","reset","resetForm","code","localeCode","localeLabel","unpublishAll","setUnpublishAll","unPublishModalSlug","routes","api","serverURL","i18n","t","entityConfig","useMemo","unpublish","url","method","queryString","stringify","depth","locale","undefined","unpublishAllLocales","addQueryPrefix","apiRoute","path","res","body","JSON","_status","headers","language","status","success","json","errors","message","error","catch","drafts","versions","hasDraftsEnabled","canUnpublish","canUnpublishCurrentLocale","Boolean","_jsxs","Fragment","_jsx","Button","onClick","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/UnpublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { UnpublishButtonClientProps } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, hasLocalizeStatusEnabled } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { PopupList } from '../Popup/index.js'\nexport function UnpublishButton({\n label: labelProp,\n}: { label?: string } & UnpublishButtonClientProps = {}) {\n const {\n id,\n collectionSlug,\n data: dataFromProps,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n incrementVersionCount,\n isTrashed,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n } = useDocumentInfo()\n const { toggleModal } = useModal()\n\n const { config, getEntityConfig } = useConfig()\n const { reset: resetForm } = useForm()\n const { code: localeCode, label: localeLabel } = useLocale()\n const [unpublishAll, setUnpublishAll] = useState(false)\n const unPublishModalSlug = `confirm-un-publish-${id}`\n\n const {\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n\n const entityConfig = React.useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const unpublish = useCallback(\n (unpublishAll?: boolean) => {\n void (async () => {\n let url\n let method\n\n const queryString = qs.stringify(\n {\n depth: 0,\n 'fallback-locale': 'null',\n locale: unpublishAll ? undefined : localeCode,\n unpublishAllLocales: unpublishAll,\n },\n { addQueryPrefix: true },\n )\n\n if (collectionSlug) {\n url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}/${id}${queryString}`,\n serverURL,\n })\n method = 'patch'\n }\n\n if (globalSlug) {\n url = formatAdminURL({\n apiRoute: api,\n path: `/globals/${globalSlug}${queryString}`,\n serverURL,\n })\n method = 'post'\n }\n\n try {\n const res = await requests[method](url, {\n body: JSON.stringify({ _status: 'draft' }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n if (res.status === 200) {\n void resetForm({\n ...(dataFromProps || {}),\n _status: 'draft',\n })\n\n toast.success(t('version:unpublishedSuccessfully'))\n if (!unpublishAll) {\n incrementVersionCount()\n }\n setUnpublishedVersionCount(1)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(false)\n } else {\n try {\n const json = await res.json()\n if (json.errors?.[0]?.message) {\n toast.error(json.errors[0].message)\n } else if (json.error) {\n toast.error(json.error)\n } else {\n toast.error(t('error:unPublishingDocument'))\n }\n } catch {\n toast.error(t('error:unPublishingDocument'))\n }\n }\n } catch {\n toast.error(t('error:unPublishingDocument'))\n }\n })().catch(() => {\n toast.error(t('error:unPublishingDocument'))\n })\n },\n [\n dataFromProps,\n resetForm,\n collectionSlug,\n globalSlug,\n serverURL,\n api,\n localeCode,\n id,\n i18n.language,\n incrementVersionCount,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n t,\n ],\n )\n\n const drafts = entityConfig?.versions?.drafts\n const hasDraftsEnabled = typeof drafts === 'object' && drafts !== null\n\n const canUnpublish = React.useMemo(() => {\n return hasDraftsEnabled && hasPublishPermission && hasPublishedDoc && !isTrashed\n }, [hasPublishPermission, hasPublishedDoc, isTrashed, hasDraftsEnabled])\n\n const canUnpublishCurrentLocale = React.useMemo(() => {\n if (!canUnpublish) {\n return false\n }\n\n return Boolean(entityConfig && hasLocalizeStatusEnabled(entityConfig))\n }, [canUnpublish, entityConfig])\n\n const label = getTranslation(localeLabel, i18n)\n\n if (!canUnpublish) {\n return null\n }\n\n return (\n <React.Fragment>\n <PopupList.Button\n id=\"action-unpublish\"\n onClick={() => {\n setUnpublishAll(true)\n toggleModal(unPublishModalSlug)\n }}\n >\n {labelProp || t('version:unpublish')}\n </PopupList.Button>\n {canUnpublishCurrentLocale && (\n <PopupList.Button\n id=\"action-unpublish-locale\"\n onClick={() => {\n setUnpublishAll(false)\n toggleModal(unPublishModalSlug)\n }}\n >\n {labelProp ? `${labelProp} [${label}]` : t('version:unpublishIn', { locale: label })}\n </PopupList.Button>\n )}\n <ConfirmationModal\n body={\n !unpublishAll\n ? t('version:aboutToUnpublishIn', { locale: label })\n : t('version:aboutToUnpublish')\n }\n confirmingLabel={t('version:unpublishing')}\n heading={t('version:confirmUnpublish')}\n modalSlug={unPublishModalSlug}\n onConfirm={() => unpublish(unpublishAll)}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","hasLocalizeStatusEnabled","qs","React","useCallback","useState","toast","useForm","useConfig","useDocumentInfo","useLocale","useTranslation","requests","ConfirmationModal","PopupList","UnpublishButton","label","labelProp","id","collectionSlug","data","dataFromProps","globalSlug","hasPublishedDoc","hasPublishPermission","incrementVersionCount","isTrashed","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","toggleModal","config","getEntityConfig","reset","resetForm","locale","localeCode","code","localeLabel","unpublishAll","setUnpublishAll","unPublishModalSlug","routes","api","serverURL","i18n","t","entityConfig","useMemo","unpublish","url","method","queryString","stringify","depth","undefined","unpublishAllLocales","addQueryPrefix","apiRoute","path","res","body","JSON","_status","headers","language","status","success","json","errors","message","error","catch","drafts","versions","hasDraftsEnabled","canUnpublish","canUnpublishCurrentLocale","Boolean","_jsxs","Fragment","_jsx","Button","onClick","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/UnpublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { UnpublishButtonClientProps } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, hasLocalizeStatusEnabled } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { PopupList } from '../Popup/index.js'\nexport function UnpublishButton({\n label: labelProp,\n}: { label?: string } & UnpublishButtonClientProps = {}) {\n const {\n id,\n collectionSlug,\n data: dataFromProps,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n incrementVersionCount,\n isTrashed,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n } = useDocumentInfo()\n const { toggleModal } = useModal()\n\n const { config, getEntityConfig } = useConfig()\n const { reset: resetForm } = useForm()\n const locale = useLocale()\n const localeCode = locale?.code\n const localeLabel = locale?.label\n const [unpublishAll, setUnpublishAll] = useState(false)\n const unPublishModalSlug = `confirm-un-publish-${id}`\n\n const {\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n\n const entityConfig = React.useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const unpublish = useCallback(\n (unpublishAll?: boolean) => {\n void (async () => {\n let url\n let method\n\n const queryString = qs.stringify(\n {\n depth: 0,\n 'fallback-locale': 'null',\n locale: unpublishAll ? undefined : localeCode,\n unpublishAllLocales: unpublishAll,\n },\n { addQueryPrefix: true },\n )\n\n if (collectionSlug) {\n url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}/${id}${queryString}`,\n serverURL,\n })\n method = 'patch'\n }\n\n if (globalSlug) {\n url = formatAdminURL({\n apiRoute: api,\n path: `/globals/${globalSlug}${queryString}`,\n serverURL,\n })\n method = 'post'\n }\n\n try {\n const res = await requests[method](url, {\n body: JSON.stringify({ _status: 'draft' }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n if (res.status === 200) {\n void resetForm({\n ...(dataFromProps || {}),\n _status: 'draft',\n })\n\n toast.success(t('version:unpublishedSuccessfully'))\n if (!unpublishAll) {\n incrementVersionCount()\n }\n setUnpublishedVersionCount(1)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(false)\n } else {\n try {\n const json = await res.json()\n if (json.errors?.[0]?.message) {\n toast.error(json.errors[0].message)\n } else if (json.error) {\n toast.error(json.error)\n } else {\n toast.error(t('error:unPublishingDocument'))\n }\n } catch {\n toast.error(t('error:unPublishingDocument'))\n }\n }\n } catch {\n toast.error(t('error:unPublishingDocument'))\n }\n })().catch(() => {\n toast.error(t('error:unPublishingDocument'))\n })\n },\n [\n dataFromProps,\n resetForm,\n collectionSlug,\n globalSlug,\n serverURL,\n api,\n localeCode,\n id,\n i18n.language,\n incrementVersionCount,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n t,\n ],\n )\n\n const drafts = entityConfig?.versions?.drafts\n const hasDraftsEnabled = typeof drafts === 'object' && drafts !== null\n\n const canUnpublish = React.useMemo(() => {\n return hasDraftsEnabled && hasPublishPermission && hasPublishedDoc && !isTrashed\n }, [hasPublishPermission, hasPublishedDoc, isTrashed, hasDraftsEnabled])\n\n const canUnpublishCurrentLocale = React.useMemo(() => {\n if (!canUnpublish) {\n return false\n }\n\n return Boolean(entityConfig && hasLocalizeStatusEnabled(entityConfig))\n }, [canUnpublish, entityConfig])\n\n const label = getTranslation(localeLabel, i18n)\n\n if (!canUnpublish) {\n return null\n }\n\n return (\n <React.Fragment>\n <PopupList.Button\n id=\"action-unpublish\"\n onClick={() => {\n setUnpublishAll(true)\n toggleModal(unPublishModalSlug)\n }}\n >\n {labelProp || t('version:unpublish')}\n </PopupList.Button>\n {canUnpublishCurrentLocale && (\n <PopupList.Button\n id=\"action-unpublish-locale\"\n onClick={() => {\n setUnpublishAll(false)\n toggleModal(unPublishModalSlug)\n }}\n >\n {labelProp ? `${labelProp} [${label}]` : t('version:unpublishIn', { locale: label })}\n </PopupList.Button>\n )}\n <ConfirmationModal\n body={\n !unpublishAll\n ? t('version:aboutToUnpublishIn', { locale: label })\n : t('version:aboutToUnpublish')\n }\n confirmingLabel={t('version:unpublishing')}\n heading={t('version:confirmUnpublish')}\n modalSlug={unPublishModalSlug}\n onConfirm={() => unpublish(unpublishAll)}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,EAAEC,wBAAwB,QAAQ;AACzD,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,IAASC,WAAW,EAAEC,QAAQ,QAAQ;AAC7C,SAASC,KAAK,QAAQ;AAEtB,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,SAAS,QAAQ;AAC1B,OAAO,SAASC,gBAAgB;EAC9BC,KAAA,EAAOC;AAAS,CACgC,GAAG,CAAC,CAAC;EACrD,MAAM;IACJC,EAAE;IACFC,cAAc;IACdC,IAAA,EAAMC,aAAa;IACnBC,UAAU;IACVC,eAAe;IACfC,oBAAoB;IACpBC,qBAAqB;IACrBC,SAAS;IACTC,kBAAkB;IAClBC,+BAA+B;IAC/BC;EAA0B,CAC3B,GAAGpB,eAAA;EACJ,MAAM;IAAEqB;EAAW,CAAE,GAAGhC,QAAA;EAExB,MAAM;IAAEiC,MAAM;IAAEC;EAAe,CAAE,GAAGxB,SAAA;EACpC,MAAM;IAAEyB,KAAA,EAAOC;EAAS,CAAE,GAAG3B,OAAA;EAC7B,MAAM4B,MAAA,GAASzB,SAAA;EACf,MAAM0B,UAAA,GAAaD,MAAA,EAAQE,IAAA;EAC3B,MAAMC,WAAA,GAAcH,MAAA,EAAQnB,KAAA;EAC5B,MAAM,CAACuB,YAAA,EAAcC,eAAA,CAAgB,GAAGnC,QAAA,CAAS;EACjD,MAAMoC,kBAAA,GAAqB,sBAAsBvB,EAAA,EAAI;EAErD,MAAM;IACJwB,MAAA,EAAQ;MAAEC;IAAG,CAAE;IACfC;EAAS,CACV,GAAGb,MAAA;EAEJ,MAAM;IAAEc,IAAI;IAAEC;EAAC,CAAE,GAAGnC,cAAA;EAEpB,MAAMoC,YAAA,GAAe5C,KAAA,CAAM6C,OAAO,CAAC;IACjC,IAAI7B,cAAA,EAAgB;MAClB,OAAOa,eAAA,CAAgB;QAAEb;MAAe;IAC1C;IAEA,IAAIG,UAAA,EAAY;MACd,OAAOU,eAAA,CAAgB;QAAEV;MAAW;IACtC;EACF,GAAG,CAACH,cAAA,EAAgBG,UAAA,EAAYU,eAAA,CAAgB;EAEhD,MAAMiB,SAAA,GAAY7C,WAAA,CACfmC,cAAA;IACC,KAAK,CAAC;MACJ,IAAIW,GAAA;MACJ,IAAIC,MAAA;MAEJ,MAAMC,WAAA,GAAclD,EAAA,CAAGmD,SAAS,CAC9B;QACEC,KAAA,EAAO;QACP,mBAAmB;QACnBnB,MAAA,EAAQI,cAAA,GAAegB,SAAA,GAAYnB,UAAA;QACnCoB,mBAAA,EAAqBjB;MACvB,GACA;QAAEkB,cAAA,EAAgB;MAAK;MAGzB,IAAItC,cAAA,EAAgB;QAClB+B,GAAA,GAAMlD,cAAA,CAAe;UACnB0D,QAAA,EAAUf,GAAA;UACVgB,IAAA,EAAM,IAAIxC,cAAA,IAAkBD,EAAA,GAAKkC,WAAA,EAAa;UAC9CR;QACF;QACAO,MAAA,GAAS;MACX;MAEA,IAAI7B,UAAA,EAAY;QACd4B,GAAA,GAAMlD,cAAA,CAAe;UACnB0D,QAAA,EAAUf,GAAA;UACVgB,IAAA,EAAM,YAAYrC,UAAA,GAAa8B,WAAA,EAAa;UAC5CR;QACF;QACAO,MAAA,GAAS;MACX;MAEA,IAAI;QACF,MAAMS,GAAA,GAAM,MAAMhD,QAAQ,CAACuC,MAAA,CAAO,CAACD,GAAA,EAAK;UACtCW,IAAA,EAAMC,IAAA,CAAKT,SAAS,CAAC;YAAEU,OAAA,EAAS;UAAQ;UACxCC,OAAA,EAAS;YACP,mBAAmBnB,IAAA,CAAKoB,QAAQ;YAChC,gBAAgB;UAClB;QACF;QAEA,IAAIL,GAAA,CAAIM,MAAM,KAAK,KAAK;UACtB,KAAKhC,SAAA,CAAU;YACb,IAAIb,aAAA,IAAiB,CAAC,CAAC;YACvB0C,OAAA,EAAS;UACX;UAEAzD,KAAA,CAAM6D,OAAO,CAACrB,CAAA,CAAE;UAChB,IAAI,CAACP,cAAA,EAAc;YACjBd,qBAAA;UACF;UACAI,0BAAA,CAA2B;UAC3BD,+BAAA,CAAgC;UAChCD,kBAAA,CAAmB;QACrB,OAAO;UACL,IAAI;YACF,MAAMyC,IAAA,GAAO,MAAMR,GAAA,CAAIQ,IAAI;YAC3B,IAAIA,IAAA,CAAKC,MAAM,GAAG,EAAE,EAAEC,OAAA,EAAS;cAC7BhE,KAAA,CAAMiE,KAAK,CAACH,IAAA,CAAKC,MAAM,CAAC,EAAE,CAACC,OAAO;YACpC,OAAO,IAAIF,IAAA,CAAKG,KAAK,EAAE;cACrBjE,KAAA,CAAMiE,KAAK,CAACH,IAAA,CAAKG,KAAK;YACxB,OAAO;cACLjE,KAAA,CAAMiE,KAAK,CAACzB,CAAA,CAAE;YAChB;UACF,EAAE,MAAM;YACNxC,KAAA,CAAMiE,KAAK,CAACzB,CAAA,CAAE;UAChB;QACF;MACF,EAAE,MAAM;QACNxC,KAAA,CAAMiE,KAAK,CAACzB,CAAA,CAAE;MAChB;IACF,KAAK0B,KAAK,CAAC;MACTlE,KAAA,CAAMiE,KAAK,CAACzB,CAAA,CAAE;IAChB;EACF,GACA,CACEzB,aAAA,EACAa,SAAA,EACAf,cAAA,EACAG,UAAA,EACAsB,SAAA,EACAD,GAAA,EACAP,UAAA,EACAlB,EAAA,EACA2B,IAAA,CAAKoB,QAAQ,EACbxC,qBAAA,EACAE,kBAAA,EACAC,+BAAA,EACAC,0BAAA,EACAiB,CAAA,CACD;EAGH,MAAM2B,MAAA,GAAS1B,YAAA,EAAc2B,QAAA,EAAUD,MAAA;EACvC,MAAME,gBAAA,GAAmB,OAAOF,MAAA,KAAW,YAAYA,MAAA,KAAW;EAElE,MAAMG,YAAA,GAAezE,KAAA,CAAM6C,OAAO,CAAC;IACjC,OAAO2B,gBAAA,IAAoBnD,oBAAA,IAAwBD,eAAA,IAAmB,CAACG,SAAA;EACzE,GAAG,CAACF,oBAAA,EAAsBD,eAAA,EAAiBG,SAAA,EAAWiD,gBAAA,CAAiB;EAEvE,MAAME,yBAAA,GAA4B1E,KAAA,CAAM6C,OAAO,CAAC;IAC9C,IAAI,CAAC4B,YAAA,EAAc;MACjB,OAAO;IACT;IAEA,OAAOE,OAAA,CAAQ/B,YAAA,IAAgB9C,wBAAA,CAAyB8C,YAAA;EAC1D,GAAG,CAAC6B,YAAA,EAAc7B,YAAA,CAAa;EAE/B,MAAM/B,KAAA,GAAQjB,cAAA,CAAeuC,WAAA,EAAaO,IAAA;EAE1C,IAAI,CAAC+B,YAAA,EAAc;IACjB,OAAO;EACT;EAEA,oBACEG,KAAA,CAAC5E,KAAA,CAAM6E,QAAQ;4BACbC,IAAA,CAACnE,SAAA,CAAUoE,MAAM;MACfhE,EAAA,EAAG;MACHiE,OAAA,EAASA,CAAA;QACP3C,eAAA,CAAgB;QAChBV,WAAA,CAAYW,kBAAA;MACd;gBAECxB,SAAA,IAAa6B,CAAA,CAAE;QAEjB+B,yBAAA,iBACCI,IAAA,CAACnE,SAAA,CAAUoE,MAAM;MACfhE,EAAA,EAAG;MACHiE,OAAA,EAASA,CAAA;QACP3C,eAAA,CAAgB;QAChBV,WAAA,CAAYW,kBAAA;MACd;gBAECxB,SAAA,GAAY,GAAGA,SAAA,KAAcD,KAAA,GAAQ,GAAG8B,CAAA,CAAE,uBAAuB;QAAEX,MAAA,EAAQnB;MAAM;qBAGtFiE,IAAA,CAACpE,iBAAA;MACCgD,IAAA,EACE,CAACtB,YAAA,GACGO,CAAA,CAAE,8BAA8B;QAAEX,MAAA,EAAQnB;MAAM,KAChD8B,CAAA,CAAE;MAERsC,eAAA,EAAiBtC,CAAA,CAAE;MACnBuC,OAAA,EAASvC,CAAA,CAAE;MACXwC,SAAA,EAAW7C,kBAAA;MACX8C,SAAA,EAAWA,CAAA,KAAMtC,SAAA,CAAUV,YAAA;;;AAInC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/UnpublishMany/DrawerContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAKpC,OAAO,KAAsB,MAAM,OAAO,CAAA;AAG1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAWpD,KAAK,+BAA+B,GAAG;IACrC,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAA;IAC5C,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,+BAA+B,qBA4JhF"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/UnpublishMany/DrawerContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAKpC,OAAO,KAAsB,MAAM,OAAO,CAAA;AAG1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAWpD,KAAK,+BAA+B,GAAG;IACrC,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAA;IAC5C,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,+BAA+B,qBA6JhF"}
@@ -35,9 +35,8 @@ export function UnpublishManyDrawerContent(props) {
35
35
  }
36
36
  }
37
37
  } = useConfig();
38
- const {
39
- code: locale
40
- } = useLocale();
38
+ const currentLocale = useLocale();
39
+ const locale = currentLocale?.code;
41
40
  const {
42
41
  i18n,
43
42
  t
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["getTranslation","combineWhereConstraints","formatAdminURL","mergeListSearchAndWhere","qs","React","useCallback","toast","useConfig","useLocale","useRouteCache","useRouter","useSearchParams","useTranslation","requests","parseSearchParams","ConfirmationModal","UnpublishManyDrawerContent","props","collection","slug","labels","plural","singular","drawerSlug","ids","onSuccess","selectAll","where","config","routes","api","code","locale","i18n","t","searchParams","router","clearRouteCache","addDefaultError","error","queryString","useMemo","whereConstraints","_status","not_equals","push","queryWithSearch","collectionConfig","search","get","id","in","stringify","select","addQueryPrefix","handleUnpublish","url","apiRoute","path","patch","body","JSON","headers","language","then","res","json","deletedDocs","docs","length","successLabel","status","success","count","label","errors","message","description","map","join","replace","page","undefined","forEach","_err","_jsx","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/UnpublishMany/DrawerContent.tsx"],"sourcesContent":["import type { Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { combineWhereConstraints, formatAdminURL, mergeListSearchAndWhere } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport type { UnpublishManyProps } from './index.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouter, useSearchParams } from '../../providers/RouterAdapter/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'\n\ntype UnpublishManyDrawerContentProps = {\n collection: UnpublishManyProps['collection']\n drawerSlug: string\n ids: (number | string)[]\n onSuccess?: () => void\n selectAll: boolean\n where?: Where\n}\n\nexport function UnpublishManyDrawerContent(props: UnpublishManyDrawerContentProps) {\n const {\n collection,\n collection: { slug, labels: { plural, singular } } = {},\n drawerSlug,\n ids,\n onSuccess,\n selectAll,\n where,\n } = props\n\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n const searchParams = useSearchParams()\n const router = useRouter()\n const { clearRouteCache } = useRouteCache()\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const queryString = React.useMemo((): string => {\n const whereConstraints: Where[] = [\n {\n _status: {\n not_equals: 'draft',\n },\n },\n ]\n\n if (where) {\n whereConstraints.push(where)\n }\n\n const queryWithSearch = mergeListSearchAndWhere({\n collectionConfig: collection,\n search: searchParams.get('search'),\n })\n\n if (queryWithSearch) {\n whereConstraints.push(queryWithSearch)\n }\n\n if (!selectAll) {\n // If we're not selecting all, we need to select specific docs\n whereConstraints.push({\n id: {\n in: ids || [],\n },\n })\n }\n\n return qs.stringify(\n {\n locale,\n select: {},\n where: combineWhereConstraints(whereConstraints),\n },\n { addQueryPrefix: true },\n )\n }, [collection, searchParams, selectAll, ids, locale, where])\n\n const handleUnpublish = useCallback(async () => {\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${slug}${queryString}`,\n })\n await requests\n .patch(url, {\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()\n\n if (typeof onSuccess === 'function') {\n onSuccess()\n }\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 api,\n slug,\n queryString,\n i18n,\n plural,\n singular,\n t,\n router,\n searchParams,\n selectAll,\n clearRouteCache,\n addDefaultError,\n onSuccess,\n ])\n\n return (\n <ConfirmationModal\n body={t('version:aboutToUnpublishSelection', { label: getTranslation(plural, i18n) })}\n confirmingLabel={t('version:unpublishing')}\n heading={t('version:confirmUnpublish')}\n modalSlug={drawerSlug}\n onConfirm={handleUnpublish}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["getTranslation","combineWhereConstraints","formatAdminURL","mergeListSearchAndWhere","qs","React","useCallback","toast","useConfig","useLocale","useRouteCache","useRouter","useSearchParams","useTranslation","requests","parseSearchParams","ConfirmationModal","UnpublishManyDrawerContent","props","collection","slug","labels","plural","singular","drawerSlug","ids","onSuccess","selectAll","where","config","routes","api","currentLocale","locale","code","i18n","t","searchParams","router","clearRouteCache","addDefaultError","error","queryString","useMemo","whereConstraints","_status","not_equals","push","queryWithSearch","collectionConfig","search","get","id","in","stringify","select","addQueryPrefix","handleUnpublish","url","apiRoute","path","patch","body","JSON","headers","language","then","res","json","deletedDocs","docs","length","successLabel","status","success","count","label","errors","message","description","map","join","replace","page","undefined","forEach","_err","_jsx","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/UnpublishMany/DrawerContent.tsx"],"sourcesContent":["import type { Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { combineWhereConstraints, formatAdminURL, mergeListSearchAndWhere } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport type { UnpublishManyProps } from './index.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouter, useSearchParams } from '../../providers/RouterAdapter/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'\n\ntype UnpublishManyDrawerContentProps = {\n collection: UnpublishManyProps['collection']\n drawerSlug: string\n ids: (number | string)[]\n onSuccess?: () => void\n selectAll: boolean\n where?: Where\n}\n\nexport function UnpublishManyDrawerContent(props: UnpublishManyDrawerContentProps) {\n const {\n collection,\n collection: { slug, labels: { plural, singular } } = {},\n drawerSlug,\n ids,\n onSuccess,\n selectAll,\n where,\n } = props\n\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n const currentLocale = useLocale()\n const locale = currentLocale?.code\n const { i18n, t } = useTranslation()\n const searchParams = useSearchParams()\n const router = useRouter()\n const { clearRouteCache } = useRouteCache()\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const queryString = React.useMemo((): string => {\n const whereConstraints: Where[] = [\n {\n _status: {\n not_equals: 'draft',\n },\n },\n ]\n\n if (where) {\n whereConstraints.push(where)\n }\n\n const queryWithSearch = mergeListSearchAndWhere({\n collectionConfig: collection,\n search: searchParams.get('search'),\n })\n\n if (queryWithSearch) {\n whereConstraints.push(queryWithSearch)\n }\n\n if (!selectAll) {\n // If we're not selecting all, we need to select specific docs\n whereConstraints.push({\n id: {\n in: ids || [],\n },\n })\n }\n\n return qs.stringify(\n {\n locale,\n select: {},\n where: combineWhereConstraints(whereConstraints),\n },\n { addQueryPrefix: true },\n )\n }, [collection, searchParams, selectAll, ids, locale, where])\n\n const handleUnpublish = useCallback(async () => {\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${slug}${queryString}`,\n })\n await requests\n .patch(url, {\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()\n\n if (typeof onSuccess === 'function') {\n onSuccess()\n }\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 api,\n slug,\n queryString,\n i18n,\n plural,\n singular,\n t,\n router,\n searchParams,\n selectAll,\n clearRouteCache,\n addDefaultError,\n onSuccess,\n ])\n\n return (\n <ConfirmationModal\n body={t('version:aboutToUnpublishSelection', { label: getTranslation(plural, i18n) })}\n confirmingLabel={t('version:unpublishing')}\n heading={t('version:confirmUnpublish')}\n modalSlug={drawerSlug}\n onConfirm={handleUnpublish}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  export declare const pasteURLDrawerSlug = "upload-paste-url";
3
3
  type Props = {
4
4
  readonly fileUrl: string;
5
- readonly handleUrlSubmit: () => Promise<void>;
5
+ readonly handleUrlSubmit: () => Promise<boolean>;
6
6
  readonly isValidUrl: boolean;
7
7
  readonly setFileUrl: (url: string) => void;
8
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Upload/UploadFromURLModal/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,eAAO,MAAM,kBAAkB,qBAAqB,CAAA;AAEpD,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAC3C,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAkC9C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Upload/UploadFromURLModal/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,eAAO,MAAM,kBAAkB,qBAAqB,CAAA;AAEpD,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAChD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAC3C,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAkC9C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","TextInput","useTranslation","Button","DialogBody","DialogFooter","DialogHeader","DialogModal","pasteURLDrawerSlug","UploadFromURLModal","t0","$","fileUrl","handleUrlSubmit","isValidUrl","setFileUrl","t","t1","t2","e","preventDefault","t3","e_0","target","value","t4","_jsxs","closeOnBlur","slug","children","_jsx","showClose","title","onSubmit","label","onChange","path","placeholder","buttonStyle","disabled","onClick"],"sources":["../../../../src/elements/Upload/UploadFromURLModal/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { TextInput } from '../../../fields/Text/Input.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { DialogBody, DialogFooter, DialogHeader, DialogModal } from '../../Dialog/index.js'\n\nexport const pasteURLDrawerSlug = 'upload-paste-url'\n\ntype Props = {\n readonly fileUrl: string\n readonly handleUrlSubmit: () => Promise<void>\n readonly isValidUrl: boolean\n readonly setFileUrl: (url: string) => void\n}\n\nexport const UploadFromURLModal: React.FC<Props> = ({\n fileUrl,\n handleUrlSubmit,\n isValidUrl,\n setFileUrl,\n}) => {\n const { t } = useTranslation()\n\n return (\n <DialogModal closeOnBlur slug={pasteURLDrawerSlug}>\n <DialogHeader showClose title={t('upload:fromURL')} />\n <DialogBody>\n <form\n onSubmit={(e) => {\n e.preventDefault()\n void handleUrlSubmit()\n }}\n >\n <TextInput\n label={t('upload:linkToFile')}\n onChange={(e) => setFileUrl(e.target.value)}\n path=\"url\"\n placeholder=\"https://\"\n value={fileUrl}\n />\n </form>\n </DialogBody>\n <DialogFooter>\n <Button buttonStyle=\"primary\" disabled={!isValidUrl} onClick={() => void handleUrlSubmit()}>\n {t('upload:addFile')}\n </Button>\n </DialogFooter>\n </DialogModal>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAElB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,UAAU,EAAEC,YAAY,EAAEC,YAAY,EAAEC,WAAW,QAAQ;AAEpE,OAAO,MAAMC,kBAAA,GAAqB;AASlC,OAAO,MAAMC,kBAAA,GAAsCC,EAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAAC;IAAAa,OAAA;IAAAC,eAAA;IAAAC,UAAA;IAAAC;EAAA,IAAAL,EAKnD;EACC;IAAAM;EAAA,IAAcd,cAAA;EAAA,IAAAe,EAAA;EAAA,IAAAN,CAAA,QAAAC,OAAA,IAAAD,CAAA,QAAAE,eAAA,IAAAF,CAAA,QAAAG,UAAA,IAAAH,CAAA,QAAAI,UAAA,IAAAJ,CAAA,QAAAK,CAAA;IAAA,IAAAE,EAAA;IAAA,IAAAP,CAAA,QAAAE,eAAA;MAOIK,EAAA,GAAAC,CAAA;QACRA,CAAA,CAAAC,cAAA,CAAgB;QACXP,eAAA;MAAA;MACPF,CAAA,MAAAE,eAAA;MAAAF,CAAA,MAAAO,EAAA;IAAA;MAAAA,EAAA,GAAAP,CAAA;IAAA;IAAA,IAAAU,EAAA;IAAA,IAAAV,CAAA,QAAAI,UAAA;MAIYM,EAAA,GAAAC,GAAA,IAAOP,UAAA,CAAWI,GAAA,CAAAI,MAAA,CAAAC,KAAc;MAAAb,CAAA,MAAAI,UAAA;MAAAJ,CAAA,MAAAU,EAAA;IAAA;MAAAA,EAAA,GAAAV,CAAA;IAAA;IAAA,IAAAc,EAAA;IAAA,IAAAd,CAAA,SAAAE,eAAA;MAQgBY,EAAA,GAAAA,CAAA,UAAWZ,eAAA;MAAAF,CAAA,OAAAE,eAAA;MAAAF,CAAA,OAAAc,EAAA;IAAA;MAAAA,EAAA,GAAAd,CAAA;IAAA;IAnB7EM,EAAA,GAAAS,KAAA,CAAAnB,WAAA;MAAAoB,WAAA;MAAAC,IAAA,EAAApB,kBAAA;MAAAqB,QAAA,GACEC,IAAA,CAAAxB,YAAA;QAAAyB,SAAA;QAAAC,KAAA,EAA+BhB,CAAA,CAAE;MAAA,C,GACjCc,IAAA,CAAA1B,UAAA;QAAAyB,QAAA,EACEC,IAAA,CAAC;UAAAG,QAAA,EACWf,EAGV;UAAAW,QAAA,EAEAC,IAAA,CAAA7B,SAAA;YAAAiC,KAAA,EACSlB,CAAA,CAAE;YAAAmB,QAAA,EACCd,EAAgC;YAAAe,IAAA,EACrC;YAAAC,WAAA,EACO;YAAAb,KAAA,EACLZ;UAAA,C;;UAIbkB,IAAA,CAAAzB,YAAA;QAAAwB,QAAA,EACEC,IAAA,CAAA3B,MAAA;UAAAmC,WAAA,EAAoB;UAAAC,QAAA,GAAqBzB,UAAA;UAAA0B,OAAA,EAAqBf,EAAW;UAAAI,QAAA,EACtEb,CAAA,CAAE;QAAA,C;;;;;;;;;;;;SApBTC,E;CAyBJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","TextInput","useTranslation","Button","DialogBody","DialogFooter","DialogHeader","DialogModal","pasteURLDrawerSlug","UploadFromURLModal","t0","$","fileUrl","handleUrlSubmit","isValidUrl","setFileUrl","t","t1","t2","e","preventDefault","t3","e_0","target","value","t4","_jsxs","closeOnBlur","slug","children","_jsx","showClose","title","onSubmit","label","onChange","path","placeholder","buttonStyle","disabled","onClick"],"sources":["../../../../src/elements/Upload/UploadFromURLModal/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { TextInput } from '../../../fields/Text/Input.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { DialogBody, DialogFooter, DialogHeader, DialogModal } from '../../Dialog/index.js'\n\nexport const pasteURLDrawerSlug = 'upload-paste-url'\n\ntype Props = {\n readonly fileUrl: string\n readonly handleUrlSubmit: () => Promise<boolean>\n readonly isValidUrl: boolean\n readonly setFileUrl: (url: string) => void\n}\n\nexport const UploadFromURLModal: React.FC<Props> = ({\n fileUrl,\n handleUrlSubmit,\n isValidUrl,\n setFileUrl,\n}) => {\n const { t } = useTranslation()\n\n return (\n <DialogModal closeOnBlur slug={pasteURLDrawerSlug}>\n <DialogHeader showClose title={t('upload:fromURL')} />\n <DialogBody>\n <form\n onSubmit={(e) => {\n e.preventDefault()\n void handleUrlSubmit()\n }}\n >\n <TextInput\n label={t('upload:linkToFile')}\n onChange={(e) => setFileUrl(e.target.value)}\n path=\"url\"\n placeholder=\"https://\"\n value={fileUrl}\n />\n </form>\n </DialogBody>\n <DialogFooter>\n <Button buttonStyle=\"primary\" disabled={!isValidUrl} onClick={() => void handleUrlSubmit()}>\n {t('upload:addFile')}\n </Button>\n </DialogFooter>\n </DialogModal>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAElB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,UAAU,EAAEC,YAAY,EAAEC,YAAY,EAAEC,WAAW,QAAQ;AAEpE,OAAO,MAAMC,kBAAA,GAAqB;AASlC,OAAO,MAAMC,kBAAA,GAAsCC,EAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAAC;IAAAa,OAAA;IAAAC,eAAA;IAAAC,UAAA;IAAAC;EAAA,IAAAL,EAKnD;EACC;IAAAM;EAAA,IAAcd,cAAA;EAAA,IAAAe,EAAA;EAAA,IAAAN,CAAA,QAAAC,OAAA,IAAAD,CAAA,QAAAE,eAAA,IAAAF,CAAA,QAAAG,UAAA,IAAAH,CAAA,QAAAI,UAAA,IAAAJ,CAAA,QAAAK,CAAA;IAAA,IAAAE,EAAA;IAAA,IAAAP,CAAA,QAAAE,eAAA;MAOIK,EAAA,GAAAC,CAAA;QACRA,CAAA,CAAAC,cAAA,CAAgB;QACXP,eAAA;MAAA;MACPF,CAAA,MAAAE,eAAA;MAAAF,CAAA,MAAAO,EAAA;IAAA;MAAAA,EAAA,GAAAP,CAAA;IAAA;IAAA,IAAAU,EAAA;IAAA,IAAAV,CAAA,QAAAI,UAAA;MAIYM,EAAA,GAAAC,GAAA,IAAOP,UAAA,CAAWI,GAAA,CAAAI,MAAA,CAAAC,KAAc;MAAAb,CAAA,MAAAI,UAAA;MAAAJ,CAAA,MAAAU,EAAA;IAAA;MAAAA,EAAA,GAAAV,CAAA;IAAA;IAAA,IAAAc,EAAA;IAAA,IAAAd,CAAA,SAAAE,eAAA;MAQgBY,EAAA,GAAAA,CAAA,UAAWZ,eAAA;MAAAF,CAAA,OAAAE,eAAA;MAAAF,CAAA,OAAAc,EAAA;IAAA;MAAAA,EAAA,GAAAd,CAAA;IAAA;IAnB7EM,EAAA,GAAAS,KAAA,CAAAnB,WAAA;MAAAoB,WAAA;MAAAC,IAAA,EAAApB,kBAAA;MAAAqB,QAAA,GACEC,IAAA,CAAAxB,YAAA;QAAAyB,SAAA;QAAAC,KAAA,EAA+BhB,CAAA,CAAE;MAAA,C,GACjCc,IAAA,CAAA1B,UAAA;QAAAyB,QAAA,EACEC,IAAA,CAAC;UAAAG,QAAA,EACWf,EAGV;UAAAW,QAAA,EAEAC,IAAA,CAAA7B,SAAA;YAAAiC,KAAA,EACSlB,CAAA,CAAE;YAAAmB,QAAA,EACCd,EAAgC;YAAAe,IAAA,EACrC;YAAAC,WAAA,EACO;YAAAb,KAAA,EACLZ;UAAA,C;;UAIbkB,IAAA,CAAAzB,YAAA;QAAAwB,QAAA,EACEC,IAAA,CAAA3B,MAAA;UAAAmC,WAAA,EAAoB;UAAAC,QAAA,GAAqBzB,UAAA;UAAA0B,OAAA,EAAqBf,EAAW;UAAAI,QAAA,EACtEb,CAAA,CAAE;QAAA,C;;;;;;;;;;;;SApBTC,E;CAyBJ","ignoreList":[]}
@@ -9,11 +9,8 @@
9
9
  .file-field__upload {
10
10
  display: flex;
11
11
  position: relative;
12
- }
13
-
14
- .file-field .tooltip.error-message {
15
- z-index: 3;
16
- bottom: calc(100% - var(--spacer-2));
12
+ flex-wrap: wrap;
13
+ justify-content: space-between;
17
14
  }
18
15
 
19
16
  .file-field__file-selected {
@@ -22,7 +19,7 @@
22
19
 
23
20
  .file-field__thumbnail-wrap {
24
21
  position: relative;
25
- width: 150px;
22
+ width: 50%;
26
23
 
27
24
  .thumbnail {
28
25
  position: relative;
@@ -37,16 +34,19 @@
37
34
  position: absolute;
38
35
  top: var(--spacer-2);
39
36
  right: var(--spacer-2);
40
- margin: 0;
37
+ margin: var(--spacer-3);
41
38
  z-index: 1;
39
+ order: 2;
42
40
  }
43
41
 
44
42
  .file-field__file-adjustments {
45
- padding: var(--spacer-3);
43
+ padding: var(--spacer-2);
46
44
  width: 100%;
47
45
  display: flex;
48
46
  flex-direction: column;
49
- gap: var(--spacer-2);
47
+ gap: 0;
48
+ order: 3;
49
+ border-top: var(--stroke-width-medium) solid var(--color-bg-primary);
50
50
  }
51
51
 
52
52
  .file-field__upload-actions {
@@ -101,21 +101,28 @@
101
101
  text-transform: lowercase;
102
102
  align-self: center;
103
103
  color: var(--color-text-tertiary);
104
+ display: none;
104
105
  }
105
106
 
106
107
  .file-field--side-panel {
107
108
  position: relative;
108
109
  flex: 1 0 0;
109
110
  width: 100%;
110
- min-height: max(500px, calc(100dvh - var(--doc-controls-height) - var(--app-header-height)));
111
+ min-height: 400px;
111
112
  margin-bottom: 0;
112
113
  border-radius: 0;
113
114
  background: var(--color-bg-secondary);
114
115
  }
115
116
 
117
+ .file-field__side-panel {
118
+ position: static;
119
+ height: auto;
120
+ min-height: 400px;
121
+ }
122
+
116
123
  .file-field__side-panel__content {
117
124
  display: flex;
118
- flex-direction: row;
125
+ flex-direction: column;
119
126
  flex: 1 1 0;
120
127
  min-height: 0;
121
128
  overflow: hidden;
@@ -130,6 +137,7 @@
130
137
  padding: var(--spacer-3) var(--spacer-4);
131
138
  gap: var(--spacer-3);
132
139
  overflow: hidden;
140
+ height: auto;
133
141
  }
134
142
 
135
143
  .file-field__side-panel__info {
@@ -202,55 +210,49 @@
202
210
  }
203
211
  }
204
212
 
205
- @media (max-width: 1024px) {
213
+ @media (min-width: 1024px) {
206
214
  .file-field--side-panel {
207
- min-height: 400px;
215
+ min-height: max(500px, calc(100dvh - var(--doc-controls-height) - var(--app-header-height)));
208
216
  }
209
217
 
210
218
  .file-field__side-panel {
211
- position: static;
212
- height: auto;
213
- min-height: 400px;
219
+ min-height: auto;
214
220
  }
215
221
 
216
222
  .file-field__side-panel__content {
217
- flex-direction: column;
218
- }
219
-
220
- .file-field__side-panel__preview {
221
- height: auto;
223
+ flex-direction: row;
222
224
  }
223
225
  }
224
226
 
225
- @media (max-width: 768px) {
227
+ @media (min-width: 768px) {
226
228
  .file-field__upload {
227
- flex-wrap: wrap;
228
- justify-content: space-between;
229
+ flex-wrap: nowrap;
230
+ justify-content: normal;
229
231
  }
230
232
 
231
233
  .file-field__remove {
232
- margin: var(--spacer-3);
233
- order: 2;
234
+ margin: 0;
235
+ order: 0;
234
236
  }
235
237
 
236
238
  .file-field__file-adjustments {
237
- order: 3;
238
- border-top: 2px solid var(--color-bg-primary);
239
- padding: var(--spacer-2);
240
- gap: 0;
239
+ order: 0;
240
+ border-top: none;
241
+ padding: var(--spacer-3);
242
+ gap: var(--spacer-2);
241
243
  }
242
244
 
243
245
  .file-field__thumbnail-wrap {
244
- order: 1;
245
- width: 50%;
246
-
247
- .thumbnail {
248
- width: 100%;
249
- }
246
+ order: 0;
247
+ width: 150px;
250
248
  }
251
249
 
252
250
  .file-field__edit {
253
- display: none;
251
+ /* display: revert; */
252
+ }
253
+
254
+ .file-field__dragAndDropText {
255
+ display: block;
254
256
  }
255
257
  }
256
258
  }
@@ -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,MAAM,SAAS,CAAA;AAIhF,OAAO,KAA6D,MAAM,OAAO,CAAA;AAkBjF,OAAO,aAAa,CAAA;AAIpB,OAAO,EAAE,kBAAkB,EAAsB,MAAM,+BAA+B,CAAA;AAEtF,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAG7B,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAc9C,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,sBAkDnB,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;IAC1D,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1C,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAYxC,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,MAAM,SAAS,CAAA;AAIhF,OAAO,KAAmD,MAAM,OAAO,CAAA;AAevE,OAAO,aAAa,CAAA;AAKpB,OAAO,EAAE,kBAAkB,EAAsB,MAAM,+BAA+B,CAAA;AAItF,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAG7B,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAc9C,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,sBAkDnB,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;IAC1D,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1C,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAYxC,CAAA"}
@@ -3,15 +3,13 @@
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import { useModal } from '@faceless-ui/modal';
6
- import { formatAdminURL, isImage } from 'payload/shared';
7
- import React, { Fragment, useCallback, useEffect, useRef, useState } from 'react';
8
- import { toast } from 'sonner';
6
+ import { isImage } from 'payload/shared';
7
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
9
8
  import { FieldError } from '../../fields/FieldError/index.js';
10
9
  import { fieldBaseClass } from '../../fields/shared/index.js';
11
10
  import { TextInput } from '../../fields/Text/Input.js';
12
11
  import { useForm, useFormProcessing } from '../../forms/Form/index.js';
13
12
  import { useField } from '../../forms/useField/index.js';
14
- import { useConfig } from '../../providers/Config/index.js';
15
13
  import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
16
14
  import { EditDepthProvider } from '../../providers/EditDepth/index.js';
17
15
  import { useTranslation } from '../../providers/Translation/index.js';
@@ -20,12 +18,14 @@ import { useUploadEdits } from '../../providers/UploadEdits/index.js';
20
18
  import { Button } from '../Button/index.js';
21
19
  import { Drawer } from '../Drawer/index.js';
22
20
  import { Dropzone } from '../Dropzone/index.js';
23
- import { EditUpload } from '../EditUpload/index.js';
24
21
  import './index.css';
22
+ import { EditUpload } from '../EditUpload/index.js';
25
23
  import { FileDetails } from '../FileDetails/index.js';
26
24
  import { PreviewSizes } from '../PreviewSizes/index.js';
27
25
  import { Thumbnail } from '../Thumbnail/index.js';
28
26
  import { pasteURLDrawerSlug, UploadFromURLModal } from './UploadFromURLModal/index.js';
27
+ import { usePasteFromClipboard } from './usePasteFromClipboard.js';
28
+ import { useUploadFromUrl } from './useUploadFromUrl.js';
29
29
  export { pasteURLDrawerSlug };
30
30
  const baseClass = 'file-field';
31
31
  export const editDrawerSlug = 'edit-upload';
@@ -149,31 +149,17 @@ const UploadComponent = props => {
149
149
  setUploadControlFileName,
150
150
  setUploadControlFileUrl,
151
151
  uploadControlFile,
152
- uploadControlFileName,
153
152
  uploadControlFileUrl
154
153
  } = useUploadControls();
155
- const {
156
- config: {
157
- routes: {
158
- api
159
- }
160
- }
161
- } = useConfig();
162
154
  const {
163
155
  t
164
156
  } = useTranslation();
165
- const {
166
- closeModal,
167
- openModal
168
- } = useModal();
169
157
  const {
170
158
  setModified
171
159
  } = useForm();
172
160
  const {
173
- id,
174
161
  data,
175
- docPermissions,
176
- setUploadStatus
162
+ docPermissions
177
163
  } = useDocumentInfo();
178
164
  const isFormSubmitting = useFormProcessing();
179
165
  const {
@@ -188,9 +174,7 @@ const UploadComponent = props => {
188
174
  const [fileSrc, setFileSrc] = useState(null);
189
175
  const [removedFile, setRemovedFile] = useState(false);
190
176
  const [filename, setFilename] = useState(value?.name || '');
191
- const [fileUrl, setFileUrl] = useState('');
192
177
  const inputRef = useRef(null);
193
- const useServerSideFetch = typeof uploadConfig?.pasteURL === 'object' && uploadConfig.pasteURL.allowList?.length > 0;
194
178
  const handleFileChange = useCallback(({
195
179
  file,
196
180
  isNewFile = true
@@ -230,6 +214,25 @@ const UploadComponent = props => {
230
214
  file: fileToUpload
231
215
  });
232
216
  }, [handleFileChange]);
217
+ const handleFileFetchedFromUrl = useCallback(file_0 => handleFileChange({
218
+ file: file_0
219
+ }), [handleFileChange]);
220
+ const {
221
+ fileUrl,
222
+ handleUrlSubmit,
223
+ isValidUrl,
224
+ setFileUrl
225
+ } = useUploadFromUrl({
226
+ collectionSlug,
227
+ onFileFetched: handleFileFetchedFromUrl,
228
+ uploadConfig
229
+ });
230
+ const handlePasteFromClipboard = usePasteFromClipboard({
231
+ handleFileSelection,
232
+ handleUrlSubmit,
233
+ setFileUrl,
234
+ uploadConfig
235
+ });
233
236
  const handleFileRemoval = useCallback(() => {
234
237
  setRemovedFile(true);
235
238
  handleFileChange({
@@ -241,71 +244,11 @@ const UploadComponent = props => {
241
244
  setUploadControlFileUrl('');
242
245
  setUploadControlFileName(null);
243
246
  setUploadControlFile(null);
244
- }, [handleFileChange, resetUploadEdits, setUploadControlFile, setUploadControlFileName, setUploadControlFileUrl]);
247
+ }, [handleFileChange, resetUploadEdits, setFileUrl, setUploadControlFile, setUploadControlFileName, setUploadControlFileUrl]);
245
248
  const onEditsSave = useCallback(args => {
246
249
  setModified(true);
247
250
  updateUploadEdits(args);
248
251
  }, [setModified, updateUploadEdits]);
249
- const isValidUrl = Boolean(fileUrl && URL.canParse(fileUrl));
250
- const handleUrlSubmit = useCallback(async () => {
251
- if (!fileUrl || !URL.canParse(fileUrl) || uploadConfig?.pasteURL === false) {
252
- return;
253
- }
254
- setUploadStatus('uploading');
255
- try {
256
- // Attempt client-side fetch
257
- const clientResponse = await fetch(fileUrl);
258
- if (!clientResponse.ok) {
259
- throw new Error(`Fetch failed with status: ${clientResponse.status}`);
260
- }
261
- const blob = await clientResponse.blob();
262
- const rawSegment = fileUrl.split('/').pop() || '';
263
- const fileName = uploadControlFileName || decodeURIComponent(rawSegment.split('?')[0]);
264
- const file_0 = new File([blob], fileName, {
265
- type: blob.type
266
- });
267
- handleFileChange({
268
- file: file_0
269
- });
270
- setUploadStatus('idle');
271
- closeModal(pasteURLDrawerSlug);
272
- setFileUrl('');
273
- return; // Exit if client-side fetch succeeds
274
- } catch (_clientError) {
275
- if (!useServerSideFetch) {
276
- // If server-side fetch is not enabled, show client-side error
277
- toast.error('Failed to fetch the file.');
278
- setUploadStatus('failed');
279
- return;
280
- }
281
- }
282
- // Attempt server-side fetch if client-side fetch fails and useServerSideFetch is true
283
- try {
284
- const pasteURL = `/${collectionSlug}/paste-url${id ? `/${id}?` : '?'}src=${encodeURIComponent(fileUrl)}`;
285
- const serverResponse = await fetch(formatAdminURL({
286
- apiRoute: api,
287
- path: pasteURL
288
- }));
289
- if (!serverResponse.ok) {
290
- throw new Error(`Fetch failed with status: ${serverResponse.status}`);
291
- }
292
- const blob_0 = await serverResponse.blob();
293
- const rawSegment_0 = fileUrl.split('/').pop() || '';
294
- const fileName_0 = decodeURIComponent(rawSegment_0.split('?')[0]);
295
- const file_1 = new File([blob_0], fileName_0, {
296
- type: blob_0.type
297
- });
298
- handleFileChange({
299
- file: file_1
300
- });
301
- setUploadStatus('idle');
302
- closeModal(pasteURLDrawerSlug);
303
- setFileUrl('');
304
- } catch (_serverError) {
305
- toast.error('The provided URL is not allowed.');
306
- setUploadStatus('failed');
307
- }
308
- }, [api, closeModal, collectionSlug, fileUrl, handleFileChange, id, setUploadStatus, uploadConfig, uploadControlFileName, useServerSideFetch]);
309
252
  useEffect(() => {
310
253
  if (initialState?.file?.value instanceof File) {
311
254
  setFileSrc(URL.createObjectURL(initialState.file.value));
@@ -344,7 +287,7 @@ const UploadComponent = props => {
344
287
  }
345
288
  };
346
289
  void handleControlFileUrl();
347
- }, [uploadControlFileUrl, handleUrlSubmit]);
290
+ }, [uploadControlFileUrl, handleUrlSubmit, setFileUrl]);
348
291
  useEffect(() => {
349
292
  const handleControlFile = () => {
350
293
  if (uploadControlFile) {
@@ -433,21 +376,16 @@ const UploadComponent = props => {
433
376
  },
434
377
  ref: inputRef,
435
378
  type: "file"
436
- }), uploadConfig?.pasteURL !== false && /*#__PURE__*/_jsxs(Fragment, {
437
- children: [/*#__PURE__*/_jsx("span", {
438
- className: `${baseClass}__orText`,
439
- children: t('general:or')
440
- }), /*#__PURE__*/_jsx(Button, {
441
- buttonStyle: "pill",
442
- onClick: () => {
443
- openModal(pasteURLDrawerSlug);
444
- setUploadControlFileUrl('');
445
- setUploadControlFile(null);
446
- setUploadControlFileName(null);
447
- },
448
- size: "medium",
449
- children: t('upload:pasteURL')
450
- })]
379
+ }), /*#__PURE__*/_jsx("span", {
380
+ className: `${baseClass}__orText`,
381
+ children: t('general:or')
382
+ }), /*#__PURE__*/_jsx(Button, {
383
+ buttonStyle: "pill",
384
+ className: `${baseClass}__pasteFromClipboard`,
385
+ icon: "clipboard",
386
+ onClick: handlePasteFromClipboard,
387
+ size: "medium",
388
+ tooltip: t('upload:pasteURL')
451
389
  }), UploadControls ? UploadControls : null]
452
390
  }), /*#__PURE__*/_jsxs("p", {
453
391
  className: `${baseClass}__dragAndDropText`,