@payloadcms/ui 4.0.0-internal.bc5cf8c → 4.0.0-internal.c7d5de4

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 (669) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/css/forms.css +6 -3
  3. package/dist/css/theme.css +2 -1
  4. package/dist/css/z-index.css +9 -0
  5. package/dist/elements/APIKeyInput/index.css +4 -4
  6. package/dist/elements/AddNewRelation/index.css +28 -28
  7. package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -1
  8. package/dist/elements/AppHeader/index.css +2 -15
  9. package/dist/elements/AppHeader/index.d.ts +2 -1
  10. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  11. package/dist/elements/AppHeader/index.js +6 -8
  12. package/dist/elements/AppHeader/index.js.map +1 -1
  13. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  14. package/dist/elements/ArrayAction/index.js +1 -0
  15. package/dist/elements/ArrayAction/index.js.map +1 -1
  16. package/dist/elements/Button/index.d.ts.map +1 -1
  17. package/dist/elements/Button/index.js +5 -0
  18. package/dist/elements/Button/index.js.map +1 -1
  19. package/dist/elements/ClipboardAction/ClipboardActionLabel.d.ts.map +1 -1
  20. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  21. package/dist/elements/ClipboardAction/index.js +1 -0
  22. package/dist/elements/ClipboardAction/index.js.map +1 -1
  23. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  24. package/dist/elements/CodeEditor/index.css +5 -0
  25. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  26. package/dist/elements/Collapsible/index.js +2 -0
  27. package/dist/elements/Collapsible/index.js.map +1 -1
  28. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
  29. package/dist/elements/ColumnSelection/Popup.js +6 -6
  30. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  31. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts +10 -0
  32. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts.map +1 -0
  33. package/dist/elements/ColumnSelection/matchesColumnSearch.js +21 -0
  34. package/dist/elements/ColumnSelection/matchesColumnSearch.js.map +1 -0
  35. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js +87 -0
  36. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +1 -0
  37. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  38. package/dist/elements/DatePicker/getFormattedLocale.d.ts.map +1 -1
  39. package/dist/elements/DatePicker/index.css +3 -3
  40. package/dist/elements/DatePicker/index.js +1 -1
  41. package/dist/elements/DatePicker/index.js.map +1 -1
  42. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -1
  43. package/dist/elements/DocumentControls/index.css +0 -2
  44. package/dist/elements/DocumentControls/index.d.ts +2 -2
  45. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  46. package/dist/elements/DocumentControls/index.js +1 -0
  47. package/dist/elements/DocumentControls/index.js.map +1 -1
  48. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +2 -2
  49. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  50. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  51. package/dist/elements/DocumentFields/index.css +9 -0
  52. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  53. package/dist/elements/DocumentLocked/index.d.ts +2 -2
  54. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  55. package/dist/elements/DocumentLocked/index.js.map +1 -1
  56. package/dist/elements/DraggableSortable/DragOverlayPreview/index.css +1 -1
  57. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  58. package/dist/elements/Drawer/index.d.ts.map +1 -1
  59. package/dist/elements/Drawer/index.js +1 -0
  60. package/dist/elements/Drawer/index.js.map +1 -1
  61. package/dist/elements/Drawer/useDrawerSlug.d.ts.map +1 -1
  62. package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
  63. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  64. package/dist/elements/EditUpload/index.js +4 -0
  65. package/dist/elements/EditUpload/index.js.map +1 -1
  66. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  67. package/dist/elements/HTMLDiff/diff/index.d.ts.map +1 -1
  68. package/dist/elements/HTMLDiff/index.d.ts.map +1 -1
  69. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +3 -1
  70. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +1 -0
  71. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  72. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +1 -1
  73. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  74. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  75. package/dist/elements/Hierarchy/DocHeaderButton/index.js +12 -12
  76. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  77. package/dist/elements/Hierarchy/Field/index.client.js +14 -14
  78. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  79. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -0
  80. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -0
  81. package/dist/elements/Hierarchy/Modal/index.css +88 -0
  82. package/dist/elements/Hierarchy/Modal/index.d.ts +20 -0
  83. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -0
  84. package/dist/elements/Hierarchy/{Drawer → Modal}/index.js +105 -81
  85. package/dist/elements/Hierarchy/Modal/index.js.map +1 -0
  86. package/dist/elements/Hierarchy/{Drawer → Modal}/types.d.ts +22 -18
  87. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -0
  88. package/dist/elements/Hierarchy/Modal/types.js.map +1 -0
  89. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts +30 -0
  90. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -0
  91. package/dist/elements/Hierarchy/{Drawer/useHierarchyDrawer.js → Modal/useHierarchyModal.js} +51 -50
  92. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -0
  93. package/dist/elements/Hierarchy/MoveMany/index.d.ts +2 -2
  94. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  95. package/dist/elements/Hierarchy/MoveMany/index.js +9 -9
  96. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  97. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  98. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +1 -1
  99. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  100. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +38 -13
  101. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  102. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +37 -31
  103. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  104. package/dist/elements/Hierarchy/Tree/index.css +1 -1
  105. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  106. package/dist/elements/Hierarchy/Tree/index.js +18 -5
  107. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  108. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  109. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  110. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  111. package/dist/elements/ListControls/index.js +1 -1
  112. package/dist/elements/ListControls/index.js.map +1 -1
  113. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  114. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  115. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +1 -0
  116. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  117. package/dist/elements/LivePreview/Window/index.css +6 -0
  118. package/dist/elements/LoadingOverlay/reducer.d.ts.map +1 -1
  119. package/dist/elements/Locked/index.css +7 -4
  120. package/dist/elements/Locked/index.d.ts +2 -2
  121. package/dist/elements/Locked/index.d.ts.map +1 -1
  122. package/dist/elements/Locked/index.js +66 -53
  123. package/dist/elements/Locked/index.js.map +1 -1
  124. package/dist/elements/Nav/SettingsMenuButton/index.css +5 -0
  125. package/dist/elements/Nav/SettingsMenuButton/index.d.ts +1 -1
  126. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  127. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -1
  128. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  129. package/dist/elements/Nav/index.css +0 -5
  130. package/dist/elements/Pagination/index.css +5 -0
  131. package/dist/elements/Pagination/index.d.ts.map +1 -1
  132. package/dist/elements/Pagination/index.js +21 -21
  133. package/dist/elements/Pagination/index.js.map +1 -1
  134. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  135. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  136. package/dist/elements/Popup/PopupTrigger/index.js +3 -0
  137. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  138. package/dist/elements/Popup/index.d.ts +6 -0
  139. package/dist/elements/Popup/index.d.ts.map +1 -1
  140. package/dist/elements/Popup/index.js +2 -0
  141. package/dist/elements/Popup/index.js.map +1 -1
  142. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  143. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -1
  144. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts +7 -0
  145. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -0
  146. package/dist/elements/ReactSelect/DefaultMenuPortal.js +120 -0
  147. package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -0
  148. package/dist/elements/ReactSelect/DropdownIndicator/index.css +1 -1
  149. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  150. package/dist/elements/ReactSelect/DropdownIndicator/index.js +19 -12
  151. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  152. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -1
  153. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +1 -1
  154. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -1
  155. package/dist/elements/ReactSelect/getMenuListStyles.js +13 -5
  156. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -1
  157. package/dist/elements/ReactSelect/getMenuStyles.d.ts +10 -0
  158. package/dist/elements/ReactSelect/getMenuStyles.d.ts.map +1 -0
  159. package/dist/elements/ReactSelect/getMenuStyles.js +21 -0
  160. package/dist/elements/ReactSelect/getMenuStyles.js.map +1 -0
  161. package/dist/elements/ReactSelect/index.css +10 -3
  162. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  163. package/dist/elements/ReactSelect/index.js +25 -102
  164. package/dist/elements/ReactSelect/index.js.map +1 -1
  165. package/dist/elements/ReactSelect/types.d.ts +2 -2
  166. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  167. package/dist/elements/ReactSelect/types.js.map +1 -1
  168. package/dist/elements/RelationshipTable/AddNewButton.d.ts +2 -2
  169. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  170. package/dist/elements/RelationshipTable/index.css +1 -2
  171. package/dist/elements/Search/ListSearchFilter/index.d.ts.map +1 -1
  172. package/dist/elements/Search/ListSearchFilter/index.js +1 -0
  173. package/dist/elements/Search/ListSearchFilter/index.js.map +1 -1
  174. package/dist/elements/Search/SearchInput/index.d.ts +2 -0
  175. package/dist/elements/Search/SearchInput/index.d.ts.map +1 -1
  176. package/dist/elements/Search/SearchInput/index.js +22 -19
  177. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  178. package/dist/elements/SelectAll/index.css +3 -1
  179. package/dist/elements/SelectRow/index.d.ts +2 -2
  180. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  181. package/dist/elements/SelectRow/index.js.map +1 -1
  182. package/dist/elements/SidebarRow/index.css +0 -2
  183. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +24 -24
  184. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  185. package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -1
  186. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  187. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  188. package/dist/elements/Table/OrderableRowDragPreview.d.ts.map +1 -1
  189. package/dist/elements/Table/index.css +25 -2
  190. package/dist/elements/Tabs/index.d.ts.map +1 -1
  191. package/dist/elements/Thumbnail/createThumbnail.d.ts.map +1 -1
  192. package/dist/elements/TimezonePicker/index.css +1 -1
  193. package/dist/elements/Upload/index.d.ts.map +1 -1
  194. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -1
  195. package/dist/elements/UserMenu/SubMenuHeader/index.js +8 -9
  196. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -1
  197. package/dist/elements/UserMenu/index.css +26 -1
  198. package/dist/elements/UserMenu/index.d.ts +1 -0
  199. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  200. package/dist/elements/UserMenu/index.js +2 -1
  201. package/dist/elements/UserMenu/index.js.map +1 -1
  202. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.d.ts.map +1 -1
  203. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.d.ts.map +1 -1
  204. package/dist/elements/WhereBuilder/Condition/validOperators.d.ts.map +1 -1
  205. package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
  206. package/dist/exports/client/index.d.ts +4 -3
  207. package/dist/exports/client/index.d.ts.map +1 -1
  208. package/dist/exports/client/index.js +1 -1
  209. package/dist/exports/client/index.js.map +3 -3
  210. package/dist/exports/layouts.d.ts +1 -0
  211. package/dist/exports/layouts.d.ts.map +1 -1
  212. package/dist/exports/layouts.js +1 -0
  213. package/dist/exports/layouts.js.map +1 -1
  214. package/dist/exports/rsc/index.d.ts +3 -0
  215. package/dist/exports/rsc/index.d.ts.map +1 -1
  216. package/dist/exports/rsc/index.js +3 -0
  217. package/dist/exports/rsc/index.js.map +1 -1
  218. package/dist/exports/shared/index.d.ts +1 -0
  219. package/dist/exports/shared/index.d.ts.map +1 -1
  220. package/dist/exports/shared/index.js +2 -2
  221. package/dist/exports/shared/index.js.map +4 -4
  222. package/dist/fields/Array/index.d.ts +1 -1
  223. package/dist/fields/Array/index.d.ts.map +1 -1
  224. package/dist/fields/Array/index.js +7 -4
  225. package/dist/fields/Array/index.js.map +1 -1
  226. package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  227. package/dist/fields/Blocks/SectionTitle/index.js +1 -0
  228. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  229. package/dist/fields/Blocks/index.d.ts +1 -1
  230. package/dist/fields/Blocks/index.d.ts.map +1 -1
  231. package/dist/fields/Blocks/index.js +6 -3
  232. package/dist/fields/Blocks/index.js.map +1 -1
  233. package/dist/fields/Checkbox/index.d.ts +1 -1
  234. package/dist/fields/Code/index.css +1 -1
  235. package/dist/fields/Code/index.d.ts +2 -2
  236. package/dist/fields/Collapsible/index.d.ts +1 -1
  237. package/dist/fields/ConfirmPassword/index.d.ts +4 -0
  238. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  239. package/dist/fields/ConfirmPassword/index.js +37 -33
  240. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  241. package/dist/fields/DateTime/index.d.ts +1 -1
  242. package/dist/fields/Email/index.d.ts +1 -1
  243. package/dist/fields/Group/index.css +1 -7
  244. package/dist/fields/Group/index.d.ts +2 -2
  245. package/dist/fields/JSON/index.d.ts +1 -1
  246. package/dist/fields/Join/index.d.ts +1 -1
  247. package/dist/fields/Number/Input.d.ts.map +1 -1
  248. package/dist/fields/Number/Input.js +29 -25
  249. package/dist/fields/Number/Input.js.map +1 -1
  250. package/dist/fields/Number/index.d.ts +1 -1
  251. package/dist/fields/Number/types.d.ts +4 -0
  252. package/dist/fields/Number/types.d.ts.map +1 -1
  253. package/dist/fields/Number/types.js.map +1 -1
  254. package/dist/fields/Password/input.d.ts.map +1 -1
  255. package/dist/fields/Password/input.js +33 -29
  256. package/dist/fields/Password/input.js.map +1 -1
  257. package/dist/fields/Password/types.d.ts +7 -3
  258. package/dist/fields/Password/types.d.ts.map +1 -1
  259. package/dist/fields/Password/types.js.map +1 -1
  260. package/dist/fields/Point/index.d.ts +1 -1
  261. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  262. package/dist/fields/Relationship/Input.js +4 -0
  263. package/dist/fields/Relationship/Input.js.map +1 -1
  264. package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
  265. package/dist/fields/Relationship/index.d.ts +1 -1
  266. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  267. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  268. package/dist/fields/Relationship/types.d.ts +4 -0
  269. package/dist/fields/Relationship/types.d.ts.map +1 -1
  270. package/dist/fields/Relationship/types.js.map +1 -1
  271. package/dist/fields/Row/index.d.ts +1 -1
  272. package/dist/fields/Select/Input.d.ts +4 -0
  273. package/dist/fields/Select/Input.d.ts.map +1 -1
  274. package/dist/fields/Select/Input.js +45 -40
  275. package/dist/fields/Select/Input.js.map +1 -1
  276. package/dist/fields/Select/index.d.ts +1 -1
  277. package/dist/fields/Select/index.d.ts.map +1 -1
  278. package/dist/fields/Slug/index.d.ts +7 -5
  279. package/dist/fields/Slug/index.d.ts.map +1 -1
  280. package/dist/fields/Slug/index.js +6 -4
  281. package/dist/fields/Slug/index.js.map +1 -1
  282. package/dist/fields/Tabs/index.d.ts +1 -1
  283. package/dist/fields/Text/Input.d.ts.map +1 -1
  284. package/dist/fields/Text/Input.js +25 -21
  285. package/dist/fields/Text/Input.js.map +1 -1
  286. package/dist/fields/Text/index.d.ts +1 -1
  287. package/dist/fields/Text/types.d.ts +6 -2
  288. package/dist/fields/Text/types.d.ts.map +1 -1
  289. package/dist/fields/Text/types.js.map +1 -1
  290. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  291. package/dist/fields/Textarea/Input.js +27 -23
  292. package/dist/fields/Textarea/Input.js.map +1 -1
  293. package/dist/fields/Textarea/index.css +1 -1
  294. package/dist/fields/Textarea/index.d.ts +1 -1
  295. package/dist/fields/Textarea/types.d.ts +4 -0
  296. package/dist/fields/Textarea/types.d.ts.map +1 -1
  297. package/dist/fields/Textarea/types.js.map +1 -1
  298. package/dist/fields/index.d.ts.map +1 -1
  299. package/dist/fields/index.js +2 -0
  300. package/dist/fields/index.js.map +1 -1
  301. package/dist/fields/mergeFieldStyles.d.ts +1 -1
  302. package/dist/fields/mergeFieldStyles.d.ts.map +1 -1
  303. package/dist/forms/Form/context.d.ts.map +1 -1
  304. package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -1
  305. package/dist/forms/Form/errorMessages.d.ts.map +1 -1
  306. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  307. package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -1
  308. package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
  309. package/dist/forms/Form/rows.d.ts.map +1 -1
  310. package/dist/forms/Form/types.d.ts +2 -2
  311. package/dist/forms/Form/types.d.ts.map +1 -1
  312. package/dist/forms/Form/types.js.map +1 -1
  313. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  314. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  315. package/dist/forms/RenderFields/RenderField.js +10 -0
  316. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  317. package/dist/forms/RenderFields/index.css +4 -4
  318. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  319. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
  320. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  321. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +21 -5
  322. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  323. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +2 -2
  324. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  325. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  326. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +2 -2
  327. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  328. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  329. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +2 -2
  330. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  331. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  332. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
  333. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  334. package/dist/forms/fieldSchemasToFormState/index.js +2 -0
  335. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  336. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
  337. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  338. package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
  339. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  340. package/dist/forms/useField/index.d.ts.map +1 -1
  341. package/dist/forms/withCondition/index.d.ts +1 -1
  342. package/dist/forms/withCondition/index.d.ts.map +1 -1
  343. package/dist/graphics/Icon/index.js +1 -1
  344. package/dist/graphics/Icon/index.js.map +1 -1
  345. package/dist/hooks/useDebouncedCallback.d.ts.map +1 -1
  346. package/dist/hooks/useDelay.d.ts.map +1 -1
  347. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -1
  348. package/dist/hooks/useHotkey.d.ts.map +1 -1
  349. package/dist/hooks/useIntersect.d.ts.map +1 -1
  350. package/dist/hooks/usePopupWindow.d.ts +1 -1
  351. package/dist/hooks/usePopupWindow.d.ts.map +1 -1
  352. package/dist/hooks/useRelatedCollections.d.ts.map +1 -1
  353. package/dist/hooks/useResize.d.ts.map +1 -1
  354. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  355. package/dist/layouts/Root/index.d.ts.map +1 -1
  356. package/dist/layouts/Root/index.js +7 -3
  357. package/dist/layouts/Root/index.js.map +1 -1
  358. package/dist/layouts/Root/index.spec.js +20 -0
  359. package/dist/layouts/Root/index.spec.js.map +1 -0
  360. package/dist/layouts/Root/viewport.d.ts +5 -0
  361. package/dist/layouts/Root/viewport.d.ts.map +1 -0
  362. package/dist/layouts/Root/viewport.js +17 -0
  363. package/dist/layouts/Root/viewport.js.map +1 -0
  364. package/dist/providers/Auth/index.d.ts +8 -10
  365. package/dist/providers/Auth/index.d.ts.map +1 -1
  366. package/dist/providers/Auth/index.js +3 -8
  367. package/dist/providers/Auth/index.js.map +1 -1
  368. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  369. package/dist/providers/DocumentInfo/index.js.map +1 -1
  370. package/dist/providers/DocumentInfo/types.d.ts +6 -6
  371. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  372. package/dist/providers/DocumentInfo/types.js.map +1 -1
  373. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
  374. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  375. package/dist/providers/ListQuery/index.js +8 -1
  376. package/dist/providers/ListQuery/index.js.map +1 -1
  377. package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
  378. package/dist/providers/ListQuery/sanitizeQuery.d.ts.map +1 -1
  379. package/dist/providers/LivePreview/sizeReducer.d.ts +1 -1
  380. package/dist/providers/LivePreview/sizeReducer.d.ts.map +1 -1
  381. package/dist/providers/Root/index.d.ts +2 -2
  382. package/dist/providers/Root/index.d.ts.map +1 -1
  383. package/dist/providers/Root/index.js.map +1 -1
  384. package/dist/providers/TableColumns/buildColumnState/filterFields.d.ts.map +1 -1
  385. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.d.ts.map +1 -1
  386. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts.map +1 -1
  387. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  388. package/dist/providers/TableColumns/getInitialColumns.d.ts +1 -1
  389. package/dist/providers/TableColumns/getInitialColumns.d.ts.map +1 -1
  390. package/dist/providers/Theme/index.d.ts +2 -2
  391. package/dist/providers/Theme/index.d.ts.map +1 -1
  392. package/dist/providers/Theme/index.js +2 -1
  393. package/dist/providers/Theme/index.js.map +1 -1
  394. package/dist/providers/Theme/shared.d.ts +3 -0
  395. package/dist/providers/Theme/shared.d.ts.map +1 -0
  396. package/dist/providers/Theme/shared.js +2 -0
  397. package/dist/providers/Theme/shared.js.map +1 -0
  398. package/dist/providers/UploadEdits/index.d.ts.map +1 -1
  399. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  400. package/dist/styles.css +19 -5
  401. package/dist/templates/Default/index.d.ts.map +1 -1
  402. package/dist/templates/Default/index.js +6 -0
  403. package/dist/templates/Default/index.js.map +1 -1
  404. package/dist/utilities/api.d.ts.map +1 -1
  405. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
  406. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
  407. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  408. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  409. package/dist/utilities/buildFormState.d.ts +2 -2
  410. package/dist/utilities/buildFormState.d.ts.map +1 -1
  411. package/dist/utilities/buildFormState.js +1 -0
  412. package/dist/utilities/buildFormState.js.map +1 -1
  413. package/dist/utilities/checkDependencies.d.ts.map +1 -1
  414. package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
  415. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  416. package/dist/utilities/copyDataFromLocale.js +1 -0
  417. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  418. package/dist/utilities/filterOutUploadFields.d.ts.map +1 -1
  419. package/dist/utilities/findLocaleFromCode.d.ts.map +1 -1
  420. package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
  421. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  422. package/dist/utilities/formatDocTitle/formatRelationshipTitle.d.ts.map +1 -1
  423. package/dist/utilities/formatDocTitle/index.d.ts +1 -1
  424. package/dist/utilities/formatDocTitle/index.d.ts.map +1 -1
  425. package/dist/utilities/formatDocTitle/index.js +1 -1
  426. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  427. package/dist/utilities/formatFields.d.ts.map +1 -1
  428. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  429. package/dist/utilities/formatRelativeDate.d.ts +15 -0
  430. package/dist/utilities/formatRelativeDate.d.ts.map +1 -0
  431. package/dist/utilities/formatRelativeDate.js +62 -0
  432. package/dist/utilities/formatRelativeDate.js.map +1 -0
  433. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  434. package/dist/utilities/getColumns.d.ts.map +1 -1
  435. package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
  436. package/dist/utilities/getDocPreferences.d.ts +2 -2
  437. package/dist/utilities/getDocPreferences.d.ts.map +1 -1
  438. package/dist/utilities/getDocPreferences.js.map +1 -1
  439. package/dist/utilities/getDocumentData.d.ts +2 -2
  440. package/dist/utilities/getDocumentData.d.ts.map +1 -1
  441. package/dist/utilities/getDocumentData.js.map +1 -1
  442. package/dist/utilities/getDocumentPermissions.d.ts.map +1 -1
  443. package/dist/utilities/getGlobalData.d.ts +2 -2
  444. package/dist/utilities/getGlobalData.d.ts.map +1 -1
  445. package/dist/utilities/getGlobalData.js.map +1 -1
  446. package/dist/utilities/getHasScheduledPublish.d.ts +2 -2
  447. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  448. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  449. package/dist/utilities/getIsLocked.d.ts +2 -2
  450. package/dist/utilities/getIsLocked.d.ts.map +1 -1
  451. package/dist/utilities/getIsLocked.js.map +1 -1
  452. package/dist/utilities/getLanguageDir.d.ts +12 -0
  453. package/dist/utilities/getLanguageDir.d.ts.map +1 -0
  454. package/dist/utilities/getLanguageDir.js +12 -0
  455. package/dist/utilities/getLanguageDir.js.map +1 -0
  456. package/dist/utilities/getOffsetTop.d.ts.map +1 -1
  457. package/dist/utilities/getRequestHighContrast.d.ts.map +1 -1
  458. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  459. package/dist/utilities/getRequestTheme.d.ts +1 -1
  460. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  461. package/dist/utilities/getRequestTheme.js +1 -1
  462. package/dist/utilities/getRequestTheme.js.map +1 -1
  463. package/dist/utilities/getRouteWithoutAdmin.d.ts.map +1 -1
  464. package/dist/utilities/getSupportedMonacoLocale.d.ts.map +1 -1
  465. package/dist/utilities/getVersions.d.ts +2 -2
  466. package/dist/utilities/getVersions.d.ts.map +1 -1
  467. package/dist/utilities/getVersions.js +2 -5
  468. package/dist/utilities/getVersions.js.map +1 -1
  469. package/dist/utilities/handleAuthRedirect.d.ts +2 -2
  470. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  471. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  472. package/dist/utilities/handleBackToDashboard.d.ts.map +1 -1
  473. package/dist/utilities/handleFormStateLocking.d.ts +2 -2
  474. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  475. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  476. package/dist/utilities/handleGoBack.d.ts.map +1 -1
  477. package/dist/utilities/handleLivePreview.d.ts +1 -0
  478. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  479. package/dist/utilities/handlePreview.d.ts.map +1 -1
  480. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  481. package/dist/utilities/handleStaleDataCheck.d.ts.map +1 -1
  482. package/dist/utilities/handleTakeOver.d.ts +5 -5
  483. package/dist/utilities/handleTakeOver.d.ts.map +1 -1
  484. package/dist/utilities/handleTakeOver.js.map +1 -1
  485. package/dist/utilities/hasOptionLabelJSXElement.d.ts.map +1 -1
  486. package/dist/utilities/hasSavePermission.d.ts.map +1 -1
  487. package/dist/utilities/initReq.d.ts.map +1 -1
  488. package/dist/utilities/isClientUserObject.d.ts +2 -2
  489. package/dist/utilities/isClientUserObject.d.ts.map +1 -1
  490. package/dist/utilities/isClientUserObject.js.map +1 -1
  491. package/dist/utilities/isCustomAdminView.d.ts.map +1 -1
  492. package/dist/utilities/isEditing.d.ts.map +1 -1
  493. package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
  494. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
  495. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  496. package/dist/utilities/isURLAllowed.js +9 -3
  497. package/dist/utilities/isURLAllowed.js.map +1 -1
  498. package/dist/utilities/recentlyViewed.d.ts +16 -0
  499. package/dist/utilities/recentlyViewed.d.ts.map +1 -0
  500. package/dist/utilities/recentlyViewed.js +21 -0
  501. package/dist/utilities/recentlyViewed.js.map +1 -0
  502. package/dist/utilities/recentlyViewed.spec.js +92 -0
  503. package/dist/utilities/recentlyViewed.spec.js.map +1 -0
  504. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
  505. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  506. package/dist/utilities/renderTable.d.ts +2 -2
  507. package/dist/utilities/renderTable.d.ts.map +1 -1
  508. package/dist/utilities/resolveFilterOptions.d.ts +1 -1
  509. package/dist/utilities/resolveFilterOptions.d.ts.map +1 -1
  510. package/dist/utilities/sanitizeFilterOptionsQuery.d.ts.map +1 -1
  511. package/dist/utilities/scrollToID.d.ts.map +1 -1
  512. package/dist/utilities/selectiveCache.d.ts.map +1 -1
  513. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  514. package/dist/utilities/slugify.d.ts +1 -1
  515. package/dist/utilities/slugify.js +1 -1
  516. package/dist/utilities/slugify.js.map +1 -1
  517. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  518. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  519. package/dist/views/Account/ResetPreferences/index.d.ts +2 -2
  520. package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -1
  521. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  522. package/dist/views/Account/Settings/index.d.ts +2 -2
  523. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  524. package/dist/views/Account/Settings/index.js.map +1 -1
  525. package/dist/views/CollectionTrash/generateCollectionTrashMetadata.d.ts.map +1 -1
  526. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
  527. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +27 -23
  528. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  529. package/dist/views/Dashboard/Default/ModularDashboard/index.css +2 -0
  530. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +1 -1
  531. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  532. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +2 -2
  533. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -1
  534. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -1
  535. package/dist/views/Dashboard/Default/index.d.ts +2 -2
  536. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  537. package/dist/views/Dashboard/Default/index.js.map +1 -1
  538. package/dist/views/Document/getCustomDocumentViewByKey.d.ts +1 -1
  539. package/dist/views/Document/getCustomDocumentViewByKey.d.ts.map +1 -1
  540. package/dist/views/Document/getCustomViewByRoute.d.ts +1 -1
  541. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  542. package/dist/views/Document/getDocumentView.d.ts.map +1 -1
  543. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  544. package/dist/views/Document/index.d.ts +1 -1
  545. package/dist/views/Document/index.d.ts.map +1 -1
  546. package/dist/views/Document/index.js +17 -1
  547. package/dist/views/Document/index.js.map +1 -1
  548. package/dist/views/Document/recordRecentlyViewed.d.ts +12 -0
  549. package/dist/views/Document/recordRecentlyViewed.d.ts.map +1 -0
  550. package/dist/views/Document/recordRecentlyViewed.js +40 -0
  551. package/dist/views/Document/recordRecentlyViewed.js.map +1 -0
  552. package/dist/views/Edit/index.d.ts.map +1 -1
  553. package/dist/views/Edit/index.js +1 -1
  554. package/dist/views/Edit/index.js.map +1 -1
  555. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +2 -2
  556. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  557. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  558. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +2 -2
  559. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
  560. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
  561. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -1
  562. package/dist/views/HierarchyList/TypeFilter/index.js +3 -0
  563. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
  564. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  565. package/dist/views/HierarchyList/index.js +2 -6
  566. package/dist/views/HierarchyList/index.js.map +1 -1
  567. package/dist/views/List/createSerializableValue.d.ts.map +1 -1
  568. package/dist/views/List/extractRelationshipDisplayValue.d.ts.map +1 -1
  569. package/dist/views/List/extractValueOrRelationshipID.d.ts.map +1 -1
  570. package/dist/views/List/generateListViewMetadata.d.ts.map +1 -1
  571. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  572. package/dist/views/List/handleHierarchy.d.ts +1 -1
  573. package/dist/views/List/handleHierarchy.d.ts.map +1 -1
  574. package/dist/views/List/index.d.ts.map +1 -1
  575. package/dist/views/List/index.js +1 -7
  576. package/dist/views/List/index.js.map +1 -1
  577. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  578. package/dist/views/List/resolveAllFilterOptions.d.ts.map +1 -1
  579. package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -1
  580. package/dist/views/Logout/LogoutClient.js +28 -32
  581. package/dist/views/Logout/LogoutClient.js.map +1 -1
  582. package/dist/views/NotFound/page.d.ts.map +1 -1
  583. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -1
  584. package/dist/views/Root/generatePageMetadata.d.ts.map +1 -1
  585. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts +1 -1
  586. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  587. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts +1 -1
  588. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  589. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  590. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  591. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  592. package/dist/views/Root/index.d.ts.map +1 -1
  593. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  594. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
  595. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  596. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
  597. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  598. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +1 -0
  599. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  600. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  601. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  602. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +1 -0
  603. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  604. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  605. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  606. package/dist/views/Version/SelectComparison/index.js +1 -0
  607. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  608. package/dist/views/Versions/buildColumns.d.ts +1 -1
  609. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  610. package/dist/views/Versions/fetchVersions.d.ts +8 -8
  611. package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
  612. package/dist/views/Versions/fetchVersions.js.map +1 -1
  613. package/dist/views/Versions/types.d.ts +2 -2
  614. package/dist/views/Versions/types.d.ts.map +1 -1
  615. package/dist/views/Versions/types.js.map +1 -1
  616. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts +2 -2
  617. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts.map +1 -1
  618. package/dist/widgets/CollectionCards/getCollectionCardsData.js.map +1 -1
  619. package/dist/widgets/CollectionCards/index.client.js.map +1 -1
  620. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  621. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -0
  622. package/dist/widgets/CollectionQuery/SortField/index.js +118 -0
  623. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -0
  624. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts +18 -0
  625. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts.map +1 -0
  626. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js +91 -0
  627. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js.map +1 -0
  628. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +100 -0
  629. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +1 -0
  630. package/dist/widgets/CollectionQuery/index.css +64 -0
  631. package/dist/widgets/CollectionQuery/index.d.ts +16 -0
  632. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -0
  633. package/dist/widgets/CollectionQuery/index.js +328 -0
  634. package/dist/widgets/CollectionQuery/index.js.map +1 -0
  635. package/dist/widgets/RecentlyViewed/CollectionsField/index.css +14 -0
  636. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +10 -0
  637. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -0
  638. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +76 -0
  639. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -0
  640. package/dist/widgets/RecentlyViewed/index.d.ts +10 -0
  641. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -0
  642. package/dist/widgets/RecentlyViewed/index.js +148 -0
  643. package/dist/widgets/RecentlyViewed/index.js.map +1 -0
  644. package/dist/widgets/WidgetCard/index.css +155 -0
  645. package/dist/widgets/WidgetCard/index.d.ts +19 -0
  646. package/dist/widgets/WidgetCard/index.d.ts.map +1 -0
  647. package/dist/widgets/WidgetCard/index.js +49 -0
  648. package/dist/widgets/WidgetCard/index.js.map +1 -0
  649. package/package.json +6 -509
  650. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +0 -1
  651. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +0 -1
  652. package/dist/elements/Hierarchy/Drawer/index.css +0 -90
  653. package/dist/elements/Hierarchy/Drawer/index.d.ts +0 -20
  654. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +0 -1
  655. package/dist/elements/Hierarchy/Drawer/index.js.map +0 -1
  656. package/dist/elements/Hierarchy/Drawer/types.d.ts.map +0 -1
  657. package/dist/elements/Hierarchy/Drawer/types.js.map +0 -1
  658. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +0 -30
  659. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +0 -1
  660. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +0 -1
  661. package/dist/elements/Nav/NavToggler/index.css +0 -12
  662. package/dist/elements/Nav/NavToggler/index.d.ts +0 -9
  663. package/dist/elements/Nav/NavToggler/index.d.ts.map +0 -1
  664. package/dist/elements/Nav/NavToggler/index.js +0 -91
  665. package/dist/elements/Nav/NavToggler/index.js.map +0 -1
  666. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  667. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.d.ts +0 -0
  668. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.js +0 -0
  669. /package/dist/elements/Hierarchy/{Drawer → Modal}/types.js +0 -0
