@payloadcms/ui 4.0.0-internal.567a487 → 4.0.0-internal.5a4aa81

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 (459) hide show
  1. package/dist/elements/AppHeader/index.css +0 -4
  2. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  3. package/dist/elements/AppHeader/index.js +1 -4
  4. package/dist/elements/AppHeader/index.js.map +1 -1
  5. package/dist/elements/Autosave/index.d.ts.map +1 -1
  6. package/dist/elements/Autosave/index.js +2 -6
  7. package/dist/elements/Autosave/index.js.map +1 -1
  8. package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
  9. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  10. package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
  11. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  12. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  13. package/dist/elements/BulkUpload/FormsManager/index.js +4 -9
  14. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  15. package/dist/elements/Button/index.d.ts.map +1 -1
  16. package/dist/elements/Button/index.js +2 -0
  17. package/dist/elements/Button/index.js.map +1 -1
  18. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  19. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +10 -3
  20. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  21. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +345 -1
  22. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
  23. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
  24. package/dist/elements/ColumnSelection/Popup.js +3 -3
  25. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  26. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts +10 -0
  27. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts.map +1 -0
  28. package/dist/elements/ColumnSelection/matchesColumnSearch.js +21 -0
  29. package/dist/elements/ColumnSelection/matchesColumnSearch.js.map +1 -0
  30. package/dist/{utilities/matchesSearchQuery.spec.js → elements/ColumnSelection/matchesColumnSearch.spec.js} +29 -29
  31. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +1 -0
  32. package/dist/elements/Combobox/index.css +23 -84
  33. package/dist/elements/Combobox/index.d.ts +0 -21
  34. package/dist/elements/Combobox/index.d.ts.map +1 -1
  35. package/dist/elements/Combobox/index.js +21 -66
  36. package/dist/elements/Combobox/index.js.map +1 -1
  37. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  38. package/dist/elements/CopyLocaleData/index.js +8 -9
  39. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  40. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  41. package/dist/elements/DeleteDocument/index.js +2 -9
  42. package/dist/elements/DeleteDocument/index.js.map +1 -1
  43. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  44. package/dist/elements/DeleteMany/index.js +3 -7
  45. package/dist/elements/DeleteMany/index.js.map +1 -1
  46. package/dist/elements/DocumentHeader/Tabs/Tab/index.css +3 -5
  47. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  48. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +1 -32
  49. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  50. package/dist/elements/Dropzone/index.css +10 -4
  51. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  52. package/dist/elements/DuplicateDocument/index.js +3 -9
  53. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  54. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  55. package/dist/elements/EditMany/DrawerContent.js +3 -7
  56. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  57. package/dist/elements/FileManager/index.css +0 -30
  58. package/dist/elements/FileManager/index.d.ts.map +1 -1
  59. package/dist/elements/FileManager/index.js +379 -287
  60. package/dist/elements/FileManager/index.js.map +1 -1
  61. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  62. package/dist/elements/Hierarchy/ColumnBrowser/index.js +1 -4
  63. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  64. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
  65. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +1 -4
  66. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
  67. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +1 -2
  68. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  69. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +0 -2
  70. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  71. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  72. package/dist/elements/Hierarchy/Modal/index.js +0 -3
  73. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  74. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  75. package/dist/elements/Hierarchy/MoveMany/index.js +3 -7
  76. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  77. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  78. package/dist/elements/Hierarchy/Search/useHierarchySearch.js +2 -6
  79. package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
  80. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  81. package/dist/elements/Hierarchy/Tree/useChildren.js +1 -4
  82. package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
  83. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
  84. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +4 -9
  85. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  86. package/dist/elements/LivePreview/Window/index.js +1 -1
  87. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  88. package/dist/elements/Localizer/index.js +1 -1
  89. package/dist/elements/Localizer/index.js.map +1 -1
  90. package/dist/elements/Nav/context.js +2 -2
  91. package/dist/elements/Nav/context.js.map +1 -1
  92. package/dist/elements/Nav/getNavPrefs.d.ts +0 -6
  93. package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -1
  94. package/dist/elements/Nav/getNavPrefs.js +46 -14
  95. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  96. package/dist/elements/NavGroup/index.js +1 -1
  97. package/dist/elements/NavGroup/index.js.map +1 -1
  98. package/dist/elements/PermanentlyDeleteButton/index.d.ts.map +1 -1
  99. package/dist/elements/PermanentlyDeleteButton/index.js +1 -4
  100. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  101. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  102. package/dist/elements/PublishButton/ScheduleDrawer/index.js +8 -30
  103. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  104. package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts +1 -1
  105. package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts.map +1 -1
  106. package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
  107. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  108. package/dist/elements/PublishButton/index.js +7 -12
  109. package/dist/elements/PublishButton/index.js.map +1 -1
  110. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  111. package/dist/elements/PublishMany/DrawerContent.js +3 -7
  112. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  113. package/dist/elements/RestoreButton/index.d.ts.map +1 -1
  114. package/dist/elements/RestoreButton/index.js +1 -4
  115. package/dist/elements/RestoreButton/index.js.map +1 -1
  116. package/dist/elements/RestoreMany/index.d.ts.map +1 -1
  117. package/dist/elements/RestoreMany/index.js +2 -6
  118. package/dist/elements/RestoreMany/index.js.map +1 -1
  119. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  120. package/dist/elements/SaveDraftButton/index.js +4 -18
  121. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  122. package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
  123. package/dist/elements/SchedulePublishButton/index.js +1 -7
  124. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  125. package/dist/elements/Status/index.d.ts.map +1 -1
  126. package/dist/elements/Status/index.js +5 -19
  127. package/dist/elements/Status/index.js.map +1 -1
  128. package/dist/elements/StepNav/index.css +0 -7
  129. package/dist/elements/StepNav/index.d.ts.map +1 -1
  130. package/dist/elements/StepNav/index.js +24 -16
  131. package/dist/elements/StepNav/index.js.map +1 -1
  132. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  133. package/dist/elements/Table/OrderableTable.js +3 -6
  134. package/dist/elements/Table/OrderableTable.js.map +1 -1
  135. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  136. package/dist/elements/Table/RelationshipProvider/index.js +25 -32
  137. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  138. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  139. package/dist/elements/UnpublishButton/index.js +4 -8
  140. package/dist/elements/UnpublishButton/index.js.map +1 -1
  141. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  142. package/dist/elements/UnpublishMany/DrawerContent.js +3 -7
  143. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  144. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
  145. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
  146. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
  147. package/dist/elements/Upload/index.css +39 -32
  148. package/dist/elements/Upload/index.d.ts.map +1 -1
  149. package/dist/elements/Upload/index.js +37 -99
  150. package/dist/elements/Upload/index.js.map +1 -1
  151. package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
  152. package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
  153. package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
  154. package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
  155. package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
  156. package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
  157. package/dist/elements/Upload/useUploadFromUrl.js +201 -0
  158. package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
  159. package/dist/elements/UploadDropzoneContent/index.css +31 -0
  160. package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
  161. package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
  162. package/dist/elements/UploadDropzoneContent/index.js +62 -0
  163. package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
  164. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  165. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +1 -4
  166. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  167. package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
  168. package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
  169. package/dist/elements/WhereBuilder/conditionValue.js +32 -0
  170. package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
  171. package/dist/elements/WhereBuilder/conditionValue.spec.js +65 -0
  172. package/dist/elements/WhereBuilder/conditionValue.spec.js.map +1 -0
  173. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  174. package/dist/elements/WhereBuilder/index.js +15 -4
  175. package/dist/elements/WhereBuilder/index.js.map +1 -1
  176. package/dist/exports/client/index.d.ts +0 -17
  177. package/dist/exports/client/index.d.ts.map +1 -1
  178. package/dist/exports/client/index.js +1 -1
  179. package/dist/exports/client/index.js.map +3 -3
  180. package/dist/fields/Array/index.d.ts.map +1 -1
  181. package/dist/fields/Array/index.js +2 -3
  182. package/dist/fields/Array/index.js.map +1 -1
  183. package/dist/fields/Blocks/index.d.ts.map +1 -1
  184. package/dist/fields/Blocks/index.js +2 -3
  185. package/dist/fields/Blocks/index.js.map +1 -1
  186. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  187. package/dist/fields/FieldLabel/index.js +4 -5
  188. package/dist/fields/FieldLabel/index.js.map +1 -1
  189. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  190. package/dist/fields/Relationship/Input.js +3 -8
  191. package/dist/fields/Relationship/Input.js.map +1 -1
  192. package/dist/fields/Slug/index.d.ts.map +1 -1
  193. package/dist/fields/Slug/index.js +2 -3
  194. package/dist/fields/Slug/index.js.map +1 -1
  195. package/dist/fields/Upload/Input.d.ts.map +1 -1
  196. package/dist/fields/Upload/Input.js +47 -23
  197. package/dist/fields/Upload/Input.js.map +1 -1
  198. package/dist/fields/Upload/Input.spec.js +242 -0
  199. package/dist/fields/Upload/Input.spec.js.map +1 -0
  200. package/dist/fields/shared/index.d.ts +1 -1
  201. package/dist/fields/shared/index.d.ts.map +1 -1
  202. package/dist/fields/shared/index.js.map +1 -1
  203. package/dist/forms/Form/index.d.ts.map +1 -1
  204. package/dist/forms/Form/index.js +2 -3
  205. package/dist/forms/Form/index.js.map +1 -1
  206. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  207. package/dist/forms/NullifyField/index.js +2 -3
  208. package/dist/forms/NullifyField/index.js.map +1 -1
  209. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  210. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -0
  211. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  212. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  213. package/dist/hooks/usePayloadAPI.js +42 -47
  214. package/dist/hooks/usePayloadAPI.js.map +1 -1
  215. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  216. package/dist/providers/DocumentInfo/index.js +3 -8
  217. package/dist/providers/DocumentInfo/index.js.map +1 -1
  218. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts +1 -2
  219. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
  220. package/dist/providers/DocumentInfo/useGetDocPermissions.js +1 -3
  221. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
  222. package/dist/providers/Hierarchy/index.d.ts.map +1 -1
  223. package/dist/providers/Hierarchy/index.js +1 -4
  224. package/dist/providers/Hierarchy/index.js.map +1 -1
  225. package/dist/providers/Locale/index.d.ts +1 -5
  226. package/dist/providers/Locale/index.d.ts.map +1 -1
  227. package/dist/providers/Locale/index.js +61 -139
  228. package/dist/providers/Locale/index.js.map +1 -1
  229. package/dist/providers/Preferences/index.d.ts +1 -3
  230. package/dist/providers/Preferences/index.d.ts.map +1 -1
  231. package/dist/providers/Preferences/index.js +3 -9
  232. package/dist/providers/Preferences/index.js.map +1 -1
  233. package/dist/providers/Selection/index.d.ts.map +1 -1
  234. package/dist/providers/Selection/index.js +2 -3
  235. package/dist/providers/Selection/index.js.map +1 -1
  236. package/dist/providers/ServerFunctions/index.d.ts +5 -1
  237. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  238. package/dist/providers/ServerFunctions/index.js +15 -0
  239. package/dist/providers/ServerFunctions/index.js.map +1 -1
  240. package/dist/styles.css +1 -1
  241. package/dist/templates/Default/index.d.ts.map +1 -1
  242. package/dist/templates/Default/index.js +37 -43
  243. package/dist/templates/Default/index.js.map +1 -1
  244. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  245. package/dist/utilities/formatMetadata.js +0 -5
  246. package/dist/utilities/formatMetadata.js.map +1 -1
  247. package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
  248. package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
  249. package/dist/utilities/getFilesFromClipboard.js +49 -0
  250. package/dist/utilities/getFilesFromClipboard.js.map +1 -0
  251. package/dist/utilities/getHasScheduledPublish.d.ts +2 -3
  252. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  253. package/dist/utilities/getHasScheduledPublish.js +2 -5
  254. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  255. package/dist/utilities/getVersions.d.ts +1 -6
  256. package/dist/utilities/getVersions.d.ts.map +1 -1
  257. package/dist/utilities/getVersions.js +0 -5
  258. package/dist/utilities/getVersions.js.map +1 -1
  259. package/dist/utilities/initReq.d.ts.map +1 -1
  260. package/dist/utilities/initReq.js +0 -8
  261. package/dist/utilities/initReq.js.map +1 -1
  262. package/dist/utilities/schedulePublishHandler.d.ts +8 -1
  263. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  264. package/dist/utilities/schedulePublishHandler.js +68 -14
  265. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  266. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  267. package/dist/utilities/serverFunctionRegistry.js +2 -7
  268. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  269. package/dist/utilities/slugify.d.ts.map +1 -1
  270. package/dist/utilities/slugify.js +3 -0
  271. package/dist/utilities/slugify.js.map +1 -1
  272. package/dist/views/API/index.client.d.ts.map +1 -1
  273. package/dist/views/API/index.client.js +4 -13
  274. package/dist/views/API/index.client.js.map +1 -1
  275. package/dist/views/Document/getDocumentView.d.ts.map +1 -1
  276. package/dist/views/Document/getDocumentView.js +2 -21
  277. package/dist/views/Document/getDocumentView.js.map +1 -1
  278. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  279. package/dist/views/Document/getMetaBySegment.js +0 -9
  280. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  281. package/dist/views/Document/index.d.ts +1 -3
  282. package/dist/views/Document/index.d.ts.map +1 -1
  283. package/dist/views/Document/index.js +2 -10
  284. package/dist/views/Document/index.js.map +1 -1
  285. package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
  286. package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
  287. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  288. package/dist/views/Edit/index.d.ts.map +1 -1
  289. package/dist/views/Edit/index.js +3 -2
  290. package/dist/views/Edit/index.js.map +1 -1
  291. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  292. package/dist/views/HierarchyList/HierarchyTable/index.js +2 -6
  293. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  294. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  295. package/dist/views/Root/getRouteData.js +4 -12
  296. package/dist/views/Root/getRouteData.js.map +1 -1
  297. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  298. package/dist/views/Version/Default/SetStepNav.js +10 -13
  299. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  300. package/dist/views/Version/Default/index.css +2 -26
  301. package/dist/views/Version/Default/index.d.ts.map +1 -1
  302. package/dist/views/Version/Default/index.js +18 -31
  303. package/dist/views/Version/Default/index.js.map +1 -1
  304. package/dist/views/Version/Default/types.d.ts +0 -9
  305. package/dist/views/Version/Default/types.d.ts.map +1 -1
  306. package/dist/views/Version/Default/types.js.map +1 -1
  307. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  308. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +0 -8
  309. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  310. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  311. package/dist/views/Version/Restore/index.js +3 -6
  312. package/dist/views/Version/Restore/index.js.map +1 -1
  313. package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
  314. package/dist/views/Version/index.d.ts.map +1 -1
  315. package/dist/views/Version/index.js +0 -4
  316. package/dist/views/Version/index.js.map +1 -1
  317. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
  318. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js +2 -3
  319. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
  320. package/dist/views/Versions/buildColumns.d.ts +1 -2
  321. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  322. package/dist/views/Versions/buildColumns.js +1 -21
  323. package/dist/views/Versions/buildColumns.js.map +1 -1
  324. package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
  325. package/dist/views/Versions/index.client.d.ts +1 -0
  326. package/dist/views/Versions/index.client.d.ts.map +1 -1
  327. package/dist/views/Versions/index.client.js.map +1 -1
  328. package/dist/views/Versions/index.d.ts.map +1 -1
  329. package/dist/views/Versions/index.js +14 -2
  330. package/dist/views/Versions/index.js.map +1 -1
  331. package/package.json +6 -5
  332. package/dist/elements/BranchSelector/NewBranchModal/index.css +0 -46
  333. package/dist/elements/BranchSelector/NewBranchModal/index.d.ts +0 -12
  334. package/dist/elements/BranchSelector/NewBranchModal/index.d.ts.map +0 -1
  335. package/dist/elements/BranchSelector/NewBranchModal/index.js +0 -174
  336. package/dist/elements/BranchSelector/NewBranchModal/index.js.map +0 -1
  337. package/dist/elements/BranchSelector/index.css +0 -172
  338. package/dist/elements/BranchSelector/index.d.ts +0 -13
  339. package/dist/elements/BranchSelector/index.d.ts.map +0 -1
  340. package/dist/elements/BranchSelector/index.js +0 -255
  341. package/dist/elements/BranchSelector/index.js.map +0 -1
  342. package/dist/elements/ChangeSummary/index.css +0 -18
  343. package/dist/elements/ChangeSummary/index.d.ts +0 -28
  344. package/dist/elements/ChangeSummary/index.d.ts.map +0 -1
  345. package/dist/elements/ChangeSummary/index.js +0 -147
  346. package/dist/elements/ChangeSummary/index.js.map +0 -1
  347. package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.css +0 -12
  348. package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.d.ts +0 -12
  349. package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.d.ts.map +0 -1
  350. package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.js +0 -83
  351. package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.js.map +0 -1
  352. package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.d.ts +0 -14
  353. package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.d.ts.map +0 -1
  354. package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.js +0 -28
  355. package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.js.map +0 -1
  356. package/dist/elements/MergeBranch/context.d.ts +0 -67
  357. package/dist/elements/MergeBranch/context.d.ts.map +0 -1
  358. package/dist/elements/MergeBranch/context.js +0 -47
  359. package/dist/elements/MergeBranch/context.js.map +0 -1
  360. package/dist/elements/MergeBranch/index.css +0 -136
  361. package/dist/elements/MergeBranch/index.d.ts +0 -15
  362. package/dist/elements/MergeBranch/index.d.ts.map +0 -1
  363. package/dist/elements/MergeBranch/index.js +0 -545
  364. package/dist/elements/MergeBranch/index.js.map +0 -1
  365. package/dist/elements/MergeBranch/provider.d.ts +0 -12
  366. package/dist/elements/MergeBranch/provider.d.ts.map +0 -1
  367. package/dist/elements/MergeBranch/provider.js +0 -19
  368. package/dist/elements/MergeBranch/provider.js.map +0 -1
  369. package/dist/elements/MergeBranch/slug.d.ts +0 -9
  370. package/dist/elements/MergeBranch/slug.d.ts.map +0 -1
  371. package/dist/elements/MergeBranch/slug.js +0 -8
  372. package/dist/elements/MergeBranch/slug.js.map +0 -1
  373. package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.css +0 -34
  374. package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.d.ts +0 -13
  375. package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.d.ts.map +0 -1
  376. package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.js +0 -51
  377. package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.js.map +0 -1
  378. package/dist/icons/Branch/index.css +0 -5
  379. package/dist/icons/Branch/index.d.ts +0 -7
  380. package/dist/icons/Branch/index.d.ts.map +0 -1
  381. package/dist/icons/Branch/index.js +0 -25
  382. package/dist/icons/Branch/index.js.map +0 -1
  383. package/dist/providers/Branch/index.d.ts +0 -68
  384. package/dist/providers/Branch/index.d.ts.map +0 -1
  385. package/dist/providers/Branch/index.js +0 -193
  386. package/dist/providers/Branch/index.js.map +0 -1
  387. package/dist/providers/Branch/index.server.d.ts +0 -14
  388. package/dist/providers/Branch/index.server.d.ts.map +0 -1
  389. package/dist/providers/Branch/index.server.js +0 -125
  390. package/dist/providers/Branch/index.server.js.map +0 -1
  391. package/dist/utilities/getAdminPreferences.d.ts +0 -14
  392. package/dist/utilities/getAdminPreferences.d.ts.map +0 -1
  393. package/dist/utilities/getAdminPreferences.js +0 -22
  394. package/dist/utilities/getAdminPreferences.js.map +0 -1
  395. package/dist/utilities/getRequestBranch.d.ts +0 -20
  396. package/dist/utilities/getRequestBranch.d.ts.map +0 -1
  397. package/dist/utilities/getRequestBranch.js +0 -35
  398. package/dist/utilities/getRequestBranch.js.map +0 -1
  399. package/dist/utilities/matchesSearchQuery.d.ts +0 -12
  400. package/dist/utilities/matchesSearchQuery.d.ts.map +0 -1
  401. package/dist/utilities/matchesSearchQuery.js +0 -23
  402. package/dist/utilities/matchesSearchQuery.js.map +0 -1
  403. package/dist/utilities/matchesSearchQuery.spec.js.map +0 -1
  404. package/dist/utilities/scheduleMergeHandler.d.ts +0 -33
  405. package/dist/utilities/scheduleMergeHandler.d.ts.map +0 -1
  406. package/dist/utilities/scheduleMergeHandler.js +0 -119
  407. package/dist/utilities/scheduleMergeHandler.js.map +0 -1
  408. package/dist/views/Branch/BranchChanges/index.d.ts +0 -23
  409. package/dist/views/Branch/BranchChanges/index.d.ts.map +0 -1
  410. package/dist/views/Branch/BranchChanges/index.js +0 -150
  411. package/dist/views/Branch/BranchChanges/index.js.map +0 -1
  412. package/dist/views/Branch/ChangedDocuments/index.css +0 -118
  413. package/dist/views/Branch/ChangedDocuments/index.d.ts +0 -34
  414. package/dist/views/Branch/ChangedDocuments/index.d.ts.map +0 -1
  415. package/dist/views/Branch/ChangedDocuments/index.js +0 -233
  416. package/dist/views/Branch/ChangedDocuments/index.js.map +0 -1
  417. package/dist/views/Branch/DiscardChangesButton/index.d.ts +0 -16
  418. package/dist/views/Branch/DiscardChangesButton/index.d.ts.map +0 -1
  419. package/dist/views/Branch/DiscardChangesButton/index.js +0 -106
  420. package/dist/views/Branch/DiscardChangesButton/index.js.map +0 -1
  421. package/dist/views/Branch/Manage/index.d.ts +0 -11
  422. package/dist/views/Branch/Manage/index.d.ts.map +0 -1
  423. package/dist/views/Branch/Manage/index.js +0 -71
  424. package/dist/views/Branch/Manage/index.js.map +0 -1
  425. package/dist/views/Branch/MergeChangesButton/index.d.ts +0 -14
  426. package/dist/views/Branch/MergeChangesButton/index.d.ts.map +0 -1
  427. package/dist/views/Branch/MergeChangesButton/index.js +0 -55
  428. package/dist/views/Branch/MergeChangesButton/index.js.map +0 -1
  429. package/dist/views/Branch/MergeLedger/index.css +0 -137
  430. package/dist/views/Branch/MergeLedger/index.d.ts +0 -31
  431. package/dist/views/Branch/MergeLedger/index.d.ts.map +0 -1
  432. package/dist/views/Branch/MergeLedger/index.js +0 -211
  433. package/dist/views/Branch/MergeLedger/index.js.map +0 -1
  434. package/dist/views/Branch/ScheduledMerges/index.css +0 -83
  435. package/dist/views/Branch/ScheduledMerges/index.d.ts +0 -32
  436. package/dist/views/Branch/ScheduledMerges/index.d.ts.map +0 -1
  437. package/dist/views/Branch/ScheduledMerges/index.js +0 -183
  438. package/dist/views/Branch/ScheduledMerges/index.js.map +0 -1
  439. package/dist/views/Branch/index.css +0 -77
  440. package/dist/views/Branch/index.d.ts +0 -17
  441. package/dist/views/Branch/index.d.ts.map +0 -1
  442. package/dist/views/Branch/index.js +0 -188
  443. package/dist/views/Branch/index.js.map +0 -1
  444. package/dist/views/Branch/renderBranchDiff.d.ts +0 -29
  445. package/dist/views/Branch/renderBranchDiff.d.ts.map +0 -1
  446. package/dist/views/Branch/renderBranchDiff.js +0 -151
  447. package/dist/views/Branch/renderBranchDiff.js.map +0 -1
  448. package/dist/views/Branch/renderMergeDiff.d.ts +0 -24
  449. package/dist/views/Branch/renderMergeDiff.d.ts.map +0 -1
  450. package/dist/views/Branch/renderMergeDiff.js +0 -94
  451. package/dist/views/Branch/renderMergeDiff.js.map +0 -1
  452. package/dist/views/Branches/index.d.ts +0 -16
  453. package/dist/views/Branches/index.d.ts.map +0 -1
  454. package/dist/views/Branches/index.js +0 -54
  455. package/dist/views/Branches/index.js.map +0 -1
  456. package/dist/views/Versions/cells/Branch/index.d.ts +0 -12
  457. package/dist/views/Versions/cells/Branch/index.d.ts.map +0 -1
  458. package/dist/views/Versions/cells/Branch/index.js +0 -27
  459. package/dist/views/Versions/cells/Branch/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"OrderableTable.js","names":["DragOverlay","formatAdminURL","React","useEffect","useState","toast","useBranchParam","useConfig","useListQuery","useLocale","useTranslation","DraggableSortableItem","DraggableSortable","OrderableRow","OrderableRowDragPreview","baseClass","mustSortByOrderToastId","OrderableTable","appearance","BeforeTable","collection","columns","data","initialData","config","listQueryData","orderableFieldName","query","code","localeCode","branch","t","serverData","docs","isOrderable","sort","localData","setLocalData","cellMap","setCellMap","dragActiveRowId","setDragActiveRowId","Object","fromEntries","map","item","index","String","id","_id","activeColumns","filter","col","active","includes","accessor","length","_jsx","handleDragEnd","moveFromIndex","moveToIndex","warning","undefined","movedId","newBeforeRow","newAfterRow","previousData","currentData","newData","splice","target","key","newKeyWillBe","jsonBody","collectionSlug","slug","docsToMove","response","fetch","apiRoute","routes","api","path","encodeURIComponent","body","JSON","stringify","credentials","headers","method","status","Error","ok","json","err","error","message","handleDragStart","handleDisabledDragAttempt","rowIds","row","_jsxs","className","Boolean","join","ids","onDragEnd","onDragStart","cellPadding","cellSpacing","i","Heading","rowIndex","disabled","children","attributes","isDragging","listeners","setNodeRef","transform","transition","dragAttributes","dragListeners","onDisabledDragAttempt","ref","rowId","style","opacity"],"sources":["../../../src/elements/Table/OrderableTable.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, Column, OrderableEndpointBody } from 'payload'\n\nimport './index.css'\n\nimport { DragOverlay } from '@dnd-kit/core'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useBranchParam } from '../../providers/Branch/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DraggableSortableItem } from '../DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { OrderableRow } from './OrderableRow.js'\nimport { OrderableRowDragPreview } from './OrderableRowDragPreview.js'\n\nconst baseClass = 'table'\n\n// A stable id so repeated attempts (e.g. holding Space) update the same toast instead of stacking new ones\nconst mustSortByOrderToastId = 'orderable-table-must-sort-by-order'\n\nexport type Props = {\n readonly appearance?: 'condensed' | 'default'\n readonly BeforeTable?: React.ReactNode\n readonly collection: ClientCollectionConfig\n readonly columns?: Column[]\n readonly data: Record<string, unknown>[]\n readonly heading?: React.ReactNode\n}\n\nexport const OrderableTable: React.FC<Props> = ({\n appearance = 'default',\n BeforeTable,\n collection,\n columns,\n data: initialData,\n}) => {\n const { config } = useConfig()\n const { data: listQueryData, orderableFieldName, query } = useListQuery()\n const { code: localeCode } = useLocale()\n const branch = useBranchParam()\n const { t } = useTranslation()\n // Use the data from ListQueryProvider if available, otherwise use the props\n const serverData = listQueryData?.docs || initialData\n\n const isOrderable = query.sort === orderableFieldName || query.sort === `-${orderableFieldName}`\n\n // Local state to track the current order of rows\n const [localData, setLocalData] = useState(serverData)\n\n // id -> index for each column\n const [cellMap, setCellMap] = useState<Record<string, number>>({})\n\n const [dragActiveRowId, setDragActiveRowId] = useState<number | string | undefined>()\n\n // Update local data when server data changes\n useEffect(() => {\n setLocalData(serverData)\n setCellMap(\n Object.fromEntries(serverData.map((item, index) => [String(item.id ?? item._id), index])),\n )\n }, [serverData])\n\n const activeColumns = columns?.filter((col) => col?.active)\n\n if (\n !activeColumns ||\n activeColumns.filter((col) => !['_dragHandle', '_select'].includes(col.accessor)).length === 0\n ) {\n return <div>No columns selected</div>\n }\n\n const handleDragEnd = async ({ moveFromIndex, moveToIndex }) => {\n if (!isOrderable) {\n toast.warning(t('general:sortByOrderToReorder'), { id: mustSortByOrderToastId })\n setDragActiveRowId(undefined)\n return\n }\n\n if (moveFromIndex === moveToIndex) {\n setDragActiveRowId(undefined)\n return\n }\n\n const movedId = localData[moveFromIndex].id ?? localData[moveFromIndex]._id\n const newBeforeRow =\n moveToIndex > moveFromIndex ? localData[moveToIndex] : localData[moveToIndex - 1]\n const newAfterRow =\n moveToIndex > moveFromIndex ? localData[moveToIndex + 1] : localData[moveToIndex]\n\n // Store the original data for rollback\n const previousData = [...localData]\n\n // Optimisitc update of local state to reorder the rows\n setLocalData((currentData) => {\n const newData = [...currentData]\n // Update the rendered cell for the moved row to show \"pending\"\n newData[moveFromIndex][orderableFieldName] = `pending`\n // Move the item in the array\n newData.splice(moveToIndex, 0, newData.splice(moveFromIndex, 1)[0])\n return newData\n })\n\n try {\n const target: OrderableEndpointBody['target'] = newBeforeRow\n ? {\n id: newBeforeRow.id ?? newBeforeRow._id,\n key: newBeforeRow[orderableFieldName],\n }\n : {\n id: newAfterRow.id ?? newAfterRow._id,\n key: newAfterRow[orderableFieldName],\n }\n\n const newKeyWillBe =\n (newBeforeRow && query.sort === orderableFieldName) ||\n (!newBeforeRow && query.sort === `-${orderableFieldName}`)\n ? 'greater'\n : 'less'\n\n const jsonBody: OrderableEndpointBody = {\n collectionSlug: collection.slug,\n docsToMove: [movedId],\n newKeyWillBe,\n orderableFieldName,\n target,\n }\n\n const response = await fetch(\n formatAdminURL({\n apiRoute: config.routes.api,\n path: `/reorder?locale=${localeCode}${branch ? `&branch=${encodeURIComponent(branch)}` : ''}`,\n }),\n {\n body: JSON.stringify(jsonBody),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n },\n )\n\n if (response.status === 403) {\n throw new Error('You do not have permission to reorder these rows')\n }\n\n if (!response.ok) {\n throw new Error(\n 'Failed to reorder. This can happen if you reorder several rows too quickly. Please try again.',\n )\n }\n\n if (response.status === 200 && (await response.json())['message'] === 'initial migration') {\n throw new Error(\n 'You have enabled \"orderable\" on a collection with existing documents' +\n 'and this is the first time you have sorted documents. We have run an automatic migration ' +\n 'to add an initial order to the documents. Please refresh the page and try again.',\n )\n }\n } catch (err) {\n const error = err instanceof Error ? err.message : String(err)\n // Rollback to previous state if the request fails\n setLocalData(previousData)\n toast.error(error)\n } finally {\n setDragActiveRowId(undefined)\n }\n }\n\n const handleDragStart = ({ id }) => {\n setDragActiveRowId(id)\n }\n\n const handleDisabledDragAttempt = () => {\n toast.warning(t('general:sortByOrderToReorder'), { id: mustSortByOrderToastId })\n }\n\n const rowIds = localData.map((row) => row.id ?? row._id)\n\n return (\n <div\n className={[baseClass, appearance && `${baseClass}--appearance-${appearance}`]\n .filter(Boolean)\n .join(' ')}\n >\n {BeforeTable}\n <DraggableSortable ids={rowIds} onDragEnd={handleDragEnd} onDragStart={handleDragStart}>\n <table cellPadding=\"0\" cellSpacing=\"0\">\n <thead>\n <tr>\n {activeColumns.map((col, i) => (\n <th id={`heading-${col.accessor}`} key={i}>\n {col.Heading}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {localData.map((row, rowIndex) => (\n <DraggableSortableItem\n disabled={!isOrderable}\n id={rowIds[rowIndex]}\n key={rowIds[rowIndex]}\n >\n {({ attributes, isDragging, listeners, setNodeRef, transform, transition }) => (\n <OrderableRow\n cellMap={cellMap}\n className={`row-${rowIndex + 1}`}\n columns={activeColumns}\n dragAttributes={attributes}\n dragListeners={listeners}\n isOrderable={isOrderable}\n onDisabledDragAttempt={handleDisabledDragAttempt}\n ref={setNodeRef}\n rowId={row.id ?? row._id}\n style={{\n opacity: isDragging ? 0 : 1,\n transform,\n transition,\n }}\n />\n )}\n </DraggableSortableItem>\n ))}\n </tbody>\n </table>\n\n <DragOverlay>\n <OrderableRowDragPreview\n className={[baseClass, `${baseClass}--drag-preview`].join(' ')}\n rowId={dragActiveRowId}\n >\n <OrderableRow cellMap={cellMap} columns={activeColumns} rowId={dragActiveRowId} />\n </OrderableRowDragPreview>\n </DragOverlay>\n </DraggableSortable>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OrderableTable.js","names":["DragOverlay","formatAdminURL","React","useEffect","useState","toast","useConfig","useListQuery","useLocale","useTranslation","DraggableSortableItem","DraggableSortable","OrderableRow","OrderableRowDragPreview","baseClass","mustSortByOrderToastId","OrderableTable","appearance","BeforeTable","collection","columns","data","initialData","config","listQueryData","orderableFieldName","query","locale","localeCode","code","t","serverData","docs","isOrderable","sort","localData","setLocalData","cellMap","setCellMap","dragActiveRowId","setDragActiveRowId","Object","fromEntries","map","item","index","String","id","_id","activeColumns","filter","col","active","includes","accessor","length","_jsx","handleDragEnd","moveFromIndex","moveToIndex","warning","undefined","movedId","newBeforeRow","newAfterRow","previousData","currentData","newData","splice","target","key","newKeyWillBe","jsonBody","collectionSlug","slug","docsToMove","response","fetch","apiRoute","routes","api","path","body","JSON","stringify","credentials","headers","method","status","Error","ok","json","err","error","message","handleDragStart","handleDisabledDragAttempt","rowIds","row","_jsxs","className","Boolean","join","ids","onDragEnd","onDragStart","cellPadding","cellSpacing","i","Heading","rowIndex","disabled","children","attributes","isDragging","listeners","setNodeRef","transform","transition","dragAttributes","dragListeners","onDisabledDragAttempt","ref","rowId","style","opacity"],"sources":["../../../src/elements/Table/OrderableTable.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, Column, OrderableEndpointBody } from 'payload'\n\nimport './index.css'\n\nimport { DragOverlay } from '@dnd-kit/core'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DraggableSortableItem } from '../DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { OrderableRow } from './OrderableRow.js'\nimport { OrderableRowDragPreview } from './OrderableRowDragPreview.js'\n\nconst baseClass = 'table'\n\n// A stable id so repeated attempts (e.g. holding Space) update the same toast instead of stacking new ones\nconst mustSortByOrderToastId = 'orderable-table-must-sort-by-order'\n\nexport type Props = {\n readonly appearance?: 'condensed' | 'default'\n readonly BeforeTable?: React.ReactNode\n readonly collection: ClientCollectionConfig\n readonly columns?: Column[]\n readonly data: Record<string, unknown>[]\n readonly heading?: React.ReactNode\n}\n\nexport const OrderableTable: React.FC<Props> = ({\n appearance = 'default',\n BeforeTable,\n collection,\n columns,\n data: initialData,\n}) => {\n const { config } = useConfig()\n const { data: listQueryData, orderableFieldName, query } = useListQuery()\n const locale = useLocale()\n const localeCode = locale?.code\n const { t } = useTranslation()\n // Use the data from ListQueryProvider if available, otherwise use the props\n const serverData = listQueryData?.docs || initialData\n\n const isOrderable = query.sort === orderableFieldName || query.sort === `-${orderableFieldName}`\n\n // Local state to track the current order of rows\n const [localData, setLocalData] = useState(serverData)\n\n // id -> index for each column\n const [cellMap, setCellMap] = useState<Record<string, number>>({})\n\n const [dragActiveRowId, setDragActiveRowId] = useState<number | string | undefined>()\n\n // Update local data when server data changes\n useEffect(() => {\n setLocalData(serverData)\n setCellMap(\n Object.fromEntries(serverData.map((item, index) => [String(item.id ?? item._id), index])),\n )\n }, [serverData])\n\n const activeColumns = columns?.filter((col) => col?.active)\n\n if (\n !activeColumns ||\n activeColumns.filter((col) => !['_dragHandle', '_select'].includes(col.accessor)).length === 0\n ) {\n return <div>No columns selected</div>\n }\n\n const handleDragEnd = async ({ moveFromIndex, moveToIndex }) => {\n if (!isOrderable) {\n toast.warning(t('general:sortByOrderToReorder'), { id: mustSortByOrderToastId })\n setDragActiveRowId(undefined)\n return\n }\n\n if (moveFromIndex === moveToIndex) {\n setDragActiveRowId(undefined)\n return\n }\n\n const movedId = localData[moveFromIndex].id ?? localData[moveFromIndex]._id\n const newBeforeRow =\n moveToIndex > moveFromIndex ? localData[moveToIndex] : localData[moveToIndex - 1]\n const newAfterRow =\n moveToIndex > moveFromIndex ? localData[moveToIndex + 1] : localData[moveToIndex]\n\n // Store the original data for rollback\n const previousData = [...localData]\n\n // Optimisitc update of local state to reorder the rows\n setLocalData((currentData) => {\n const newData = [...currentData]\n // Update the rendered cell for the moved row to show \"pending\"\n newData[moveFromIndex][orderableFieldName] = `pending`\n // Move the item in the array\n newData.splice(moveToIndex, 0, newData.splice(moveFromIndex, 1)[0])\n return newData\n })\n\n try {\n const target: OrderableEndpointBody['target'] = newBeforeRow\n ? {\n id: newBeforeRow.id ?? newBeforeRow._id,\n key: newBeforeRow[orderableFieldName],\n }\n : {\n id: newAfterRow.id ?? newAfterRow._id,\n key: newAfterRow[orderableFieldName],\n }\n\n const newKeyWillBe =\n (newBeforeRow && query.sort === orderableFieldName) ||\n (!newBeforeRow && query.sort === `-${orderableFieldName}`)\n ? 'greater'\n : 'less'\n\n const jsonBody: OrderableEndpointBody = {\n collectionSlug: collection.slug,\n docsToMove: [movedId],\n newKeyWillBe,\n orderableFieldName,\n target,\n }\n\n const response = await fetch(\n formatAdminURL({\n apiRoute: config.routes.api,\n path: `/reorder?locale=${localeCode}`,\n }),\n {\n body: JSON.stringify(jsonBody),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n },\n )\n\n if (response.status === 403) {\n throw new Error('You do not have permission to reorder these rows')\n }\n\n if (!response.ok) {\n throw new Error(\n 'Failed to reorder. This can happen if you reorder several rows too quickly. Please try again.',\n )\n }\n\n if (response.status === 200 && (await response.json())['message'] === 'initial migration') {\n throw new Error(\n 'You have enabled \"orderable\" on a collection with existing documents' +\n 'and this is the first time you have sorted documents. We have run an automatic migration ' +\n 'to add an initial order to the documents. Please refresh the page and try again.',\n )\n }\n } catch (err) {\n const error = err instanceof Error ? err.message : String(err)\n // Rollback to previous state if the request fails\n setLocalData(previousData)\n toast.error(error)\n } finally {\n setDragActiveRowId(undefined)\n }\n }\n\n const handleDragStart = ({ id }) => {\n setDragActiveRowId(id)\n }\n\n const handleDisabledDragAttempt = () => {\n toast.warning(t('general:sortByOrderToReorder'), { id: mustSortByOrderToastId })\n }\n\n const rowIds = localData.map((row) => row.id ?? row._id)\n\n return (\n <div\n className={[baseClass, appearance && `${baseClass}--appearance-${appearance}`]\n .filter(Boolean)\n .join(' ')}\n >\n {BeforeTable}\n <DraggableSortable ids={rowIds} onDragEnd={handleDragEnd} onDragStart={handleDragStart}>\n <table cellPadding=\"0\" cellSpacing=\"0\">\n <thead>\n <tr>\n {activeColumns.map((col, i) => (\n <th id={`heading-${col.accessor}`} key={i}>\n {col.Heading}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {localData.map((row, rowIndex) => (\n <DraggableSortableItem\n disabled={!isOrderable}\n id={rowIds[rowIndex]}\n key={rowIds[rowIndex]}\n >\n {({ attributes, isDragging, listeners, setNodeRef, transform, transition }) => (\n <OrderableRow\n cellMap={cellMap}\n className={`row-${rowIndex + 1}`}\n columns={activeColumns}\n dragAttributes={attributes}\n dragListeners={listeners}\n isOrderable={isOrderable}\n onDisabledDragAttempt={handleDisabledDragAttempt}\n ref={setNodeRef}\n rowId={row.id ?? row._id}\n style={{\n opacity: isDragging ? 0 : 1,\n transform,\n transition,\n }}\n />\n )}\n </DraggableSortableItem>\n ))}\n </tbody>\n </table>\n\n <DragOverlay>\n <OrderableRowDragPreview\n className={[baseClass, `${baseClass}--drag-preview`].join(' ')}\n rowId={dragActiveRowId}\n >\n <OrderableRow cellMap={cellMap} columns={activeColumns} rowId={dragActiveRowId} />\n </OrderableRowDragPreview>\n </DragOverlay>\n </DraggableSortable>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,SAAS,CAAA;AAIrD,OAAO,KAAyE,MAAM,OAAO,CAAA;AAY7F,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,UAAU,CAAA;KACjD,CAAA;CACF,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,SAAS,EAAE,SAAS,CAAA;IACpB,gBAAgB,EAAE,CAChB,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KACvB,EAAE,KACA,IAAI,CAAA;CACV,CAAA;AAID,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAyGlF,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,uBAAuC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,SAAS,CAAA;AAIrD,OAAO,KAAyE,MAAM,OAAO,CAAA;AAW7F,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,UAAU,CAAA;KACjD,CAAA;CACF,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,SAAS,EAAE,SAAS,CAAA;IACpB,gBAAgB,EAAE,CAChB,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KACvB,EAAE,KACA,IAAI,CAAA;CACV,CAAA;AAID,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAqGlF,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,uBAAuC,CAAA"}
@@ -6,14 +6,13 @@ import { appendUploadSelectFields, formatAdminURL } from 'payload/shared';
6
6
  import * as qs from 'qs-esm';
7
7
  import React, { createContext, use, useCallback, useEffect, useReducer, useRef } from 'react';
8
8
  import { useDebounce } from '../../../hooks/useDebounce.js';
9
- import { useBranchParam } from '../../../providers/Branch/index.js';
10
9
  import { useConfig } from '../../../providers/Config/index.js';
11
10
  import { useLocale } from '../../../providers/Locale/index.js';
12
11
  import { useTranslation } from '../../../providers/Translation/index.js';
13
12
  import { reducer } from './reducer.js';
14
13
  const Context = /*#__PURE__*/createContext({});
15
14
  export const RelationshipProvider = t0 => {
16
- const $ = _c(16);
15
+ const $ = _c(15);
17
16
  const {
18
17
  children
19
18
  } = t0;
@@ -39,13 +38,11 @@ export const RelationshipProvider = t0 => {
39
38
  const {
40
39
  i18n
41
40
  } = useTranslation();
42
- const {
43
- code: locale
44
- } = useLocale();
45
- const branch = useBranchParam();
41
+ const currentLocale = useLocale();
42
+ const locale = currentLocale?.code;
46
43
  const prevLocale = useRef(locale);
47
44
  let t4;
48
- if ($[1] !== api || $[2] !== branch || $[3] !== collections || $[4] !== debouncedDocuments || $[5] !== i18n || $[6] !== locale) {
45
+ if ($[1] !== api || $[2] !== collections || $[3] !== debouncedDocuments || $[4] !== i18n || $[5] !== locale) {
49
46
  t4 = t5 => {
50
47
  const reloadAll = t5 === undefined ? false : t5;
51
48
  Object.entries(debouncedDocuments).forEach(async t6 => {
@@ -82,9 +79,6 @@ export const RelationshipProvider = t0 => {
82
79
  if (locale) {
83
80
  params.append("locale", locale);
84
81
  }
85
- if (branch) {
86
- params.append("branch", branch);
87
- }
88
82
  const idsToString = idsToLoad.map(_temp);
89
83
  params.append("where[id][in]", idsToString.join(","));
90
84
  const query = `?${params.toString()}&${qs.stringify({
@@ -118,48 +112,47 @@ export const RelationshipProvider = t0 => {
118
112
  });
119
113
  };
120
114
  $[1] = api;
121
- $[2] = branch;
122
- $[3] = collections;
123
- $[4] = debouncedDocuments;
124
- $[5] = i18n;
125
- $[6] = locale;
126
- $[7] = t4;
115
+ $[2] = collections;
116
+ $[3] = debouncedDocuments;
117
+ $[4] = i18n;
118
+ $[5] = locale;
119
+ $[6] = t4;
127
120
  } else {
128
- t4 = $[7];
121
+ t4 = $[6];
129
122
  }
130
123
  const loadRelationshipDocs = t4;
131
124
  let t5;
132
125
  let t6;
133
- if ($[8] !== loadRelationshipDocs || $[9] !== locale) {
126
+ if ($[7] !== loadRelationshipDocs || $[8] !== locale) {
134
127
  t5 = () => {
135
128
  loadRelationshipDocs(locale && prevLocale.current !== locale);
136
129
  prevLocale.current = locale;
137
130
  };
138
131
  t6 = [locale, loadRelationshipDocs];
139
- $[8] = loadRelationshipDocs;
140
- $[9] = locale;
141
- $[10] = t5;
142
- $[11] = t6;
132
+ $[7] = loadRelationshipDocs;
133
+ $[8] = locale;
134
+ $[9] = t5;
135
+ $[10] = t6;
143
136
  } else {
144
- t5 = $[10];
145
- t6 = $[11];
137
+ t5 = $[9];
138
+ t6 = $[10];
146
139
  }
147
140
  useEffect(t5, t6);
148
141
  let t7;
149
- if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
142
+ if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
150
143
  t7 = relationships => {
151
144
  dispatchDocuments({
152
145
  type: "REQUEST",
153
146
  docs: relationships
154
147
  });
155
148
  };
156
- $[12] = t7;
149
+ $[11] = t7;
157
150
  } else {
158
- t7 = $[12];
151
+ t7 = $[11];
159
152
  }
160
153
  const getRelationships = t7;
161
154
  let t8;
162
- if ($[13] !== children || $[14] !== documents) {
155
+ if ($[12] !== children || $[13] !== documents) {
163
156
  t8 = _jsx(Context, {
164
157
  value: {
165
158
  documents,
@@ -167,11 +160,11 @@ export const RelationshipProvider = t0 => {
167
160
  },
168
161
  children
169
162
  });
170
- $[13] = children;
171
- $[14] = documents;
172
- $[15] = t8;
163
+ $[12] = children;
164
+ $[13] = documents;
165
+ $[14] = t8;
173
166
  } else {
174
- t8 = $[15];
167
+ t8 = $[14];
175
168
  }
176
169
  return t8;
177
170
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","appendUploadSelectFields","formatAdminURL","qs","React","createContext","use","useCallback","useEffect","useReducer","useRef","useDebounce","useBranchParam","useConfig","useLocale","useTranslation","reducer","Context","RelationshipProvider","t0","$","children","t1","Symbol","for","documents","dispatchDocuments","debouncedDocuments","config","t2","collections","routes","t3","api","i18n","code","locale","branch","prevLocale","t4","t5","reloadAll","undefined","Object","entries","forEach","t6","slug","docs","idsToLoad","t7","id","value","push","length","url","apiRoute","path","params","URLSearchParams","select","append","collection","find","fieldToSelect","admin","useAsTitle","upload","collectionConfig","idsToString","map","_temp","join","query","toString","stringify","result","fetch","credentials","headers","language","ok","json","type","relationTo","loadRelationshipDocs","current","relationships","getRelationships","t8","_jsx","useListRelationships","id_0","String"],"sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"sourcesContent":["'use client'\nimport type { SelectType, TypeWithID } from 'payload'\n\nimport { appendUploadSelectFields, formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useReducer, useRef } from 'react'\n\nimport { useDebounce } from '../../../hooks/useDebounce.js'\nimport { useBranchParam } from '../../../providers/Branch/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { reducer } from './reducer.js'\n\n// documents are first set to null when requested\n// set to false when no doc is returned\n// or set to the document returned\nexport type Documents = {\n [slug: string]: {\n [id: number | string]: false | null | TypeWithID\n }\n}\n\ntype ListRelationshipContext = {\n documents: Documents\n getRelationships: (\n docs: {\n relationTo: string\n value: number | string\n }[],\n ) => void\n}\n\nconst Context = createContext({} as ListRelationshipContext)\n\nexport const RelationshipProvider: React.FC<{ readonly children?: React.ReactNode }> = ({\n children,\n}) => {\n const [documents, dispatchDocuments] = useReducer(reducer, {})\n const debouncedDocuments = useDebounce(documents, 100)\n\n const {\n config: {\n collections,\n routes: { api },\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n const { code: locale } = useLocale()\n const branch = useBranchParam()\n const prevLocale = useRef(locale)\n\n const loadRelationshipDocs = useCallback(\n (reloadAll = false) => {\n Object.entries(debouncedDocuments).forEach(async ([slug, docs]) => {\n const idsToLoad: (number | string)[] = []\n\n Object.entries(docs).forEach(([id, value]) => {\n if (value === null || reloadAll) {\n idsToLoad.push(id)\n }\n })\n\n if (idsToLoad.length > 0) {\n const url = formatAdminURL({ apiRoute: api, path: `/${slug}` })\n\n const params = new URLSearchParams()\n const select: SelectType = {}\n\n params.append('depth', '0')\n params.append('draft', 'true')\n params.append('limit', '250')\n\n const collection = collections.find((c) => c.slug === slug)\n\n if (!collection) {\n return\n }\n\n const fieldToSelect = collection.admin.useAsTitle ?? 'id'\n\n select[fieldToSelect] = true\n\n if (collection.upload) {\n appendUploadSelectFields({ collectionConfig: collection, select })\n }\n\n if (locale) {\n params.append('locale', locale)\n }\n\n if (branch) {\n params.append('branch', branch)\n }\n\n const idsToString = idsToLoad.map((id) => String(id))\n params.append('where[id][in]', idsToString.join(','))\n\n const query = `?${params.toString()}&${qs.stringify({ select })}`\n\n const result = await fetch(`${url}${query}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (result.ok) {\n const json = await result.json()\n if (json.docs) {\n dispatchDocuments({\n type: 'ADD_LOADED',\n docs: json.docs,\n idsToLoad,\n relationTo: slug,\n })\n }\n } else {\n dispatchDocuments({ type: 'ADD_LOADED', docs: [], idsToLoad, relationTo: slug })\n }\n }\n })\n },\n [debouncedDocuments, api, branch, i18n, locale, collections],\n )\n\n useEffect(() => {\n void loadRelationshipDocs(locale && prevLocale.current !== locale)\n prevLocale.current = locale\n }, [locale, loadRelationshipDocs])\n\n const getRelationships = useCallback(\n (relationships: { relationTo: string; value: number | string }[]) => {\n dispatchDocuments({ type: 'REQUEST', docs: relationships })\n },\n [],\n )\n\n return <Context value={{ documents, getRelationships }}>{children}</Context>\n}\n\nexport const useListRelationships = (): ListRelationshipContext => use(Context)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","appendUploadSelectFields","formatAdminURL","qs","React","createContext","use","useCallback","useEffect","useReducer","useRef","useDebounce","useConfig","useLocale","useTranslation","reducer","Context","RelationshipProvider","t0","$","children","t1","Symbol","for","documents","dispatchDocuments","debouncedDocuments","config","t2","collections","routes","t3","api","i18n","currentLocale","locale","code","prevLocale","t4","t5","reloadAll","undefined","Object","entries","forEach","t6","slug","docs","idsToLoad","t7","id","value","push","length","url","apiRoute","path","params","URLSearchParams","select","append","collection","find","fieldToSelect","admin","useAsTitle","upload","collectionConfig","idsToString","map","_temp","join","query","toString","stringify","result","fetch","credentials","headers","language","ok","json","type","relationTo","loadRelationshipDocs","current","relationships","getRelationships","t8","_jsx","useListRelationships","id_0","String"],"sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"sourcesContent":["'use client'\nimport type { SelectType, TypeWithID } from 'payload'\n\nimport { appendUploadSelectFields, formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useReducer, useRef } from 'react'\n\nimport { useDebounce } from '../../../hooks/useDebounce.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { reducer } from './reducer.js'\n\n// documents are first set to null when requested\n// set to false when no doc is returned\n// or set to the document returned\nexport type Documents = {\n [slug: string]: {\n [id: number | string]: false | null | TypeWithID\n }\n}\n\ntype ListRelationshipContext = {\n documents: Documents\n getRelationships: (\n docs: {\n relationTo: string\n value: number | string\n }[],\n ) => void\n}\n\nconst Context = createContext({} as ListRelationshipContext)\n\nexport const RelationshipProvider: React.FC<{ readonly children?: React.ReactNode }> = ({\n children,\n}) => {\n const [documents, dispatchDocuments] = useReducer(reducer, {})\n const debouncedDocuments = useDebounce(documents, 100)\n\n const {\n config: {\n collections,\n routes: { api },\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n const currentLocale = useLocale()\n const locale = currentLocale?.code\n const prevLocale = useRef(locale)\n\n const loadRelationshipDocs = useCallback(\n (reloadAll = false) => {\n Object.entries(debouncedDocuments).forEach(async ([slug, docs]) => {\n const idsToLoad: (number | string)[] = []\n\n Object.entries(docs).forEach(([id, value]) => {\n if (value === null || reloadAll) {\n idsToLoad.push(id)\n }\n })\n\n if (idsToLoad.length > 0) {\n const url = formatAdminURL({ apiRoute: api, path: `/${slug}` })\n\n const params = new URLSearchParams()\n const select: SelectType = {}\n\n params.append('depth', '0')\n params.append('draft', 'true')\n params.append('limit', '250')\n\n const collection = collections.find((c) => c.slug === slug)\n\n if (!collection) {\n return\n }\n\n const fieldToSelect = collection.admin.useAsTitle ?? 'id'\n\n select[fieldToSelect] = true\n\n if (collection.upload) {\n appendUploadSelectFields({ collectionConfig: collection, select })\n }\n\n if (locale) {\n params.append('locale', locale)\n }\n\n const idsToString = idsToLoad.map((id) => String(id))\n params.append('where[id][in]', idsToString.join(','))\n\n const query = `?${params.toString()}&${qs.stringify({ select })}`\n\n const result = await fetch(`${url}${query}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (result.ok) {\n const json = await result.json()\n if (json.docs) {\n dispatchDocuments({\n type: 'ADD_LOADED',\n docs: json.docs,\n idsToLoad,\n relationTo: slug,\n })\n }\n } else {\n dispatchDocuments({ type: 'ADD_LOADED', docs: [], idsToLoad, relationTo: slug })\n }\n }\n })\n },\n [debouncedDocuments, api, i18n, locale, collections],\n )\n\n useEffect(() => {\n void loadRelationshipDocs(locale && prevLocale.current !== locale)\n prevLocale.current = locale\n }, [locale, loadRelationshipDocs])\n\n const getRelationships = useCallback(\n (relationships: { relationTo: string; value: number | string }[]) => {\n dispatchDocuments({ type: 'REQUEST', docs: relationships })\n },\n [],\n )\n\n return <Context value={{ documents, getRelationships }}>{children}</Context>\n}\n\nexport const useListRelationships = (): ListRelationshipContext => use(Context)\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/UnpublishButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAMzD,OAAO,KAAgC,MAAM,OAAO,CAAA;AAYpD,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EAAE,SAAS,GACjB,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,0BAA+B,qBAiMtD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/UnpublishButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAMzD,OAAO,KAAgC,MAAM,OAAO,CAAA;AAWpD,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EAAE,SAAS,GACjB,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,0BAA+B,qBAgMtD"}
@@ -8,7 +8,6 @@ import * as qs from 'qs-esm';
8
8
  import React, { useCallback, useState } from 'react';
9
9
  import { toast } from 'sonner';
10
10
  import { useForm } from '../../forms/Form/context.js';
11
- import { useBranchParam } from '../../providers/Branch/index.js';
12
11
  import { useConfig } from '../../providers/Config/index.js';
13
12
  import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
14
13
  import { useLocale } from '../../providers/Locale/index.js';
@@ -42,11 +41,9 @@ export function UnpublishButton({
42
41
  const {
43
42
  reset: resetForm
44
43
  } = useForm();
45
- const {
46
- code: localeCode,
47
- label: localeLabel
48
- } = useLocale();
49
- const branch = useBranchParam();
44
+ const locale = useLocale();
45
+ const localeCode = locale?.code;
46
+ const localeLabel = locale?.label;
50
47
  const [unpublishAll, setUnpublishAll] = useState(false);
51
48
  const unPublishModalSlug = `confirm-un-publish-${id}`;
52
49
  const {
@@ -76,7 +73,6 @@ export function UnpublishButton({
76
73
  let url;
77
74
  let method;
78
75
  const queryString = qs.stringify({
79
- branch,
80
76
  depth: 0,
81
77
  'fallback-locale': 'null',
82
78
  locale: unpublishAll_0 ? undefined : localeCode,
@@ -142,7 +138,7 @@ export function UnpublishButton({
142
138
  })().catch(() => {
143
139
  toast.error(t('error:unPublishingDocument'));
144
140
  });
145
- }, [branch, dataFromProps, resetForm, collectionSlug, globalSlug, serverURL, api, localeCode, id, i18n.language, incrementVersionCount, setHasPublishedDoc, setMostRecentVersionIsAutosaved, setUnpublishedVersionCount, t]);
141
+ }, [dataFromProps, resetForm, collectionSlug, globalSlug, serverURL, api, localeCode, id, i18n.language, incrementVersionCount, setHasPublishedDoc, setMostRecentVersionIsAutosaved, setUnpublishedVersionCount, t]);
146
142
  const drafts = entityConfig?.versions?.drafts;
147
143
  const hasDraftsEnabled = typeof drafts === 'object' && drafts !== null;
148
144
  const canUnpublish = React.useMemo(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","hasLocalizeStatusEnabled","qs","React","useCallback","useState","toast","useForm","useBranchParam","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","branch","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 { useBranchParam } from '../../providers/Branch/index.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 branch = useBranchParam()\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 branch,\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 branch,\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":"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","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;AAYpD,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,qBA8JhF"}
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"}
@@ -4,7 +4,6 @@ import { combineWhereConstraints, formatAdminURL, mergeListSearchAndWhere } from
4
4
  import * as qs from 'qs-esm';
5
5
  import React, { useCallback } from 'react';
6
6
  import { toast } from 'sonner';
7
- import { useBranchParam } from '../../providers/Branch/index.js';
8
7
  import { useConfig } from '../../providers/Config/index.js';
9
8
  import { useLocale } from '../../providers/Locale/index.js';
10
9
  import { useRouteCache } from '../../providers/RouteCache/index.js';
@@ -36,10 +35,8 @@ export function UnpublishManyDrawerContent(props) {
36
35
  }
37
36
  }
38
37
  } = useConfig();
39
- const {
40
- code: locale
41
- } = useLocale();
42
- const branch = useBranchParam();
38
+ const currentLocale = useLocale();
39
+ const locale = currentLocale?.code;
43
40
  const {
44
41
  i18n,
45
42
  t
@@ -77,14 +74,13 @@ export function UnpublishManyDrawerContent(props) {
77
74
  });
78
75
  }
79
76
  return qs.stringify({
80
- branch,
81
77
  locale,
82
78
  select: {},
83
79
  where: combineWhereConstraints(whereConstraints)
84
80
  }, {
85
81
  addQueryPrefix: true
86
82
  });
87
- }, [branch, collection, searchParams, selectAll, ids, locale, where]);
83
+ }, [collection, searchParams, selectAll, ids, locale, where]);
88
84
  const handleUnpublish = useCallback(async () => {
89
85
  const url = formatAdminURL({
90
86
  apiRoute: api,
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["getTranslation","combineWhereConstraints","formatAdminURL","mergeListSearchAndWhere","qs","React","useCallback","toast","useBranchParam","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","branch","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 { useBranchParam } from '../../providers/Branch/index.js'\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 branch = useBranchParam()\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 branch,\n locale,\n select: {},\n where: combineWhereConstraints(whereConstraints),\n },\n { addQueryPrefix: true },\n )\n }, [branch, 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":[]}