@payloadcms/ui 4.0.0-internal.40de3ec → 4.0.0-internal.41055b1

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 (1069) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/css/colors.css +6 -0
  3. package/dist/css/design-tokens.css +5 -0
  4. package/dist/css/elevations.css +4 -0
  5. package/dist/css/forms.css +6 -3
  6. package/dist/css/radius.css +1 -3
  7. package/dist/css/theme.css +6 -1
  8. package/dist/css/utilities.css +7 -1
  9. package/dist/elements/APIKeyInput/index.css +92 -0
  10. package/dist/elements/APIKeyInput/index.d.ts +14 -0
  11. package/dist/elements/APIKeyInput/index.d.ts.map +1 -0
  12. package/dist/elements/APIKeyInput/index.js +86 -0
  13. package/dist/elements/APIKeyInput/index.js.map +1 -0
  14. package/dist/elements/AddNewRelation/index.css +28 -28
  15. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  16. package/dist/elements/AddNewRelation/index.js +85 -103
  17. package/dist/elements/AddNewRelation/index.js.map +1 -1
  18. package/dist/elements/AppHeader/index.css +2 -15
  19. package/dist/elements/AppHeader/index.d.ts +4 -1
  20. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  21. package/dist/elements/AppHeader/index.js +17 -32
  22. package/dist/elements/AppHeader/index.js.map +1 -1
  23. package/dist/elements/ArrayAction/index.js +2 -2
  24. package/dist/elements/ArrayAction/index.js.map +1 -1
  25. package/dist/elements/BulkUpload/ActionsBar/index.css +13 -11
  26. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +1 -5
  27. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  28. package/dist/elements/BulkUpload/ActionsBar/index.js +57 -61
  29. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/AddFilesView/index.css +14 -8
  31. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -2
  32. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  33. package/dist/elements/BulkUpload/AddFilesView/index.js +41 -36
  34. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  35. package/dist/elements/BulkUpload/AddingFilesView/index.css +177 -0
  36. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +6 -2
  37. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  38. package/dist/elements/BulkUpload/AddingFilesView/index.js +135 -66
  39. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  40. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
  41. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  42. package/dist/elements/BulkUpload/EditForm/index.css +9 -0
  43. package/dist/elements/BulkUpload/EditForm/index.d.ts +2 -2
  44. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  45. package/dist/elements/BulkUpload/EditForm/index.js +17 -18
  46. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  47. package/dist/elements/BulkUpload/EditForm/types.d.ts +2 -3
  48. package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -1
  49. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  50. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts +1 -1
  51. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  52. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +77 -59
  53. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  54. package/dist/elements/BulkUpload/EditMany/index.css +71 -0
  55. package/dist/elements/BulkUpload/EditMany/index.d.ts +1 -1
  56. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  57. package/dist/elements/BulkUpload/EditMany/index.js +29 -11
  58. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  59. package/dist/elements/BulkUpload/FileSidebar/index.css +79 -180
  60. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  61. package/dist/elements/BulkUpload/FileSidebar/index.js +42 -165
  62. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  63. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  64. package/dist/elements/BulkUpload/FormsManager/index.js +14 -1
  65. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  66. package/dist/elements/BulkUpload/index.css +48 -0
  67. package/dist/elements/BulkUpload/index.d.ts +6 -5
  68. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  69. package/dist/elements/BulkUpload/index.js +42 -41
  70. package/dist/elements/BulkUpload/index.js.map +1 -1
  71. package/dist/elements/Button/index.css +8 -0
  72. package/dist/elements/Button/index.d.ts.map +1 -1
  73. package/dist/elements/Button/index.js +5 -0
  74. package/dist/elements/Button/index.js.map +1 -1
  75. package/dist/elements/Card/index.css +1 -1
  76. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  77. package/dist/elements/ClipboardAction/index.js +1 -0
  78. package/dist/elements/ClipboardAction/index.js.map +1 -1
  79. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  80. package/dist/elements/CodeEditor/CodeEditor.js +19 -0
  81. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  82. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  83. package/dist/elements/Collapsible/index.js +2 -0
  84. package/dist/elements/Collapsible/index.js.map +1 -1
  85. package/dist/elements/ColumnSelection/Popup.d.ts +12 -0
  86. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -0
  87. package/dist/elements/{ColumnSelector/index.js → ColumnSelection/Popup.js} +30 -19
  88. package/dist/elements/ColumnSelection/Popup.js.map +1 -0
  89. package/dist/elements/ColumnSelection/index.d.ts +10 -0
  90. package/dist/elements/ColumnSelection/index.d.ts.map +1 -0
  91. package/dist/elements/{ColumnsButton → ColumnSelection}/index.js +23 -17
  92. package/dist/elements/ColumnSelection/index.js.map +1 -0
  93. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts +10 -0
  94. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts.map +1 -0
  95. package/dist/elements/ColumnSelection/matchesColumnSearch.js +21 -0
  96. package/dist/elements/ColumnSelection/matchesColumnSearch.js.map +1 -0
  97. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js +87 -0
  98. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +1 -0
  99. package/dist/elements/Combobox/index.css +1 -0
  100. package/dist/elements/ConfirmationModal/index.css +7 -0
  101. package/dist/elements/ConfirmationModal/index.d.ts +1 -0
  102. package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
  103. package/dist/elements/ConfirmationModal/index.js +7 -3
  104. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  105. package/dist/elements/CopyLocaleData/index.js +1 -1
  106. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  107. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  108. package/dist/elements/CreateDocumentButton/index.js +0 -1
  109. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  110. package/dist/elements/DatePicker/index.css +9 -9
  111. package/dist/elements/DatePicker/index.js +1 -1
  112. package/dist/elements/DatePicker/index.js.map +1 -1
  113. package/dist/elements/DeleteMany/index.d.ts +3 -26
  114. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  115. package/dist/elements/DeleteMany/index.js +1 -95
  116. package/dist/elements/DeleteMany/index.js.map +1 -1
  117. package/dist/elements/Dialog/DialogHeader/index.d.ts +4 -0
  118. package/dist/elements/Dialog/DialogHeader/index.d.ts.map +1 -1
  119. package/dist/elements/Dialog/DialogHeader/index.js +45 -30
  120. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
  121. package/dist/elements/Dialog/DialogModal/index.d.ts +6 -1
  122. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  123. package/dist/elements/Dialog/DialogModal/index.js +58 -31
  124. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  125. package/dist/elements/Dialog/DialogTitle/index.css +9 -0
  126. package/dist/elements/Dialog/DialogTitle/index.d.ts +5 -0
  127. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -0
  128. package/dist/elements/Dialog/DialogTitle/index.js +10 -0
  129. package/dist/elements/Dialog/DialogTitle/index.js.map +1 -0
  130. package/dist/elements/Dialog/index.css +10 -0
  131. package/dist/elements/DocumentControls/index.css +17 -3
  132. package/dist/elements/DocumentControls/index.d.ts +6 -0
  133. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  134. package/dist/elements/DocumentControls/index.js +20 -9
  135. package/dist/elements/DocumentControls/index.js.map +1 -1
  136. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  137. package/dist/elements/DocumentDrawer/DrawerContent.js +10 -6
  138. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  139. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +76 -4
  140. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +7 -1
  141. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  142. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +150 -87
  143. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  144. package/dist/elements/DocumentDrawer/types.d.ts +1 -0
  145. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  146. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  147. package/dist/elements/DocumentFields/index.css +75 -4
  148. package/dist/elements/DocumentFields/index.d.ts +5 -0
  149. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  150. package/dist/elements/DocumentFields/index.js +9 -1
  151. package/dist/elements/DocumentFields/index.js.map +1 -1
  152. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts +12 -0
  153. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts.map +1 -0
  154. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +28 -0
  155. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -0
  156. package/dist/elements/DocumentHeader/index.js +2 -3
  157. package/dist/elements/DocumentHeader/index.js.map +1 -1
  158. package/dist/elements/DraggableSortable/DragOverlayPreview/index.css +1 -1
  159. package/dist/elements/DraggableSortable/index.js.map +1 -1
  160. package/dist/elements/Drawer/index.css +57 -26
  161. package/dist/elements/Drawer/index.d.ts +25 -0
  162. package/dist/elements/Drawer/index.d.ts.map +1 -1
  163. package/dist/elements/Drawer/index.js +133 -54
  164. package/dist/elements/Drawer/index.js.map +1 -1
  165. package/dist/elements/Drawer/types.d.ts +1 -0
  166. package/dist/elements/Drawer/types.d.ts.map +1 -1
  167. package/dist/elements/Drawer/types.js.map +1 -1
  168. package/dist/elements/DrawerActionHeader/index.css +1 -1
  169. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.css +7 -1
  170. package/dist/elements/DrawerHeader/index.d.ts +10 -0
  171. package/dist/elements/DrawerHeader/index.d.ts.map +1 -0
  172. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.js +16 -11
  173. package/dist/elements/DrawerHeader/index.js.map +1 -0
  174. package/dist/elements/Dropzone/index.css +5 -13
  175. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +1 -1
  176. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  177. package/dist/elements/EditMany/DrawerContent.d.ts +1 -1
  178. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  179. package/dist/elements/EditMany/DrawerContent.js +76 -71
  180. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  181. package/dist/elements/EditMany/index.css +71 -0
  182. package/dist/elements/EditMany/index.d.ts +9 -11
  183. package/dist/elements/EditMany/index.d.ts.map +1 -1
  184. package/dist/elements/EditMany/index.js +2 -40
  185. package/dist/elements/EditMany/index.js.map +1 -1
  186. package/dist/elements/EditUpload/index.css +97 -158
  187. package/dist/elements/EditUpload/index.d.ts +2 -1
  188. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  189. package/dist/elements/EditUpload/index.js +209 -231
  190. package/dist/elements/EditUpload/index.js.map +1 -1
  191. package/dist/elements/EditUpload/{library.scss → library.css} +108 -46
  192. package/dist/elements/FieldSelect/index.css +3 -0
  193. package/dist/elements/FileDetails/DraggableFileDetails/index.css +32 -0
  194. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +2 -2
  195. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  196. package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -18
  197. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  198. package/dist/elements/FileDetails/FileMeta/index.css +27 -0
  199. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  200. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  201. package/dist/elements/FileDetails/FileMeta/index.js +1 -1
  202. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  203. package/dist/elements/FileDetails/StaticFileDetails/index.css +140 -0
  204. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +2 -2
  205. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  206. package/dist/elements/FileDetails/StaticFileDetails/index.js +1 -1
  207. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  208. package/dist/elements/FileDetails/index.d.ts +1 -1
  209. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  210. package/dist/elements/FileDetails/index.js.map +1 -1
  211. package/dist/elements/FileManager/FilePreview/AudioPreview/index.css +8 -0
  212. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts +10 -0
  213. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts.map +1 -0
  214. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js +24 -0
  215. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js.map +1 -0
  216. package/dist/elements/FileManager/FilePreview/PdfPreview/index.css +9 -0
  217. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts +12 -0
  218. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts.map +1 -0
  219. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js +27 -0
  220. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js.map +1 -0
  221. package/dist/elements/FileManager/FilePreview/VideoPreview/index.css +8 -0
  222. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts +10 -0
  223. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts.map +1 -0
  224. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js +24 -0
  225. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js.map +1 -0
  226. package/dist/elements/FileManager/FilePreview/index.css +83 -0
  227. package/dist/elements/FileManager/FilePreview/index.d.ts +13 -0
  228. package/dist/elements/FileManager/FilePreview/index.d.ts.map +1 -0
  229. package/dist/elements/FileManager/FilePreview/index.js +140 -0
  230. package/dist/elements/FileManager/FilePreview/index.js.map +1 -0
  231. package/dist/elements/FileManager/FileToolbar/index.css +91 -0
  232. package/dist/elements/FileManager/FileToolbar/index.d.ts +14 -0
  233. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -0
  234. package/dist/elements/FileManager/FileToolbar/index.js +106 -0
  235. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -0
  236. package/dist/elements/FileManager/index.css +154 -0
  237. package/dist/elements/FileManager/index.d.ts +19 -0
  238. package/dist/elements/FileManager/index.d.ts.map +1 -0
  239. package/dist/elements/FileManager/index.js +424 -0
  240. package/dist/elements/FileManager/index.js.map +1 -0
  241. package/dist/elements/GroupBy/Popup.d.ts +21 -0
  242. package/dist/elements/GroupBy/Popup.d.ts.map +1 -0
  243. package/dist/elements/GroupBy/Popup.js +268 -0
  244. package/dist/elements/GroupBy/Popup.js.map +1 -0
  245. package/dist/elements/GroupBy/index.d.ts +12 -0
  246. package/dist/elements/GroupBy/index.d.ts.map +1 -0
  247. package/dist/elements/GroupBy/index.js +91 -0
  248. package/dist/elements/GroupBy/index.js.map +1 -0
  249. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +5 -3
  250. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +1 -0
  251. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +1 -1
  252. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  253. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  254. package/dist/elements/Hierarchy/DocHeaderButton/index.js +12 -12
  255. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  256. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +36 -0
  257. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +1 -1
  258. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
  259. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +1 -1
  260. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
  261. package/dist/elements/Hierarchy/Field/index.client.d.ts +1 -1
  262. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  263. package/dist/elements/Hierarchy/Field/index.client.js +19 -16
  264. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  265. package/dist/elements/Hierarchy/Field/index.css +37 -0
  266. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -0
  267. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -0
  268. package/dist/elements/Hierarchy/Modal/index.css +88 -0
  269. package/dist/elements/Hierarchy/Modal/index.d.ts +20 -0
  270. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -0
  271. package/dist/elements/Hierarchy/{Drawer → Modal}/index.js +109 -83
  272. package/dist/elements/Hierarchy/Modal/index.js.map +1 -0
  273. package/dist/elements/Hierarchy/{Drawer → Modal}/types.d.ts +22 -18
  274. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -0
  275. package/dist/elements/Hierarchy/Modal/types.js.map +1 -0
  276. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts +30 -0
  277. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -0
  278. package/dist/elements/Hierarchy/{Drawer/useHierarchyDrawer.js → Modal/useHierarchyModal.js} +51 -50
  279. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -0
  280. package/dist/elements/Hierarchy/MoveMany/index.d.ts +2 -3
  281. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  282. package/dist/elements/Hierarchy/MoveMany/index.js +9 -10
  283. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  284. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +27 -0
  285. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +1 -1
  286. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +1 -1
  287. package/dist/elements/Hierarchy/Tree/LoadMore/index.js +1 -1
  288. package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +1 -1
  289. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  290. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +36 -16
  291. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  292. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +38 -13
  293. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  294. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +54 -43
  295. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  296. package/dist/elements/Hierarchy/Tree/index.css +1 -1
  297. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  298. package/dist/elements/Hierarchy/Tree/index.js +18 -5
  299. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  300. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  301. package/dist/elements/ListColumnSelectionButton/index.d.ts +11 -0
  302. package/dist/elements/ListColumnSelectionButton/index.d.ts.map +1 -0
  303. package/dist/elements/ListColumnSelectionButton/index.js +37 -0
  304. package/dist/elements/ListColumnSelectionButton/index.js.map +1 -0
  305. package/dist/elements/ListControls/index.css +5 -0
  306. package/dist/elements/ListControls/index.d.ts.map +1 -1
  307. package/dist/elements/ListControls/index.js +8 -9
  308. package/dist/elements/ListControls/index.js.map +1 -1
  309. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  310. package/dist/elements/ListDrawer/DrawerContent.js +13 -7
  311. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  312. package/dist/elements/ListDrawer/Provider.d.ts +1 -1
  313. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  314. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  315. package/dist/elements/ListGroupByButton/index.d.ts +12 -0
  316. package/dist/elements/ListGroupByButton/index.d.ts.map +1 -0
  317. package/dist/elements/ListGroupByButton/index.js +55 -0
  318. package/dist/elements/ListGroupByButton/index.js.map +1 -0
  319. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  320. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +2 -0
  321. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  322. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +4 -4
  323. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  324. package/dist/elements/ListWhereBuilder/index.d.ts +16 -0
  325. package/dist/elements/ListWhereBuilder/index.d.ts.map +1 -0
  326. package/dist/elements/ListWhereBuilder/index.js +62 -0
  327. package/dist/elements/ListWhereBuilder/index.js.map +1 -0
  328. package/dist/elements/LivePreview/Toolbar/Controls/index.js +2 -2
  329. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  330. package/dist/elements/LivePreview/Toolbar/SizeInput/index.css +5 -44
  331. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  332. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +26 -43
  333. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  334. package/dist/elements/LivePreview/Window/index.css +6 -0
  335. package/dist/elements/LoadMoreRow/index.css +34 -0
  336. package/dist/elements/LoadMoreRow/index.d.ts +1 -1
  337. package/dist/elements/LoadMoreRow/index.d.ts.map +1 -1
  338. package/dist/elements/LoadMoreRow/index.js +4 -8
  339. package/dist/elements/LoadMoreRow/index.js.map +1 -1
  340. package/dist/elements/Loading/index.css +28 -74
  341. package/dist/elements/Loading/index.d.ts.map +1 -1
  342. package/dist/elements/Loading/index.js +16 -60
  343. package/dist/elements/Loading/index.js.map +1 -1
  344. package/dist/elements/Localizer/index.d.ts.map +1 -1
  345. package/dist/elements/Localizer/index.js +3 -4
  346. package/dist/elements/Localizer/index.js.map +1 -1
  347. package/dist/elements/Locked/index.css +7 -4
  348. package/dist/elements/Locked/index.d.ts.map +1 -1
  349. package/dist/elements/Locked/index.js +66 -53
  350. package/dist/elements/Locked/index.js.map +1 -1
  351. package/dist/elements/MenuSeparator/index.d.ts +4 -0
  352. package/dist/elements/MenuSeparator/index.d.ts.map +1 -0
  353. package/dist/elements/MenuSeparator/index.js +10 -0
  354. package/dist/elements/MenuSeparator/index.js.map +1 -0
  355. package/dist/elements/MiniCarousel/index.css +94 -0
  356. package/dist/elements/MiniCarousel/index.d.ts +15 -0
  357. package/dist/elements/MiniCarousel/index.d.ts.map +1 -0
  358. package/dist/elements/MiniCarousel/index.js +84 -0
  359. package/dist/elements/MiniCarousel/index.js.map +1 -0
  360. package/dist/elements/Nav/SettingsMenuButton/index.css +5 -0
  361. package/dist/elements/Nav/SettingsMenuButton/index.d.ts +1 -1
  362. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  363. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -1
  364. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  365. package/dist/elements/Nav/index.css +2 -7
  366. package/dist/elements/Nav/index.d.ts.map +1 -1
  367. package/dist/elements/Nav/index.js +4 -23
  368. package/dist/elements/Nav/index.js.map +1 -1
  369. package/dist/elements/NavGroup/index.css +1 -1
  370. package/dist/elements/Pagination/index.css +5 -0
  371. package/dist/elements/Pagination/index.d.ts.map +1 -1
  372. package/dist/elements/Pagination/index.js +21 -21
  373. package/dist/elements/Pagination/index.js.map +1 -1
  374. package/dist/elements/Popup/PopupButtonList/index.css +48 -4
  375. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  376. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  377. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  378. package/dist/elements/Popup/PopupGroupLabel/index.css +19 -4
  379. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  380. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  381. package/dist/elements/Popup/PopupTrigger/index.js +3 -0
  382. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  383. package/dist/elements/Popup/index.d.ts +14 -1
  384. package/dist/elements/Popup/index.d.ts.map +1 -1
  385. package/dist/elements/Popup/index.js +146 -64
  386. package/dist/elements/Popup/index.js.map +1 -1
  387. package/dist/elements/PreviewSizes/index.css +149 -0
  388. package/dist/elements/PreviewSizes/index.d.ts +2 -2
  389. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  390. package/dist/elements/PreviewSizes/index.js +1 -1
  391. package/dist/elements/PreviewSizes/index.js.map +1 -1
  392. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts +13 -0
  393. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -0
  394. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js +41 -0
  395. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js.map +1 -0
  396. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +1 -0
  397. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  398. package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
  399. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  400. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  401. package/dist/elements/PublishButton/index.js +4 -5
  402. package/dist/elements/PublishButton/index.js.map +1 -1
  403. package/dist/elements/PublishMany/DrawerContent.d.ts +2 -1
  404. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  405. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  406. package/dist/elements/PublishMany/index.d.ts +2 -6
  407. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  408. package/dist/elements/PublishMany/index.js +0 -38
  409. package/dist/elements/PublishMany/index.js.map +1 -1
  410. package/dist/elements/QueryPresets/cells/ColumnsCell/{index.scss → index.css} +1 -3
  411. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +1 -1
  412. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +1 -1
  413. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +1 -1
  414. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  415. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +1 -1
  416. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  417. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +77 -48
  418. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  419. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +1 -1
  420. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
  421. package/dist/elements/QueryPresets/fields/GroupByField/index.js +12 -21
  422. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  423. package/dist/elements/QueryPresets/fields/Heading/index.css +52 -0
  424. package/dist/elements/QueryPresets/fields/Heading/index.d.ts +7 -0
  425. package/dist/elements/QueryPresets/fields/Heading/index.d.ts.map +1 -0
  426. package/dist/elements/QueryPresets/fields/Heading/index.js +31 -0
  427. package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -0
  428. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +1 -1
  429. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  430. package/dist/elements/QueryPresets/fields/WhereField/index.js +24 -23
  431. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  432. package/dist/elements/QueryPresets/fields/fields.css +23 -0
  433. package/dist/elements/ReactSelect/DropdownIndicator/index.css +1 -1
  434. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  435. package/dist/elements/ReactSelect/DropdownIndicator/index.js +19 -12
  436. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  437. package/dist/elements/ReactSelect/MultiValue/index.css +1 -1
  438. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts +5 -0
  439. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -0
  440. package/dist/elements/ReactSelect/getCaptureMenuScroll.js +10 -0
  441. package/dist/elements/ReactSelect/getCaptureMenuScroll.js.map +1 -0
  442. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +6 -0
  443. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -0
  444. package/dist/elements/ReactSelect/getMenuListStyles.js +7 -0
  445. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -0
  446. package/dist/elements/ReactSelect/index.css +2 -3
  447. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  448. package/dist/elements/ReactSelect/index.js +177 -140
  449. package/dist/elements/ReactSelect/index.js.map +1 -1
  450. package/dist/elements/ReactSelect/types.d.ts +2 -0
  451. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  452. package/dist/elements/ReactSelect/types.js.map +1 -1
  453. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  454. package/dist/elements/RelationshipTable/AddNewButton.js +1 -2
  455. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  456. package/dist/elements/RelationshipTable/index.css +1 -2
  457. package/dist/elements/RelationshipTable/index.js +2 -2
  458. package/dist/elements/RelationshipTable/index.js.map +1 -1
  459. package/dist/elements/RenderTitle/index.css +10 -0
  460. package/dist/elements/RenderTitle/index.d.ts +5 -0
  461. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  462. package/dist/elements/RenderTitle/index.js +52 -27
  463. package/dist/elements/RenderTitle/index.js.map +1 -1
  464. package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
  465. package/dist/elements/SchedulePublishButton/index.js +6 -1
  466. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  467. package/dist/elements/Search/ListSearchFilter/index.d.ts.map +1 -1
  468. package/dist/elements/Search/ListSearchFilter/index.js +1 -0
  469. package/dist/elements/Search/ListSearchFilter/index.js.map +1 -1
  470. package/dist/elements/Search/SearchInput/index.d.ts +2 -0
  471. package/dist/elements/Search/SearchInput/index.d.ts.map +1 -1
  472. package/dist/elements/Search/SearchInput/index.js +22 -19
  473. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  474. package/dist/elements/SelectMany/index.js +1 -1
  475. package/dist/elements/SelectMany/index.js.map +1 -1
  476. package/dist/elements/SidebarRow/index.css +0 -2
  477. package/dist/elements/SortColumn/index.css +1 -1
  478. package/dist/elements/Spinner/index.css +16 -0
  479. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  480. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  481. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  482. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +32 -13
  483. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  484. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  485. package/dist/elements/Table/OrderableRow.js +1 -1
  486. package/dist/elements/Table/OrderableRow.js.map +1 -1
  487. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  488. package/dist/elements/Table/RelationshipProvider/index.js +1 -0
  489. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  490. package/dist/elements/Table/index.css +56 -10
  491. package/dist/elements/Tabs/index.css +100 -0
  492. package/dist/elements/Tabs/index.d.ts +32 -0
  493. package/dist/elements/Tabs/index.d.ts.map +1 -0
  494. package/dist/elements/Tabs/index.js +62 -0
  495. package/dist/elements/Tabs/index.js.map +1 -0
  496. package/dist/elements/Thumbnail/index.css +41 -0
  497. package/dist/elements/Thumbnail/index.d.ts +3 -3
  498. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  499. package/dist/elements/Thumbnail/index.js +1 -1
  500. package/dist/elements/Thumbnail/index.js.map +1 -1
  501. package/dist/elements/TimezonePicker/index.css +1 -16
  502. package/dist/elements/Toasts/fieldErrors.d.ts +1 -0
  503. package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
  504. package/dist/elements/Toasts/fieldErrors.js +25 -9
  505. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  506. package/dist/elements/Toasts/index.css +5 -0
  507. package/dist/elements/Tooltip/index.css +20 -4
  508. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  509. package/dist/elements/Tooltip/index.js +71 -3
  510. package/dist/elements/Tooltip/index.js.map +1 -1
  511. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  512. package/dist/elements/UnpublishButton/index.js +5 -13
  513. package/dist/elements/UnpublishButton/index.js.map +1 -1
  514. package/dist/elements/UnpublishMany/DrawerContent.d.ts +2 -1
  515. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  516. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  517. package/dist/elements/UnpublishMany/index.d.ts +2 -4
  518. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  519. package/dist/elements/UnpublishMany/index.js +0 -38
  520. package/dist/elements/UnpublishMany/index.js.map +1 -1
  521. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +11 -0
  522. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -0
  523. package/dist/elements/Upload/UploadFromURLModal/index.js +88 -0
  524. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -0
  525. package/dist/elements/Upload/index.css +134 -45
  526. package/dist/elements/Upload/index.d.ts +3 -8
  527. package/dist/elements/Upload/index.d.ts.map +1 -1
  528. package/dist/elements/Upload/index.js +71 -92
  529. package/dist/elements/Upload/index.js.map +1 -1
  530. package/dist/elements/UserMenu/LanguageMenu/index.d.ts +6 -0
  531. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -0
  532. package/dist/elements/UserMenu/LanguageMenu/index.js +133 -0
  533. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -0
  534. package/dist/elements/UserMenu/SettingsMenu/index.d.ts +15 -0
  535. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -0
  536. package/dist/elements/UserMenu/SettingsMenu/index.js +119 -0
  537. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -0
  538. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts +6 -0
  539. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -0
  540. package/dist/elements/UserMenu/SubMenuHeader/index.js +33 -0
  541. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -0
  542. package/dist/elements/UserMenu/ThemeMenu/index.d.ts +6 -0
  543. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -0
  544. package/dist/elements/UserMenu/ThemeMenu/index.js +145 -0
  545. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -0
  546. package/dist/elements/UserMenu/index.css +105 -0
  547. package/dist/elements/UserMenu/index.d.ts +11 -0
  548. package/dist/elements/UserMenu/index.d.ts.map +1 -0
  549. package/dist/elements/UserMenu/index.js +205 -0
  550. package/dist/elements/UserMenu/index.js.map +1 -0
  551. package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
  552. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  553. package/dist/elements/WhereBuilder/Condition/index.js +17 -2
  554. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  555. package/dist/elements/WhereBuilder/index.d.ts +4 -3
  556. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  557. package/dist/elements/WhereBuilder/index.js +71 -62
  558. package/dist/elements/WhereBuilder/index.js.map +1 -1
  559. package/dist/elements/WhereBuilder/types.d.ts +6 -5
  560. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  561. package/dist/elements/WhereBuilder/types.js.map +1 -1
  562. package/dist/exports/client/index.d.ts +21 -5
  563. package/dist/exports/client/index.d.ts.map +1 -1
  564. package/dist/exports/client/index.js +1 -2
  565. package/dist/exports/client/index.js.map +4 -4
  566. package/dist/exports/rsc/index.d.ts +3 -0
  567. package/dist/exports/rsc/index.d.ts.map +1 -1
  568. package/dist/exports/rsc/index.js +3 -0
  569. package/dist/exports/rsc/index.js.map +1 -1
  570. package/dist/exports/shared/index.js +2 -2
  571. package/dist/exports/shared/index.js.map +2 -2
  572. package/dist/fields/Array/index.d.ts.map +1 -1
  573. package/dist/fields/Array/index.js +7 -4
  574. package/dist/fields/Array/index.js.map +1 -1
  575. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +2 -50
  576. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.d.ts.map +1 -1
  577. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +27 -20
  578. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  579. package/dist/fields/Blocks/BlockSelector/index.css +15 -4
  580. package/dist/fields/Blocks/BlockSelector/index.js +1 -1
  581. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  582. package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  583. package/dist/fields/Blocks/SectionTitle/index.js +1 -0
  584. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  585. package/dist/fields/Blocks/index.d.ts.map +1 -1
  586. package/dist/fields/Blocks/index.js +6 -3
  587. package/dist/fields/Blocks/index.js.map +1 -1
  588. package/dist/fields/Checkbox/index.css +2 -2
  589. package/dist/fields/ConfirmPassword/index.d.ts +4 -0
  590. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  591. package/dist/fields/ConfirmPassword/index.js +37 -33
  592. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  593. package/dist/fields/Group/index.css +4 -10
  594. package/dist/fields/Number/Input.d.ts.map +1 -1
  595. package/dist/fields/Number/Input.js +62 -46
  596. package/dist/fields/Number/Input.js.map +1 -1
  597. package/dist/fields/Number/index.css +19 -0
  598. package/dist/fields/Number/types.d.ts +10 -0
  599. package/dist/fields/Number/types.d.ts.map +1 -1
  600. package/dist/fields/Number/types.js.map +1 -1
  601. package/dist/fields/Password/input.d.ts.map +1 -1
  602. package/dist/fields/Password/input.js +33 -29
  603. package/dist/fields/Password/input.js.map +1 -1
  604. package/dist/fields/Password/types.d.ts +7 -3
  605. package/dist/fields/Password/types.d.ts.map +1 -1
  606. package/dist/fields/Password/types.js.map +1 -1
  607. package/dist/fields/RadioGroup/index.css +6 -0
  608. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  609. package/dist/fields/Relationship/Input.js +4 -0
  610. package/dist/fields/Relationship/Input.js.map +1 -1
  611. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  612. package/dist/fields/Relationship/types.d.ts +4 -0
  613. package/dist/fields/Relationship/types.d.ts.map +1 -1
  614. package/dist/fields/Relationship/types.js.map +1 -1
  615. package/dist/fields/Row/index.d.ts +1 -1
  616. package/dist/fields/Select/Input.d.ts +4 -0
  617. package/dist/fields/Select/Input.d.ts.map +1 -1
  618. package/dist/fields/Select/Input.js +45 -40
  619. package/dist/fields/Select/Input.js.map +1 -1
  620. package/dist/fields/Slug/index.d.ts +7 -5
  621. package/dist/fields/Slug/index.d.ts.map +1 -1
  622. package/dist/fields/Slug/index.js +6 -4
  623. package/dist/fields/Slug/index.js.map +1 -1
  624. package/dist/fields/Tabs/Tab/index.d.ts +0 -1
  625. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  626. package/dist/fields/Tabs/Tab/index.js +12 -23
  627. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  628. package/dist/fields/Tabs/index.d.ts.map +1 -1
  629. package/dist/fields/Tabs/index.js +37 -37
  630. package/dist/fields/Tabs/index.js.map +1 -1
  631. package/dist/fields/Text/Input.d.ts.map +1 -1
  632. package/dist/fields/Text/Input.js +44 -37
  633. package/dist/fields/Text/Input.js.map +1 -1
  634. package/dist/fields/Text/types.d.ts +11 -2
  635. package/dist/fields/Text/types.d.ts.map +1 -1
  636. package/dist/fields/Text/types.js.map +1 -1
  637. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  638. package/dist/fields/Textarea/Input.js +27 -23
  639. package/dist/fields/Textarea/Input.js.map +1 -1
  640. package/dist/fields/Textarea/index.css +1 -1
  641. package/dist/fields/Textarea/types.d.ts +4 -0
  642. package/dist/fields/Textarea/types.d.ts.map +1 -1
  643. package/dist/fields/Textarea/types.js.map +1 -1
  644. package/dist/fields/Upload/HasMany/index.css +4 -0
  645. package/dist/fields/Upload/Input.d.ts.map +1 -1
  646. package/dist/fields/Upload/Input.js +12 -11
  647. package/dist/fields/Upload/Input.js.map +1 -1
  648. package/dist/fields/Upload/index.js +1 -1
  649. package/dist/fields/Upload/index.js.map +1 -1
  650. package/dist/fields/index.d.ts.map +1 -1
  651. package/dist/fields/index.js +2 -0
  652. package/dist/fields/index.js.map +1 -1
  653. package/dist/forms/Form/types.d.ts +2 -2
  654. package/dist/forms/Form/types.d.ts.map +1 -1
  655. package/dist/forms/Form/types.js.map +1 -1
  656. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  657. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  658. package/dist/forms/RenderFields/RenderField.js +12 -1
  659. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  660. package/dist/forms/RenderFields/index.css +4 -4
  661. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
  662. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  663. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +21 -5
  664. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  665. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +2 -2
  666. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  667. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  668. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +2 -2
  669. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  670. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  671. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +2 -2
  672. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  673. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  674. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
  675. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  676. package/dist/forms/fieldSchemasToFormState/index.js +2 -0
  677. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  678. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
  679. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  680. package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
  681. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  682. package/dist/forms/useField/index.js.map +1 -1
  683. package/dist/graphics/Icon/index.js +1 -1
  684. package/dist/graphics/Icon/index.js.map +1 -1
  685. package/dist/hooks/useElementHeightVariable.d.ts +15 -0
  686. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -0
  687. package/dist/hooks/useElementHeightVariable.js +53 -0
  688. package/dist/hooks/useElementHeightVariable.js.map +1 -0
  689. package/dist/icons/Check/index.css +1 -2
  690. package/dist/icons/Check/index.js +1 -1
  691. package/dist/icons/Check/index.js.map +1 -1
  692. package/dist/icons/Crop/index.css +5 -0
  693. package/dist/icons/Crop/index.d.ts +7 -0
  694. package/dist/icons/Crop/index.d.ts.map +1 -0
  695. package/dist/icons/Crop/index.js +24 -0
  696. package/dist/icons/Crop/index.js.map +1 -0
  697. package/dist/icons/Download/index.css +5 -0
  698. package/dist/icons/{ExternalLink → Download}/index.d.ts +1 -1
  699. package/dist/icons/Download/index.d.ts.map +1 -0
  700. package/dist/icons/Download/index.js +27 -0
  701. package/dist/icons/Download/index.js.map +1 -0
  702. package/dist/icons/Gear/index.d.ts.map +1 -1
  703. package/dist/icons/Gear/index.js +8 -1
  704. package/dist/icons/Gear/index.js.map +1 -1
  705. package/dist/icons/InteractionEnter/index.css +5 -0
  706. package/dist/icons/InteractionEnter/index.d.ts +11 -0
  707. package/dist/icons/InteractionEnter/index.d.ts.map +1 -0
  708. package/dist/icons/InteractionEnter/index.js +25 -0
  709. package/dist/icons/InteractionEnter/index.js.map +1 -0
  710. package/dist/icons/{Write → Key}/index.css +1 -1
  711. package/dist/icons/Key/index.d.ts +7 -0
  712. package/dist/icons/Key/index.d.ts.map +1 -0
  713. package/dist/icons/Key/index.js +24 -0
  714. package/dist/icons/Key/index.js.map +1 -0
  715. package/dist/icons/LogOut/index.js +2 -2
  716. package/dist/icons/LogOut/index.js.map +1 -1
  717. package/dist/icons/{ExternalLink → NewTab}/index.css +1 -1
  718. package/dist/icons/NewTab/index.d.ts +7 -0
  719. package/dist/icons/NewTab/index.d.ts.map +1 -0
  720. package/dist/icons/NewTab/index.js +25 -0
  721. package/dist/icons/NewTab/index.js.map +1 -0
  722. package/dist/icons/Replace/index.css +5 -0
  723. package/dist/icons/Replace/index.d.ts +6 -0
  724. package/dist/icons/Replace/index.d.ts.map +1 -0
  725. package/dist/icons/Replace/index.js +20 -0
  726. package/dist/icons/Replace/index.js.map +1 -0
  727. package/dist/icons/Reset/index.css +5 -0
  728. package/dist/icons/Reset/index.d.ts +7 -0
  729. package/dist/icons/Reset/index.d.ts.map +1 -0
  730. package/dist/icons/Reset/index.js +25 -0
  731. package/dist/icons/Reset/index.js.map +1 -0
  732. package/dist/icons/Schedule/index.d.ts.map +1 -1
  733. package/dist/icons/Schedule/index.js +38 -39
  734. package/dist/icons/Schedule/index.js.map +1 -1
  735. package/dist/icons/Swap/index.js +1 -1
  736. package/dist/icons/Swap/index.js.map +1 -1
  737. package/dist/icons/VariableColor/index.css +5 -0
  738. package/dist/icons/VariableColor/index.d.ts +7 -0
  739. package/dist/icons/VariableColor/index.d.ts.map +1 -0
  740. package/dist/icons/VariableColor/index.js +23 -0
  741. package/dist/icons/VariableColor/index.js.map +1 -0
  742. package/dist/icons/Warning/index.css +1 -7
  743. package/dist/icons/Warning/index.d.ts +1 -1
  744. package/dist/icons/Warning/index.d.ts.map +1 -1
  745. package/dist/icons/Warning/index.js +11 -16
  746. package/dist/icons/Warning/index.js.map +1 -1
  747. package/dist/icons/WarningTriangle/index.css +5 -0
  748. package/dist/icons/WarningTriangle/index.d.ts +6 -0
  749. package/dist/icons/WarningTriangle/index.d.ts.map +1 -0
  750. package/dist/icons/WarningTriangle/index.js +21 -0
  751. package/dist/icons/WarningTriangle/index.js.map +1 -0
  752. package/dist/icons/Write/index.d.ts +0 -1
  753. package/dist/icons/Write/index.d.ts.map +1 -1
  754. package/dist/icons/Write/index.js +1 -2
  755. package/dist/icons/Write/index.js.map +1 -1
  756. package/dist/layouts/Root/index.d.ts.map +1 -1
  757. package/dist/layouts/Root/index.js +3 -1
  758. package/dist/layouts/Root/index.js.map +1 -1
  759. package/dist/layouts/Root/index.spec.js +20 -0
  760. package/dist/layouts/Root/index.spec.js.map +1 -0
  761. package/dist/layouts/Root/viewport.d.ts +4 -0
  762. package/dist/layouts/Root/viewport.d.ts.map +1 -0
  763. package/dist/layouts/Root/viewport.js +14 -0
  764. package/dist/layouts/Root/viewport.js.map +1 -0
  765. package/dist/providers/Auth/index.d.ts +2 -2
  766. package/dist/providers/Auth/index.d.ts.map +1 -1
  767. package/dist/providers/Auth/index.js.map +1 -1
  768. package/dist/providers/Config/index.js.map +1 -1
  769. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  770. package/dist/providers/DocumentInfo/index.js +4 -0
  771. package/dist/providers/DocumentInfo/index.js.map +1 -1
  772. package/dist/providers/DocumentInfo/types.d.ts +6 -2
  773. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  774. package/dist/providers/DocumentInfo/types.js.map +1 -1
  775. package/dist/providers/Root/index.d.ts +2 -2
  776. package/dist/providers/Root/index.d.ts.map +1 -1
  777. package/dist/providers/Root/index.js +27 -24
  778. package/dist/providers/Root/index.js.map +1 -1
  779. package/dist/providers/TableColumns/RenderDefaultCell/index.css +1 -0
  780. package/dist/providers/Theme/index.d.ts.map +1 -1
  781. package/dist/providers/Theme/index.js +16 -14
  782. package/dist/providers/Theme/index.js.map +1 -1
  783. package/dist/providers/ToastContainer/index.css +208 -0
  784. package/dist/providers/ToastContainer/index.d.ts +1 -0
  785. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  786. package/dist/providers/ToastContainer/index.js +19 -6
  787. package/dist/providers/ToastContainer/index.js.map +1 -1
  788. package/dist/scss/app.scss +10 -4
  789. package/dist/styles.css +1369 -1
  790. package/dist/templates/Default/index.d.ts.map +1 -1
  791. package/dist/templates/Default/index.js +59 -3
  792. package/dist/templates/Default/index.js.map +1 -1
  793. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +0 -1
  794. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  795. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +0 -1
  796. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  797. package/dist/utilities/buildFormState.d.ts.map +1 -1
  798. package/dist/utilities/buildFormState.js +1 -0
  799. package/dist/utilities/buildFormState.js.map +1 -1
  800. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  801. package/dist/utilities/copyDataFromLocale.js +1 -0
  802. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  803. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  804. package/dist/utilities/formatDocTitle/formatDateTitle.js +1 -1
  805. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  806. package/dist/utilities/formatDocTitle/index.js +1 -1
  807. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  808. package/dist/utilities/formatRelativeDate.d.ts +15 -0
  809. package/dist/utilities/formatRelativeDate.d.ts.map +1 -0
  810. package/dist/utilities/formatRelativeDate.js +62 -0
  811. package/dist/utilities/formatRelativeDate.js.map +1 -0
  812. package/dist/utilities/getDocPreferences.d.ts +2 -2
  813. package/dist/utilities/getDocPreferences.d.ts.map +1 -1
  814. package/dist/utilities/getDocPreferences.js.map +1 -1
  815. package/dist/utilities/getDocumentData.d.ts +2 -2
  816. package/dist/utilities/getDocumentData.d.ts.map +1 -1
  817. package/dist/utilities/getDocumentData.js.map +1 -1
  818. package/dist/utilities/getGlobalData.d.ts.map +1 -1
  819. package/dist/utilities/getGlobalData.js.map +1 -1
  820. package/dist/utilities/getHasScheduledPublish.d.ts +12 -0
  821. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -0
  822. package/dist/utilities/getHasScheduledPublish.js +38 -0
  823. package/dist/utilities/getHasScheduledPublish.js.map +1 -0
  824. package/dist/utilities/getIsLocked.d.ts +2 -2
  825. package/dist/utilities/getIsLocked.d.ts.map +1 -1
  826. package/dist/utilities/getIsLocked.js.map +1 -1
  827. package/dist/utilities/getVersions.d.ts +2 -2
  828. package/dist/utilities/getVersions.d.ts.map +1 -1
  829. package/dist/utilities/getVersions.js +3 -26
  830. package/dist/utilities/getVersions.js.map +1 -1
  831. package/dist/utilities/handleAuthRedirect.d.ts +2 -2
  832. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  833. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  834. package/dist/utilities/handleFormStateLocking.d.ts +2 -2
  835. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  836. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  837. package/dist/utilities/handleLivePreview.d.ts +1 -0
  838. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  839. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  840. package/dist/utilities/isURLAllowed.js +9 -3
  841. package/dist/utilities/isURLAllowed.js.map +1 -1
  842. package/dist/utilities/recentlyViewed.d.ts +16 -0
  843. package/dist/utilities/recentlyViewed.d.ts.map +1 -0
  844. package/dist/utilities/recentlyViewed.js +21 -0
  845. package/dist/utilities/recentlyViewed.js.map +1 -0
  846. package/dist/utilities/recentlyViewed.spec.js +92 -0
  847. package/dist/utilities/recentlyViewed.spec.js.map +1 -0
  848. package/dist/utilities/reduceFieldsToOptions.js +1 -1
  849. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  850. package/dist/utilities/slugify.d.ts +1 -1
  851. package/dist/utilities/slugify.js +1 -1
  852. package/dist/utilities/slugify.js.map +1 -1
  853. package/dist/views/API/index.client.js +2 -2
  854. package/dist/views/API/index.client.js.map +1 -1
  855. package/dist/views/Account/ResetPreferences/index.d.ts +2 -2
  856. package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -1
  857. package/dist/views/Account/ResetPreferences/index.js +1 -0
  858. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  859. package/dist/views/Account/Settings/index.css +30 -13
  860. package/dist/views/Account/Settings/index.d.ts +2 -2
  861. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  862. package/dist/views/Account/Settings/index.js.map +1 -1
  863. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  864. package/dist/views/Account/ToggleTheme/index.js +31 -47
  865. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  866. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
  867. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +27 -23
  868. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  869. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  870. package/dist/views/Dashboard/Default/ModularDashboard/index.css +2 -0
  871. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +2 -2
  872. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  873. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +2 -2
  874. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  875. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +2 -2
  876. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -1
  877. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -1
  878. package/dist/views/Document/index.d.ts.map +1 -1
  879. package/dist/views/Document/index.js +28 -2
  880. package/dist/views/Document/index.js.map +1 -1
  881. package/dist/views/Document/recordRecentlyViewed.d.ts +12 -0
  882. package/dist/views/Document/recordRecentlyViewed.d.ts.map +1 -0
  883. package/dist/views/Document/recordRecentlyViewed.js +40 -0
  884. package/dist/views/Document/recordRecentlyViewed.js.map +1 -0
  885. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  886. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  887. package/dist/views/Document/renderDocumentSlots.js +47 -1
  888. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  889. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  890. package/dist/views/Edit/Auth/APIKey.js +10 -32
  891. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  892. package/dist/views/Edit/Auth/index.css +0 -67
  893. package/dist/views/Edit/index.css +143 -6
  894. package/dist/views/Edit/index.d.ts +1 -1
  895. package/dist/views/Edit/index.d.ts.map +1 -1
  896. package/dist/views/Edit/index.js +96 -79
  897. package/dist/views/Edit/index.js.map +1 -1
  898. package/dist/views/HierarchyList/DocumentListSelection/index.js +8 -8
  899. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  900. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +2 -2
  901. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -1
  902. package/dist/views/HierarchyList/TypeFilter/index.js +3 -0
  903. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
  904. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  905. package/dist/views/HierarchyList/index.js +2 -6
  906. package/dist/views/HierarchyList/index.js.map +1 -1
  907. package/dist/views/List/ListHeader/index.css +28 -1
  908. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  909. package/dist/views/List/ListHeader/index.js +0 -1
  910. package/dist/views/List/ListHeader/index.js.map +1 -1
  911. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  912. package/dist/views/List/ListSelection/index.js +84 -33
  913. package/dist/views/List/ListSelection/index.js.map +1 -1
  914. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  915. package/dist/views/List/handleGroupBy.js +9 -0
  916. package/dist/views/List/handleGroupBy.js.map +1 -1
  917. package/dist/views/List/index.client.d.ts.map +1 -1
  918. package/dist/views/List/index.client.js +10 -9
  919. package/dist/views/List/index.client.js.map +1 -1
  920. package/dist/views/List/index.css +15 -0
  921. package/dist/views/List/index.d.ts.map +1 -1
  922. package/dist/views/List/index.js +2 -1
  923. package/dist/views/List/index.js.map +1 -1
  924. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  925. package/dist/views/List/renderListViewSlots.js +11 -0
  926. package/dist/views/List/renderListViewSlots.js.map +1 -1
  927. package/dist/views/Logout/LogoutClient.d.ts +14 -0
  928. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  929. package/dist/views/Logout/LogoutClient.js +7 -5
  930. package/dist/views/Logout/LogoutClient.js.map +1 -1
  931. package/dist/views/Logout/index.d.ts.map +1 -1
  932. package/dist/views/Logout/index.js +7 -2
  933. package/dist/views/Logout/index.js.map +1 -1
  934. package/dist/views/Version/Default/index.css +3 -5
  935. package/dist/views/Version/Default/index.d.ts.map +1 -1
  936. package/dist/views/Version/Default/index.js +7 -28
  937. package/dist/views/Version/Default/index.js.map +1 -1
  938. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  939. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  940. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +1 -0
  941. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  942. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  943. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +1 -0
  944. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  945. package/dist/views/Version/Restore/index.css +2 -2
  946. package/dist/views/Version/SelectComparison/VersionDrawer/index.css +5 -0
  947. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts +1 -1
  948. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  949. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +1 -2
  950. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  951. package/dist/views/Version/SelectComparison/index.css +5 -0
  952. package/dist/views/Version/SelectComparison/index.d.ts +1 -1
  953. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  954. package/dist/views/Version/SelectComparison/index.js +2 -1
  955. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  956. package/dist/views/Version/SelectLocales/index.d.ts +1 -2
  957. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  958. package/dist/views/Version/SelectLocales/index.js +83 -32
  959. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  960. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  961. package/dist/views/Versions/fetchVersions.d.ts +4 -4
  962. package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
  963. package/dist/views/Versions/fetchVersions.js.map +1 -1
  964. package/dist/views/Versions/index.css +19 -16
  965. package/dist/views/Versions/index.d.ts +1 -1
  966. package/dist/views/Versions/index.d.ts.map +1 -1
  967. package/dist/views/Versions/index.js +3 -26
  968. package/dist/views/Versions/index.js.map +1 -1
  969. package/dist/views/Versions/types.d.ts +2 -2
  970. package/dist/views/Versions/types.d.ts.map +1 -1
  971. package/dist/views/Versions/types.js.map +1 -1
  972. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  973. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -0
  974. package/dist/widgets/CollectionQuery/SortField/index.js +118 -0
  975. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -0
  976. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts +18 -0
  977. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts.map +1 -0
  978. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js +91 -0
  979. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js.map +1 -0
  980. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +100 -0
  981. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +1 -0
  982. package/dist/widgets/CollectionQuery/index.css +64 -0
  983. package/dist/widgets/CollectionQuery/index.d.ts +16 -0
  984. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -0
  985. package/dist/widgets/CollectionQuery/index.js +328 -0
  986. package/dist/widgets/CollectionQuery/index.js.map +1 -0
  987. package/dist/widgets/RecentlyViewed/CollectionsField/index.css +14 -0
  988. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +10 -0
  989. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -0
  990. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +76 -0
  991. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -0
  992. package/dist/widgets/RecentlyViewed/index.d.ts +10 -0
  993. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -0
  994. package/dist/widgets/RecentlyViewed/index.js +148 -0
  995. package/dist/widgets/RecentlyViewed/index.js.map +1 -0
  996. package/dist/widgets/WidgetCard/index.css +155 -0
  997. package/dist/widgets/WidgetCard/index.d.ts +19 -0
  998. package/dist/widgets/WidgetCard/index.d.ts.map +1 -0
  999. package/dist/widgets/WidgetCard/index.js +49 -0
  1000. package/dist/widgets/WidgetCard/index.js.map +1 -0
  1001. package/package.json +5 -509
  1002. package/dist/elements/BulkUpload/AddingFilesView/index.scss +0 -25
  1003. package/dist/elements/BulkUpload/EditForm/index.scss +0 -11
  1004. package/dist/elements/BulkUpload/EditMany/index.scss +0 -171
  1005. package/dist/elements/BulkUpload/Header/index.d.ts +0 -9
  1006. package/dist/elements/BulkUpload/Header/index.d.ts.map +0 -1
  1007. package/dist/elements/BulkUpload/Header/index.js.map +0 -1
  1008. package/dist/elements/ColumnSelector/index.d.ts +0 -9
  1009. package/dist/elements/ColumnSelector/index.d.ts.map +0 -1
  1010. package/dist/elements/ColumnSelector/index.js.map +0 -1
  1011. package/dist/elements/ColumnsButton/index.d.ts +0 -7
  1012. package/dist/elements/ColumnsButton/index.d.ts.map +0 -1
  1013. package/dist/elements/ColumnsButton/index.js.map +0 -1
  1014. package/dist/elements/EditMany/index.scss +0 -182
  1015. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +0 -35
  1016. package/dist/elements/FileDetails/FileMeta/index.scss +0 -31
  1017. package/dist/elements/FileDetails/StaticFileDetails/index.scss +0 -134
  1018. package/dist/elements/GroupByBuilder/index.d.ts +0 -12
  1019. package/dist/elements/GroupByBuilder/index.d.ts.map +0 -1
  1020. package/dist/elements/GroupByBuilder/index.js +0 -164
  1021. package/dist/elements/GroupByBuilder/index.js.map +0 -1
  1022. package/dist/elements/GroupByBuilder/index.scss +0 -39
  1023. package/dist/elements/GroupByControl/index.d.ts +0 -9
  1024. package/dist/elements/GroupByControl/index.d.ts.map +0 -1
  1025. package/dist/elements/GroupByControl/index.js +0 -258
  1026. package/dist/elements/GroupByControl/index.js.map +0 -1
  1027. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +0 -1
  1028. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +0 -1
  1029. package/dist/elements/Hierarchy/Drawer/index.css +0 -108
  1030. package/dist/elements/Hierarchy/Drawer/index.d.ts +0 -20
  1031. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +0 -1
  1032. package/dist/elements/Hierarchy/Drawer/index.js.map +0 -1
  1033. package/dist/elements/Hierarchy/Drawer/types.d.ts.map +0 -1
  1034. package/dist/elements/Hierarchy/Drawer/types.js.map +0 -1
  1035. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +0 -30
  1036. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +0 -1
  1037. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +0 -1
  1038. package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +0 -78
  1039. package/dist/elements/Hierarchy/Field/index.scss +0 -41
  1040. package/dist/elements/Hierarchy/MoveMany/index.scss +0 -7
  1041. package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +0 -26
  1042. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +0 -7
  1043. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +0 -1
  1044. package/dist/elements/Hierarchy/Tree/TreeConnector.js +0 -23
  1045. package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +0 -1
  1046. package/dist/elements/LoadMoreRow/index.scss +0 -45
  1047. package/dist/elements/Nav/NavToggler/index.css +0 -12
  1048. package/dist/elements/Nav/NavToggler/index.d.ts +0 -9
  1049. package/dist/elements/Nav/NavToggler/index.d.ts.map +0 -1
  1050. package/dist/elements/Nav/NavToggler/index.js +0 -91
  1051. package/dist/elements/Nav/NavToggler/index.js.map +0 -1
  1052. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  1053. package/dist/elements/PreviewSizes/index.scss +0 -147
  1054. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -17
  1055. package/dist/elements/QueryPresets/fields/GroupByField/index.scss +0 -17
  1056. package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
  1057. package/dist/elements/Thumbnail/index.scss +0 -53
  1058. package/dist/fields/Tabs/Tab/index.css +0 -82
  1059. package/dist/icons/ExternalLink/index.d.ts.map +0 -1
  1060. package/dist/icons/ExternalLink/index.js +0 -26
  1061. package/dist/icons/ExternalLink/index.js.map +0 -1
  1062. package/dist/scss/toasts.scss +0 -146
  1063. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +0 -18
  1064. package/dist/views/Version/SelectComparison/index.scss +0 -9
  1065. /package/dist/elements/{ColumnSelector/index.css → ColumnSelection/Popup.css} +0 -0
  1066. /package/dist/elements/{GroupByControl/index.css → GroupBy/Popup.css} +0 -0
  1067. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.d.ts +0 -0
  1068. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.js +0 -0
  1069. /package/dist/elements/Hierarchy/{Drawer → Modal}/types.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatRelativeDate.js","names":["relativeTimeDivisions","amount","unit","Number","POSITIVE_INFINITY","getRelativeTimeFormat","language","Intl","RelativeTimeFormat","numeric","style","formatRelativeDate","relativeTimeFormat","value","date","Date","isNaN","getTime","duration","now","division","Math","abs","format","round"],"sources":["../../src/utilities/formatRelativeDate.ts"],"sourcesContent":["const relativeTimeDivisions: { amount: number; unit: Intl.RelativeTimeFormatUnit }[] = [\n { amount: 60, unit: 'seconds' },\n { amount: 60, unit: 'minutes' },\n { amount: 24, unit: 'hours' },\n { amount: 7, unit: 'days' },\n { amount: 4.34524, unit: 'weeks' },\n { amount: 12, unit: 'months' },\n { amount: Number.POSITIVE_INFINITY, unit: 'years' },\n]\n\n/**\n * Returns an `Intl.RelativeTimeFormat` for the given language, falling back to English on\n * unsupported locales. Create it once and reuse it across rows. Shared by dashboard widgets so\n * their relative timestamps render identically.\n */\nexport function getRelativeTimeFormat(language: string): Intl.RelativeTimeFormat {\n try {\n return new Intl.RelativeTimeFormat(language, { numeric: 'auto', style: 'narrow' })\n } catch {\n return new Intl.RelativeTimeFormat('en', { numeric: 'auto', style: 'narrow' })\n }\n}\n\n/**\n * Formats an ISO date string as a locale-aware relative time (e.g. \"5m ago\", \"in 2d\"). Returns the\n * original value unchanged when it is not a parseable date.\n */\nexport function formatRelativeDate({\n relativeTimeFormat,\n value,\n}: {\n relativeTimeFormat: Intl.RelativeTimeFormat\n value: string\n}): string {\n const date = new Date(value)\n\n if (Number.isNaN(date.getTime())) {\n return value\n }\n\n let duration = (date.getTime() - Date.now()) / 1000\n\n for (const division of relativeTimeDivisions) {\n if (Math.abs(duration) < division.amount) {\n return relativeTimeFormat.format(Math.round(duration), division.unit)\n }\n\n duration /= division.amount\n }\n\n return relativeTimeFormat.format(Math.round(duration), 'years')\n}\n"],"mappings":"AAAA,MAAMA,qBAAA,GAAiF,CACrF;EAAEC,MAAA,EAAQ;EAAIC,IAAA,EAAM;AAAU,GAC9B;EAAED,MAAA,EAAQ;EAAIC,IAAA,EAAM;AAAU,GAC9B;EAAED,MAAA,EAAQ;EAAIC,IAAA,EAAM;AAAQ,GAC5B;EAAED,MAAA,EAAQ;EAAGC,IAAA,EAAM;AAAO,GAC1B;EAAED,MAAA,EAAQ;EAASC,IAAA,EAAM;AAAQ,GACjC;EAAED,MAAA,EAAQ;EAAIC,IAAA,EAAM;AAAS,GAC7B;EAAED,MAAA,EAAQE,MAAA,CAAOC,iBAAiB;EAAEF,IAAA,EAAM;AAAQ,EACnD;AAED;;;;;AAKA,OAAO,SAASG,sBAAsBC,QAAgB;EACpD,IAAI;IACF,OAAO,IAAIC,IAAA,CAAKC,kBAAkB,CAACF,QAAA,EAAU;MAAEG,OAAA,EAAS;MAAQC,KAAA,EAAO;IAAS;EAClF,EAAE,MAAM;IACN,OAAO,IAAIH,IAAA,CAAKC,kBAAkB,CAAC,MAAM;MAAEC,OAAA,EAAS;MAAQC,KAAA,EAAO;IAAS;EAC9E;AACF;AAEA;;;;AAIA,OAAO,SAASC,mBAAmB;EACjCC,kBAAkB;EAClBC;AAAK,CAIN;EACC,MAAMC,IAAA,GAAO,IAAIC,IAAA,CAAKF,KAAA;EAEtB,IAAIV,MAAA,CAAOa,KAAK,CAACF,IAAA,CAAKG,OAAO,KAAK;IAChC,OAAOJ,KAAA;EACT;EAEA,IAAIK,QAAA,GAAW,CAACJ,IAAA,CAAKG,OAAO,KAAKF,IAAA,CAAKI,GAAG,EAAC,IAAK;EAE/C,KAAK,MAAMC,QAAA,IAAYpB,qBAAA,EAAuB;IAC5C,IAAIqB,IAAA,CAAKC,GAAG,CAACJ,QAAA,IAAYE,QAAA,CAASnB,MAAM,EAAE;MACxC,OAAOW,kBAAA,CAAmBW,MAAM,CAACF,IAAA,CAAKG,KAAK,CAACN,QAAA,GAAWE,QAAA,CAASlB,IAAI;IACtE;IAEAgB,QAAA,IAAYE,QAAA,CAASnB,MAAM;EAC7B;EAEA,OAAOW,kBAAA,CAAmBW,MAAM,CAACF,IAAA,CAAKG,KAAK,CAACN,QAAA,GAAW;AACzD","ignoreList":[]}