@@ -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,qFASzB,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":"getDocumentPermissions.d.ts","sourceRoot":"","sources":["../../src/utilities/getDocumentPermissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,cAAc,EACd,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAQhB,eAAO,MAAM,sBAAsB,GAAU,MAAM;IACjD,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,IAAI,EAAE,IAAI,CAAA;IACV,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC;IACV,cAAc,EAAE,4BAA4B,CAAA;IAC5C,mBAAmB,EAAE,OAAO,CAAA;IAC5B,oBAAoB,EAAE,OAAO,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,kBAAkB,EAAE,OAAO,CAAA;CAC5B,CA0HA,CAAA"}
1
+ {"version":3,"file":"getDocumentPermissions.d.ts","sourceRoot":"","sources":["../../src/utilities/getDocumentPermissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,cAAc,EACd,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAQhB,eAAO,MAAM,sBAAsB,SAAgB;IACjD,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,IAAI,EAAE,IAAI,CAAA;IACV,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC;IACV,cAAc,EAAE,4BAA4B,CAAA;IAC5C,mBAAmB,EAAE,OAAO,CAAA;IAC5B,oBAAoB,EAAE,OAAO,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,kBAAkB,EAAE,OAAO,CAAA;CAC5B,CA0HA,CAAA"}
@@ -1,9 +1,9 @@
1
- import type { ClientUser, PayloadRequest } from 'payload';
1
+ import type { PayloadRequest, User } from 'payload';
2
2
  export declare function getGlobalData(req: PayloadRequest): Promise<{
3
3
  data: {
4
4
  _isLocked: boolean;
5
5
  _lastEditedAt: string;
6
- _userEditing: ClientUser | number | string;
6
+ _userEditing: number | string | User;
7
7
  };
8
8
  lockDuration?: number;
9
9
  slug: string;
@@ -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,cAAc,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAInD,wBAAsB,aAAa,CAAC,GAAG,EAAE,cAAc;UAU7C;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE;mBAC1E,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 { 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: number | string | User }\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":[]}
@@ -1,11 +1,11 @@
1
- import type { Payload, SanitizedCollectionConfig, SanitizedGlobalConfig, TypedUser } from 'payload';
1
+ import type { Payload, SanitizedCollectionConfig, SanitizedGlobalConfig, User } from 'payload';
2
2
  type Args = {
3
3
  collectionConfig?: SanitizedCollectionConfig;
4
4
  globalConfig?: SanitizedGlobalConfig;
5
5
  hasPublishPermission?: boolean;
6
6
  id?: number | string;
7
7
  payload: Payload;
8
- user: TypedUser;
8
+ user: User;
9
9
  };
10
10
  export declare const getHasScheduledPublish: ({ id: idArg, collectionConfig, globalConfig, hasPublishPermission, payload, user, }: Args) => Promise<boolean>;
11
11
  export {};
@@ -1 +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,SAAS,EAAE,MAAM,SAAS,CAAA;AAOnG,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,SAAS,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAU,qFAO1C,IAAI,KAAG,OAAO,CAAC,OAAO,CA4BxB,CAAA"}
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,wFAOhC,IAAI,KAAG,OAAO,CAAC,OAAO,CA4BxB,CAAA"}
@@ -1 +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, TypedUser } 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: TypedUser\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
+ {"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,4DAMrB,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":[]}
@@ -0,0 +1,12 @@
1
+ export type Direction = 'ltr' | 'rtl';
2
+ /**
3
+ * Resolves the `<html dir>` value for a language code. Returns lowercase
4
+ * `'ltr'`/`'rtl'` to match the `[dir='ltr']`/`[dir='rtl']` selectors the admin
5
+ * stylesheet scopes its layout rules under (e.g. the document sidebar divider).
6
+ * Single source of truth shared across framework adapters so the SSR'd `dir`
7
+ * never diverges from what the CSS expects.
8
+ */
9
+ export declare const getLanguageDir: ({ languageCode }: {
10
+ languageCode: string;
11
+ }) => Direction;
12
+ //# sourceMappingURL=getLanguageDir.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLanguageDir.d.ts","sourceRoot":"","sources":["../../src/utilities/getLanguageDir.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,CAAA;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,qBAAsB;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,KAAG,SACA,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { rtlLanguages } from '@payloadcms/translations';
2
+ /**
3
+ * Resolves the `<html dir>` value for a language code. Returns lowercase
4
+ * `'ltr'`/`'rtl'` to match the `[dir='ltr']`/`[dir='rtl']` selectors the admin
5
+ * stylesheet scopes its layout rules under (e.g. the document sidebar divider).
6
+ * Single source of truth shared across framework adapters so the SSR'd `dir`
7
+ * never diverges from what the CSS expects.
8
+ */
9
+ export const getLanguageDir = ({
10
+ languageCode
11
+ }) => rtlLanguages.includes(languageCode) ? 'rtl' : 'ltr';
12
+ //# sourceMappingURL=getLanguageDir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLanguageDir.js","names":["rtlLanguages","getLanguageDir","languageCode","includes"],"sources":["../../src/utilities/getLanguageDir.ts"],"sourcesContent":["import { rtlLanguages } from '@payloadcms/translations'\n\nexport type Direction = 'ltr' | 'rtl'\n\n/**\n * Resolves the `<html dir>` value for a language code. Returns lowercase\n * `'ltr'`/`'rtl'` to match the `[dir='ltr']`/`[dir='rtl']` selectors the admin\n * stylesheet scopes its layout rules under (e.g. the document sidebar divider).\n * Single source of truth shared across framework adapters so the SSR'd `dir`\n * never diverges from what the CSS expects.\n */\nexport const getLanguageDir = ({ languageCode }: { languageCode: string }): Direction =>\n (rtlLanguages as readonly string[]).includes(languageCode) ? 'rtl' : 'ltr'\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ;AAI7B;;;;;;;AAOA,OAAO,MAAMC,cAAA,GAAiBA,CAAC;EAAEC;AAAY,CAA4B,KACvEF,YAAC,CAAmCG,QAAQ,CAACD,YAAA,IAAgB,QAAQ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getOffsetTop.d.ts","sourceRoot":"","sources":["../../src/utilities/getOffsetTop.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,GAAI,SAAS,WAAW,KAAG,MAenD,CAAA"}
1
+ {"version":3,"file":"getOffsetTop.d.ts","sourceRoot":"","sources":["../../src/utilities/getOffsetTop.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,YAAa,WAAW,KAAG,MAenD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getRequestHighContrast.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestHighContrast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,KAAK,0BAA0B,GAAG;IAChC,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,+BAIpC,0BAA0B,KAAG,OAc/B,CAAA"}
1
+ {"version":3,"file":"getRequestHighContrast.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestHighContrast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,KAAK,0BAA0B,GAAG;IAChC,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,sBAAsB,kCAIhC,0BAA0B,KAAG,OAc/B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getRequestLanguage.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestLanguage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,wCAIhC,sBAAsB,KAAG,MAS3B,CAAA"}
1
+ {"version":3,"file":"getRequestLanguage.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestLanguage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,kBAAkB,2CAI5B,sBAAsB,KAAG,MAS3B,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { SanitizedConfig } from 'payload';
2
- import { type Theme } from '../providers/Theme/index.js';
2
+ import { type Theme } from '../providers/Theme/shared.js';
3
3
  type GetRequestThemeArgs = {
4
4
  config: SanitizedConfig;
5
5
  cookies: Map<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"getRequestTheme.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,EAAgB,KAAK,KAAK,EAAE,MAAM,6BAA6B,CAAA;AAEtE,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;CAC5B,CAAA;AAID,eAAO,MAAM,eAAe,GAAI,8BAA8B,mBAAmB,KAAG,KAkBnF,CAAA"}
1
+ {"version":3,"file":"getRequestTheme.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,EAAgB,KAAK,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAEvE,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;CAC5B,CAAA;AAID,eAAO,MAAM,eAAe,iCAAkC,mBAAmB,KAAG,KAkBnF,CAAA"}
@@ -1,4 +1,4 @@
1
- import { defaultTheme } from '../providers/Theme/index.js';
1
+ import { defaultTheme } from '../providers/Theme/shared.js';
2
2
  const acceptedThemes = ['dark', 'light'];
3
3
  export const getRequestTheme = ({
4
4
  config,
@@ -1 +1 @@
1
- {"version":3,"file":"getRequestTheme.js","names":["defaultTheme","acceptedThemes","getRequestTheme","config","cookies","headers","admin","theme","includes","themeFromCookie","get","cookiePrefix","themeFromHeader"],"sources":["../../src/utilities/getRequestTheme.ts"],"sourcesContent":["import type { SanitizedConfig } from 'payload'\n\nimport { defaultTheme, type Theme } from '../providers/Theme/index.js'\n\ntype GetRequestThemeArgs = {\n config: SanitizedConfig\n cookies: Map<string, string>\n headers: Request['headers']\n}\n\nconst acceptedThemes: Theme[] = ['dark', 'light']\n\nexport const getRequestTheme = ({ config, cookies, headers }: GetRequestThemeArgs): Theme => {\n if (config.admin.theme !== 'all' && acceptedThemes.includes(config.admin.theme)) {\n return config.admin.theme\n }\n\n const themeFromCookie = cookies.get(`${config.cookiePrefix || 'payload'}-theme`) as Theme\n\n if (themeFromCookie && acceptedThemes.includes(themeFromCookie)) {\n return themeFromCookie\n }\n\n const themeFromHeader = headers.get('Sec-CH-Prefers-Color-Scheme') as Theme\n\n if (themeFromHeader && acceptedThemes.includes(themeFromHeader)) {\n return themeFromHeader\n }\n\n return defaultTheme\n}\n"],"mappings":"AAEA,SAASA,YAAY,QAAoB;AAQzC,MAAMC,cAAA,GAA0B,CAAC,QAAQ,QAAQ;AAEjD,OAAO,MAAMC,eAAA,GAAkBA,CAAC;EAAEC,MAAM;EAAEC,OAAO;EAAEC;AAAO,CAAuB;EAC/E,IAAIF,MAAA,CAAOG,KAAK,CAACC,KAAK,KAAK,SAASN,cAAA,CAAeO,QAAQ,CAACL,MAAA,CAAOG,KAAK,CAACC,KAAK,GAAG;IAC/E,OAAOJ,MAAA,CAAOG,KAAK,CAACC,KAAK;EAC3B;EAEA,MAAME,eAAA,GAAkBL,OAAA,CAAQM,GAAG,CAAC,GAAGP,MAAA,CAAOQ,YAAY,IAAI,iBAAiB;EAE/E,IAAIF,eAAA,IAAmBR,cAAA,CAAeO,QAAQ,CAACC,eAAA,GAAkB;IAC/D,OAAOA,eAAA;EACT;EAEA,MAAMG,eAAA,GAAkBP,OAAA,CAAQK,GAAG,CAAC;EAEpC,IAAIE,eAAA,IAAmBX,cAAA,CAAeO,QAAQ,CAACI,eAAA,GAAkB;IAC/D,OAAOA,eAAA;EACT;EAEA,OAAOZ,YAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"getRequestTheme.js","names":["defaultTheme","acceptedThemes","getRequestTheme","config","cookies","headers","admin","theme","includes","themeFromCookie","get","cookiePrefix","themeFromHeader"],"sources":["../../src/utilities/getRequestTheme.ts"],"sourcesContent":["import type { SanitizedConfig } from 'payload'\n\nimport { defaultTheme, type Theme } from '../providers/Theme/shared.js'\n\ntype GetRequestThemeArgs = {\n config: SanitizedConfig\n cookies: Map<string, string>\n headers: Request['headers']\n}\n\nconst acceptedThemes: Theme[] = ['dark', 'light']\n\nexport const getRequestTheme = ({ config, cookies, headers }: GetRequestThemeArgs): Theme => {\n if (config.admin.theme !== 'all' && acceptedThemes.includes(config.admin.theme)) {\n return config.admin.theme\n }\n\n const themeFromCookie = cookies.get(`${config.cookiePrefix || 'payload'}-theme`) as Theme\n\n if (themeFromCookie && acceptedThemes.includes(themeFromCookie)) {\n return themeFromCookie\n }\n\n const themeFromHeader = headers.get('Sec-CH-Prefers-Color-Scheme') as Theme\n\n if (themeFromHeader && acceptedThemes.includes(themeFromHeader)) {\n return themeFromHeader\n }\n\n return defaultTheme\n}\n"],"mappings":"AAEA,SAASA,YAAY,QAAoB;AAQzC,MAAMC,cAAA,GAA0B,CAAC,QAAQ,QAAQ;AAEjD,OAAO,MAAMC,eAAA,GAAkBA,CAAC;EAAEC,MAAM;EAAEC,OAAO;EAAEC;AAAO,CAAuB;EAC/E,IAAIF,MAAA,CAAOG,KAAK,CAACC,KAAK,KAAK,SAASN,cAAA,CAAeO,QAAQ,CAACL,MAAA,CAAOG,KAAK,CAACC,KAAK,GAAG;IAC/E,OAAOJ,MAAA,CAAOG,KAAK,CAACC,KAAK;EAC3B;EAEA,MAAME,eAAA,GAAkBL,OAAA,CAAQM,GAAG,CAAC,GAAGP,MAAA,CAAOQ,YAAY,IAAI,iBAAiB;EAE/E,IAAIF,eAAA,IAAmBR,cAAA,CAAeO,QAAQ,CAACC,eAAA,GAAkB;IAC/D,OAAOA,eAAA;EACT;EAEA,MAAMG,eAAA,GAAkBP,OAAA,CAAQK,GAAG,CAAC;EAEpC,IAAIE,eAAA,IAAmBX,cAAA,CAAeO,QAAQ,CAACI,eAAA,GAAkB;IAC/D,OAAOA,eAAA;EACT;EAEA,OAAOZ,YAAA;AACT","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getRouteWithoutAdmin.d.ts","sourceRoot":"","sources":["../../src/utilities/getRouteWithoutAdmin.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,GAAI,wBAGlC;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,KAAG,MAEH,CAAA"}
1
+ {"version":3,"file":"getRouteWithoutAdmin.d.ts","sourceRoot":"","sources":["../../src/utilities/getRouteWithoutAdmin.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,2BAG9B;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,KAAG,MAEH,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSupportedMonacoLocale.d.ts","sourceRoot":"","sources":["../../src/utilities/getSupportedMonacoLocale.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,GAAI,QAAQ,MAAM,KAAG,MAczD,CAAA"}
1
+ {"version":3,"file":"getSupportedMonacoLocale.d.ts","sourceRoot":"","sources":["../../src/utilities/getSupportedMonacoLocale.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,WAAY,MAAM,KAAG,MAczD,CAAA"}
@@ -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,MAyPT,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,+FASrB,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,
@@ -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","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 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
+ {"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,0CAA2C,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 +1 @@
1
- {"version":3,"file":"handleBackToDashboard.d.ts","sourceRoot":"","sources":["../../src/utilities/handleBackToDashboard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAIlD,KAAK,oBAAoB,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,mBAAmB,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,mCAAmC,oBAAoB,SAO5F,CAAA"}
1
+ {"version":3,"file":"handleBackToDashboard.d.ts","sourceRoot":"","sources":["../../src/utilities/handleBackToDashboard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAIlD,KAAK,oBAAoB,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,mBAAmB,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,qBAAqB,sCAAuC,oBAAoB,SAO5F,CAAA"}
@@ -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,+DAMhC,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":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"handleGoBack.d.ts","sourceRoot":"","sources":["../../src/utilities/handleGoBack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAIlD,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,mBAAmB,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,mDAAmD,WAAW,SAM1F,CAAA"}
1
+ {"version":3,"file":"handleGoBack.d.ts","sourceRoot":"","sources":["../../src/utilities/handleGoBack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAIlD,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,mBAAmB,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,YAAY,sDAAuD,WAAW,SAM1F,CAAA"}
@@ -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,sEAK9B;IACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,oBAAoB,EAAE,OAAO,CAAA;CAC9B;;;;;;;;;;;;;;;;;;CAIC,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,gDAI9B;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,kEAO3B;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":"handlePreview.d.ts","sourceRoot":"","sources":["../../src/utilities/handlePreview.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EAErB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,SAAS,CAAA;AAEhB;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,qCAG9B;IACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,KAAG,OAQH,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,GAAU,+DAOjC;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,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAoCA,CAAA"}
1
+ {"version":3,"file":"handlePreview.d.ts","sourceRoot":"","sources":["../../src/utilities/handlePreview.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EAErB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,SAAS,CAAA;AAEhB;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,wCAG1B;IACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,KAAG,OAQH,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,kEAOvB;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,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAoCA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"handleServerFunctions.d.ts","sourceRoot":"","sources":["../../src/utilities/handleServerFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EAEb,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAgChB;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,GAAI,oBAEzC;IACD,aAAa,EAAE,aAAa,CAAA;CAC7B,KAAG,qBAkCH,CAAA"}
1
+ {"version":3,"file":"handleServerFunctions.d.ts","sourceRoot":"","sources":["../../src/utilities/handleServerFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EAEb,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAgChB;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,uBAErC;IACD,aAAa,EAAE,aAAa,CAAA;CAC7B,KAAG,qBAkCH,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"handleStaleDataCheck.d.ts","sourceRoot":"","sources":["../../src/utilities/handleStaleDataCheck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAU,6DAMxC,IAAI,KAAG,OAAO,CAAC,MAAM,CAwDvB,CAAA"}
1
+ {"version":3,"file":"handleStaleDataCheck.d.ts","sourceRoot":"","sources":["../../src/utilities/handleStaleDataCheck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,oBAAoB,gEAM9B,IAAI,KAAG,OAAO,CAAC,MAAM,CAwDvB,CAAA"}
@@ -1,20 +1,20 @@
1
- import type { ClientUser } from 'payload';
1
+ import type { AuthenticatedUser, User } from 'payload';
2
2
  export interface HandleTakeOverParams {
3
3
  clearRouteCache?: () => void;
4
4
  collectionSlug?: string;
5
5
  documentLockStateRef: React.RefObject<{
6
6
  hasShownLockedModal: boolean;
7
7
  isLocked: boolean;
8
- user: ClientUser | number | string;
8
+ user: number | string | User;
9
9
  }>;
10
10
  globalSlug?: string;
11
11
  id: number | string;
12
12
  isLockingEnabled: boolean;
13
13
  isWithinDoc: boolean;
14
- setCurrentEditor: (value: React.SetStateAction<ClientUser | number | string>) => void;
14
+ setCurrentEditor: (value: React.SetStateAction<number | string | User>) => void;
15
15
  setIsReadOnlyForIncomingUser?: (value: React.SetStateAction<boolean>) => void;
16
- updateDocumentEditor: (docID: number | string, slug: string, user: ClientUser | number | string) => Promise<void>;
17
- user: ClientUser | number | string;
16
+ updateDocumentEditor: (docID: number | string, slug: string, user: number | string | User) => Promise<void>;
17
+ user: AuthenticatedUser | number | string;
18
18
  }
19
19
  export declare const handleTakeOver: ({ id, clearRouteCache, collectionSlug, documentLockStateRef, globalSlug, isLockingEnabled, isWithinDoc, setCurrentEditor, setIsReadOnlyForIncomingUser, updateDocumentEditor, user, }: HandleTakeOverParams) => Promise<void>;
20
20
  //# sourceMappingURL=handleTakeOver.d.ts.map