@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,14 +0,0 @@
1
- import type { PayloadRequest } from 'payload';
2
- import React from 'react';
3
- /**
4
- * Loads the branches the user can read and their stored branch preference, then
5
- * hands both to the client provider.
6
- *
7
- * Renders nothing of its own when branching is disabled, so a config without
8
- * `branching` pays for none of this.
9
- */
10
- export declare const RenderBranchProvider: ({ children, req, }: {
11
- children: React.ReactNode;
12
- req?: PayloadRequest;
13
- }) => Promise<string | number | bigint | boolean | React.JSX.Element | Iterable<React.ReactNode>>;
14
- //# sourceMappingURL=index.server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.server.d.ts","sourceRoot":"","sources":["../../../src/providers/Branch/index.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,uBAG9B;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,GAAG,CAAC,EAAE,cAAc,CAAA;CACrB,gGAyGA,CAAA"}
@@ -1,125 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { resolveBranch } from 'payload';
3
- import { branchesCollectionSlug, MAIN_BRANCH } from 'payload/shared';
4
- import React from 'react';
5
- // eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary
6
- import { BranchProvider } from '../../exports/client/index.js';
7
- /**
8
- * Loads the branches the user can read and their stored branch preference, then
9
- * hands both to the client provider.
10
- *
11
- * Renders nothing of its own when branching is disabled, so a config without
12
- * `branching` pays for none of this.
13
- */
14
- export const RenderBranchProvider = async ({
15
- children,
16
- req
17
- }) => {
18
- const payload = req?.payload;
19
- if (!payload?.config.branching.enabled || !req.user) {
20
- return children;
21
- }
22
- let branches = [];
23
- // Which branches have a merge queued, so the switcher can say so. One small query
24
- // rather than one per branch — the switcher renders on every admin page.
25
- let scheduledSlugs = new Set();
26
- try {
27
- const {
28
- docs
29
- } = await payload.find({
30
- collection: branchesCollectionSlug,
31
- depth: 0,
32
- overrideAccess: false,
33
- pagination: false,
34
- req,
35
- // `id` so the switcher can link to the branch itself, not just switch to it;
36
- // `status` so a merged-but-open branch can be labelled as one.
37
- select: {
38
- id: true,
39
- name: true,
40
- slug: true,
41
- status: true
42
- },
43
- sort: 'name',
44
- user: req.user,
45
- // Everything except `closed`. A `merged` branch is still a workspace — §16
46
- // makes merging an event rather than an ending, and the branch returns to
47
- // `open` the moment it has a change again. Filtering it out here was what
48
- // made "keep the branch open" a dead end: the branch survived, but there was
49
- // no way back onto it to use it.
50
- where: {
51
- status: {
52
- not_equals: 'closed'
53
- }
54
- }
55
- });
56
- branches = docs.reduce((acc, doc) => {
57
- const slug = typeof doc.slug === 'string' ? doc.slug : undefined;
58
- // `main` is a sentinel rather than a row, so a branch that claims the slug
59
- // would render a duplicate entry alongside the one the selector adds.
60
- if (slug && slug !== MAIN_BRANCH) {
61
- acc.push({
62
- id: doc.id,
63
- name: typeof doc.name === 'string' && doc.name ? doc.name : slug,
64
- slug,
65
- isMerged: doc.status === 'merged'
66
- });
67
- }
68
- return acc;
69
- }, []);
70
- if (branches.length) {
71
- const {
72
- docs: scheduled
73
- } = await payload.find({
74
- collection: 'payload-jobs',
75
- depth: 0,
76
- limit: 100,
77
- overrideAccess: true,
78
- pagination: false,
79
- req,
80
- select: {
81
- input: true
82
- },
83
- where: {
84
- and: [{
85
- taskSlug: {
86
- equals: 'scheduleMerge'
87
- }
88
- }, {
89
- waitUntil: {
90
- greater_than: new Date()
91
- }
92
- }]
93
- }
94
- });
95
- scheduledSlugs = new Set(scheduled.map(job => job.input?.branch).filter(value => Boolean(value)));
96
- branches = branches.map(option => ({
97
- ...option,
98
- isScheduled: scheduledSlugs.has(option.slug)
99
- }));
100
- }
101
- } catch (_err) {
102
- // Read access to `payload-branches` can legitimately be denied — a user
103
- // without it simply has no branches to switch between, which must not take
104
- // the whole admin panel down with it.
105
- branches = [];
106
- }
107
- // Already resolved from the user's preference during request initialization,
108
- // so this is a read of what every query on this request actually used —
109
- // not a second source of truth that could disagree with the data on screen.
110
- const activeBranch = resolveBranch(req);
111
- // A branch the user can no longer see — merged, closed, deleted, or never
112
- // theirs — must not be presented as the active one. Otherwise the switcher
113
- // claims a branch while reads quietly fall through to main, which reads as
114
- // "my edits vanished" rather than "that branch is gone".
115
- const isActiveBranchStale = activeBranch !== MAIN_BRANCH && !branches.some(({
116
- slug
117
- }) => slug === activeBranch);
118
- return /*#__PURE__*/_jsx(BranchProvider, {
119
- activeBranch: isActiveBranchStale ? MAIN_BRANCH : activeBranch,
120
- branches: branches,
121
- staleBranch: isActiveBranchStale ? activeBranch : null,
122
- children: children
123
- });
124
- };
125
- //# sourceMappingURL=index.server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.server.js","names":["resolveBranch","branchesCollectionSlug","MAIN_BRANCH","React","BranchProvider","RenderBranchProvider","children","req","payload","config","branching","enabled","user","branches","scheduledSlugs","Set","docs","find","collection","depth","overrideAccess","pagination","select","id","name","slug","status","sort","where","not_equals","reduce","acc","doc","undefined","push","isMerged","length","scheduled","limit","input","and","taskSlug","equals","waitUntil","greater_than","Date","map","job","branch","filter","value","Boolean","option","isScheduled","has","_err","activeBranch","isActiveBranchStale","some","_jsx","staleBranch"],"sources":["../../../src/providers/Branch/index.server.tsx"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { resolveBranch } from 'payload'\nimport { branchesCollectionSlug, MAIN_BRANCH } from 'payload/shared'\nimport React from 'react'\n\nimport type { BranchOption } from './index.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary\nimport { BranchProvider } from '../../exports/client/index.js'\n\n/**\n * Loads the branches the user can read and their stored branch preference, then\n * hands both to the client provider.\n *\n * Renders nothing of its own when branching is disabled, so a config without\n * `branching` pays for none of this.\n */\nexport const RenderBranchProvider = async ({\n children,\n req,\n}: {\n children: React.ReactNode\n req?: PayloadRequest\n}) => {\n const payload = req?.payload\n\n if (!payload?.config.branching.enabled || !req.user) {\n return children\n }\n\n let branches: BranchOption[] = []\n // Which branches have a merge queued, so the switcher can say so. One small query\n // rather than one per branch — the switcher renders on every admin page.\n let scheduledSlugs = new Set<string>()\n\n try {\n const { docs } = await payload.find({\n collection: branchesCollectionSlug,\n depth: 0,\n overrideAccess: false,\n pagination: false,\n req,\n // `id` so the switcher can link to the branch itself, not just switch to it;\n // `status` so a merged-but-open branch can be labelled as one.\n select: { id: true, name: true, slug: true, status: true },\n sort: 'name',\n user: req.user,\n // Everything except `closed`. A `merged` branch is still a workspace — §16\n // makes merging an event rather than an ending, and the branch returns to\n // `open` the moment it has a change again. Filtering it out here was what\n // made \"keep the branch open\" a dead end: the branch survived, but there was\n // no way back onto it to use it.\n where: { status: { not_equals: 'closed' } },\n })\n\n branches = docs.reduce<BranchOption[]>((acc, doc) => {\n const slug = typeof doc.slug === 'string' ? doc.slug : undefined\n\n // `main` is a sentinel rather than a row, so a branch that claims the slug\n // would render a duplicate entry alongside the one the selector adds.\n if (slug && slug !== MAIN_BRANCH) {\n acc.push({\n id: doc.id,\n name: typeof doc.name === 'string' && doc.name ? doc.name : slug,\n slug,\n isMerged: doc.status === 'merged',\n })\n }\n\n return acc\n }, [])\n\n if (branches.length) {\n const { docs: scheduled } = await payload.find({\n collection: 'payload-jobs',\n depth: 0,\n limit: 100,\n overrideAccess: true,\n pagination: false,\n req,\n select: { input: true },\n where: {\n and: [\n { taskSlug: { equals: 'scheduleMerge' } },\n { waitUntil: { greater_than: new Date() } },\n ],\n },\n })\n\n scheduledSlugs = new Set(\n scheduled\n .map((job) => (job as { input?: { branch?: string } }).input?.branch)\n .filter((value): value is string => Boolean(value)),\n )\n\n branches = branches.map((option) => ({\n ...option,\n isScheduled: scheduledSlugs.has(option.slug),\n }))\n }\n } catch (_err) {\n // Read access to `payload-branches` can legitimately be denied — a user\n // without it simply has no branches to switch between, which must not take\n // the whole admin panel down with it.\n branches = []\n }\n\n // Already resolved from the user's preference during request initialization,\n // so this is a read of what every query on this request actually used —\n // not a second source of truth that could disagree with the data on screen.\n const activeBranch = resolveBranch(req)\n\n // A branch the user can no longer see — merged, closed, deleted, or never\n // theirs — must not be presented as the active one. Otherwise the switcher\n // claims a branch while reads quietly fall through to main, which reads as\n // \"my edits vanished\" rather than \"that branch is gone\".\n const isActiveBranchStale =\n activeBranch !== MAIN_BRANCH && !branches.some(({ slug }) => slug === activeBranch)\n\n return (\n <BranchProvider\n activeBranch={isActiveBranchStale ? MAIN_BRANCH : activeBranch}\n branches={branches}\n staleBranch={isActiveBranchStale ? activeBranch : null}\n >\n {children}\n </BranchProvider>\n )\n}\n"],"mappings":";AAEA,SAASA,aAAa,QAAQ;AAC9B,SAASC,sBAAsB,EAAEC,WAAW,QAAQ;AACpD,OAAOC,KAAA,MAAW;AAIlB;AACA,SAASC,cAAc,QAAQ;AAE/B;;;;;;;AAOA,OAAO,MAAMC,oBAAA,GAAuB,MAAAA,CAAO;EACzCC,QAAQ;EACRC;AAAG,CAIJ;EACC,MAAMC,OAAA,GAAUD,GAAA,EAAKC,OAAA;EAErB,IAAI,CAACA,OAAA,EAASC,MAAA,CAAOC,SAAA,CAAUC,OAAA,IAAW,CAACJ,GAAA,CAAIK,IAAI,EAAE;IACnD,OAAON,QAAA;EACT;EAEA,IAAIO,QAAA,GAA2B,EAAE;EACjC;EACA;EACA,IAAIC,cAAA,GAAiB,IAAIC,GAAA;EAEzB,IAAI;IACF,MAAM;MAAEC;IAAI,CAAE,GAAG,MAAMR,OAAA,CAAQS,IAAI,CAAC;MAClCC,UAAA,EAAYjB,sBAAA;MACZkB,KAAA,EAAO;MACPC,cAAA,EAAgB;MAChBC,UAAA,EAAY;MACZd,GAAA;MACA;MACA;MACAe,MAAA,EAAQ;QAAEC,EAAA,EAAI;QAAMC,IAAA,EAAM;QAAMC,IAAA,EAAM;QAAMC,MAAA,EAAQ;MAAK;MACzDC,IAAA,EAAM;MACNf,IAAA,EAAML,GAAA,CAAIK,IAAI;MACd;MACA;MACA;MACA;MACA;MACAgB,KAAA,EAAO;QAAEF,MAAA,EAAQ;UAAEG,UAAA,EAAY;QAAS;MAAE;IAC5C;IAEAhB,QAAA,GAAWG,IAAA,CAAKc,MAAM,CAAiB,CAACC,GAAA,EAAKC,GAAA;MAC3C,MAAMP,IAAA,GAAO,OAAOO,GAAA,CAAIP,IAAI,KAAK,WAAWO,GAAA,CAAIP,IAAI,GAAGQ,SAAA;MAEvD;MACA;MACA,IAAIR,IAAA,IAAQA,IAAA,KAASvB,WAAA,EAAa;QAChC6B,GAAA,CAAIG,IAAI,CAAC;UACPX,EAAA,EAAIS,GAAA,CAAIT,EAAE;UACVC,IAAA,EAAM,OAAOQ,GAAA,CAAIR,IAAI,KAAK,YAAYQ,GAAA,CAAIR,IAAI,GAAGQ,GAAA,CAAIR,IAAI,GAAGC,IAAA;UAC5DA,IAAA;UACAU,QAAA,EAAUH,GAAA,CAAIN,MAAM,KAAK;QAC3B;MACF;MAEA,OAAOK,GAAA;IACT,GAAG,EAAE;IAEL,IAAIlB,QAAA,CAASuB,MAAM,EAAE;MACnB,MAAM;QAAEpB,IAAA,EAAMqB;MAAS,CAAE,GAAG,MAAM7B,OAAA,CAAQS,IAAI,CAAC;QAC7CC,UAAA,EAAY;QACZC,KAAA,EAAO;QACPmB,KAAA,EAAO;QACPlB,cAAA,EAAgB;QAChBC,UAAA,EAAY;QACZd,GAAA;QACAe,MAAA,EAAQ;UAAEiB,KAAA,EAAO;QAAK;QACtBX,KAAA,EAAO;UACLY,GAAA,EAAK,CACH;YAAEC,QAAA,EAAU;cAAEC,MAAA,EAAQ;YAAgB;UAAE,GACxC;YAAEC,SAAA,EAAW;cAAEC,YAAA,EAAc,IAAIC,IAAA;YAAO;UAAE;QAE9C;MACF;MAEA/B,cAAA,GAAiB,IAAIC,GAAA,CACnBsB,SAAA,CACGS,GAAG,CAAEC,GAAA,IAAQA,GAAC,CAAwCR,KAAK,EAAES,MAAA,EAC7DC,MAAM,CAAEC,KAAA,IAA2BC,OAAA,CAAQD,KAAA;MAGhDrC,QAAA,GAAWA,QAAA,CAASiC,GAAG,CAAEM,MAAA,KAAY;QACnC,GAAGA,MAAM;QACTC,WAAA,EAAavC,cAAA,CAAewC,GAAG,CAACF,MAAA,CAAO3B,IAAI;MAC7C;IACF;EACF,EAAE,OAAO8B,IAAA,EAAM;IACb;IACA;IACA;IACA1C,QAAA,GAAW,EAAE;EACf;EAEA;EACA;EACA;EACA,MAAM2C,YAAA,GAAexD,aAAA,CAAcO,GAAA;EAEnC;EACA;EACA;EACA;EACA,MAAMkD,mBAAA,GACJD,YAAA,KAAiBtD,WAAA,IAAe,CAACW,QAAA,CAAS6C,IAAI,CAAC,CAAC;IAAEjC;EAAI,CAAE,KAAKA,IAAA,KAAS+B,YAAA;EAExE,oBACEG,IAAA,CAACvD,cAAA;IACCoD,YAAA,EAAcC,mBAAA,GAAsBvD,WAAA,GAAcsD,YAAA;IAClD3C,QAAA,EAAUA,QAAA;IACV+C,WAAA,EAAaH,mBAAA,GAAsBD,YAAA,GAAe;cAEjDlD;;AAGP","ignoreList":[]}
@@ -1,14 +0,0 @@
1
- import type { AdminPreferences, PayloadRequest } from 'payload';
2
- /**
3
- * Reads the `admin` preference — state global to the admin panel, the active
4
- * content branch included.
5
- *
6
- * Every consumer goes through here rather than querying the key itself, so they
7
- * all reach `getPreferences`' cache with identical arguments. That is what makes
8
- * the branch resolution in `initReq` and the nav render share a single query
9
- * instead of issuing one each.
10
- */
11
- export declare function getAdminPreferences({ req, }: {
12
- req: PayloadRequest;
13
- }): Promise<AdminPreferences>;
14
- //# sourceMappingURL=getAdminPreferences.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getAdminPreferences.d.ts","sourceRoot":"","sources":["../../src/utilities/getAdminPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAQ/D;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,GAAG,GACJ,EAAE;IACD,GAAG,EAAE,cAAc,CAAA;CACpB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAa5B"}
@@ -1,22 +0,0 @@
1
- import { PREFERENCE_KEYS } from 'payload/shared';
2
- import { getPreferences } from './getPreferences.js';
3
- const empty = {};
4
- /**
5
- * Reads the `admin` preference — state global to the admin panel, the active
6
- * content branch included.
7
- *
8
- * Every consumer goes through here rather than querying the key itself, so they
9
- * all reach `getPreferences`' cache with identical arguments. That is what makes
10
- * the branch resolution in `initReq` and the nav render share a single query
11
- * instead of issuing one each.
12
- */
13
- export async function getAdminPreferences({
14
- req
15
- }) {
16
- if (!req.user?.id || !req.user.collection) {
17
- return empty;
18
- }
19
- const preference = await getPreferences(PREFERENCE_KEYS.ADMIN, req.payload, req.user.id, req.user.collection);
20
- return preference?.value ?? empty;
21
- }
22
- //# sourceMappingURL=getAdminPreferences.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getAdminPreferences.js","names":["PREFERENCE_KEYS","getPreferences","empty","getAdminPreferences","req","user","id","collection","preference","ADMIN","payload","value"],"sources":["../../src/utilities/getAdminPreferences.ts"],"sourcesContent":["import type { AdminPreferences, PayloadRequest } from 'payload'\n\nimport { PREFERENCE_KEYS } from 'payload/shared'\n\nimport { getPreferences } from './getPreferences.js'\n\nconst empty: AdminPreferences = {}\n\n/**\n * Reads the `admin` preference — state global to the admin panel, the active\n * content branch included.\n *\n * Every consumer goes through here rather than querying the key itself, so they\n * all reach `getPreferences`' cache with identical arguments. That is what makes\n * the branch resolution in `initReq` and the nav render share a single query\n * instead of issuing one each.\n */\nexport async function getAdminPreferences({\n req,\n}: {\n req: PayloadRequest\n}): Promise<AdminPreferences> {\n if (!req.user?.id || !req.user.collection) {\n return empty\n }\n\n const preference = await getPreferences<AdminPreferences>(\n PREFERENCE_KEYS.ADMIN,\n req.payload,\n req.user.id,\n req.user.collection,\n )\n\n return preference?.value ?? empty\n}\n"],"mappings":"AAEA,SAASA,eAAe,QAAQ;AAEhC,SAASC,cAAc,QAAQ;AAE/B,MAAMC,KAAA,GAA0B,CAAC;AAEjC;;;;;;;;;AASA,OAAO,eAAeC,oBAAoB;EACxCC;AAAG,CAGJ;EACC,IAAI,CAACA,GAAA,CAAIC,IAAI,EAAEC,EAAA,IAAM,CAACF,GAAA,CAAIC,IAAI,CAACE,UAAU,EAAE;IACzC,OAAOL,KAAA;EACT;EAEA,MAAMM,UAAA,GAAa,MAAMP,cAAA,CACvBD,eAAA,CAAgBS,KAAK,EACrBL,GAAA,CAAIM,OAAO,EACXN,GAAA,CAAIC,IAAI,CAACC,EAAE,EACXF,GAAA,CAAIC,IAAI,CAACE,UAAU;EAGrB,OAAOC,UAAA,EAAYG,KAAA,IAAST,KAAA;AAC9B","ignoreList":[]}
@@ -1,20 +0,0 @@
1
- import type { PayloadRequest } from 'payload';
2
- /**
3
- * Resolves the branch for an admin panel render.
4
- *
5
- * The branch is an ordinary operation argument everywhere else in Payload —
6
- * core never reads it from storage, so an API request that passes no branch is
7
- * simply on `main`. The admin panel is the one place that has to turn a
8
- * persisted choice into that argument, which is what this does, mirroring
9
- * `getRequestLocale`.
10
- *
11
- * The preference is read only when the request carries no branch of its own, and
12
- * only for a logged-in user. It lives in the `admin` preference alongside the
13
- * rest of the panel's global state, which the nav already reads on every render,
14
- * so resolving the branch costs no query of its own — and nothing at all for
15
- * front-end traffic.
16
- */
17
- export declare function getRequestBranch({ req }: {
18
- req: PayloadRequest;
19
- }): Promise<string>;
20
- //# sourceMappingURL=getRequestBranch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getRequestBranch.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestBranch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAM7C;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAcxF"}
@@ -1,35 +0,0 @@
1
- import { MAIN_BRANCH } from 'payload/shared';
2
- import { getAdminPreferences } from './getAdminPreferences.js';
3
- /**
4
- * Resolves the branch for an admin panel render.
5
- *
6
- * The branch is an ordinary operation argument everywhere else in Payload —
7
- * core never reads it from storage, so an API request that passes no branch is
8
- * simply on `main`. The admin panel is the one place that has to turn a
9
- * persisted choice into that argument, which is what this does, mirroring
10
- * `getRequestLocale`.
11
- *
12
- * The preference is read only when the request carries no branch of its own, and
13
- * only for a logged-in user. It lives in the `admin` preference alongside the
14
- * rest of the panel's global state, which the nav already reads on every render,
15
- * so resolving the branch costs no query of its own — and nothing at all for
16
- * front-end traffic.
17
- */
18
- export async function getRequestBranch({
19
- req
20
- }) {
21
- if (!req.payload.config.branching?.enabled) {
22
- return MAIN_BRANCH;
23
- }
24
- const branchFromParams = req.query?.branch;
25
- if (branchFromParams) {
26
- return branchFromParams;
27
- }
28
- const {
29
- branch
30
- } = await getAdminPreferences({
31
- req
32
- });
33
- return typeof branch === 'string' && branch ? branch : MAIN_BRANCH;
34
- }
35
- //# sourceMappingURL=getRequestBranch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getRequestBranch.js","names":["MAIN_BRANCH","getAdminPreferences","getRequestBranch","req","payload","config","branching","enabled","branchFromParams","query","branch"],"sources":["../../src/utilities/getRequestBranch.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { MAIN_BRANCH } from 'payload/shared'\n\nimport { getAdminPreferences } from './getAdminPreferences.js'\n\n/**\n * Resolves the branch for an admin panel render.\n *\n * The branch is an ordinary operation argument everywhere else in Payload —\n * core never reads it from storage, so an API request that passes no branch is\n * simply on `main`. The admin panel is the one place that has to turn a\n * persisted choice into that argument, which is what this does, mirroring\n * `getRequestLocale`.\n *\n * The preference is read only when the request carries no branch of its own, and\n * only for a logged-in user. It lives in the `admin` preference alongside the\n * rest of the panel's global state, which the nav already reads on every render,\n * so resolving the branch costs no query of its own — and nothing at all for\n * front-end traffic.\n */\nexport async function getRequestBranch({ req }: { req: PayloadRequest }): Promise<string> {\n if (!req.payload.config.branching?.enabled) {\n return MAIN_BRANCH\n }\n\n const branchFromParams = req.query?.branch as string | undefined\n\n if (branchFromParams) {\n return branchFromParams\n }\n\n const { branch } = await getAdminPreferences({ req })\n\n return typeof branch === 'string' && branch ? branch : MAIN_BRANCH\n}\n"],"mappings":"AAEA,SAASA,WAAW,QAAQ;AAE5B,SAASC,mBAAmB,QAAQ;AAEpC;;;;;;;;;;;;;;;AAeA,OAAO,eAAeC,iBAAiB;EAAEC;AAAG,CAA2B;EACrE,IAAI,CAACA,GAAA,CAAIC,OAAO,CAACC,MAAM,CAACC,SAAS,EAAEC,OAAA,EAAS;IAC1C,OAAOP,WAAA;EACT;EAEA,MAAMQ,gBAAA,GAAmBL,GAAA,CAAIM,KAAK,EAAEC,MAAA;EAEpC,IAAIF,gBAAA,EAAkB;IACpB,OAAOA,gBAAA;EACT;EAEA,MAAM;IAAEE;EAAM,CAAE,GAAG,MAAMT,mBAAA,CAAoB;IAAEE;EAAI;EAEnD,OAAO,OAAOO,MAAA,KAAW,YAAYA,MAAA,GAASA,MAAA,GAASV,WAAA;AACzD","ignoreList":[]}
@@ -1,12 +0,0 @@
1
- /**
2
- * Matches a label against a search query. Single-character queries only match
3
- * the start of a word, keeping single-letter searches low-noise; queries of two
4
- * or more characters match anywhere in the label.
5
- *
6
- * Shared by every in-popup search so they all filter alike.
7
- */
8
- export declare function matchesSearchQuery({ label, query }: {
9
- label: string;
10
- query: string;
11
- }): boolean;
12
- //# sourceMappingURL=matchesSearchQuery.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"matchesSearchQuery.d.ts","sourceRoot":"","sources":["../../src/utilities/matchesSearchQuery.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAc9F"}
@@ -1,23 +0,0 @@
1
- const WORD_SPLIT_REGEX = /[^\p{L}\p{N}]+/u;
2
- /**
3
- * Matches a label against a search query. Single-character queries only match
4
- * the start of a word, keeping single-letter searches low-noise; queries of two
5
- * or more characters match anywhere in the label.
6
- *
7
- * Shared by every in-popup search so they all filter alike.
8
- */
9
- export function matchesSearchQuery({
10
- label,
11
- query
12
- }) {
13
- const normalizedQuery = query.trim().toLowerCase();
14
- if (!normalizedQuery) {
15
- return true;
16
- }
17
- const normalizedLabel = label.toLowerCase();
18
- if (normalizedQuery.length === 1) {
19
- return normalizedLabel.split(WORD_SPLIT_REGEX).some(word => word.startsWith(normalizedQuery));
20
- }
21
- return normalizedLabel.includes(normalizedQuery);
22
- }
23
- //# sourceMappingURL=matchesSearchQuery.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"matchesSearchQuery.js","names":["WORD_SPLIT_REGEX","matchesSearchQuery","label","query","normalizedQuery","trim","toLowerCase","normalizedLabel","length","split","some","word","startsWith","includes"],"sources":["../../src/utilities/matchesSearchQuery.ts"],"sourcesContent":["const WORD_SPLIT_REGEX = /[^\\p{L}\\p{N}]+/u\n\n/**\n * Matches a label against a search query. Single-character queries only match\n * the start of a word, keeping single-letter searches low-noise; queries of two\n * or more characters match anywhere in the label.\n *\n * Shared by every in-popup search so they all filter alike.\n */\nexport function matchesSearchQuery({ label, query }: { label: string; query: string }): boolean {\n const normalizedQuery = query.trim().toLowerCase()\n\n if (!normalizedQuery) {\n return true\n }\n\n const normalizedLabel = label.toLowerCase()\n\n if (normalizedQuery.length === 1) {\n return normalizedLabel.split(WORD_SPLIT_REGEX).some((word) => word.startsWith(normalizedQuery))\n }\n\n return normalizedLabel.includes(normalizedQuery)\n}\n"],"mappings":"AAAA,MAAMA,gBAAA,GAAmB;AAEzB;;;;;;;AAOA,OAAO,SAASC,mBAAmB;EAAEC,KAAK;EAAEC;AAAK,CAAoC;EACnF,MAAMC,eAAA,GAAkBD,KAAA,CAAME,IAAI,GAAGC,WAAW;EAEhD,IAAI,CAACF,eAAA,EAAiB;IACpB,OAAO;EACT;EAEA,MAAMG,eAAA,GAAkBL,KAAA,CAAMI,WAAW;EAEzC,IAAIF,eAAA,CAAgBI,MAAM,KAAK,GAAG;IAChC,OAAOD,eAAA,CAAgBE,KAAK,CAACT,gBAAA,EAAkBU,IAAI,CAAEC,IAAA,IAASA,IAAA,CAAKC,UAAU,CAACR,eAAA;EAChF;EAEA,OAAOG,eAAA,CAAgBM,QAAQ,CAACT,eAAA;AAClC","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"matchesSearchQuery.spec.js","names":["describe","expect","it","matchesSearchQuery","label","query","toBe"],"sources":["../../src/utilities/matchesSearchQuery.spec.ts"],"sourcesContent":["import { describe, expect, it } from 'vitest'\n\nimport { matchesSearchQuery } from './matchesSearchQuery.js'\n\ndescribe('matchesSearchQuery', () => {\n it('matches everything when the query is empty', () => {\n expect(matchesSearchQuery({ label: 'Published Date', query: '' })).toBe(true)\n })\n\n it('matches everything when the query is only whitespace', () => {\n expect(matchesSearchQuery({ label: 'Published Date', query: ' ' })).toBe(true)\n })\n\n describe('single-character queries', () => {\n it('matches the start of the label', () => {\n expect(matchesSearchQuery({ label: 'Published Date', query: 'p' })).toBe(true)\n })\n\n it('matches the start of a later word', () => {\n expect(matchesSearchQuery({ label: 'Published Date', query: 'd' })).toBe(true)\n })\n\n it('matches the start of a word after a nested-label separator', () => {\n expect(matchesSearchQuery({ label: 'Meta > Title', query: 't' })).toBe(true)\n })\n\n it('is case-insensitive', () => {\n expect(matchesSearchQuery({ label: 'Published Date', query: 'P' })).toBe(true)\n })\n\n it('does not match a character in the middle of a word', () => {\n expect(matchesSearchQuery({ label: 'Published Date', query: 'u' })).toBe(false)\n })\n\n it('returns false when no word starts with the character', () => {\n expect(matchesSearchQuery({ label: 'Published Date', query: 'z' })).toBe(false)\n })\n\n it('matches the start of a non-Latin label', () => {\n expect(matchesSearchQuery({ label: 'Пользователь', query: 'п' })).toBe(true)\n })\n })\n\n describe('multi-character queries', () => {\n it('matches a substring in the middle of the label', () => {\n expect(matchesSearchQuery({ label: 'Published Date', query: 'ish' })).toBe(true)\n })\n\n it('matches across a word boundary', () => {\n expect(matchesSearchQuery({ label: 'Published Date', query: 'd da' })).toBe(true)\n })\n\n it('is case-insensitive', () => {\n expect(matchesSearchQuery({ label: 'Published Date', query: 'DATE' })).toBe(true)\n })\n\n it('returns false when the substring is not present', () => {\n expect(matchesSearchQuery({ label: 'Published Date', query: 'zzz' })).toBe(false)\n })\n })\n})\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ;AAErC,SAASC,kBAAkB,QAAQ;AAEnCH,QAAA,CAAS,sBAAsB;EAC7BE,EAAA,CAAG,8CAA8C;IAC/CD,MAAA,CAAOE,kBAAA,CAAmB;MAAEC,KAAA,EAAO;MAAkBC,KAAA,EAAO;IAAG,IAAIC,IAAI,CAAC;EAC1E;EAEAJ,EAAA,CAAG,wDAAwD;IACzDD,MAAA,CAAOE,kBAAA,CAAmB;MAAEC,KAAA,EAAO;MAAkBC,KAAA,EAAO;IAAM,IAAIC,IAAI,CAAC;EAC7E;EAEAN,QAAA,CAAS,4BAA4B;IACnCE,EAAA,CAAG,kCAAkC;MACnCD,MAAA,CAAOE,kBAAA,CAAmB;QAAEC,KAAA,EAAO;QAAkBC,KAAA,EAAO;MAAI,IAAIC,IAAI,CAAC;IAC3E;IAEAJ,EAAA,CAAG,qCAAqC;MACtCD,MAAA,CAAOE,kBAAA,CAAmB;QAAEC,KAAA,EAAO;QAAkBC,KAAA,EAAO;MAAI,IAAIC,IAAI,CAAC;IAC3E;IAEAJ,EAAA,CAAG,8DAA8D;MAC/DD,MAAA,CAAOE,kBAAA,CAAmB;QAAEC,KAAA,EAAO;QAAgBC,KAAA,EAAO;MAAI,IAAIC,IAAI,CAAC;IACzE;IAEAJ,EAAA,CAAG,uBAAuB;MACxBD,MAAA,CAAOE,kBAAA,CAAmB;QAAEC,KAAA,EAAO;QAAkBC,KAAA,EAAO;MAAI,IAAIC,IAAI,CAAC;IAC3E;IAEAJ,EAAA,CAAG,sDAAsD;MACvDD,MAAA,CAAOE,kBAAA,CAAmB;QAAEC,KAAA,EAAO;QAAkBC,KAAA,EAAO;MAAI,IAAIC,IAAI,CAAC;IAC3E;IAEAJ,EAAA,CAAG,wDAAwD;MACzDD,MAAA,CAAOE,kBAAA,CAAmB;QAAEC,KAAA,EAAO;QAAkBC,KAAA,EAAO;MAAI,IAAIC,IAAI,CAAC;IAC3E;IAEAJ,EAAA,CAAG,0CAA0C;MAC3CD,MAAA,CAAOE,kBAAA,CAAmB;QAAEC,KAAA,EAAO;QAAgBC,KAAA,EAAO;MAAI,IAAIC,IAAI,CAAC;IACzE;EACF;EAEAN,QAAA,CAAS,2BAA2B;IAClCE,EAAA,CAAG,kDAAkD;MACnDD,MAAA,CAAOE,kBAAA,CAAmB;QAAEC,KAAA,EAAO;QAAkBC,KAAA,EAAO;MAAM,IAAIC,IAAI,CAAC;IAC7E;IAEAJ,EAAA,CAAG,kCAAkC;MACnCD,MAAA,CAAOE,kBAAA,CAAmB;QAAEC,KAAA,EAAO;QAAkBC,KAAA,EAAO;MAAO,IAAIC,IAAI,CAAC;IAC9E;IAEAJ,EAAA,CAAG,uBAAuB;MACxBD,MAAA,CAAOE,kBAAA,CAAmB;QAAEC,KAAA,EAAO;QAAkBC,KAAA,EAAO;MAAO,IAAIC,IAAI,CAAC;IAC9E;IAEAJ,EAAA,CAAG,mDAAmD;MACpDD,MAAA,CAAOE,kBAAA,CAAmB;QAAEC,KAAA,EAAO;QAAkBC,KAAA,EAAO;MAAM,IAAIC,IAAI,CAAC;IAC7E;EACF;AACF","ignoreList":[]}
@@ -1,33 +0,0 @@
1
- import type { ServerFunction, Where } from 'payload';
2
- export type ScheduleMergeHandlerArgs = {
3
- /** `payload-branches` document ID, so read access can be checked before queueing. */
4
- branchID?: number | string;
5
- changes?: (number | string)[];
6
- closeBranch?: boolean;
7
- date?: Date | string;
8
- /** The job to cancel, instead of queueing one. */
9
- deleteID?: number | string;
10
- };
11
- /**
12
- * Queues — or cancels — a merge to run at an appointed time.
13
- *
14
- * The counterpart of `schedulePublishHandler`, and deliberately the same shape: a
15
- * `payload-jobs` row with `waitUntil` and the user who formed the intent, fired by
16
- * whatever runs the queue.
17
- *
18
- * Access is checked twice, in two different senses. Here, that the caller can reach
19
- * the branch at all; and again when the job fires, where the per-document preflight
20
- * runs as the stored user (§13). Queue-time permission is not evidence of fire-time
21
- * permission, and the merge is the write that matters.
22
- */
23
- export declare const scheduleMergeHandler: ServerFunction<ScheduleMergeHandlerArgs>;
24
- /**
25
- * The `where` for a branch's upcoming scheduled merges.
26
- *
27
- * Mirrors `buildUpcomingScheduleWhere`: same collection, same shape, filtered on the
28
- * branch slug carried in the job's input.
29
- */
30
- export declare const buildUpcomingMergeWhere: ({ branchSlug }: {
31
- branchSlug: string;
32
- }) => Where;
33
- //# sourceMappingURL=scheduleMergeHandler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduleMergeHandler.d.ts","sourceRoot":"","sources":["../../src/utilities/scheduleMergeHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAKpD,MAAM,MAAM,wBAAwB,GAAG;IACrC,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IACpB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAC3B,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,wBAAwB,CAqEzE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,mBAAoB;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,KAAG,KAM/E,CAAA"}
@@ -1,119 +0,0 @@
1
- import { canAccessAdmin } from 'payload';
2
- import { branchesCollectionSlug } from 'payload/shared';
3
- /**
4
- * Queues — or cancels — a merge to run at an appointed time.
5
- *
6
- * The counterpart of `schedulePublishHandler`, and deliberately the same shape: a
7
- * `payload-jobs` row with `waitUntil` and the user who formed the intent, fired by
8
- * whatever runs the queue.
9
- *
10
- * Access is checked twice, in two different senses. Here, that the caller can reach
11
- * the branch at all; and again when the job fires, where the per-document preflight
12
- * runs as the stored user (§13). Queue-time permission is not evidence of fire-time
13
- * permission, and the merge is the write that matters.
14
- */
15
- export const scheduleMergeHandler = async ({
16
- branchID,
17
- changes,
18
- closeBranch,
19
- date,
20
- deleteID,
21
- req
22
- }) => {
23
- const {
24
- i18n,
25
- payload,
26
- user
27
- } = req;
28
- await canAccessAdmin({
29
- req
30
- });
31
- try {
32
- if (deleteID) {
33
- await payload.delete({
34
- collection: 'payload-jobs',
35
- req,
36
- where: {
37
- id: {
38
- equals: deleteID
39
- }
40
- }
41
- });
42
- return {
43
- message: i18n.t('general:success')
44
- };
45
- }
46
- if (!branchID || !date) {
47
- return {
48
- error: 'A branch and a date are both required to schedule a merge.'
49
- };
50
- }
51
- const branchDoc = await payload.findByID({
52
- id: branchID,
53
- collection: branchesCollectionSlug,
54
- depth: 0,
55
- disableErrors: true,
56
- overrideAccess: false,
57
- req,
58
- user
59
- });
60
- if (!branchDoc) {
61
- return {
62
- error: 'Branch not found.'
63
- };
64
- }
65
- // A closed branch takes no further merges, so it must not take a promise of one
66
- // either — the job would fail at fire time with nobody watching.
67
- if (branchDoc.status === 'closed') {
68
- return {
69
- error: 'This branch is closed and cannot be merged.'
70
- };
71
- }
72
- await payload.jobs.queue({
73
- input: {
74
- branch: branchDoc.slug,
75
- changes: changes?.map(String),
76
- closeBranch: Boolean(closeBranch),
77
- user: user.id
78
- },
79
- req,
80
- task: 'scheduleMerge',
81
- waitUntil: date instanceof Date ? date : new Date(date)
82
- });
83
- return {
84
- message: i18n.t('general:success')
85
- };
86
- } catch (err) {
87
- const error = deleteID ? `Error cancelling scheduled merge ${deleteID}` : `Error scheduling merge of branch ${branchID}`;
88
- payload.logger.error({
89
- err
90
- }, error);
91
- return {
92
- error
93
- };
94
- }
95
- };
96
- /**
97
- * The `where` for a branch's upcoming scheduled merges.
98
- *
99
- * Mirrors `buildUpcomingScheduleWhere`: same collection, same shape, filtered on the
100
- * branch slug carried in the job's input.
101
- */
102
- export const buildUpcomingMergeWhere = ({
103
- branchSlug
104
- }) => ({
105
- and: [{
106
- taskSlug: {
107
- equals: 'scheduleMerge'
108
- }
109
- }, {
110
- waitUntil: {
111
- greater_than: new Date()
112
- }
113
- }, {
114
- 'input.branch': {
115
- equals: branchSlug
116
- }
117
- }]
118
- });
119
- //# sourceMappingURL=scheduleMergeHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduleMergeHandler.js","names":["canAccessAdmin","branchesCollectionSlug","scheduleMergeHandler","branchID","changes","closeBranch","date","deleteID","req","i18n","payload","user","delete","collection","where","id","equals","message","t","error","branchDoc","findByID","depth","disableErrors","overrideAccess","status","jobs","queue","input","branch","slug","map","String","Boolean","task","waitUntil","Date","err","logger","buildUpcomingMergeWhere","branchSlug","and","taskSlug","greater_than"],"sources":["../../src/utilities/scheduleMergeHandler.ts"],"sourcesContent":["import type { ServerFunction, Where } from 'payload'\n\nimport { canAccessAdmin } from 'payload'\nimport { branchesCollectionSlug } from 'payload/shared'\n\nexport type ScheduleMergeHandlerArgs = {\n /** `payload-branches` document ID, so read access can be checked before queueing. */\n branchID?: number | string\n changes?: (number | string)[]\n closeBranch?: boolean\n date?: Date | string\n /** The job to cancel, instead of queueing one. */\n deleteID?: number | string\n}\n\n/**\n * Queues — or cancels — a merge to run at an appointed time.\n *\n * The counterpart of `schedulePublishHandler`, and deliberately the same shape: a\n * `payload-jobs` row with `waitUntil` and the user who formed the intent, fired by\n * whatever runs the queue.\n *\n * Access is checked twice, in two different senses. Here, that the caller can reach\n * the branch at all; and again when the job fires, where the per-document preflight\n * runs as the stored user (§13). Queue-time permission is not evidence of fire-time\n * permission, and the merge is the write that matters.\n */\nexport const scheduleMergeHandler: ServerFunction<ScheduleMergeHandlerArgs> = async ({\n branchID,\n changes,\n closeBranch,\n date,\n deleteID,\n req,\n}) => {\n const { i18n, payload, user } = req\n\n await canAccessAdmin({ req })\n\n try {\n if (deleteID) {\n await payload.delete({\n collection: 'payload-jobs',\n req,\n where: { id: { equals: deleteID } },\n })\n\n return { message: i18n.t('general:success') }\n }\n\n if (!branchID || !date) {\n return { error: 'A branch and a date are both required to schedule a merge.' }\n }\n\n const branchDoc = await payload.findByID({\n id: branchID,\n collection: branchesCollectionSlug,\n depth: 0,\n disableErrors: true,\n overrideAccess: false,\n req,\n user,\n })\n\n if (!branchDoc) {\n return { error: 'Branch not found.' }\n }\n\n // A closed branch takes no further merges, so it must not take a promise of one\n // either — the job would fail at fire time with nobody watching.\n if (branchDoc.status === 'closed') {\n return { error: 'This branch is closed and cannot be merged.' }\n }\n\n await payload.jobs.queue({\n input: {\n branch: branchDoc.slug as string,\n changes: changes?.map(String),\n closeBranch: Boolean(closeBranch),\n user: user.id,\n },\n req,\n task: 'scheduleMerge',\n waitUntil: date instanceof Date ? date : new Date(date),\n })\n\n return { message: i18n.t('general:success') }\n } catch (err) {\n const error = deleteID\n ? `Error cancelling scheduled merge ${deleteID}`\n : `Error scheduling merge of branch ${branchID}`\n\n payload.logger.error({ err }, error)\n\n return { error }\n }\n}\n\n/**\n * The `where` for a branch's upcoming scheduled merges.\n *\n * Mirrors `buildUpcomingScheduleWhere`: same collection, same shape, filtered on the\n * branch slug carried in the job's input.\n */\nexport const buildUpcomingMergeWhere = ({ branchSlug }: { branchSlug: string }): Where => ({\n and: [\n { taskSlug: { equals: 'scheduleMerge' } },\n { waitUntil: { greater_than: new Date() } },\n { 'input.branch': { equals: branchSlug } },\n ],\n})\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ;AAC/B,SAASC,sBAAsB,QAAQ;AAYvC;;;;;;;;;;;;AAYA,OAAO,MAAMC,oBAAA,GAAiE,MAAAA,CAAO;EACnFC,QAAQ;EACRC,OAAO;EACPC,WAAW;EACXC,IAAI;EACJC,QAAQ;EACRC;AAAG,CACJ;EACC,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAI,CAAE,GAAGH,GAAA;EAEhC,MAAMR,cAAA,CAAe;IAAEQ;EAAI;EAE3B,IAAI;IACF,IAAID,QAAA,EAAU;MACZ,MAAMG,OAAA,CAAQE,MAAM,CAAC;QACnBC,UAAA,EAAY;QACZL,GAAA;QACAM,KAAA,EAAO;UAAEC,EAAA,EAAI;YAAEC,MAAA,EAAQT;UAAS;QAAE;MACpC;MAEA,OAAO;QAAEU,OAAA,EAASR,IAAA,CAAKS,CAAC,CAAC;MAAmB;IAC9C;IAEA,IAAI,CAACf,QAAA,IAAY,CAACG,IAAA,EAAM;MACtB,OAAO;QAAEa,KAAA,EAAO;MAA6D;IAC/E;IAEA,MAAMC,SAAA,GAAY,MAAMV,OAAA,CAAQW,QAAQ,CAAC;MACvCN,EAAA,EAAIZ,QAAA;MACJU,UAAA,EAAYZ,sBAAA;MACZqB,KAAA,EAAO;MACPC,aAAA,EAAe;MACfC,cAAA,EAAgB;MAChBhB,GAAA;MACAG;IACF;IAEA,IAAI,CAACS,SAAA,EAAW;MACd,OAAO;QAAED,KAAA,EAAO;MAAoB;IACtC;IAEA;IACA;IACA,IAAIC,SAAA,CAAUK,MAAM,KAAK,UAAU;MACjC,OAAO;QAAEN,KAAA,EAAO;MAA8C;IAChE;IAEA,MAAMT,OAAA,CAAQgB,IAAI,CAACC,KAAK,CAAC;MACvBC,KAAA,EAAO;QACLC,MAAA,EAAQT,SAAA,CAAUU,IAAI;QACtB1B,OAAA,EAASA,OAAA,EAAS2B,GAAA,CAAIC,MAAA;QACtB3B,WAAA,EAAa4B,OAAA,CAAQ5B,WAAA;QACrBM,IAAA,EAAMA,IAAA,CAAKI;MACb;MACAP,GAAA;MACA0B,IAAA,EAAM;MACNC,SAAA,EAAW7B,IAAA,YAAgB8B,IAAA,GAAO9B,IAAA,GAAO,IAAI8B,IAAA,CAAK9B,IAAA;IACpD;IAEA,OAAO;MAAEW,OAAA,EAASR,IAAA,CAAKS,CAAC,CAAC;IAAmB;EAC9C,EAAE,OAAOmB,GAAA,EAAK;IACZ,MAAMlB,KAAA,GAAQZ,QAAA,GACV,oCAAoCA,QAAA,EAAU,GAC9C,oCAAoCJ,QAAA,EAAU;IAElDO,OAAA,CAAQ4B,MAAM,CAACnB,KAAK,CAAC;MAAEkB;IAAI,GAAGlB,KAAA;IAE9B,OAAO;MAAEA;IAAM;EACjB;AACF;AAEA;;;;;;AAMA,OAAO,MAAMoB,uBAAA,GAA0BA,CAAC;EAAEC;AAAU,CAA0B,MAAa;EACzFC,GAAA,EAAK,CACH;IAAEC,QAAA,EAAU;MAAE1B,MAAA,EAAQ;IAAgB;EAAE,GACxC;IAAEmB,SAAA,EAAW;MAAEQ,YAAA,EAAc,IAAIP,IAAA;IAAO;EAAE,GAC1C;IAAE,gBAAgB;MAAEpB,MAAA,EAAQwB;IAAW;EAAE;AAE7C","ignoreList":[]}
@@ -1,23 +0,0 @@
1
- import React from 'react';
2
- import type { BranchChange } from '../ChangedDocuments/index.js';
3
- import type { MergeEvent } from '../MergeLedger/index.js';
4
- import type { ScheduledMerge } from '../ScheduledMerges/index.js';
5
- /**
6
- * The branch's changes, and the action that applies them.
7
- *
8
- * The two live in one client component because the selection connects them: the
9
- * checkboxes decide what "merge" means, so the state cannot sit inside the list
10
- * while the button sits outside it.
11
- */
12
- export declare const BranchChanges: React.FC<{
13
- branchID: number | string;
14
- branchName: string;
15
- branchSlug: string;
16
- changes: BranchChange[];
17
- historyPage?: number;
18
- historyTotalPages?: number;
19
- isClosed?: boolean;
20
- mergeEvents?: MergeEvent[];
21
- scheduledMerges?: ScheduledMerge[];
22
- }>;
23
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Branch/BranchChanges/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAyC,MAAM,OAAO,CAAA;AAE7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAajE;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;IAC1B,eAAe,CAAC,EAAE,cAAc,EAAE,CAAA;CACnC,CA0KA,CAAA"}