@@ -1,10 +1,10 @@
1
- import type { DocumentPreferences, Payload, TypedUser } from 'payload';
1
+ import type { DocumentPreferences, Payload, User } from 'payload';
2
2
  type Args = {
3
3
  collectionSlug?: string;
4
4
  globalSlug?: string;
5
5
  id?: number | string;
6
6
  payload: Payload;
7
- user: TypedUser;
7
+ user: User;
8
8
  };
9
9
  export declare const getDocPreferences: ({ id, collectionSlug, globalSlug, payload, user, }: Args) => Promise<DocumentPreferences>;
10
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"getDocPreferences.d.ts","sourceRoot":"","sources":["../../src/utilities/getDocPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAItE,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAU,oDAMrC,IAAI,KAAG,OAAO,CAAC,mBAAmB,CA2CpC,CAAA"}
1
+ {"version":3,"file":"getDocPreferences.d.ts","sourceRoot":"","sources":["../../src/utilities/getDocPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAIjE,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAU,oDAMrC,IAAI,KAAG,OAAO,CAAC,mBAAmB,CA2CpC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getDocPreferences.js","names":["sanitizeID","getDocPreferences","id","collectionSlug","globalSlug","payload","user","preferencesKey","preferencesResult","find","collection","depth","limit","where","and","key","equals","docs","value","fields"],"sources":["../../src/utilities/getDocPreferences.ts"],"sourcesContent":["import type { DocumentPreferences, Payload, TypedUser } from 'payload'\n\nimport { sanitizeID } from '../utilities/sanitizeID.js'\n\ntype Args = {\n collectionSlug?: string\n globalSlug?: string\n id?: number | string\n payload: Payload\n user: TypedUser\n}\n\nexport const getDocPreferences = async ({\n id,\n collectionSlug,\n globalSlug,\n payload,\n user,\n}: Args): Promise<DocumentPreferences> => {\n let preferencesKey\n\n if (collectionSlug && id) {\n preferencesKey = `collection-${collectionSlug}-${id}`\n }\n\n if (globalSlug) {\n preferencesKey = `global-${globalSlug}`\n }\n\n if (preferencesKey) {\n const preferencesResult = (await payload.find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: sanitizeID(user.id),\n },\n },\n ],\n },\n })) as unknown as { docs: { value: DocumentPreferences }[] }\n\n if (preferencesResult?.docs?.[0]?.value) {\n return preferencesResult.docs[0].value\n }\n }\n\n return { fields: {} }\n}\n"],"mappings":"AAEA,SAASA,UAAU,QAAQ;AAU3B,OAAO,MAAMC,iBAAA,GAAoB,MAAAA,CAAO;EACtCC,EAAE;EACFC,cAAc;EACdC,UAAU;EACVC,OAAO;EACPC;AAAI,CACC;EACL,IAAIC,cAAA;EAEJ,IAAIJ,cAAA,IAAkBD,EAAA,EAAI;IACxBK,cAAA,GAAiB,cAAcJ,cAAA,IAAkBD,EAAA,EAAI;EACvD;EAEA,IAAIE,UAAA,EAAY;IACdG,cAAA,GAAiB,UAAUH,UAAA,EAAY;EACzC;EAEA,IAAIG,cAAA,EAAgB;IAClB,MAAMC,iBAAA,GAAqB,MAAMH,OAAA,CAAQI,IAAI,CAAC;MAC5CC,UAAA,EAAY;MACZC,KAAA,EAAO;MACPC,KAAA,EAAO;MACPC,KAAA,EAAO;QACLC,GAAA,EAAK,CACH;UACEC,GAAA,EAAK;YACHC,MAAA,EAAQT;UACV;QACF,GACA;UACE,mBAAmB;YACjBS,MAAA,EAAQV,IAAA,CAAKI;UACf;QACF,GACA;UACE,cAAc;YACZM,MAAA,EAAQhB,UAAA,CAAWM,IAAA,CAAKJ,EAAE;UAC5B;QACF;MAEJ;IACF;IAEA,IAAIM,iBAAA,EAAmBS,IAAA,GAAO,EAAE,EAAEC,KAAA,EAAO;MACvC,OAAOV,iBAAA,CAAkBS,IAAI,CAAC,EAAE,CAACC,KAAK;IACxC;EACF;EAEA,OAAO;IAAEC,MAAA,EAAQ,CAAC;EAAE;AACtB","ignoreList":[]}
1
+ {"version":3,"file":"getDocPreferences.js","names":["sanitizeID","getDocPreferences","id","collectionSlug","globalSlug","payload","user","preferencesKey","preferencesResult","find","collection","depth","limit","where","and","key","equals","docs","value","fields"],"sources":["../../src/utilities/getDocPreferences.ts"],"sourcesContent":["import type { DocumentPreferences, Payload, User } from 'payload'\n\nimport { sanitizeID } from '../utilities/sanitizeID.js'\n\ntype Args = {\n collectionSlug?: string\n globalSlug?: string\n id?: number | string\n payload: Payload\n user: User\n}\n\nexport const getDocPreferences = async ({\n id,\n collectionSlug,\n globalSlug,\n payload,\n user,\n}: Args): Promise<DocumentPreferences> => {\n let preferencesKey\n\n if (collectionSlug && id) {\n preferencesKey = `collection-${collectionSlug}-${id}`\n }\n\n if (globalSlug) {\n preferencesKey = `global-${globalSlug}`\n }\n\n if (preferencesKey) {\n const preferencesResult = (await payload.find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: sanitizeID(user.id),\n },\n },\n ],\n },\n })) as unknown as { docs: { value: DocumentPreferences }[] }\n\n if (preferencesResult?.docs?.[0]?.value) {\n return preferencesResult.docs[0].value\n }\n }\n\n return { fields: {} }\n}\n"],"mappings":"AAEA,SAASA,UAAU,QAAQ;AAU3B,OAAO,MAAMC,iBAAA,GAAoB,MAAAA,CAAO;EACtCC,EAAE;EACFC,cAAc;EACdC,UAAU;EACVC,OAAO;EACPC;AAAI,CACC;EACL,IAAIC,cAAA;EAEJ,IAAIJ,cAAA,IAAkBD,EAAA,EAAI;IACxBK,cAAA,GAAiB,cAAcJ,cAAA,IAAkBD,EAAA,EAAI;EACvD;EAEA,IAAIE,UAAA,EAAY;IACdG,cAAA,GAAiB,UAAUH,UAAA,EAAY;EACzC;EAEA,IAAIG,cAAA,EAAgB;IAClB,MAAMC,iBAAA,GAAqB,MAAMH,OAAA,CAAQI,IAAI,CAAC;MAC5CC,UAAA,EAAY;MACZC,KAAA,EAAO;MACPC,KAAA,EAAO;MACPC,KAAA,EAAO;QACLC,GAAA,EAAK,CACH;UACEC,GAAA,EAAK;YACHC,MAAA,EAAQT;UACV;QACF,GACA;UACE,mBAAmB;YACjBS,MAAA,EAAQV,IAAA,CAAKI;UACf;QACF,GACA;UACE,cAAc;YACZM,MAAA,EAAQhB,UAAA,CAAWM,IAAA,CAAKJ,EAAE;UAC5B;QACF;MAEJ;IACF;IAEA,IAAIM,iBAAA,EAAmBS,IAAA,GAAO,EAAE,EAAEC,KAAA,EAAO;MACvC,OAAOV,iBAAA,CAAkBS,IAAI,CAAC,EAAE,CAACC,KAAK;IACxC;EACF;EAEA,OAAO;IAAEC,MAAA,EAAQ,CAAC;EAAE;AACtB","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { type Locale, type Payload, type PayloadRequest, type TypedUser, type TypeWithID } from 'payload';
1
+ import { type Locale, type Payload, type PayloadRequest, type TypeWithID, type User } from 'payload';
2
2
  type Args = {
3
3
  collectionSlug?: string;
4
4
  globalSlug?: string;
@@ -7,7 +7,7 @@ type Args = {
7
7
  payload: Payload;
8
8
  req?: PayloadRequest;
9
9
  segments?: string[];
10
- user?: TypedUser;
10
+ user?: User;
11
11
  };
12
12
  export declare const getDocumentData: ({ id: idArg, collectionSlug, globalSlug, locale, payload, req, segments, user, }: Args) => Promise<null | Record<string, unknown> | TypeWithID>;
13
13
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"getDocumentData.d.ts","sourceRoot":"","sources":["../../src/utilities/getDocumentData.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EAEX,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,SAAS,CAAA;AAIhB,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,eAAe,GAAU,kFASnC,IAAI,KAAG,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CA4C5D,CAAA"}
1
+ {"version":3,"file":"getDocumentData.d.ts","sourceRoot":"","sources":["../../src/utilities/getDocumentData.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EAEX,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,IAAI,EACV,MAAM,SAAS,CAAA;AAIhB,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,CAAA;AAED,eAAO,MAAM,eAAe,GAAU,kFASnC,IAAI,KAAG,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CA4C5D,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getDocumentData.js","names":["logError","sanitizeID","getDocumentData","id","idArg","collectionSlug","globalSlug","locale","payload","req","segments","user","resolvedData","transactionID","rest","isTrashedDoc","findByID","collection","depth","draft","fallbackLocale","code","overrideAccess","trash","findGlobal","slug","err"],"sources":["../../src/utilities/getDocumentData.ts"],"sourcesContent":["import {\n type Locale,\n logError,\n type Payload,\n type PayloadRequest,\n type TypedUser,\n type TypeWithID,\n} from 'payload'\n\nimport { sanitizeID } from '../utilities/sanitizeID.js'\n\ntype Args = {\n collectionSlug?: string\n globalSlug?: string\n id?: number | string\n locale?: Locale\n payload: Payload\n req?: PayloadRequest\n segments?: string[]\n user?: TypedUser\n}\n\nexport const getDocumentData = async ({\n id: idArg,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n req,\n segments,\n user,\n}: Args): Promise<null | Record<string, unknown> | TypeWithID> => {\n const id = sanitizeID(idArg)\n let resolvedData: Record<string, unknown> | TypeWithID = null\n const { transactionID, ...rest } = req\n\n const isTrashedDoc = segments?.[2] === 'trash' && typeof segments?.[3] === 'string' // id exists at segment 3\n\n try {\n if (collectionSlug && id) {\n resolvedData = await payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n overrideAccess: false,\n req: {\n ...rest,\n },\n trash: isTrashedDoc ? true : false,\n user,\n })\n }\n\n if (globalSlug) {\n resolvedData = await payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n overrideAccess: false,\n req: {\n ...rest,\n },\n user,\n })\n }\n } catch (err) {\n logError({ err, payload })\n }\n\n return resolvedData\n}\n"],"mappings":"AAAA,SAEEA,QAAQ,QAKH;AAEP,SAASC,UAAU,QAAQ;AAa3B,OAAO,MAAMC,eAAA,GAAkB,MAAAA,CAAO;EACpCC,EAAA,EAAIC,KAAK;EACTC,cAAc;EACdC,UAAU;EACVC,MAAM;EACNC,OAAO;EACPC,GAAG;EACHC,QAAQ;EACRC;AAAI,CACC;EACL,MAAMR,EAAA,GAAKF,UAAA,CAAWG,KAAA;EACtB,IAAIQ,YAAA,GAAqD;EACzD,MAAM;IAAEC,aAAa;IAAE,GAAGC;EAAA,CAAM,GAAGL,GAAA;EAEnC,MAAMM,YAAA,GAAeL,QAAA,GAAW,EAAE,KAAK,WAAW,OAAOA,QAAA,GAAW,EAAE,KAAK,SAAS;AAAA;EAEpF,IAAI;IACF,IAAIL,cAAA,IAAkBF,EAAA,EAAI;MACxBS,YAAA,GAAe,MAAMJ,OAAA,CAAQQ,QAAQ,CAAC;QACpCb,EAAA;QACAc,UAAA,EAAYZ,cAAA;QACZa,KAAA,EAAO;QACPC,KAAA,EAAO;QACPC,cAAA,EAAgB;QAChBb,MAAA,EAAQA,MAAA,EAAQc,IAAA;QAChBC,cAAA,EAAgB;QAChBb,GAAA,EAAK;UACH,GAAGK;QACL;QACAS,KAAA,EAAOR,YAAA,GAAe,OAAO;QAC7BJ;MACF;IACF;IAEA,IAAIL,UAAA,EAAY;MACdM,YAAA,GAAe,MAAMJ,OAAA,CAAQgB,UAAU,CAAC;QACtCC,IAAA,EAAMnB,UAAA;QACNY,KAAA,EAAO;QACPC,KAAA,EAAO;QACPC,cAAA,EAAgB;QAChBb,MAAA,EAAQA,MAAA,EAAQc,IAAA;QAChBC,cAAA,EAAgB;QAChBb,GAAA,EAAK;UACH,GAAGK;QACL;QACAH;MACF;IACF;EACF,EAAE,OAAOe,GAAA,EAAK;IACZ1B,QAAA,CAAS;MAAE0B,GAAA;MAAKlB;IAAQ;EAC1B;EAEA,OAAOI,YAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"getDocumentData.js","names":["logError","sanitizeID","getDocumentData","id","idArg","collectionSlug","globalSlug","locale","payload","req","segments","user","resolvedData","transactionID","rest","isTrashedDoc","findByID","collection","depth","draft","fallbackLocale","code","overrideAccess","trash","findGlobal","slug","err"],"sources":["../../src/utilities/getDocumentData.ts"],"sourcesContent":["import {\n type Locale,\n logError,\n type Payload,\n type PayloadRequest,\n type TypeWithID,\n type User,\n} from 'payload'\n\nimport { sanitizeID } from '../utilities/sanitizeID.js'\n\ntype Args = {\n collectionSlug?: string\n globalSlug?: string\n id?: number | string\n locale?: Locale\n payload: Payload\n req?: PayloadRequest\n segments?: string[]\n user?: User\n}\n\nexport const getDocumentData = async ({\n id: idArg,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n req,\n segments,\n user,\n}: Args): Promise<null | Record<string, unknown> | TypeWithID> => {\n const id = sanitizeID(idArg)\n let resolvedData: Record<string, unknown> | TypeWithID = null\n const { transactionID, ...rest } = req\n\n const isTrashedDoc = segments?.[2] === 'trash' && typeof segments?.[3] === 'string' // id exists at segment 3\n\n try {\n if (collectionSlug && id) {\n resolvedData = await payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n overrideAccess: false,\n req: {\n ...rest,\n },\n trash: isTrashedDoc ? true : false,\n user,\n })\n }\n\n if (globalSlug) {\n resolvedData = await payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n overrideAccess: false,\n req: {\n ...rest,\n },\n user,\n })\n }\n } catch (err) {\n logError({ err, payload })\n }\n\n return resolvedData\n}\n"],"mappings":"AAAA,SAEEA,QAAQ,QAKH;AAEP,SAASC,UAAU,QAAQ;AAa3B,OAAO,MAAMC,eAAA,GAAkB,MAAAA,CAAO;EACpCC,EAAA,EAAIC,KAAK;EACTC,cAAc;EACdC,UAAU;EACVC,MAAM;EACNC,OAAO;EACPC,GAAG;EACHC,QAAQ;EACRC;AAAI,CACC;EACL,MAAMR,EAAA,GAAKF,UAAA,CAAWG,KAAA;EACtB,IAAIQ,YAAA,GAAqD;EACzD,MAAM;IAAEC,aAAa;IAAE,GAAGC;EAAA,CAAM,GAAGL,GAAA;EAEnC,MAAMM,YAAA,GAAeL,QAAA,GAAW,EAAE,KAAK,WAAW,OAAOA,QAAA,GAAW,EAAE,KAAK,SAAS;AAAA;EAEpF,IAAI;IACF,IAAIL,cAAA,IAAkBF,EAAA,EAAI;MACxBS,YAAA,GAAe,MAAMJ,OAAA,CAAQQ,QAAQ,CAAC;QACpCb,EAAA;QACAc,UAAA,EAAYZ,cAAA;QACZa,KAAA,EAAO;QACPC,KAAA,EAAO;QACPC,cAAA,EAAgB;QAChBb,MAAA,EAAQA,MAAA,EAAQc,IAAA;QAChBC,cAAA,EAAgB;QAChBb,GAAA,EAAK;UACH,GAAGK;QACL;QACAS,KAAA,EAAOR,YAAA,GAAe,OAAO;QAC7BJ;MACF;IACF;IAEA,IAAIL,UAAA,EAAY;MACdM,YAAA,GAAe,MAAMJ,OAAA,CAAQgB,UAAU,CAAC;QACtCC,IAAA,EAAMnB,UAAA;QACNY,KAAA,EAAO;QACPC,KAAA,EAAO;QACPC,cAAA,EAAgB;QAChBb,MAAA,EAAQA,MAAA,EAAQc,IAAA;QAChBC,cAAA,EAAgB;QAChBb,GAAA,EAAK;UACH,GAAGK;QACL;QACAH;MACF;IACF;EACF,EAAE,OAAOe,GAAA,EAAK;IACZ1B,QAAA,CAAS;MAAE0B,GAAA;MAAKlB;IAAQ;EAC1B;EAEA,OAAOI,YAAA;AACT","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getGlobalData.d.ts","sourceRoot":"","sources":["../../src/utilities/getGlobalData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAa,MAAM,SAAS,CAAA;AAIpE,wBAAsB,aAAa,CAAC,GAAG,EAAE,cAAc;UAU7C;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE;mBAChF,MAAM;UACf,MAAM;KAgEf"}
1
+ {"version":3,"file":"getGlobalData.d.ts","sourceRoot":"","sources":["../../src/utilities/getGlobalData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAQ,MAAM,SAAS,CAAA;AAI/D,wBAAsB,aAAa,CAAC,GAAG,EAAE,cAAc;UAU7C;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE;mBAChF,MAAM;UACf,MAAM;KAgEf"}
@@ -1 +1 @@
1
- {"version":3,"file":"getGlobalData.js","names":["globalLockDurationDefault","getGlobalData","req","payload","config","globalData","globals","length","collections","lockedDocuments","find","collection","depth","overrideAccess","pagination","select","globalSlug","updatedAt","user","where","exists","map","global","lockDuration","lockDocuments","duration","lockedDoc","docs","doc","slug","data","_isLocked","_lastEditedAt","_userEditing","value"],"sources":["../../src/utilities/getGlobalData.ts"],"sourcesContent":["import type { ClientUser, PayloadRequest, TypedUser } from 'payload'\n\nconst globalLockDurationDefault = 300\n\nexport async function getGlobalData(req: PayloadRequest) {\n const {\n payload: { config },\n payload,\n } = req\n // Query locked global documents only if there are globals in the config\n // This type is repeated from DashboardViewServerPropsOnly['globalData'].\n // I thought about moving it to a payload to share it, but we're already\n // exporting all the views props from the next package.\n let globalData: Array<{\n data: { _isLocked: boolean; _lastEditedAt: string; _userEditing: ClientUser | number | string }\n lockDuration?: number\n slug: string\n }> = []\n\n if (config.globals.length > 0) {\n if (payload.collections?.['payload-locked-documents']) {\n const lockedDocuments = await payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n overrideAccess: false,\n pagination: false,\n req,\n select: {\n globalSlug: true,\n updatedAt: true,\n user: true,\n },\n where: {\n globalSlug: {\n exists: true,\n },\n },\n })\n\n // Map over globals to include `lockDuration` and lock data for each global slug\n globalData = config.globals.map((global) => {\n const lockDuration =\n typeof global.lockDocuments === 'object'\n ? global.lockDocuments.duration\n : globalLockDurationDefault\n\n const lockedDoc = lockedDocuments.docs.find((doc) => doc.globalSlug === global.slug)\n\n return {\n slug: global.slug,\n data: {\n _isLocked: !!lockedDoc,\n _lastEditedAt: (lockedDoc?.updatedAt as string) ?? null,\n _userEditing: (lockedDoc?.user as { value?: TypedUser })?.value ?? null,\n },\n lockDuration,\n }\n })\n } else {\n // If locked-documents collection doesn't exist, return globals without lock data\n globalData = config.globals.map((global) => {\n const lockDuration =\n typeof global.lockDocuments === 'object'\n ? global.lockDocuments.duration\n : globalLockDurationDefault\n\n return {\n slug: global.slug,\n data: {\n _isLocked: false,\n _lastEditedAt: null,\n _userEditing: null,\n },\n lockDuration,\n }\n })\n }\n }\n\n return globalData\n}\n"],"mappings":"AAEA,MAAMA,yBAAA,GAA4B;AAElC,OAAO,eAAeC,cAAcC,GAAmB;EACrD,MAAM;IACJC,OAAA,EAAS;MAAEC;IAAM,CAAE;IACnBD;EAAO,CACR,GAAGD,GAAA;EACJ;EACA;EACA;EACA;EACA,IAAIG,UAAA,GAIC,EAAE;EAEP,IAAID,MAAA,CAAOE,OAAO,CAACC,MAAM,GAAG,GAAG;IAC7B,IAAIJ,OAAA,CAAQK,WAAW,GAAG,2BAA2B,EAAE;MACrD,MAAMC,eAAA,GAAkB,MAAMN,OAAA,CAAQO,IAAI,CAAC;QACzCC,UAAA,EAAY;QACZC,KAAA,EAAO;QACPC,cAAA,EAAgB;QAChBC,UAAA,EAAY;QACZZ,GAAA;QACAa,MAAA,EAAQ;UACNC,UAAA,EAAY;UACZC,SAAA,EAAW;UACXC,IAAA,EAAM;QACR;QACAC,KAAA,EAAO;UACLH,UAAA,EAAY;YACVI,MAAA,EAAQ;UACV;QACF;MACF;MAEA;MACAf,UAAA,GAAaD,MAAA,CAAOE,OAAO,CAACe,GAAG,CAAEC,MAAA;QAC/B,MAAMC,YAAA,GACJ,OAAOD,MAAA,CAAOE,aAAa,KAAK,WAC5BF,MAAA,CAAOE,aAAa,CAACC,QAAQ,GAC7BzB,yBAAA;QAEN,MAAM0B,SAAA,GAAYjB,eAAA,CAAgBkB,IAAI,CAACjB,IAAI,CAAEkB,GAAA,IAAQA,GAAA,CAAIZ,UAAU,KAAKM,MAAA,CAAOO,IAAI;QAEnF,OAAO;UACLA,IAAA,EAAMP,MAAA,CAAOO,IAAI;UACjBC,IAAA,EAAM;YACJC,SAAA,EAAW,CAAC,CAACL,SAAA;YACbM,aAAA,EAAeN,SAAC,EAAWT,SAAA,IAAwB;YACnDgB,YAAA,EAAcP,SAAC,EAAWR,IAAA,EAAgCgB,KAAA,IAAS;UACrE;UACAX;QACF;MACF;IACF,OAAO;MACL;MACAlB,UAAA,GAAaD,MAAA,CAAOE,OAAO,CAACe,GAAG,CAAEC,MAAA;QAC/B,MAAMC,YAAA,GACJ,OAAOD,MAAA,CAAOE,aAAa,KAAK,WAC5BF,MAAA,CAAOE,aAAa,CAACC,QAAQ,GAC7BzB,yBAAA;QAEN,OAAO;UACL6B,IAAA,EAAMP,MAAA,CAAOO,IAAI;UACjBC,IAAA,EAAM;YACJC,SAAA,EAAW;YACXC,aAAA,EAAe;YACfC,YAAA,EAAc;UAChB;UACAV;QACF;MACF;IACF;EACF;EAEA,OAAOlB,UAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"getGlobalData.js","names":["globalLockDurationDefault","getGlobalData","req","payload","config","globalData","globals","length","collections","lockedDocuments","find","collection","depth","overrideAccess","pagination","select","globalSlug","updatedAt","user","where","exists","map","global","lockDuration","lockDocuments","duration","lockedDoc","docs","doc","slug","data","_isLocked","_lastEditedAt","_userEditing","value"],"sources":["../../src/utilities/getGlobalData.ts"],"sourcesContent":["import type { ClientUser, PayloadRequest, User } from 'payload'\n\nconst globalLockDurationDefault = 300\n\nexport async function getGlobalData(req: PayloadRequest) {\n const {\n payload: { config },\n payload,\n } = req\n // Query locked global documents only if there are globals in the config\n // This type is repeated from DashboardViewServerPropsOnly['globalData'].\n // I thought about moving it to a payload to share it, but we're already\n // exporting all the views props from the next package.\n let globalData: Array<{\n data: { _isLocked: boolean; _lastEditedAt: string; _userEditing: ClientUser | number | string }\n lockDuration?: number\n slug: string\n }> = []\n\n if (config.globals.length > 0) {\n if (payload.collections?.['payload-locked-documents']) {\n const lockedDocuments = await payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n overrideAccess: false,\n pagination: false,\n req,\n select: {\n globalSlug: true,\n updatedAt: true,\n user: true,\n },\n where: {\n globalSlug: {\n exists: true,\n },\n },\n })\n\n // Map over globals to include `lockDuration` and lock data for each global slug\n globalData = config.globals.map((global) => {\n const lockDuration =\n typeof global.lockDocuments === 'object'\n ? global.lockDocuments.duration\n : globalLockDurationDefault\n\n const lockedDoc = lockedDocuments.docs.find((doc) => doc.globalSlug === global.slug)\n\n return {\n slug: global.slug,\n data: {\n _isLocked: !!lockedDoc,\n _lastEditedAt: (lockedDoc?.updatedAt as string) ?? null,\n _userEditing: (lockedDoc?.user as { value?: User })?.value ?? null,\n },\n lockDuration,\n }\n })\n } else {\n // If locked-documents collection doesn't exist, return globals without lock data\n globalData = config.globals.map((global) => {\n const lockDuration =\n typeof global.lockDocuments === 'object'\n ? global.lockDocuments.duration\n : globalLockDurationDefault\n\n return {\n slug: global.slug,\n data: {\n _isLocked: false,\n _lastEditedAt: null,\n _userEditing: null,\n },\n lockDuration,\n }\n })\n }\n }\n\n return globalData\n}\n"],"mappings":"AAEA,MAAMA,yBAAA,GAA4B;AAElC,OAAO,eAAeC,cAAcC,GAAmB;EACrD,MAAM;IACJC,OAAA,EAAS;MAAEC;IAAM,CAAE;IACnBD;EAAO,CACR,GAAGD,GAAA;EACJ;EACA;EACA;EACA;EACA,IAAIG,UAAA,GAIC,EAAE;EAEP,IAAID,MAAA,CAAOE,OAAO,CAACC,MAAM,GAAG,GAAG;IAC7B,IAAIJ,OAAA,CAAQK,WAAW,GAAG,2BAA2B,EAAE;MACrD,MAAMC,eAAA,GAAkB,MAAMN,OAAA,CAAQO,IAAI,CAAC;QACzCC,UAAA,EAAY;QACZC,KAAA,EAAO;QACPC,cAAA,EAAgB;QAChBC,UAAA,EAAY;QACZZ,GAAA;QACAa,MAAA,EAAQ;UACNC,UAAA,EAAY;UACZC,SAAA,EAAW;UACXC,IAAA,EAAM;QACR;QACAC,KAAA,EAAO;UACLH,UAAA,EAAY;YACVI,MAAA,EAAQ;UACV;QACF;MACF;MAEA;MACAf,UAAA,GAAaD,MAAA,CAAOE,OAAO,CAACe,GAAG,CAAEC,MAAA;QAC/B,MAAMC,YAAA,GACJ,OAAOD,MAAA,CAAOE,aAAa,KAAK,WAC5BF,MAAA,CAAOE,aAAa,CAACC,QAAQ,GAC7BzB,yBAAA;QAEN,MAAM0B,SAAA,GAAYjB,eAAA,CAAgBkB,IAAI,CAACjB,IAAI,CAAEkB,GAAA,IAAQA,GAAA,CAAIZ,UAAU,KAAKM,MAAA,CAAOO,IAAI;QAEnF,OAAO;UACLA,IAAA,EAAMP,MAAA,CAAOO,IAAI;UACjBC,IAAA,EAAM;YACJC,SAAA,EAAW,CAAC,CAACL,SAAA;YACbM,aAAA,EAAeN,SAAC,EAAWT,SAAA,IAAwB;YACnDgB,YAAA,EAAcP,SAAC,EAAWR,IAAA,EAA2BgB,KAAA,IAAS;UAChE;UACAX;QACF;MACF;IACF,OAAO;MACL;MACAlB,UAAA,GAAaD,MAAA,CAAOE,OAAO,CAACe,GAAG,CAAEC,MAAA;QAC/B,MAAMC,YAAA,GACJ,OAAOD,MAAA,CAAOE,aAAa,KAAK,WAC5BF,MAAA,CAAOE,aAAa,CAACC,QAAQ,GAC7BzB,yBAAA;QAEN,OAAO;UACL6B,IAAA,EAAMP,MAAA,CAAOO,IAAI;UACjBC,IAAA,EAAM;YACJC,SAAA,EAAW;YACXC,aAAA,EAAe;YACfC,YAAA,EAAc;UAChB;UACAV;QACF;MACF;IACF;EACF;EAEA,OAAOlB,UAAA;AACT","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import type { Payload, SanitizedCollectionConfig, SanitizedGlobalConfig, User } from 'payload';
2
+ type Args = {
3
+ collectionConfig?: SanitizedCollectionConfig;
4
+ globalConfig?: SanitizedGlobalConfig;
5
+ hasPublishPermission?: boolean;
6
+ id?: number | string;
7
+ payload: Payload;
8
+ user: User;
9
+ };
10
+ export declare const getHasScheduledPublish: ({ id: idArg, collectionConfig, globalConfig, hasPublishPermission, payload, user, }: Args) => Promise<boolean>;
11
+ export {};
12
+ //# sourceMappingURL=getHasScheduledPublish.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getHasScheduledPublish.d.ts","sourceRoot":"","sources":["../../src/utilities/getHasScheduledPublish.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAO9F,KAAK,IAAI,GAAG;IACV,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAU,qFAO1C,IAAI,KAAG,OAAO,CAAC,OAAO,CA4BxB,CAAA"}
@@ -0,0 +1,38 @@
1
+ import { hasScheduledPublishEnabled } from 'payload/shared';
2
+ import { buildUpcomingScheduleWhere } from '../elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js';
3
+ import { sanitizeID } from './sanitizeID.js';
4
+ export const getHasScheduledPublish = async ({
5
+ id: idArg,
6
+ collectionConfig,
7
+ globalConfig,
8
+ hasPublishPermission,
9
+ payload,
10
+ user
11
+ }) => {
12
+ const entityConfig = collectionConfig || globalConfig;
13
+ const id = sanitizeID(idArg);
14
+ const collectionSlug = collectionConfig?.slug;
15
+ const globalSlug = globalConfig?.slug;
16
+ const canSchedulePublish = Boolean(hasScheduledPublishEnabled(entityConfig) && hasPublishPermission && (globalSlug || collectionSlug && id));
17
+ if (!canSchedulePublish) {
18
+ return false;
19
+ }
20
+ try {
21
+ const {
22
+ totalDocs
23
+ } = await payload.count({
24
+ collection: 'payload-jobs',
25
+ overrideAccess: false,
26
+ user,
27
+ where: buildUpcomingScheduleWhere({
28
+ id,
29
+ collectionSlug,
30
+ globalSlug
31
+ })
32
+ });
33
+ return totalDocs > 0;
34
+ } catch {
35
+ return false;
36
+ }
37
+ };
38
+ //# sourceMappingURL=getHasScheduledPublish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getHasScheduledPublish.js","names":["hasScheduledPublishEnabled","buildUpcomingScheduleWhere","sanitizeID","getHasScheduledPublish","id","idArg","collectionConfig","globalConfig","hasPublishPermission","payload","user","entityConfig","collectionSlug","slug","globalSlug","canSchedulePublish","Boolean","totalDocs","count","collection","overrideAccess","where"],"sources":["../../src/utilities/getHasScheduledPublish.ts"],"sourcesContent":["import type { Payload, SanitizedCollectionConfig, SanitizedGlobalConfig, User } from 'payload'\n\nimport { hasScheduledPublishEnabled } from 'payload/shared'\n\nimport { buildUpcomingScheduleWhere } from '../elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js'\nimport { sanitizeID } from './sanitizeID.js'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n hasPublishPermission?: boolean\n id?: number | string\n payload: Payload\n user: User\n}\n\nexport const getHasScheduledPublish = async ({\n id: idArg,\n collectionConfig,\n globalConfig,\n hasPublishPermission,\n payload,\n user,\n}: Args): Promise<boolean> => {\n const entityConfig = collectionConfig || globalConfig\n const id = sanitizeID(idArg)\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n\n const canSchedulePublish = Boolean(\n hasScheduledPublishEnabled(entityConfig) &&\n hasPublishPermission &&\n (globalSlug || (collectionSlug && id)),\n )\n\n if (!canSchedulePublish) {\n return false\n }\n\n try {\n const { totalDocs } = await payload.count({\n collection: 'payload-jobs',\n overrideAccess: false,\n user,\n where: buildUpcomingScheduleWhere({ id, collectionSlug, globalSlug }),\n })\n\n return totalDocs > 0\n } catch {\n return false\n }\n}\n"],"mappings":"AAEA,SAASA,0BAA0B,QAAQ;AAE3C,SAASC,0BAA0B,QAAQ;AAC3C,SAASC,UAAU,QAAQ;AAW3B,OAAO,MAAMC,sBAAA,GAAyB,MAAAA,CAAO;EAC3CC,EAAA,EAAIC,KAAK;EACTC,gBAAgB;EAChBC,YAAY;EACZC,oBAAoB;EACpBC,OAAO;EACPC;AAAI,CACC;EACL,MAAMC,YAAA,GAAeL,gBAAA,IAAoBC,YAAA;EACzC,MAAMH,EAAA,GAAKF,UAAA,CAAWG,KAAA;EACtB,MAAMO,cAAA,GAAiBN,gBAAA,EAAkBO,IAAA;EACzC,MAAMC,UAAA,GAAaP,YAAA,EAAcM,IAAA;EAEjC,MAAME,kBAAA,GAAqBC,OAAA,CACzBhB,0BAAA,CAA2BW,YAAA,KACzBH,oBAAA,KACCM,UAAA,IAAeF,cAAA,IAAkBR,EAAE;EAGxC,IAAI,CAACW,kBAAA,EAAoB;IACvB,OAAO;EACT;EAEA,IAAI;IACF,MAAM;MAAEE;IAAS,CAAE,GAAG,MAAMR,OAAA,CAAQS,KAAK,CAAC;MACxCC,UAAA,EAAY;MACZC,cAAA,EAAgB;MAChBV,IAAA;MACAW,KAAA,EAAOpB,0BAAA,CAA2B;QAAEG,EAAA;QAAIQ,cAAA;QAAgBE;MAAW;IACrE;IAEA,OAAOG,SAAA,GAAY;EACrB,EAAE,MAAM;IACN,OAAO;EACT;AACF","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { PayloadRequest, SanitizedCollectionConfig, SanitizedGlobalConfig, TypedUser } from 'payload';
1
+ import type { PayloadRequest, SanitizedCollectionConfig, SanitizedGlobalConfig, User } from 'payload';
2
2
  type Args = {
3
3
  collectionConfig?: SanitizedCollectionConfig;
4
4
  globalConfig?: SanitizedGlobalConfig;
@@ -7,7 +7,7 @@ type Args = {
7
7
  req: PayloadRequest;
8
8
  };
9
9
  type Result = Promise<{
10
- currentEditor?: TypedUser;
10
+ currentEditor?: User;
11
11
  isLocked: boolean;
12
12
  lastUpdateTime?: number;
13
13
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"getIsLocked.d.ts","sourceRoot":"","sources":["../../src/utilities/getIsLocked.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EACrB,SAAS,EAEV,MAAM,SAAS,CAAA;AAMhB,KAAK,IAAI,GAAG;IACV,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,KAAK,MAAM,GAAG,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAC,CAAA;AAEF,eAAO,MAAM,WAAW,GAAU,yDAM/B,IAAI,KAAG,MAwFT,CAAA"}
1
+ {"version":3,"file":"getIsLocked.d.ts","sourceRoot":"","sources":["../../src/utilities/getIsLocked.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EACrB,IAAI,EAEL,MAAM,SAAS,CAAA;AAMhB,KAAK,IAAI,GAAG;IACV,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,KAAK,MAAM,GAAG,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,IAAI,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAC,CAAA;AAEF,eAAO,MAAM,WAAW,GAAU,yDAM/B,IAAI,KAAG,MAwFT,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getIsLocked.js","names":["extractID","sanitizeID","getIsLocked","id","collectionConfig","globalConfig","isEditing","req","entityConfig","entityHasLockingEnabled","lockDocuments","undefined","payload","collections","isLocked","where","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","now","Date","getTime","and","globalSlug","equals","slug","updatedAt","greater_than","docs","find","collection","depth","overrideAccess","length","currentEditor","user","value","lastUpdateTime"],"sources":["../../src/utilities/getIsLocked.ts"],"sourcesContent":["import type {\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TypedUser,\n Where,\n} from 'payload'\n\nimport { extractID } from 'payload/shared'\n\nimport { sanitizeID } from './sanitizeID.js'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n isEditing: boolean\n req: PayloadRequest\n}\n\ntype Result = Promise<{\n currentEditor?: TypedUser\n isLocked: boolean\n lastUpdateTime?: number\n}>\n\nexport const getIsLocked = async ({\n id,\n collectionConfig,\n globalConfig,\n isEditing,\n req,\n}: Args): Result => {\n const entityConfig = collectionConfig || globalConfig\n\n const entityHasLockingEnabled =\n entityConfig?.lockDocuments !== undefined ? entityConfig?.lockDocuments : true\n\n // Check if the locked-documents collection exists\n if (!req.payload.collections?.['payload-locked-documents']) {\n // If the collection doesn't exist, locking is not available\n return {\n isLocked: false,\n }\n }\n\n if (!entityHasLockingEnabled || !isEditing) {\n return {\n isLocked: false,\n }\n }\n\n const where: Where = {}\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof entityConfig.lockDocuments === 'object'\n ? entityConfig.lockDocuments.duration\n : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const now = new Date().getTime()\n\n if (globalConfig) {\n where.and = [\n {\n globalSlug: {\n equals: globalConfig.slug,\n },\n },\n {\n updatedAt: {\n greater_than: new Date(now - lockDurationInMilliseconds),\n },\n },\n ]\n } else {\n where.and = [\n {\n 'document.value': {\n equals: sanitizeID(id),\n },\n },\n {\n 'document.relationTo': {\n equals: collectionConfig.slug,\n },\n },\n {\n updatedAt: {\n greater_than: new Date(now - lockDurationInMilliseconds),\n },\n },\n ]\n }\n\n const { docs } = await req.payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n overrideAccess: false,\n req,\n where,\n })\n\n if (docs.length > 0) {\n const currentEditor = docs[0].user?.value\n const lastUpdateTime = new Date(docs[0].updatedAt).getTime()\n\n if (extractID(currentEditor) !== req.user.id) {\n return {\n currentEditor,\n isLocked: true,\n lastUpdateTime,\n }\n }\n }\n\n return {\n isLocked: false,\n }\n}\n"],"mappings":"AAQA,SAASA,SAAS,QAAQ;AAE1B,SAASC,UAAU,QAAQ;AAgB3B,OAAO,MAAMC,WAAA,GAAc,MAAAA,CAAO;EAChCC,EAAE;EACFC,gBAAgB;EAChBC,YAAY;EACZC,SAAS;EACTC;AAAG,CACE;EACL,MAAMC,YAAA,GAAeJ,gBAAA,IAAoBC,YAAA;EAEzC,MAAMI,uBAAA,GACJD,YAAA,EAAcE,aAAA,KAAkBC,SAAA,GAAYH,YAAA,EAAcE,aAAA,GAAgB;EAE5E;EACA,IAAI,CAACH,GAAA,CAAIK,OAAO,CAACC,WAAW,GAAG,2BAA2B,EAAE;IAC1D;IACA,OAAO;MACLC,QAAA,EAAU;IACZ;EACF;EAEA,IAAI,CAACL,uBAAA,IAA2B,CAACH,SAAA,EAAW;IAC1C,OAAO;MACLQ,QAAA,EAAU;IACZ;EACF;EAEA,MAAMC,KAAA,GAAe,CAAC;EAEtB,MAAMC,mBAAA,GAAsB,IAAI;AAAA;EAChC,MAAMC,YAAA,GACJ,OAAOT,YAAA,CAAaE,aAAa,KAAK,WAClCF,YAAA,CAAaE,aAAa,CAACQ,QAAQ,GACnCF,mBAAA;EACN,MAAMG,0BAAA,GAA6BF,YAAA,GAAe;EAElD,MAAMG,GAAA,GAAM,IAAIC,IAAA,GAAOC,OAAO;EAE9B,IAAIjB,YAAA,EAAc;IAChBU,KAAA,CAAMQ,GAAG,GAAG,CACV;MACEC,UAAA,EAAY;QACVC,MAAA,EAAQpB,YAAA,CAAaqB;MACvB;IACF,GACA;MACEC,SAAA,EAAW;QACTC,YAAA,EAAc,IAAIP,IAAA,CAAKD,GAAA,GAAMD,0BAAA;MAC/B;IACF,EACD;EACH,OAAO;IACLJ,KAAA,CAAMQ,GAAG,GAAG,CACV;MACE,kBAAkB;QAChBE,MAAA,EAAQxB,UAAA,CAAWE,EAAA;MACrB;IACF,GACA;MACE,uBAAuB;QACrBsB,MAAA,EAAQrB,gBAAA,CAAiBsB;MAC3B;IACF,GACA;MACEC,SAAA,EAAW;QACTC,YAAA,EAAc,IAAIP,IAAA,CAAKD,GAAA,GAAMD,0BAAA;MAC/B;IACF,EACD;EACH;EAEA,MAAM;IAAEU;EAAI,CAAE,GAAG,MAAMtB,GAAA,CAAIK,OAAO,CAACkB,IAAI,CAAC;IACtCC,UAAA,EAAY;IACZC,KAAA,EAAO;IACPC,cAAA,EAAgB;IAChB1B,GAAA;IACAQ;EACF;EAEA,IAAIc,IAAA,CAAKK,MAAM,GAAG,GAAG;IACnB,MAAMC,aAAA,GAAgBN,IAAI,CAAC,EAAE,CAACO,IAAI,EAAEC,KAAA;IACpC,MAAMC,cAAA,GAAiB,IAAIjB,IAAA,CAAKQ,IAAI,CAAC,EAAE,CAACF,SAAS,EAAEL,OAAO;IAE1D,IAAItB,SAAA,CAAUmC,aAAA,MAAmB5B,GAAA,CAAI6B,IAAI,CAACjC,EAAE,EAAE;MAC5C,OAAO;QACLgC,aAAA;QACArB,QAAA,EAAU;QACVwB;MACF;IACF;EACF;EAEA,OAAO;IACLxB,QAAA,EAAU;EACZ;AACF","ignoreList":[]}
1
+ {"version":3,"file":"getIsLocked.js","names":["extractID","sanitizeID","getIsLocked","id","collectionConfig","globalConfig","isEditing","req","entityConfig","entityHasLockingEnabled","lockDocuments","undefined","payload","collections","isLocked","where","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","now","Date","getTime","and","globalSlug","equals","slug","updatedAt","greater_than","docs","find","collection","depth","overrideAccess","length","currentEditor","user","value","lastUpdateTime"],"sources":["../../src/utilities/getIsLocked.ts"],"sourcesContent":["import type {\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n User,\n Where,\n} from 'payload'\n\nimport { extractID } from 'payload/shared'\n\nimport { sanitizeID } from './sanitizeID.js'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n isEditing: boolean\n req: PayloadRequest\n}\n\ntype Result = Promise<{\n currentEditor?: User\n isLocked: boolean\n lastUpdateTime?: number\n}>\n\nexport const getIsLocked = async ({\n id,\n collectionConfig,\n globalConfig,\n isEditing,\n req,\n}: Args): Result => {\n const entityConfig = collectionConfig || globalConfig\n\n const entityHasLockingEnabled =\n entityConfig?.lockDocuments !== undefined ? entityConfig?.lockDocuments : true\n\n // Check if the locked-documents collection exists\n if (!req.payload.collections?.['payload-locked-documents']) {\n // If the collection doesn't exist, locking is not available\n return {\n isLocked: false,\n }\n }\n\n if (!entityHasLockingEnabled || !isEditing) {\n return {\n isLocked: false,\n }\n }\n\n const where: Where = {}\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof entityConfig.lockDocuments === 'object'\n ? entityConfig.lockDocuments.duration\n : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const now = new Date().getTime()\n\n if (globalConfig) {\n where.and = [\n {\n globalSlug: {\n equals: globalConfig.slug,\n },\n },\n {\n updatedAt: {\n greater_than: new Date(now - lockDurationInMilliseconds),\n },\n },\n ]\n } else {\n where.and = [\n {\n 'document.value': {\n equals: sanitizeID(id),\n },\n },\n {\n 'document.relationTo': {\n equals: collectionConfig.slug,\n },\n },\n {\n updatedAt: {\n greater_than: new Date(now - lockDurationInMilliseconds),\n },\n },\n ]\n }\n\n const { docs } = await req.payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n overrideAccess: false,\n req,\n where,\n })\n\n if (docs.length > 0) {\n const currentEditor = docs[0].user?.value\n const lastUpdateTime = new Date(docs[0].updatedAt).getTime()\n\n if (extractID(currentEditor) !== req.user.id) {\n return {\n currentEditor,\n isLocked: true,\n lastUpdateTime,\n }\n }\n }\n\n return {\n isLocked: false,\n }\n}\n"],"mappings":"AAQA,SAASA,SAAS,QAAQ;AAE1B,SAASC,UAAU,QAAQ;AAgB3B,OAAO,MAAMC,WAAA,GAAc,MAAAA,CAAO;EAChCC,EAAE;EACFC,gBAAgB;EAChBC,YAAY;EACZC,SAAS;EACTC;AAAG,CACE;EACL,MAAMC,YAAA,GAAeJ,gBAAA,IAAoBC,YAAA;EAEzC,MAAMI,uBAAA,GACJD,YAAA,EAAcE,aAAA,KAAkBC,SAAA,GAAYH,YAAA,EAAcE,aAAA,GAAgB;EAE5E;EACA,IAAI,CAACH,GAAA,CAAIK,OAAO,CAACC,WAAW,GAAG,2BAA2B,EAAE;IAC1D;IACA,OAAO;MACLC,QAAA,EAAU;IACZ;EACF;EAEA,IAAI,CAACL,uBAAA,IAA2B,CAACH,SAAA,EAAW;IAC1C,OAAO;MACLQ,QAAA,EAAU;IACZ;EACF;EAEA,MAAMC,KAAA,GAAe,CAAC;EAEtB,MAAMC,mBAAA,GAAsB,IAAI;AAAA;EAChC,MAAMC,YAAA,GACJ,OAAOT,YAAA,CAAaE,aAAa,KAAK,WAClCF,YAAA,CAAaE,aAAa,CAACQ,QAAQ,GACnCF,mBAAA;EACN,MAAMG,0BAAA,GAA6BF,YAAA,GAAe;EAElD,MAAMG,GAAA,GAAM,IAAIC,IAAA,GAAOC,OAAO;EAE9B,IAAIjB,YAAA,EAAc;IAChBU,KAAA,CAAMQ,GAAG,GAAG,CACV;MACEC,UAAA,EAAY;QACVC,MAAA,EAAQpB,YAAA,CAAaqB;MACvB;IACF,GACA;MACEC,SAAA,EAAW;QACTC,YAAA,EAAc,IAAIP,IAAA,CAAKD,GAAA,GAAMD,0BAAA;MAC/B;IACF,EACD;EACH,OAAO;IACLJ,KAAA,CAAMQ,GAAG,GAAG,CACV;MACE,kBAAkB;QAChBE,MAAA,EAAQxB,UAAA,CAAWE,EAAA;MACrB;IACF,GACA;MACE,uBAAuB;QACrBsB,MAAA,EAAQrB,gBAAA,CAAiBsB;MAC3B;IACF,GACA;MACEC,SAAA,EAAW;QACTC,YAAA,EAAc,IAAIP,IAAA,CAAKD,GAAA,GAAMD,0BAAA;MAC/B;IACF,EACD;EACH;EAEA,MAAM;IAAEU;EAAI,CAAE,GAAG,MAAMtB,GAAA,CAAIK,OAAO,CAACkB,IAAI,CAAC;IACtCC,UAAA,EAAY;IACZC,KAAA,EAAO;IACPC,cAAA,EAAgB;IAChB1B,GAAA;IACAQ;EACF;EAEA,IAAIc,IAAA,CAAKK,MAAM,GAAG,GAAG;IACnB,MAAMC,aAAA,GAAgBN,IAAI,CAAC,EAAE,CAACO,IAAI,EAAEC,KAAA;IACpC,MAAMC,cAAA,GAAiB,IAAIjB,IAAA,CAAKQ,IAAI,CAAC,EAAE,CAACF,SAAS,EAAEL,OAAO;IAE1D,IAAItB,SAAA,CAAUmC,aAAA,MAAmB5B,GAAA,CAAI6B,IAAI,CAACjC,EAAE,EAAE;MAC5C,OAAO;QACLgC,aAAA;QACArB,QAAA,EAAU;QACVwB;MACF;IACF;EACF;EAEA,OAAO;IACLxB,QAAA,EAAU;EACZ;AACF","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { Payload, SanitizedCollectionConfig, SanitizedDocumentPermissions, SanitizedGlobalConfig, TypedUser } from 'payload';
1
+ import type { Payload, SanitizedCollectionConfig, SanitizedDocumentPermissions, SanitizedGlobalConfig, User } from 'payload';
2
2
  type Args = {
3
3
  collectionConfig?: SanitizedCollectionConfig;
4
4
  /**
@@ -13,7 +13,7 @@ type Args = {
13
13
  id?: number | string;
14
14
  locale?: string;
15
15
  payload: Payload;
16
- user: TypedUser;
16
+ user: User;
17
17
  };
18
18
  type Result = Promise<{
19
19
  hasPublishedDoc: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"getVersions.d.ts","sourceRoot":"","sources":["../../src/utilities/getVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACrB,SAAS,EACV,MAAM,SAAS,CAAA;AAQhB,KAAK,IAAI,GAAG;IACV,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,cAAc,EAAE,4BAA4B,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAED,KAAK,MAAM,GAAG,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAA;IACxB,4BAA4B,EAAE,OAAO,CAAA;IACrC,uBAAuB,EAAE,MAAM,CAAA;IAC/B,YAAY,EAAE,MAAM,CAAA;CACrB,CAAC,CAAA;AAKF,eAAO,MAAM,WAAW,GAAU,4FAS/B,IAAI,KAAG,MAgRT,CAAA"}
1
+ {"version":3,"file":"getVersions.d.ts","sourceRoot":"","sources":["../../src/utilities/getVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACrB,IAAI,EACL,MAAM,SAAS,CAAA;AAQhB,KAAK,IAAI,GAAG;IACV,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,cAAc,EAAE,4BAA4B,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,KAAK,MAAM,GAAG,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAA;IACxB,4BAA4B,EAAE,OAAO,CAAA;IACrC,uBAAuB,EAAE,MAAM,CAAA;IAC/B,YAAY,EAAE,MAAM,CAAA;CACrB,CAAC,CAAA;AAKF,eAAO,MAAM,WAAW,GAAU,4FAS/B,IAAI,KAAG,MAoPT,CAAA"}
@@ -27,11 +27,8 @@ export const getVersions = async ({
27
27
  const localizedDraftsEnabled = hasDraftsEnabled(entityConfig) && typeof payload.config.localization === 'object' && hasLocalizedFields;
28
28
  const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions);
29
29
  if (!shouldFetchVersions) {
30
- // Without readVersions permission, determine published status from the
31
- // `_status` field. A missing doc (e.g. the create view, before the first
32
- // save) has no published version — guard against `undefined !== 'draft'`
33
- // resolving to `true` and reporting a brand-new draft as published.
34
- const hasPublishedDoc = doc ? localizedDraftsEnabled ? doc._status === 'published' : doc._status !== 'draft' : false;
30
+ // Without readVersions permission, determine published status from the _status field
31
+ const hasPublishedDoc = localizedDraftsEnabled ? doc?._status === 'published' : doc?._status !== 'draft';
35
32
  return {
36
33
  hasPublishedDoc,
37
34
  mostRecentVersionIsAutosaved,
@@ -87,13 +84,6 @@ export const getVersions = async ({
87
84
  }
88
85
  }]
89
86
  };
90
- if (localizedDraftsEnabled) {
91
- where.and.push({
92
- snapshot: {
93
- not_equals: true
94
- }
95
- });
96
- }
97
87
  const mostRecentVersion = await payload.findVersions({
98
88
  collection: collectionConfig.slug,
99
89
  depth: 0,
@@ -142,14 +132,6 @@ export const getVersions = async ({
142
132
  }
143
133
  }]
144
134
  };
145
- if (localizedDraftsEnabled) {
146
- countVersionsWhere.and.push({
147
- snapshot: {
148
- not_equals: true
149
- }
150
- });
151
- }
152
- ;
153
135
  ({
154
136
  totalDocs: versionCount
155
137
  } = await payload.countVersions({
@@ -220,12 +202,7 @@ export const getVersions = async ({
220
202
  } = await payload.countGlobalVersions({
221
203
  global: globalConfig.slug,
222
204
  locale,
223
- user,
224
- where: localizedDraftsEnabled ? {
225
- snapshot: {
226
- not_equals: true
227
- }
228
- } : undefined
205
+ user
229
206
  }));
230
207
  }
231
208
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"getVersions.js","names":["combineQueries","extractAccessFromPermission","hasAutosaveEnabled","hasDraftsEnabled","sanitizeID","traverseForLocalizedFields","getVersions","id","idArg","collectionConfig","doc","docPermissions","globalConfig","locale","payload","user","publishedDoc","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","entityConfig","versionsConfig","versions","hasLocalizedFields","fields","localizedDraftsEnabled","config","localization","shouldFetchVersions","Boolean","readVersions","_status","find","collection","slug","depth","limit","undefined","pagination","select","updatedAt","where","and","equals","docs","parent","push","snapshot","not_equals","mostRecentVersion","findVersions","autosave","totalDocs","countVersions","greater_than","countVersionsWhere","findGlobal","findGlobalVersions","countGlobalVersions","global"],"sources":["../../src/utilities/getVersions.ts"],"sourcesContent":["import type {\n Payload,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n TypedUser,\n} from 'payload'\n\nimport { combineQueries, extractAccessFromPermission } from 'payload'\nimport { hasAutosaveEnabled, hasDraftsEnabled } from 'payload/shared'\n\nimport { sanitizeID } from './sanitizeID.js'\nimport { traverseForLocalizedFields } from './traverseForLocalizedFields.js'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n /**\n * Optional - performance optimization.\n * If a document has been fetched before fetching versions, pass it here.\n * If this document is set to published, we can skip the query to find out if a published document exists,\n * as the passed in document is proof of its existence.\n */\n doc?: Record<string, any>\n docPermissions: SanitizedDocumentPermissions\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n locale?: string\n payload: Payload\n user: TypedUser\n}\n\ntype Result = Promise<{\n hasPublishedDoc: boolean\n mostRecentVersionIsAutosaved: boolean\n unpublishedVersionCount: number\n versionCount: number\n}>\n\n// TODO: in the future, we can parallelize some of these queries\n// this will speed up the API by ~30-100ms or so\n// Note from the future: I have attempted parallelizing these queries, but it made this function almost 2x slower.\nexport const getVersions = async ({\n id: idArg,\n collectionConfig,\n doc,\n docPermissions,\n globalConfig,\n locale,\n payload,\n user,\n}: Args): Result => {\n const id = sanitizeID(idArg)\n let publishedDoc\n let hasPublishedDoc = false\n let mostRecentVersionIsAutosaved = false\n let unpublishedVersionCount = 0\n let versionCount = 0\n\n const entityConfig = collectionConfig || globalConfig\n const versionsConfig = entityConfig?.versions\n const hasLocalizedFields = traverseForLocalizedFields(entityConfig.fields)\n const localizedDraftsEnabled =\n hasDraftsEnabled(entityConfig) &&\n typeof payload.config.localization === 'object' &&\n hasLocalizedFields\n\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions)\n\n if (!shouldFetchVersions) {\n // Without readVersions permission, determine published status from the\n // `_status` field. A missing doc (e.g. the create view, before the first\n // save) has no published version — guard against `undefined !== 'draft'`\n // resolving to `true` and reporting a brand-new draft as published.\n const hasPublishedDoc = doc\n ? localizedDraftsEnabled\n ? doc._status === 'published'\n : doc._status !== 'draft'\n : false\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (collectionConfig) {\n if (!id) {\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (hasDraftsEnabled(collectionConfig)) {\n // Find out if a published document exists\n if (doc?._status === 'published') {\n publishedDoc = doc\n } else {\n publishedDoc = (\n await payload.find({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 1,\n locale: locale || undefined,\n pagination: false,\n select: {\n updatedAt: true,\n },\n user,\n where: {\n and: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n id: {\n equals: id,\n },\n },\n ],\n },\n })\n )?.docs?.[0]\n }\n\n if (publishedDoc) {\n hasPublishedDoc = true\n }\n\n if (hasAutosaveEnabled(collectionConfig)) {\n const where: Record<string, any> = {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n }\n\n if (localizedDraftsEnabled) {\n where.and.push({\n snapshot: {\n not_equals: true,\n },\n })\n }\n\n const mostRecentVersion = await payload.findVersions({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 1,\n locale,\n select: {\n autosave: true,\n },\n user,\n where: combineQueries(where, extractAccessFromPermission(docPermissions.readVersions)),\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedDoc?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n locale,\n user,\n where: combineQueries(\n {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedDoc.updatedAt,\n },\n },\n ],\n },\n extractAccessFromPermission(docPermissions.readVersions),\n ),\n }))\n }\n }\n\n const countVersionsWhere: Record<string, any> = {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n }\n\n if (localizedDraftsEnabled) {\n countVersionsWhere.and.push({\n snapshot: {\n not_equals: true,\n },\n })\n }\n\n ;({ totalDocs: versionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n locale,\n user,\n where: combineQueries(\n countVersionsWhere,\n extractAccessFromPermission(docPermissions.readVersions),\n ),\n }))\n }\n\n if (globalConfig) {\n // Find out if a published document exists\n if (hasDraftsEnabled(globalConfig)) {\n if (doc?._status === 'published') {\n publishedDoc = doc\n } else {\n publishedDoc = await payload.findGlobal({\n slug: globalConfig.slug,\n depth: 0,\n locale,\n select: {\n updatedAt: true,\n },\n user,\n })\n }\n\n if (publishedDoc?._status === 'published') {\n hasPublishedDoc = true\n }\n\n if (hasAutosaveEnabled(globalConfig)) {\n const mostRecentVersion = await payload.findGlobalVersions({\n slug: globalConfig.slug,\n limit: 1,\n locale,\n select: {\n autosave: true,\n },\n user,\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedDoc?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countGlobalVersions({\n global: globalConfig.slug,\n locale,\n user,\n where: combineQueries(\n {\n and: [\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedDoc.updatedAt,\n },\n },\n ],\n },\n extractAccessFromPermission(docPermissions.readVersions),\n ),\n }))\n }\n }\n\n ;({ totalDocs: versionCount } = await payload.countGlobalVersions({\n global: globalConfig.slug,\n locale,\n user,\n where: localizedDraftsEnabled\n ? {\n snapshot: {\n not_equals: true,\n },\n }\n : undefined,\n }))\n }\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getVersions.js","names":["combineQueries","extractAccessFromPermission","hasAutosaveEnabled","hasDraftsEnabled","sanitizeID","traverseForLocalizedFields","getVersions","id","idArg","collectionConfig","doc","docPermissions","globalConfig","locale","payload","user","publishedDoc","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","entityConfig","versionsConfig","versions","hasLocalizedFields","fields","localizedDraftsEnabled","config","localization","shouldFetchVersions","Boolean","readVersions","_status","find","collection","slug","depth","limit","undefined","pagination","select","updatedAt","where","and","equals","docs","parent","mostRecentVersion","findVersions","autosave","totalDocs","countVersions","greater_than","countVersionsWhere","findGlobal","findGlobalVersions","countGlobalVersions","global"],"sources":["../../src/utilities/getVersions.ts"],"sourcesContent":["import type {\n Payload,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n User,\n} from 'payload'\n\nimport { combineQueries, extractAccessFromPermission } from 'payload'\nimport { hasAutosaveEnabled, hasDraftsEnabled } from 'payload/shared'\n\nimport { sanitizeID } from './sanitizeID.js'\nimport { traverseForLocalizedFields } from './traverseForLocalizedFields.js'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n /**\n * Optional - performance optimization.\n * If a document has been fetched before fetching versions, pass it here.\n * If this document is set to published, we can skip the query to find out if a published document exists,\n * as the passed in document is proof of its existence.\n */\n doc?: Record<string, any>\n docPermissions: SanitizedDocumentPermissions\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n locale?: string\n payload: Payload\n user: User\n}\n\ntype Result = Promise<{\n hasPublishedDoc: boolean\n mostRecentVersionIsAutosaved: boolean\n unpublishedVersionCount: number\n versionCount: number\n}>\n\n// TODO: in the future, we can parallelize some of these queries\n// this will speed up the API by ~30-100ms or so\n// Note from the future: I have attempted parallelizing these queries, but it made this function almost 2x slower.\nexport const getVersions = async ({\n id: idArg,\n collectionConfig,\n doc,\n docPermissions,\n globalConfig,\n locale,\n payload,\n user,\n}: Args): Result => {\n const id = sanitizeID(idArg)\n let publishedDoc\n let hasPublishedDoc = false\n let mostRecentVersionIsAutosaved = false\n let unpublishedVersionCount = 0\n let versionCount = 0\n\n const entityConfig = collectionConfig || globalConfig\n const versionsConfig = entityConfig?.versions\n const hasLocalizedFields = traverseForLocalizedFields(entityConfig.fields)\n const localizedDraftsEnabled =\n hasDraftsEnabled(entityConfig) &&\n typeof payload.config.localization === 'object' &&\n hasLocalizedFields\n\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions)\n\n if (!shouldFetchVersions) {\n // Without readVersions permission, determine published status from the _status field\n const hasPublishedDoc = localizedDraftsEnabled\n ? doc?._status === 'published'\n : doc?._status !== 'draft'\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (collectionConfig) {\n if (!id) {\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (hasDraftsEnabled(collectionConfig)) {\n // Find out if a published document exists\n if (doc?._status === 'published') {\n publishedDoc = doc\n } else {\n publishedDoc = (\n await payload.find({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 1,\n locale: locale || undefined,\n pagination: false,\n select: {\n updatedAt: true,\n },\n user,\n where: {\n and: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n id: {\n equals: id,\n },\n },\n ],\n },\n })\n )?.docs?.[0]\n }\n\n if (publishedDoc) {\n hasPublishedDoc = true\n }\n\n if (hasAutosaveEnabled(collectionConfig)) {\n const where: Record<string, any> = {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n }\n\n const mostRecentVersion = await payload.findVersions({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 1,\n locale,\n select: {\n autosave: true,\n },\n user,\n where: combineQueries(where, extractAccessFromPermission(docPermissions.readVersions)),\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedDoc?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n locale,\n user,\n where: combineQueries(\n {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedDoc.updatedAt,\n },\n },\n ],\n },\n extractAccessFromPermission(docPermissions.readVersions),\n ),\n }))\n }\n }\n\n const countVersionsWhere: Record<string, any> = {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n }\n\n ;({ totalDocs: versionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n locale,\n user,\n where: combineQueries(\n countVersionsWhere,\n extractAccessFromPermission(docPermissions.readVersions),\n ),\n }))\n }\n\n if (globalConfig) {\n // Find out if a published document exists\n if (hasDraftsEnabled(globalConfig)) {\n if (doc?._status === 'published') {\n publishedDoc = doc\n } else {\n publishedDoc = await payload.findGlobal({\n slug: globalConfig.slug,\n depth: 0,\n locale,\n select: {\n updatedAt: true,\n },\n user,\n })\n }\n\n if (publishedDoc?._status === 'published') {\n hasPublishedDoc = true\n }\n\n if (hasAutosaveEnabled(globalConfig)) {\n const mostRecentVersion = await payload.findGlobalVersions({\n slug: globalConfig.slug,\n limit: 1,\n locale,\n select: {\n autosave: true,\n },\n user,\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedDoc?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countGlobalVersions({\n global: globalConfig.slug,\n locale,\n user,\n where: combineQueries(\n {\n and: [\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedDoc.updatedAt,\n },\n },\n ],\n },\n extractAccessFromPermission(docPermissions.readVersions),\n ),\n }))\n }\n }\n\n ;({ totalDocs: versionCount } = await payload.countGlobalVersions({\n global: globalConfig.slug,\n locale,\n user,\n }))\n }\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { TypedUser } from 'payload';
1
+ import type { User } from 'payload';
2
2
  type Args = {
3
3
  config: {
4
4
  admin: {
@@ -15,7 +15,7 @@ type Args = {
15
15
  searchParams: {
16
16
  [key: string]: string | string[];
17
17
  };
18
- user?: TypedUser;
18
+ user?: User;
19
19
  };
20
20
  /** Builds the redirect URL for unauthenticated or unauthorized admin access. */
21
21
  export declare const handleAuthRedirect: ({ config, route, searchParams, user }: Args) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"handleAuthRedirect.d.ts","sourceRoot":"","sources":["../../src/utilities/handleAuthRedirect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAKxC,KAAK,IAAI,GAAG;IACV,MAAM,EAAE;QACN,KAAK,EAAE;YACL,MAAM,EAAE;gBACN,KAAK,EAAE,MAAM,CAAA;gBACb,YAAY,EAAE,MAAM,CAAA;aACrB,CAAA;SACF,CAAA;QACD,MAAM,EAAE;YACN,KAAK,EAAE,MAAM,CAAA;SACd,CAAA;KACF,CAAA;IACD,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;IAClD,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,CAAA;AAED,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,GAAI,uCAAuC,IAAI,KAAG,MAkChF,CAAA"}
1
+ {"version":3,"file":"handleAuthRedirect.d.ts","sourceRoot":"","sources":["../../src/utilities/handleAuthRedirect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAKnC,KAAK,IAAI,GAAG;IACV,MAAM,EAAE;QACN,KAAK,EAAE;YACL,MAAM,EAAE;gBACN,KAAK,EAAE,MAAM,CAAA;gBACb,YAAY,EAAE,MAAM,CAAA;aACrB,CAAA;SACF,CAAA;QACD,MAAM,EAAE;YACN,KAAK,EAAE,MAAM,CAAA;SACd,CAAA;KACF,CAAA;IACD,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;IAClD,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,CAAA;AAED,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,GAAI,uCAAuC,IAAI,KAAG,MAkChF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"handleAuthRedirect.js","names":["formatAdminURL","qs","handleAuthRedirect","config","route","searchParams","user","admin","routes","login","loginRouteFromConfig","unauthorized","unauthorizedRoute","adminRoute","redirect","redirectRoute","Object","keys","length","stringify","addQueryPrefix","redirectTo","path","parsedLoginRouteSearchParams","parse","split","searchParamsWithRedirect"],"sources":["../../src/utilities/handleAuthRedirect.ts"],"sourcesContent":["import type { TypedUser } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\n\ntype Args = {\n config: {\n admin: {\n routes: {\n login: string\n unauthorized: string\n }\n }\n routes: {\n admin: string\n }\n }\n route: string\n searchParams: { [key: string]: string | string[] }\n user?: TypedUser\n}\n\n/** Builds the redirect URL for unauthenticated or unauthorized admin access. */\nexport const handleAuthRedirect = ({ config, route, searchParams, user }: Args): string => {\n const {\n admin: {\n routes: { login: loginRouteFromConfig, unauthorized: unauthorizedRoute },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (searchParams && 'redirect' in searchParams) {\n delete searchParams.redirect\n }\n\n const redirectRoute =\n (route !== adminRoute ? route : '') +\n (Object.keys(searchParams ?? {}).length > 0\n ? `${qs.stringify(searchParams, { addQueryPrefix: true })}`\n : '')\n\n const redirectTo = formatAdminURL({\n adminRoute,\n path: (user ? unauthorizedRoute : loginRouteFromConfig) as `/${string}`,\n })\n\n const parsedLoginRouteSearchParams = qs.parse(redirectTo.split('?')[1] ?? '')\n\n const searchParamsWithRedirect = `${qs.stringify(\n {\n ...parsedLoginRouteSearchParams,\n ...(redirectRoute ? { redirect: redirectRoute } : {}),\n },\n { addQueryPrefix: true },\n )}`\n\n return `${redirectTo.split('?', 1)[0]}${searchParamsWithRedirect}`\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ;AAC/B,YAAYC,EAAA,MAAQ;AAmBpB;AACA,OAAO,MAAMC,kBAAA,GAAqBA,CAAC;EAAEC,MAAM;EAAEC,KAAK;EAAEC,YAAY;EAAEC;AAAI,CAAQ;EAC5E,MAAM;IACJC,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,KAAA,EAAOC,oBAAoB;QAAEC,YAAA,EAAcC;MAAiB;IAAE,CACzE;IACDJ,MAAA,EAAQ;MAAED,KAAA,EAAOM;IAAU;EAAE,CAC9B,GAAGV,MAAA;EAEJ,IAAIE,YAAA,IAAgB,cAAcA,YAAA,EAAc;IAC9C,OAAOA,YAAA,CAAaS,QAAQ;EAC9B;EAEA,MAAMC,aAAA,GACJ,CAACX,KAAA,KAAUS,UAAA,GAAaT,KAAA,GAAQ,EAAC,KAChCY,MAAA,CAAOC,IAAI,CAACZ,YAAA,IAAgB,CAAC,GAAGa,MAAM,GAAG,IACtC,GAAGjB,EAAA,CAAGkB,SAAS,CAACd,YAAA,EAAc;IAAEe,cAAA,EAAgB;EAAK,IAAI,GACzD,EAAC;EAEP,MAAMC,UAAA,GAAarB,cAAA,CAAe;IAChCa,UAAA;IACAS,IAAA,EAAOhB,IAAA,GAAOM,iBAAA,GAAoBF;EACpC;EAEA,MAAMa,4BAAA,GAA+BtB,EAAA,CAAGuB,KAAK,CAACH,UAAA,CAAWI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI;EAE1E,MAAMC,wBAAA,GAA2B,GAAGzB,EAAA,CAAGkB,SAAS,CAC9C;IACE,GAAGI,4BAA4B;IAC/B,IAAIR,aAAA,GAAgB;MAAED,QAAA,EAAUC;IAAc,IAAI,CAAC,CAAC;EACtD,GACA;IAAEK,cAAA,EAAgB;EAAK,IACtB;EAEH,OAAO,GAAGC,UAAA,CAAWI,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,GAAGC,wBAAA,EAA0B;AACpE","ignoreList":[]}
1
+ {"version":3,"file":"handleAuthRedirect.js","names":["formatAdminURL","qs","handleAuthRedirect","config","route","searchParams","user","admin","routes","login","loginRouteFromConfig","unauthorized","unauthorizedRoute","adminRoute","redirect","redirectRoute","Object","keys","length","stringify","addQueryPrefix","redirectTo","path","parsedLoginRouteSearchParams","parse","split","searchParamsWithRedirect"],"sources":["../../src/utilities/handleAuthRedirect.ts"],"sourcesContent":["import type { User } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\n\ntype Args = {\n config: {\n admin: {\n routes: {\n login: string\n unauthorized: string\n }\n }\n routes: {\n admin: string\n }\n }\n route: string\n searchParams: { [key: string]: string | string[] }\n user?: User\n}\n\n/** Builds the redirect URL for unauthenticated or unauthorized admin access. */\nexport const handleAuthRedirect = ({ config, route, searchParams, user }: Args): string => {\n const {\n admin: {\n routes: { login: loginRouteFromConfig, unauthorized: unauthorizedRoute },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (searchParams && 'redirect' in searchParams) {\n delete searchParams.redirect\n }\n\n const redirectRoute =\n (route !== adminRoute ? route : '') +\n (Object.keys(searchParams ?? {}).length > 0\n ? `${qs.stringify(searchParams, { addQueryPrefix: true })}`\n : '')\n\n const redirectTo = formatAdminURL({\n adminRoute,\n path: (user ? unauthorizedRoute : loginRouteFromConfig) as `/${string}`,\n })\n\n const parsedLoginRouteSearchParams = qs.parse(redirectTo.split('?')[1] ?? '')\n\n const searchParamsWithRedirect = `${qs.stringify(\n {\n ...parsedLoginRouteSearchParams,\n ...(redirectRoute ? { redirect: redirectRoute } : {}),\n },\n { addQueryPrefix: true },\n )}`\n\n return `${redirectTo.split('?', 1)[0]}${searchParamsWithRedirect}`\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ;AAC/B,YAAYC,EAAA,MAAQ;AAmBpB;AACA,OAAO,MAAMC,kBAAA,GAAqBA,CAAC;EAAEC,MAAM;EAAEC,KAAK;EAAEC,YAAY;EAAEC;AAAI,CAAQ;EAC5E,MAAM;IACJC,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,KAAA,EAAOC,oBAAoB;QAAEC,YAAA,EAAcC;MAAiB;IAAE,CACzE;IACDJ,MAAA,EAAQ;MAAED,KAAA,EAAOM;IAAU;EAAE,CAC9B,GAAGV,MAAA;EAEJ,IAAIE,YAAA,IAAgB,cAAcA,YAAA,EAAc;IAC9C,OAAOA,YAAA,CAAaS,QAAQ;EAC9B;EAEA,MAAMC,aAAA,GACJ,CAACX,KAAA,KAAUS,UAAA,GAAaT,KAAA,GAAQ,EAAC,KAChCY,MAAA,CAAOC,IAAI,CAACZ,YAAA,IAAgB,CAAC,GAAGa,MAAM,GAAG,IACtC,GAAGjB,EAAA,CAAGkB,SAAS,CAACd,YAAA,EAAc;IAAEe,cAAA,EAAgB;EAAK,IAAI,GACzD,EAAC;EAEP,MAAMC,UAAA,GAAarB,cAAA,CAAe;IAChCa,UAAA;IACAS,IAAA,EAAOhB,IAAA,GAAOM,iBAAA,GAAoBF;EACpC;EAEA,MAAMa,4BAAA,GAA+BtB,EAAA,CAAGuB,KAAK,CAACH,UAAA,CAAWI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI;EAE1E,MAAMC,wBAAA,GAA2B,GAAGzB,EAAA,CAAGkB,SAAS,CAC9C;IACE,GAAGI,4BAA4B;IAC/B,IAAIR,aAAA,GAAgB;MAAED,QAAA,EAAUC;IAAc,IAAI,CAAC,CAAC;EACtD,GACA;IAAEK,cAAA,EAAgB;EAAK,IACtB;EAEH,OAAO,GAAGC,UAAA,CAAWI,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,GAAGC,wBAAA,EAA0B;AACpE","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { PayloadRequest, TypedUser } from 'payload';
1
+ import type { PayloadRequest, User } from 'payload';
2
2
  type Args = {
3
3
  collectionSlug?: string;
4
4
  globalSlug?: string;
@@ -9,7 +9,7 @@ type Args = {
9
9
  type Result = {
10
10
  isLocked: boolean;
11
11
  lastEditedAt: string;
12
- user: TypedUser;
12
+ user: User;
13
13
  };
14
14
  export declare const handleFormStateLocking: ({ id, collectionSlug, globalSlug, req, updateLastEdited, }: Args) => Promise<Result>;
15
15
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"handleFormStateLocking.d.ts","sourceRoot":"","sources":["../../src/utilities/handleFormStateLocking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExD,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAID,eAAO,MAAM,sBAAsB,GAAU,4DAM1C,IAAI,KAAG,OAAO,CAAC,MAAM,CAsIvB,CAAA"}
1
+ {"version":3,"file":"handleFormStateLocking.d.ts","sourceRoot":"","sources":["../../src/utilities/handleFormStateLocking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEnD,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAID,eAAO,MAAM,sBAAsB,GAAU,4DAM1C,IAAI,KAAG,OAAO,CAAC,MAAM,CAsIvB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"handleFormStateLocking.js","names":["lockDurationDefault","handleFormStateLocking","id","collectionSlug","globalSlug","req","updateLastEdited","result","payload","collections","lockedDocumentQuery","and","equals","lockDocumentsProp","config","lockDocuments","globals","find","g","slug","lockDuration","duration","lockDurationInMilliseconds","now","Date","getTime","push","updatedAt","greater_than","toISOString","lockedDocument","collection","depth","limit","overrideAccess","pagination","user","where","docs","length","isLocked","lastEditedAt","value","lockOwnerID","db","updateOne","data","returning","deleteExpiredLocksQuery","less_than","deleteMany","create","document","relationTo","undefined"],"sources":["../../src/utilities/handleFormStateLocking.ts"],"sourcesContent":["import type { PayloadRequest, TypedUser } from 'payload'\n\ntype Args = {\n collectionSlug?: string\n globalSlug?: string\n id?: number | string\n req: PayloadRequest\n updateLastEdited?: boolean\n}\n\ntype Result = {\n isLocked: boolean\n lastEditedAt: string\n user: TypedUser\n}\n\nconst lockDurationDefault = 300 // Default 5 minutes in seconds\n\nexport const handleFormStateLocking = async ({\n id,\n collectionSlug,\n globalSlug,\n req,\n updateLastEdited,\n}: Args): Promise<Result> => {\n let result: Result\n\n // Check if the locked-documents collection exists\n if (!req.payload.collections?.['payload-locked-documents']) {\n // If the collection doesn't exist, locking is not available\n return result\n }\n\n if (id || globalSlug) {\n let lockedDocumentQuery\n\n if (collectionSlug) {\n lockedDocumentQuery = {\n and: [\n { 'document.relationTo': { equals: collectionSlug } },\n { 'document.value': { equals: id } },\n ],\n }\n } else if (globalSlug) {\n lockedDocumentQuery = {\n and: [{ globalSlug: { equals: globalSlug } }],\n }\n }\n\n const lockDocumentsProp = collectionSlug\n ? req.payload.collections?.[collectionSlug]?.config.lockDocuments\n : req.payload.config.globals.find((g) => g.slug === globalSlug)?.lockDocuments\n\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n const now = new Date().getTime()\n\n if (lockedDocumentQuery) {\n // Query where the lock is newer than the current time minus the lock duration\n lockedDocumentQuery.and.push({\n updatedAt: {\n greater_than: new Date(now - lockDurationInMilliseconds).toISOString(),\n },\n })\n\n const lockedDocument = await req.payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n limit: 1,\n overrideAccess: false,\n pagination: false,\n user: req.user,\n where: lockedDocumentQuery,\n })\n\n if (lockedDocument.docs && lockedDocument.docs.length > 0) {\n result = {\n isLocked: true,\n lastEditedAt: lockedDocument.docs[0]?.updatedAt,\n user: lockedDocument.docs[0]?.user?.value,\n }\n\n const lockOwnerID =\n typeof lockedDocument.docs[0]?.user?.value === 'object'\n ? lockedDocument.docs[0]?.user?.value?.id\n : lockedDocument.docs[0]?.user?.value\n // Should only update doc if the incoming / current user is also the owner of the locked doc\n if (updateLastEdited && req.user && lockOwnerID === req.user.id) {\n await req.payload.db.updateOne({\n id: lockedDocument.docs[0].id,\n collection: 'payload-locked-documents',\n data: {},\n returning: false,\n })\n }\n } else {\n // If NO ACTIVE lock document exists, first delete any expired locks and then create a fresh lock\n // Where updatedAt is older than the duration that is specified in the config\n let deleteExpiredLocksQuery\n\n if (collectionSlug) {\n deleteExpiredLocksQuery = {\n and: [\n { 'document.relationTo': { equals: collectionSlug } },\n {\n updatedAt: {\n less_than: new Date(now - lockDurationInMilliseconds).toISOString(),\n },\n },\n ],\n }\n } else if (globalSlug) {\n deleteExpiredLocksQuery = {\n and: [\n { globalSlug: { equals: globalSlug } },\n {\n updatedAt: {\n less_than: new Date(now - lockDurationInMilliseconds).toISOString(),\n },\n },\n ],\n }\n }\n\n await req.payload.db.deleteMany({\n collection: 'payload-locked-documents',\n where: deleteExpiredLocksQuery,\n })\n\n await req.payload.db.create({\n collection: 'payload-locked-documents',\n data: {\n document: collectionSlug\n ? {\n relationTo: collectionSlug,\n value: id,\n }\n : undefined,\n globalSlug: globalSlug ? globalSlug : undefined,\n user: {\n relationTo: req.user.collection,\n value: req.user.id,\n },\n },\n returning: false,\n })\n\n result = {\n isLocked: true,\n lastEditedAt: new Date().toISOString(),\n user: req.user,\n }\n }\n }\n }\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"handleFormStateLocking.js","names":["lockDurationDefault","handleFormStateLocking","id","collectionSlug","globalSlug","req","updateLastEdited","result","payload","collections","lockedDocumentQuery","and","equals","lockDocumentsProp","config","lockDocuments","globals","find","g","slug","lockDuration","duration","lockDurationInMilliseconds","now","Date","getTime","push","updatedAt","greater_than","toISOString","lockedDocument","collection","depth","limit","overrideAccess","pagination","user","where","docs","length","isLocked","lastEditedAt","value","lockOwnerID","db","updateOne","data","returning","deleteExpiredLocksQuery","less_than","deleteMany","create","document","relationTo","undefined"],"sources":["../../src/utilities/handleFormStateLocking.ts"],"sourcesContent":["import type { PayloadRequest, User } from 'payload'\n\ntype Args = {\n collectionSlug?: string\n globalSlug?: string\n id?: number | string\n req: PayloadRequest\n updateLastEdited?: boolean\n}\n\ntype Result = {\n isLocked: boolean\n lastEditedAt: string\n user: User\n}\n\nconst lockDurationDefault = 300 // Default 5 minutes in seconds\n\nexport const handleFormStateLocking = async ({\n id,\n collectionSlug,\n globalSlug,\n req,\n updateLastEdited,\n}: Args): Promise<Result> => {\n let result: Result\n\n // Check if the locked-documents collection exists\n if (!req.payload.collections?.['payload-locked-documents']) {\n // If the collection doesn't exist, locking is not available\n return result\n }\n\n if (id || globalSlug) {\n let lockedDocumentQuery\n\n if (collectionSlug) {\n lockedDocumentQuery = {\n and: [\n { 'document.relationTo': { equals: collectionSlug } },\n { 'document.value': { equals: id } },\n ],\n }\n } else if (globalSlug) {\n lockedDocumentQuery = {\n and: [{ globalSlug: { equals: globalSlug } }],\n }\n }\n\n const lockDocumentsProp = collectionSlug\n ? req.payload.collections?.[collectionSlug]?.config.lockDocuments\n : req.payload.config.globals.find((g) => g.slug === globalSlug)?.lockDocuments\n\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n const now = new Date().getTime()\n\n if (lockedDocumentQuery) {\n // Query where the lock is newer than the current time minus the lock duration\n lockedDocumentQuery.and.push({\n updatedAt: {\n greater_than: new Date(now - lockDurationInMilliseconds).toISOString(),\n },\n })\n\n const lockedDocument = await req.payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n limit: 1,\n overrideAccess: false,\n pagination: false,\n user: req.user,\n where: lockedDocumentQuery,\n })\n\n if (lockedDocument.docs && lockedDocument.docs.length > 0) {\n result = {\n isLocked: true,\n lastEditedAt: lockedDocument.docs[0]?.updatedAt,\n user: lockedDocument.docs[0]?.user?.value,\n }\n\n const lockOwnerID =\n typeof lockedDocument.docs[0]?.user?.value === 'object'\n ? lockedDocument.docs[0]?.user?.value?.id\n : lockedDocument.docs[0]?.user?.value\n // Should only update doc if the incoming / current user is also the owner of the locked doc\n if (updateLastEdited && req.user && lockOwnerID === req.user.id) {\n await req.payload.db.updateOne({\n id: lockedDocument.docs[0].id,\n collection: 'payload-locked-documents',\n data: {},\n returning: false,\n })\n }\n } else {\n // If NO ACTIVE lock document exists, first delete any expired locks and then create a fresh lock\n // Where updatedAt is older than the duration that is specified in the config\n let deleteExpiredLocksQuery\n\n if (collectionSlug) {\n deleteExpiredLocksQuery = {\n and: [\n { 'document.relationTo': { equals: collectionSlug } },\n {\n updatedAt: {\n less_than: new Date(now - lockDurationInMilliseconds).toISOString(),\n },\n },\n ],\n }\n } else if (globalSlug) {\n deleteExpiredLocksQuery = {\n and: [\n { globalSlug: { equals: globalSlug } },\n {\n updatedAt: {\n less_than: new Date(now - lockDurationInMilliseconds).toISOString(),\n },\n },\n ],\n }\n }\n\n await req.payload.db.deleteMany({\n collection: 'payload-locked-documents',\n where: deleteExpiredLocksQuery,\n })\n\n await req.payload.db.create({\n collection: 'payload-locked-documents',\n data: {\n document: collectionSlug\n ? {\n relationTo: collectionSlug,\n value: id,\n }\n : undefined,\n globalSlug: globalSlug ? globalSlug : undefined,\n user: {\n relationTo: req.user.collection,\n value: req.user.id,\n },\n },\n returning: false,\n })\n\n result = {\n isLocked: true,\n lastEditedAt: new Date().toISOString(),\n user: req.user,\n }\n }\n }\n }\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,7 @@ export declare const getLivePreviewConfig: ({ collectionConfig, config, globalCo
11
11
  name: string;
12
12
  width: number | string;
13
13
  }[];
14
+ openByDefault?: boolean;
14
15
  url?: ((args: {
15
16
  collectionConfig?: import("payload").SanitizedCollectionConfig;
16
17
  data: Record<string, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"handleLivePreview.d.ts","sourceRoot":"","sources":["../../src/utilities/handleLivePreview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,eAAe,EAChB,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,oBAAoB,GAAI,mEAKlC;IACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,oBAAoB,EAAE,OAAO,CAAA;CAC9B;;;;;;;;wBAsHktI,CAAC;;oBAAoF,CAAC;;;;;;;CAlHvyI,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,6CAIlC;IACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,KAAG,OAcH,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,GAAU,+DAOrC;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC;IACV,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,cAAc,CAAC,EAAE,kBAAkB,CAAA;CACpC,CAqDA,CAAA"}
1
+ {"version":3,"file":"handleLivePreview.d.ts","sourceRoot":"","sources":["../../src/utilities/handleLivePreview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,eAAe,EAChB,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,oBAAoB,GAAI,mEAKlC;IACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,oBAAoB,EAAE,OAAO,CAAA;CAC9B;;;;;;;;;wBAsHwhJ,CAAC;;oBAAoF,CAAC;;;;;;;CAlH7mJ,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,6CAIlC;IACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,KAAG,OAcH,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,GAAU,+DAOrC;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC;IACV,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,cAAc,CAAC,EAAE,kBAAkB,CAAA;CACpC,CAqDA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"isURLAllowed.d.ts","sourceRoot":"","sources":["../../src/utilities/isURLAllowed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,EAAE,WAAW,SAAS,KAAG,OA+BhE,CAAA"}
1
+ {"version":3,"file":"isURLAllowed.d.ts","sourceRoot":"","sources":["../../src/utilities/isURLAllowed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,EAAE,WAAW,SAAS,KAAG,OAqChE,CAAA"}
@@ -12,9 +12,15 @@ export const isURLAllowed = (url, allowList) => {
12
12
  return typeof value === 'string' && parsedUrl.protocol === `${value}:`;
13
13
  }
14
14
  if (key === 'pathname') {
15
- // Convert wildcards to a regex
16
- const regexPattern = value.replace(/\*\*/g, '.*') // Match any path
17
- .replace(/\*/g, '[^/]*') // Match any part of a path segment
15
+ // Translate a small glob syntax to a regex. The pattern is escaped
16
+ // first so that metacharacters in the configured value (e.g. `.`)
17
+ // match literally and cannot broaden what the allow-list accepts.
18
+ // Wildcards become `\*` once escaped, so they are restored afterwards
19
+ // — translating `**` before `*` is safe because the resulting `.*`
20
+ // no longer contains an escaped `\*` for the next replace to match.
21
+ const regexPattern = value.replace(/[\\^$*+?.()|[\]{}]/g, '\\$&') // Escape regex metacharacters
22
+ .replace(/\\\*\\\*/g, '.*') // `**` → match any path
23
+ .replace(/\\\*/g, '[^/]*') // `*` → match any part of a path segment
18
24
  ;
19
25
  const regex = new RegExp(`^${regexPattern}$`);
20
26
  return regex.test(parsedUrl.pathname);
@@ -1 +1 @@
1
- {"version":3,"file":"isURLAllowed.js","names":["isURLAllowed","url","allowList","parsedUrl","URL","some","allowItem","Object","entries","every","key","value","protocol","regexPattern","replace","regex","RegExp","test","pathname"],"sources":["../../src/utilities/isURLAllowed.ts"],"sourcesContent":["import type { AllowList } from 'payload'\n\nexport const isURLAllowed = (url: string, allowList: AllowList): boolean => {\n try {\n const parsedUrl = new URL(url)\n\n return allowList.some((allowItem) => {\n return Object.entries(allowItem).every(([key, value]) => {\n // Skip undefined or null values\n if (!value) {\n return true\n }\n // Compare protocol with colon\n if (key === 'protocol') {\n return typeof value === 'string' && parsedUrl.protocol === `${value}:`\n }\n\n if (key === 'pathname') {\n // Convert wildcards to a regex\n const regexPattern = value\n .replace(/\\*\\*/g, '.*') // Match any path\n .replace(/\\*/g, '[^/]*') // Match any part of a path segment\n const regex = new RegExp(`^${regexPattern}$`)\n return regex.test(parsedUrl.pathname)\n }\n\n // Default comparison for all other properties (hostname, port, search)\n return parsedUrl[key as keyof URL] === value\n })\n })\n } catch {\n return false // If the URL is invalid, deny by default\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,YAAA,GAAeA,CAACC,GAAA,EAAaC,SAAA;EACxC,IAAI;IACF,MAAMC,SAAA,GAAY,IAAIC,GAAA,CAAIH,GAAA;IAE1B,OAAOC,SAAA,CAAUG,IAAI,CAAEC,SAAA;MACrB,OAAOC,MAAA,CAAOC,OAAO,CAACF,SAAA,EAAWG,KAAK,CAAC,CAAC,CAACC,GAAA,EAAKC,KAAA,CAAM;QAClD;QACA,IAAI,CAACA,KAAA,EAAO;UACV,OAAO;QACT;QACA;QACA,IAAID,GAAA,KAAQ,YAAY;UACtB,OAAO,OAAOC,KAAA,KAAU,YAAYR,SAAA,CAAUS,QAAQ,KAAK,GAAGD,KAAA,GAAQ;QACxE;QAEA,IAAID,GAAA,KAAQ,YAAY;UACtB;UACA,MAAMG,YAAA,GAAeF,KAAA,CAClBG,OAAO,CAAC,SAAS,MAAM;UAAA,CACvBA,OAAO,CAAC,OAAO,SAAS;AAAA;UAC3B,MAAMC,KAAA,GAAQ,IAAIC,MAAA,CAAO,IAAIH,YAAA,GAAe;UAC5C,OAAOE,KAAA,CAAME,IAAI,CAACd,SAAA,CAAUe,QAAQ;QACtC;QAEA;QACA,OAAOf,SAAS,CAACO,GAAA,CAAiB,KAAKC,KAAA;MACzC;IACF;EACF,EAAE,MAAM;IACN,OAAO,MAAM;AAAA;EACf;AACF","ignoreList":[]}
1
+ {"version":3,"file":"isURLAllowed.js","names":["isURLAllowed","url","allowList","parsedUrl","URL","some","allowItem","Object","entries","every","key","value","protocol","regexPattern","replace","regex","RegExp","test","pathname"],"sources":["../../src/utilities/isURLAllowed.ts"],"sourcesContent":["import type { AllowList } from 'payload'\n\nexport const isURLAllowed = (url: string, allowList: AllowList): boolean => {\n try {\n const parsedUrl = new URL(url)\n\n return allowList.some((allowItem) => {\n return Object.entries(allowItem).every(([key, value]) => {\n // Skip undefined or null values\n if (!value) {\n return true\n }\n // Compare protocol with colon\n if (key === 'protocol') {\n return typeof value === 'string' && parsedUrl.protocol === `${value}:`\n }\n\n if (key === 'pathname') {\n // Translate a small glob syntax to a regex. The pattern is escaped\n // first so that metacharacters in the configured value (e.g. `.`)\n // match literally and cannot broaden what the allow-list accepts.\n // Wildcards become `\\*` once escaped, so they are restored afterwards\n // — translating `**` before `*` is safe because the resulting `.*`\n // no longer contains an escaped `\\*` for the next replace to match.\n const regexPattern = value\n .replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&') // Escape regex metacharacters\n .replace(/\\\\\\*\\\\\\*/g, '.*') // `**` → match any path\n .replace(/\\\\\\*/g, '[^/]*') // `*` → match any part of a path segment\n const regex = new RegExp(`^${regexPattern}$`)\n return regex.test(parsedUrl.pathname)\n }\n\n // Default comparison for all other properties (hostname, port, search)\n return parsedUrl[key as keyof URL] === value\n })\n })\n } catch {\n return false // If the URL is invalid, deny by default\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,YAAA,GAAeA,CAACC,GAAA,EAAaC,SAAA;EACxC,IAAI;IACF,MAAMC,SAAA,GAAY,IAAIC,GAAA,CAAIH,GAAA;IAE1B,OAAOC,SAAA,CAAUG,IAAI,CAAEC,SAAA;MACrB,OAAOC,MAAA,CAAOC,OAAO,CAACF,SAAA,EAAWG,KAAK,CAAC,CAAC,CAACC,GAAA,EAAKC,KAAA,CAAM;QAClD;QACA,IAAI,CAACA,KAAA,EAAO;UACV,OAAO;QACT;QACA;QACA,IAAID,GAAA,KAAQ,YAAY;UACtB,OAAO,OAAOC,KAAA,KAAU,YAAYR,SAAA,CAAUS,QAAQ,KAAK,GAAGD,KAAA,GAAQ;QACxE;QAEA,IAAID,GAAA,KAAQ,YAAY;UACtB;UACA;UACA;UACA;UACA;UACA;UACA,MAAMG,YAAA,GAAeF,KAAA,CAClBG,OAAO,CAAC,uBAAuB,QAAQ;UAAA,CACvCA,OAAO,CAAC,aAAa,MAAM;UAAA,CAC3BA,OAAO,CAAC,SAAS,SAAS;AAAA;UAC7B,MAAMC,KAAA,GAAQ,IAAIC,MAAA,CAAO,IAAIH,YAAA,GAAe;UAC5C,OAAOE,KAAA,CAAME,IAAI,CAACd,SAAA,CAAUe,QAAQ;QACtC;QAEA;QACA,OAAOf,SAAS,CAACO,GAAA,CAAiB,KAAKC,KAAA;MACzC;IACF;EACF,EAAE,MAAM;IACN,OAAO,MAAM;AAAA;EACf;AACF","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ import type { RecentlyViewedItem, RecentlyViewedPreferences } from 'payload';
2
+ /**
3
+ * Maximum number of documents retained in the `recently-viewed` preference. The dashboard widget
4
+ * typically shows fewer; the extra entries act as a buffer once excluded collections are filtered.
5
+ */
6
+ export declare const recentlyViewedMaxItems = 20;
7
+ /**
8
+ * Returns a new preference value with `item` moved to the front, deduped by collection + id, and
9
+ * capped at `max`. Pure so it can be unit tested and reused as `upsertPreferences`' customMerge.
10
+ */
11
+ export declare const addRecentlyViewedItem: ({ existing, item, max, }: {
12
+ existing: RecentlyViewedPreferences | undefined;
13
+ item: RecentlyViewedItem;
14
+ max?: number;
15
+ }) => RecentlyViewedPreferences;
16
+ //# sourceMappingURL=recentlyViewed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recentlyViewed.d.ts","sourceRoot":"","sources":["../../src/utilities/recentlyViewed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAE5E;;;GAGG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAA;AAKxC;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,0BAInC;IACD,QAAQ,EAAE,yBAAyB,GAAG,SAAS,CAAA;IAC/C,IAAI,EAAE,kBAAkB,CAAA;IACxB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,KAAG,yBASH,CAAA"}