@payloadcms/ui 4.0.0-internal.5d5a2b2 → 4.0.0-internal.63f8536

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 (1067) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/css/colors.css +112 -59
  3. package/dist/css/design-tokens.css +5 -0
  4. package/dist/css/elevations.css +4 -0
  5. package/dist/css/forms.css +6 -3
  6. package/dist/css/radius.css +1 -3
  7. package/dist/css/theme.css +6 -1
  8. package/dist/css/utilities.css +7 -1
  9. package/dist/elements/APIKeyInput/index.css +92 -0
  10. package/dist/elements/APIKeyInput/index.d.ts +14 -0
  11. package/dist/elements/APIKeyInput/index.d.ts.map +1 -0
  12. package/dist/elements/APIKeyInput/index.js +86 -0
  13. package/dist/elements/APIKeyInput/index.js.map +1 -0
  14. package/dist/elements/AddNewRelation/index.css +28 -28
  15. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  16. package/dist/elements/AddNewRelation/index.js +85 -103
  17. package/dist/elements/AddNewRelation/index.js.map +1 -1
  18. package/dist/elements/AppHeader/index.d.ts +4 -1
  19. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  20. package/dist/elements/AppHeader/index.js +16 -27
  21. package/dist/elements/AppHeader/index.js.map +1 -1
  22. package/dist/elements/ArrayAction/index.js +2 -2
  23. package/dist/elements/ArrayAction/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/ActionsBar/index.css +13 -11
  25. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +1 -5
  26. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  27. package/dist/elements/BulkUpload/ActionsBar/index.js +57 -61
  28. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  29. package/dist/elements/BulkUpload/AddFilesView/index.css +14 -8
  30. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -2
  31. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  32. package/dist/elements/BulkUpload/AddFilesView/index.js +41 -36
  33. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  34. package/dist/elements/BulkUpload/AddingFilesView/index.css +177 -0
  35. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +6 -2
  36. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  37. package/dist/elements/BulkUpload/AddingFilesView/index.js +135 -66
  38. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  39. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
  40. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  41. package/dist/elements/BulkUpload/EditForm/index.css +9 -0
  42. package/dist/elements/BulkUpload/EditForm/index.d.ts +2 -2
  43. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  44. package/dist/elements/BulkUpload/EditForm/index.js +17 -18
  45. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  46. package/dist/elements/BulkUpload/EditForm/types.d.ts +2 -3
  47. package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -1
  48. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  49. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts +1 -1
  50. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  51. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +77 -59
  52. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  53. package/dist/elements/BulkUpload/EditMany/index.css +71 -0
  54. package/dist/elements/BulkUpload/EditMany/index.d.ts +1 -1
  55. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  56. package/dist/elements/BulkUpload/EditMany/index.js +29 -11
  57. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  58. package/dist/elements/BulkUpload/FileSidebar/index.css +79 -180
  59. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  60. package/dist/elements/BulkUpload/FileSidebar/index.js +42 -165
  61. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  62. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  63. package/dist/elements/BulkUpload/FormsManager/index.js +14 -1
  64. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  65. package/dist/elements/BulkUpload/index.css +48 -0
  66. package/dist/elements/BulkUpload/index.d.ts +6 -5
  67. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  68. package/dist/elements/BulkUpload/index.js +42 -41
  69. package/dist/elements/BulkUpload/index.js.map +1 -1
  70. package/dist/elements/Button/index.css +8 -0
  71. package/dist/elements/Button/index.d.ts.map +1 -1
  72. package/dist/elements/Button/index.js +5 -0
  73. package/dist/elements/Button/index.js.map +1 -1
  74. package/dist/elements/Card/index.css +1 -1
  75. package/dist/elements/Chip/index.css +1 -1
  76. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  77. package/dist/elements/ClipboardAction/index.js +1 -0
  78. package/dist/elements/ClipboardAction/index.js.map +1 -1
  79. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  80. package/dist/elements/CodeEditor/CodeEditor.js +19 -0
  81. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  82. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  83. package/dist/elements/Collapsible/index.js +2 -0
  84. package/dist/elements/Collapsible/index.js.map +1 -1
  85. package/dist/elements/ColumnSelection/Popup.d.ts +12 -0
  86. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -0
  87. package/dist/elements/{ColumnSelector/index.js → ColumnSelection/Popup.js} +25 -18
  88. package/dist/elements/ColumnSelection/Popup.js.map +1 -0
  89. package/dist/elements/ColumnSelection/index.d.ts +10 -0
  90. package/dist/elements/ColumnSelection/index.d.ts.map +1 -0
  91. package/dist/elements/{ColumnsButton → ColumnSelection}/index.js +23 -17
  92. package/dist/elements/ColumnSelection/index.js.map +1 -0
  93. package/dist/elements/Combobox/index.css +9 -8
  94. package/dist/elements/ConfirmationModal/index.css +7 -0
  95. package/dist/elements/ConfirmationModal/index.d.ts +1 -0
  96. package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
  97. package/dist/elements/ConfirmationModal/index.js +7 -3
  98. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  99. package/dist/elements/CopyLocaleData/index.js +1 -1
  100. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  101. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  102. package/dist/elements/CreateDocumentButton/index.js +0 -1
  103. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  104. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  105. package/dist/elements/DatePicker/DatePicker.js +4 -2
  106. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  107. package/dist/elements/DatePicker/index.css +14 -9
  108. package/dist/elements/DatePicker/index.js +1 -1
  109. package/dist/elements/DatePicker/index.js.map +1 -1
  110. package/dist/elements/DeleteMany/index.d.ts +3 -26
  111. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  112. package/dist/elements/DeleteMany/index.js +1 -95
  113. package/dist/elements/DeleteMany/index.js.map +1 -1
  114. package/dist/elements/Dialog/DialogHeader/index.d.ts +4 -0
  115. package/dist/elements/Dialog/DialogHeader/index.d.ts.map +1 -1
  116. package/dist/elements/Dialog/DialogHeader/index.js +45 -30
  117. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
  118. package/dist/elements/Dialog/DialogModal/index.d.ts +6 -1
  119. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  120. package/dist/elements/Dialog/DialogModal/index.js +58 -31
  121. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  122. package/dist/elements/Dialog/DialogTitle/index.css +9 -0
  123. package/dist/elements/Dialog/DialogTitle/index.d.ts +5 -0
  124. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -0
  125. package/dist/elements/Dialog/DialogTitle/index.js +10 -0
  126. package/dist/elements/Dialog/DialogTitle/index.js.map +1 -0
  127. package/dist/elements/Dialog/index.css +10 -0
  128. package/dist/elements/DocumentControls/index.css +18 -2
  129. package/dist/elements/DocumentControls/index.d.ts +6 -0
  130. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  131. package/dist/elements/DocumentControls/index.js +20 -9
  132. package/dist/elements/DocumentControls/index.js.map +1 -1
  133. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  134. package/dist/elements/DocumentDrawer/DrawerContent.js +10 -6
  135. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  136. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +76 -4
  137. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +7 -1
  138. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  139. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +150 -87
  140. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  141. package/dist/elements/DocumentDrawer/types.d.ts +1 -0
  142. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  143. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  144. package/dist/elements/DocumentFields/index.css +75 -4
  145. package/dist/elements/DocumentFields/index.d.ts +5 -0
  146. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  147. package/dist/elements/DocumentFields/index.js +9 -1
  148. package/dist/elements/DocumentFields/index.js.map +1 -1
  149. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts +12 -0
  150. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts.map +1 -0
  151. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +28 -0
  152. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -0
  153. package/dist/elements/DocumentHeader/index.js +2 -3
  154. package/dist/elements/DocumentHeader/index.js.map +1 -1
  155. package/dist/elements/DraggableSortable/DragOverlayPreview/index.css +1 -1
  156. package/dist/elements/DraggableSortable/index.js.map +1 -1
  157. package/dist/elements/Drawer/index.css +57 -26
  158. package/dist/elements/Drawer/index.d.ts +25 -0
  159. package/dist/elements/Drawer/index.d.ts.map +1 -1
  160. package/dist/elements/Drawer/index.js +133 -54
  161. package/dist/elements/Drawer/index.js.map +1 -1
  162. package/dist/elements/Drawer/types.d.ts +1 -0
  163. package/dist/elements/Drawer/types.d.ts.map +1 -1
  164. package/dist/elements/Drawer/types.js.map +1 -1
  165. package/dist/elements/DrawerActionHeader/index.css +1 -1
  166. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.css +7 -1
  167. package/dist/elements/DrawerHeader/index.d.ts +10 -0
  168. package/dist/elements/DrawerHeader/index.d.ts.map +1 -0
  169. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.js +16 -11
  170. package/dist/elements/DrawerHeader/index.js.map +1 -0
  171. package/dist/elements/Dropzone/index.css +5 -13
  172. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +1 -1
  173. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  174. package/dist/elements/EditMany/DrawerContent.d.ts +1 -1
  175. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  176. package/dist/elements/EditMany/DrawerContent.js +76 -71
  177. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  178. package/dist/elements/EditMany/index.css +71 -0
  179. package/dist/elements/EditMany/index.d.ts +9 -11
  180. package/dist/elements/EditMany/index.d.ts.map +1 -1
  181. package/dist/elements/EditMany/index.js +2 -40
  182. package/dist/elements/EditMany/index.js.map +1 -1
  183. package/dist/elements/EditUpload/index.css +97 -158
  184. package/dist/elements/EditUpload/index.d.ts +2 -1
  185. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  186. package/dist/elements/EditUpload/index.js +209 -231
  187. package/dist/elements/EditUpload/index.js.map +1 -1
  188. package/dist/elements/EditUpload/{library.scss → library.css} +108 -46
  189. package/dist/elements/FieldSelect/index.css +3 -0
  190. package/dist/elements/FileDetails/DraggableFileDetails/index.css +32 -0
  191. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +2 -2
  192. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  193. package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -18
  194. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  195. package/dist/elements/FileDetails/FileMeta/index.css +27 -0
  196. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  197. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  198. package/dist/elements/FileDetails/FileMeta/index.js +1 -1
  199. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  200. package/dist/elements/FileDetails/StaticFileDetails/index.css +140 -0
  201. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +2 -2
  202. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  203. package/dist/elements/FileDetails/StaticFileDetails/index.js +1 -1
  204. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  205. package/dist/elements/FileDetails/index.d.ts +1 -1
  206. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  207. package/dist/elements/FileDetails/index.js.map +1 -1
  208. package/dist/elements/FileManager/FilePreview/AudioPreview/index.css +8 -0
  209. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts +10 -0
  210. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts.map +1 -0
  211. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js +24 -0
  212. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js.map +1 -0
  213. package/dist/elements/FileManager/FilePreview/PdfPreview/index.css +9 -0
  214. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts +12 -0
  215. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts.map +1 -0
  216. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js +27 -0
  217. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js.map +1 -0
  218. package/dist/elements/FileManager/FilePreview/VideoPreview/index.css +8 -0
  219. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts +10 -0
  220. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts.map +1 -0
  221. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js +24 -0
  222. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js.map +1 -0
  223. package/dist/elements/FileManager/FilePreview/index.css +83 -0
  224. package/dist/elements/FileManager/FilePreview/index.d.ts +13 -0
  225. package/dist/elements/FileManager/FilePreview/index.d.ts.map +1 -0
  226. package/dist/elements/FileManager/FilePreview/index.js +140 -0
  227. package/dist/elements/FileManager/FilePreview/index.js.map +1 -0
  228. package/dist/elements/FileManager/FileToolbar/index.css +91 -0
  229. package/dist/elements/FileManager/FileToolbar/index.d.ts +14 -0
  230. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -0
  231. package/dist/elements/FileManager/FileToolbar/index.js +106 -0
  232. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -0
  233. package/dist/elements/FileManager/index.css +154 -0
  234. package/dist/elements/FileManager/index.d.ts +19 -0
  235. package/dist/elements/FileManager/index.d.ts.map +1 -0
  236. package/dist/elements/FileManager/index.js +424 -0
  237. package/dist/elements/FileManager/index.js.map +1 -0
  238. package/dist/elements/GroupBy/Popup.d.ts +21 -0
  239. package/dist/elements/GroupBy/Popup.d.ts.map +1 -0
  240. package/dist/elements/GroupBy/Popup.js +268 -0
  241. package/dist/elements/GroupBy/Popup.js.map +1 -0
  242. package/dist/elements/GroupBy/index.d.ts +12 -0
  243. package/dist/elements/GroupBy/index.d.ts.map +1 -0
  244. package/dist/elements/GroupBy/index.js +91 -0
  245. package/dist/elements/GroupBy/index.js.map +1 -0
  246. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +5 -3
  247. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +1 -0
  248. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +1 -1
  249. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  250. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  251. package/dist/elements/Hierarchy/DocHeaderButton/index.js +12 -12
  252. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  253. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +36 -0
  254. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +1 -1
  255. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
  256. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +1 -1
  257. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
  258. package/dist/elements/Hierarchy/Field/index.client.d.ts +1 -1
  259. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  260. package/dist/elements/Hierarchy/Field/index.client.js +19 -16
  261. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  262. package/dist/elements/Hierarchy/Field/index.css +37 -0
  263. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -0
  264. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -0
  265. package/dist/elements/Hierarchy/Modal/index.css +88 -0
  266. package/dist/elements/Hierarchy/Modal/index.d.ts +20 -0
  267. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -0
  268. package/dist/elements/Hierarchy/{Drawer → Modal}/index.js +109 -83
  269. package/dist/elements/Hierarchy/Modal/index.js.map +1 -0
  270. package/dist/elements/Hierarchy/{Drawer → Modal}/types.d.ts +22 -18
  271. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -0
  272. package/dist/elements/Hierarchy/Modal/types.js.map +1 -0
  273. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts +30 -0
  274. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -0
  275. package/dist/elements/Hierarchy/{Drawer/useHierarchyDrawer.js → Modal/useHierarchyModal.js} +51 -50
  276. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -0
  277. package/dist/elements/Hierarchy/MoveMany/index.d.ts +2 -3
  278. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  279. package/dist/elements/Hierarchy/MoveMany/index.js +9 -10
  280. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  281. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +27 -0
  282. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +1 -1
  283. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +1 -1
  284. package/dist/elements/Hierarchy/Tree/LoadMore/index.js +1 -1
  285. package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +1 -1
  286. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  287. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +36 -16
  288. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  289. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +38 -13
  290. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  291. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +54 -43
  292. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  293. package/dist/elements/Hierarchy/Tree/index.css +1 -1
  294. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  295. package/dist/elements/Hierarchy/Tree/index.js +18 -5
  296. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  297. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  298. package/dist/elements/ListColumnSelectionButton/index.d.ts +11 -0
  299. package/dist/elements/ListColumnSelectionButton/index.d.ts.map +1 -0
  300. package/dist/elements/ListColumnSelectionButton/index.js +37 -0
  301. package/dist/elements/ListColumnSelectionButton/index.js.map +1 -0
  302. package/dist/elements/ListControls/index.css +5 -0
  303. package/dist/elements/ListControls/index.d.ts.map +1 -1
  304. package/dist/elements/ListControls/index.js +8 -9
  305. package/dist/elements/ListControls/index.js.map +1 -1
  306. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  307. package/dist/elements/ListDrawer/DrawerContent.js +13 -7
  308. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  309. package/dist/elements/ListDrawer/Provider.d.ts +1 -1
  310. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  311. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  312. package/dist/elements/ListGroupByButton/index.d.ts +12 -0
  313. package/dist/elements/ListGroupByButton/index.d.ts.map +1 -0
  314. package/dist/elements/ListGroupByButton/index.js +55 -0
  315. package/dist/elements/ListGroupByButton/index.js.map +1 -0
  316. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  317. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +2 -0
  318. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  319. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +4 -4
  320. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  321. package/dist/elements/ListSelection/index.css +1 -1
  322. package/dist/elements/ListWhereBuilder/index.d.ts +16 -0
  323. package/dist/elements/ListWhereBuilder/index.d.ts.map +1 -0
  324. package/dist/elements/ListWhereBuilder/index.js +62 -0
  325. package/dist/elements/ListWhereBuilder/index.js.map +1 -0
  326. package/dist/elements/LivePreview/Toolbar/Controls/index.js +2 -2
  327. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  328. package/dist/elements/LivePreview/Toolbar/SizeInput/index.css +5 -44
  329. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  330. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +26 -43
  331. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  332. package/dist/elements/LivePreview/Window/index.css +6 -0
  333. package/dist/elements/LoadMoreRow/index.css +34 -0
  334. package/dist/elements/LoadMoreRow/index.d.ts +1 -1
  335. package/dist/elements/LoadMoreRow/index.d.ts.map +1 -1
  336. package/dist/elements/LoadMoreRow/index.js +4 -8
  337. package/dist/elements/LoadMoreRow/index.js.map +1 -1
  338. package/dist/elements/Loading/index.css +28 -74
  339. package/dist/elements/Loading/index.d.ts.map +1 -1
  340. package/dist/elements/Loading/index.js +16 -60
  341. package/dist/elements/Loading/index.js.map +1 -1
  342. package/dist/elements/Localizer/index.d.ts.map +1 -1
  343. package/dist/elements/Localizer/index.js +3 -4
  344. package/dist/elements/Localizer/index.js.map +1 -1
  345. package/dist/elements/MenuSeparator/index.d.ts +4 -0
  346. package/dist/elements/MenuSeparator/index.d.ts.map +1 -0
  347. package/dist/elements/MenuSeparator/index.js +10 -0
  348. package/dist/elements/MenuSeparator/index.js.map +1 -0
  349. package/dist/elements/MiniCarousel/index.css +94 -0
  350. package/dist/elements/MiniCarousel/index.d.ts +15 -0
  351. package/dist/elements/MiniCarousel/index.d.ts.map +1 -0
  352. package/dist/elements/MiniCarousel/index.js +84 -0
  353. package/dist/elements/MiniCarousel/index.js.map +1 -0
  354. package/dist/elements/Nav/SettingsMenuButton/index.css +5 -0
  355. package/dist/elements/Nav/SettingsMenuButton/index.d.ts +1 -1
  356. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  357. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -1
  358. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  359. package/dist/elements/Nav/index.css +2 -2
  360. package/dist/elements/Nav/index.d.ts.map +1 -1
  361. package/dist/elements/Nav/index.js +4 -23
  362. package/dist/elements/Nav/index.js.map +1 -1
  363. package/dist/elements/NavGroup/index.css +1 -1
  364. package/dist/elements/Pill/index.css +1 -1
  365. package/dist/elements/PillSelector/index.css +1 -1
  366. package/dist/elements/Popup/PopupButtonList/index.css +48 -4
  367. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  368. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  369. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  370. package/dist/elements/Popup/PopupGroupLabel/index.css +19 -4
  371. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  372. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  373. package/dist/elements/Popup/PopupTrigger/index.js +3 -0
  374. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  375. package/dist/elements/Popup/index.d.ts +14 -1
  376. package/dist/elements/Popup/index.d.ts.map +1 -1
  377. package/dist/elements/Popup/index.js +162 -63
  378. package/dist/elements/Popup/index.js.map +1 -1
  379. package/dist/elements/PreviewSizes/index.css +149 -0
  380. package/dist/elements/PreviewSizes/index.d.ts +2 -2
  381. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  382. package/dist/elements/PreviewSizes/index.js +1 -1
  383. package/dist/elements/PreviewSizes/index.js.map +1 -1
  384. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts +13 -0
  385. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -0
  386. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js +41 -0
  387. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js.map +1 -0
  388. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +1 -0
  389. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  390. package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
  391. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  392. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  393. package/dist/elements/PublishButton/index.js +4 -5
  394. package/dist/elements/PublishButton/index.js.map +1 -1
  395. package/dist/elements/PublishMany/DrawerContent.d.ts +2 -1
  396. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  397. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  398. package/dist/elements/PublishMany/index.d.ts +2 -6
  399. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  400. package/dist/elements/PublishMany/index.js +0 -38
  401. package/dist/elements/PublishMany/index.js.map +1 -1
  402. package/dist/elements/QueryPresets/cells/ColumnsCell/{index.scss → index.css} +1 -3
  403. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +1 -1
  404. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +1 -1
  405. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +1 -1
  406. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  407. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +1 -1
  408. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  409. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +77 -48
  410. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  411. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +1 -1
  412. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
  413. package/dist/elements/QueryPresets/fields/GroupByField/index.js +12 -21
  414. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  415. package/dist/elements/QueryPresets/fields/Heading/index.css +52 -0
  416. package/dist/elements/QueryPresets/fields/Heading/index.d.ts +7 -0
  417. package/dist/elements/QueryPresets/fields/Heading/index.d.ts.map +1 -0
  418. package/dist/elements/QueryPresets/fields/Heading/index.js +31 -0
  419. package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -0
  420. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +1 -1
  421. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  422. package/dist/elements/QueryPresets/fields/WhereField/index.js +24 -23
  423. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  424. package/dist/elements/QueryPresets/fields/fields.css +23 -0
  425. package/dist/elements/ReactSelect/DropdownIndicator/index.css +1 -1
  426. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  427. package/dist/elements/ReactSelect/DropdownIndicator/index.js +19 -12
  428. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  429. package/dist/elements/ReactSelect/MultiValue/index.css +1 -1
  430. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts +5 -0
  431. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -0
  432. package/dist/elements/ReactSelect/getCaptureMenuScroll.js +10 -0
  433. package/dist/elements/ReactSelect/getCaptureMenuScroll.js.map +1 -0
  434. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +6 -0
  435. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -0
  436. package/dist/elements/ReactSelect/getMenuListStyles.js +7 -0
  437. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -0
  438. package/dist/elements/ReactSelect/index.css +54 -54
  439. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  440. package/dist/elements/ReactSelect/index.js +211 -115
  441. package/dist/elements/ReactSelect/index.js.map +1 -1
  442. package/dist/elements/ReactSelect/types.d.ts +8 -1
  443. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  444. package/dist/elements/ReactSelect/types.js.map +1 -1
  445. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  446. package/dist/elements/RelationshipTable/AddNewButton.js +1 -2
  447. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  448. package/dist/elements/RelationshipTable/index.css +1 -2
  449. package/dist/elements/RelationshipTable/index.js +2 -2
  450. package/dist/elements/RelationshipTable/index.js.map +1 -1
  451. package/dist/elements/RenderTitle/index.css +10 -0
  452. package/dist/elements/RenderTitle/index.d.ts +5 -0
  453. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  454. package/dist/elements/RenderTitle/index.js +52 -27
  455. package/dist/elements/RenderTitle/index.js.map +1 -1
  456. package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
  457. package/dist/elements/SchedulePublishButton/index.js +6 -1
  458. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  459. package/dist/elements/Search/SearchInput/index.js +1 -1
  460. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  461. package/dist/elements/SelectMany/index.js +1 -1
  462. package/dist/elements/SelectMany/index.js.map +1 -1
  463. package/dist/elements/SidebarRow/index.css +0 -2
  464. package/dist/elements/SortColumn/index.css +1 -1
  465. package/dist/elements/Spinner/index.css +16 -0
  466. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  467. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +1 -2
  468. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  469. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  470. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +32 -13
  471. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  472. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  473. package/dist/elements/Table/OrderableRow.js +1 -1
  474. package/dist/elements/Table/OrderableRow.js.map +1 -1
  475. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  476. package/dist/elements/Table/RelationshipProvider/index.js +1 -0
  477. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  478. package/dist/elements/Table/index.css +44 -10
  479. package/dist/elements/Tabs/index.css +100 -0
  480. package/dist/elements/Tabs/index.d.ts +32 -0
  481. package/dist/elements/Tabs/index.d.ts.map +1 -0
  482. package/dist/elements/Tabs/index.js +62 -0
  483. package/dist/elements/Tabs/index.js.map +1 -0
  484. package/dist/elements/Thumbnail/index.css +41 -0
  485. package/dist/elements/Thumbnail/index.d.ts +3 -3
  486. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  487. package/dist/elements/Thumbnail/index.js +1 -1
  488. package/dist/elements/Thumbnail/index.js.map +1 -1
  489. package/dist/elements/TimezonePicker/index.css +58 -24
  490. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  491. package/dist/elements/TimezonePicker/index.js +31 -4
  492. package/dist/elements/TimezonePicker/index.js.map +1 -1
  493. package/dist/elements/Toasts/fieldErrors.d.ts +1 -0
  494. package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
  495. package/dist/elements/Toasts/fieldErrors.js +25 -9
  496. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  497. package/dist/elements/Toasts/index.css +5 -0
  498. package/dist/elements/Tooltip/index.css +20 -4
  499. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  500. package/dist/elements/Tooltip/index.js +71 -3
  501. package/dist/elements/Tooltip/index.js.map +1 -1
  502. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  503. package/dist/elements/UnpublishButton/index.js +5 -13
  504. package/dist/elements/UnpublishButton/index.js.map +1 -1
  505. package/dist/elements/UnpublishMany/DrawerContent.d.ts +2 -1
  506. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  507. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  508. package/dist/elements/UnpublishMany/index.d.ts +2 -4
  509. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  510. package/dist/elements/UnpublishMany/index.js +0 -38
  511. package/dist/elements/UnpublishMany/index.js.map +1 -1
  512. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +11 -0
  513. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -0
  514. package/dist/elements/Upload/UploadFromURLModal/index.js +88 -0
  515. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -0
  516. package/dist/elements/Upload/index.css +134 -45
  517. package/dist/elements/Upload/index.d.ts +3 -8
  518. package/dist/elements/Upload/index.d.ts.map +1 -1
  519. package/dist/elements/Upload/index.js +71 -92
  520. package/dist/elements/Upload/index.js.map +1 -1
  521. package/dist/elements/UserMenu/LanguageMenu/index.d.ts +6 -0
  522. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -0
  523. package/dist/elements/UserMenu/LanguageMenu/index.js +133 -0
  524. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -0
  525. package/dist/elements/UserMenu/SettingsMenu/index.d.ts +15 -0
  526. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -0
  527. package/dist/elements/UserMenu/SettingsMenu/index.js +119 -0
  528. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -0
  529. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts +6 -0
  530. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -0
  531. package/dist/elements/UserMenu/SubMenuHeader/index.js +34 -0
  532. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -0
  533. package/dist/elements/UserMenu/ThemeMenu/index.d.ts +6 -0
  534. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -0
  535. package/dist/elements/UserMenu/ThemeMenu/index.js +145 -0
  536. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -0
  537. package/dist/elements/UserMenu/index.css +80 -0
  538. package/dist/elements/UserMenu/index.d.ts +11 -0
  539. package/dist/elements/UserMenu/index.d.ts.map +1 -0
  540. package/dist/elements/UserMenu/index.js +205 -0
  541. package/dist/elements/UserMenu/index.js.map +1 -0
  542. package/dist/elements/WhereBuilder/Condition/index.css +1 -1
  543. package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
  544. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  545. package/dist/elements/WhereBuilder/Condition/index.js +20 -2
  546. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  547. package/dist/elements/WhereBuilder/index.d.ts +4 -3
  548. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  549. package/dist/elements/WhereBuilder/index.js +71 -62
  550. package/dist/elements/WhereBuilder/index.js.map +1 -1
  551. package/dist/elements/WhereBuilder/types.d.ts +6 -5
  552. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  553. package/dist/elements/WhereBuilder/types.js.map +1 -1
  554. package/dist/exports/client/index.d.ts +22 -5
  555. package/dist/exports/client/index.d.ts.map +1 -1
  556. package/dist/exports/client/index.js +1 -2
  557. package/dist/exports/client/index.js.map +4 -4
  558. package/dist/exports/rsc/index.d.ts +3 -0
  559. package/dist/exports/rsc/index.d.ts.map +1 -1
  560. package/dist/exports/rsc/index.js +3 -0
  561. package/dist/exports/rsc/index.js.map +1 -1
  562. package/dist/exports/shared/index.js +2 -2
  563. package/dist/exports/shared/index.js.map +2 -2
  564. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +2 -50
  565. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.d.ts.map +1 -1
  566. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +27 -20
  567. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  568. package/dist/fields/Blocks/BlockSelector/index.css +15 -4
  569. package/dist/fields/Blocks/BlockSelector/index.js +1 -1
  570. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  571. package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  572. package/dist/fields/Blocks/SectionTitle/index.js +1 -0
  573. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  574. package/dist/fields/Blocks/index.d.ts.map +1 -1
  575. package/dist/fields/Blocks/index.js +6 -11
  576. package/dist/fields/Blocks/index.js.map +1 -1
  577. package/dist/fields/Checkbox/index.css +2 -2
  578. package/dist/fields/ConfirmPassword/index.d.ts +4 -0
  579. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  580. package/dist/fields/ConfirmPassword/index.js +37 -33
  581. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  582. package/dist/fields/Group/index.css +5 -11
  583. package/dist/fields/Join/index.js +1 -1
  584. package/dist/fields/Join/index.js.map +1 -1
  585. package/dist/fields/Number/Input.d.ts.map +1 -1
  586. package/dist/fields/Number/Input.js +62 -46
  587. package/dist/fields/Number/Input.js.map +1 -1
  588. package/dist/fields/Number/index.css +19 -0
  589. package/dist/fields/Number/types.d.ts +10 -0
  590. package/dist/fields/Number/types.d.ts.map +1 -1
  591. package/dist/fields/Number/types.js.map +1 -1
  592. package/dist/fields/Password/input.d.ts.map +1 -1
  593. package/dist/fields/Password/input.js +33 -29
  594. package/dist/fields/Password/input.js.map +1 -1
  595. package/dist/fields/Password/types.d.ts +4 -0
  596. package/dist/fields/Password/types.d.ts.map +1 -1
  597. package/dist/fields/Password/types.js.map +1 -1
  598. package/dist/fields/RadioGroup/index.css +6 -0
  599. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  600. package/dist/fields/Relationship/Input.js +4 -0
  601. package/dist/fields/Relationship/Input.js.map +1 -1
  602. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +4 -4
  603. package/dist/fields/Relationship/types.d.ts +4 -0
  604. package/dist/fields/Relationship/types.d.ts.map +1 -1
  605. package/dist/fields/Relationship/types.js.map +1 -1
  606. package/dist/fields/Row/index.d.ts +1 -1
  607. package/dist/fields/Select/Input.d.ts +4 -0
  608. package/dist/fields/Select/Input.d.ts.map +1 -1
  609. package/dist/fields/Select/Input.js +45 -40
  610. package/dist/fields/Select/Input.js.map +1 -1
  611. package/dist/fields/Slug/index.d.ts +7 -5
  612. package/dist/fields/Slug/index.d.ts.map +1 -1
  613. package/dist/fields/Slug/index.js +6 -4
  614. package/dist/fields/Slug/index.js.map +1 -1
  615. package/dist/fields/Tabs/Tab/index.d.ts +0 -1
  616. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  617. package/dist/fields/Tabs/Tab/index.js +12 -23
  618. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  619. package/dist/fields/Tabs/index.d.ts.map +1 -1
  620. package/dist/fields/Tabs/index.js +37 -37
  621. package/dist/fields/Tabs/index.js.map +1 -1
  622. package/dist/fields/Text/Input.d.ts.map +1 -1
  623. package/dist/fields/Text/Input.js +44 -37
  624. package/dist/fields/Text/Input.js.map +1 -1
  625. package/dist/fields/Text/types.d.ts +9 -0
  626. package/dist/fields/Text/types.d.ts.map +1 -1
  627. package/dist/fields/Text/types.js.map +1 -1
  628. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  629. package/dist/fields/Textarea/Input.js +27 -23
  630. package/dist/fields/Textarea/Input.js.map +1 -1
  631. package/dist/fields/Textarea/index.css +1 -1
  632. package/dist/fields/Textarea/types.d.ts +4 -0
  633. package/dist/fields/Textarea/types.d.ts.map +1 -1
  634. package/dist/fields/Textarea/types.js.map +1 -1
  635. package/dist/fields/Upload/HasMany/index.css +4 -0
  636. package/dist/fields/Upload/Input.d.ts.map +1 -1
  637. package/dist/fields/Upload/Input.js +12 -11
  638. package/dist/fields/Upload/Input.js.map +1 -1
  639. package/dist/fields/Upload/index.js +1 -1
  640. package/dist/fields/Upload/index.js.map +1 -1
  641. package/dist/fields/index.d.ts.map +1 -1
  642. package/dist/fields/index.js +2 -0
  643. package/dist/fields/index.js.map +1 -1
  644. package/dist/forms/Form/types.d.ts +2 -2
  645. package/dist/forms/Form/types.d.ts.map +1 -1
  646. package/dist/forms/Form/types.js.map +1 -1
  647. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  648. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  649. package/dist/forms/RenderFields/RenderField.js +12 -1
  650. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  651. package/dist/forms/RenderFields/index.css +4 -4
  652. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
  653. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  654. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +22 -6
  655. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  656. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +2 -2
  657. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  658. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  659. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +2 -2
  660. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  661. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  662. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +2 -2
  663. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  664. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +1 -1
  665. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  666. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
  667. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  668. package/dist/forms/fieldSchemasToFormState/index.js +2 -0
  669. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  670. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
  671. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  672. package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
  673. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  674. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -1
  675. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  676. package/dist/forms/useField/index.js.map +1 -1
  677. package/dist/graphics/Icon/index.js +1 -1
  678. package/dist/graphics/Icon/index.js.map +1 -1
  679. package/dist/hooks/useElementHeightVariable.d.ts +15 -0
  680. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -0
  681. package/dist/hooks/useElementHeightVariable.js +53 -0
  682. package/dist/hooks/useElementHeightVariable.js.map +1 -0
  683. package/dist/icons/Check/index.css +1 -2
  684. package/dist/icons/Check/index.js +1 -1
  685. package/dist/icons/Check/index.js.map +1 -1
  686. package/dist/icons/Crop/index.css +5 -0
  687. package/dist/icons/Crop/index.d.ts +7 -0
  688. package/dist/icons/Crop/index.d.ts.map +1 -0
  689. package/dist/icons/Crop/index.js +24 -0
  690. package/dist/icons/Crop/index.js.map +1 -0
  691. package/dist/icons/Dots/index.css +4 -4
  692. package/dist/icons/Download/index.css +5 -0
  693. package/dist/icons/{ExternalLink → Download}/index.d.ts +1 -1
  694. package/dist/icons/Download/index.d.ts.map +1 -0
  695. package/dist/icons/Download/index.js +27 -0
  696. package/dist/icons/Download/index.js.map +1 -0
  697. package/dist/icons/Gear/index.d.ts.map +1 -1
  698. package/dist/icons/Gear/index.js +8 -1
  699. package/dist/icons/Gear/index.js.map +1 -1
  700. package/dist/icons/InteractionEnter/index.css +5 -0
  701. package/dist/icons/InteractionEnter/index.d.ts +11 -0
  702. package/dist/icons/InteractionEnter/index.d.ts.map +1 -0
  703. package/dist/icons/InteractionEnter/index.js +25 -0
  704. package/dist/icons/InteractionEnter/index.js.map +1 -0
  705. package/dist/icons/{Write → Key}/index.css +1 -1
  706. package/dist/icons/Key/index.d.ts +7 -0
  707. package/dist/icons/Key/index.d.ts.map +1 -0
  708. package/dist/icons/Key/index.js +24 -0
  709. package/dist/icons/Key/index.js.map +1 -0
  710. package/dist/icons/LogOut/index.js +2 -2
  711. package/dist/icons/LogOut/index.js.map +1 -1
  712. package/dist/icons/{ExternalLink → NewTab}/index.css +1 -1
  713. package/dist/icons/NewTab/index.d.ts +7 -0
  714. package/dist/icons/NewTab/index.d.ts.map +1 -0
  715. package/dist/icons/NewTab/index.js +25 -0
  716. package/dist/icons/NewTab/index.js.map +1 -0
  717. package/dist/icons/Replace/index.css +5 -0
  718. package/dist/icons/Replace/index.d.ts +6 -0
  719. package/dist/icons/Replace/index.d.ts.map +1 -0
  720. package/dist/icons/Replace/index.js +20 -0
  721. package/dist/icons/Replace/index.js.map +1 -0
  722. package/dist/icons/Reset/index.css +5 -0
  723. package/dist/icons/Reset/index.d.ts +7 -0
  724. package/dist/icons/Reset/index.d.ts.map +1 -0
  725. package/dist/icons/Reset/index.js +25 -0
  726. package/dist/icons/Reset/index.js.map +1 -0
  727. package/dist/icons/Schedule/index.d.ts.map +1 -1
  728. package/dist/icons/Schedule/index.js +38 -39
  729. package/dist/icons/Schedule/index.js.map +1 -1
  730. package/dist/icons/Swap/index.js +1 -1
  731. package/dist/icons/Swap/index.js.map +1 -1
  732. package/dist/icons/VariableColor/index.css +5 -0
  733. package/dist/icons/VariableColor/index.d.ts +7 -0
  734. package/dist/icons/VariableColor/index.d.ts.map +1 -0
  735. package/dist/icons/VariableColor/index.js +23 -0
  736. package/dist/icons/VariableColor/index.js.map +1 -0
  737. package/dist/icons/Warning/index.css +1 -7
  738. package/dist/icons/Warning/index.d.ts +1 -1
  739. package/dist/icons/Warning/index.d.ts.map +1 -1
  740. package/dist/icons/Warning/index.js +11 -16
  741. package/dist/icons/Warning/index.js.map +1 -1
  742. package/dist/icons/WarningTriangle/index.css +5 -0
  743. package/dist/icons/WarningTriangle/index.d.ts +6 -0
  744. package/dist/icons/WarningTriangle/index.d.ts.map +1 -0
  745. package/dist/icons/WarningTriangle/index.js +21 -0
  746. package/dist/icons/WarningTriangle/index.js.map +1 -0
  747. package/dist/icons/Write/index.d.ts +0 -1
  748. package/dist/icons/Write/index.d.ts.map +1 -1
  749. package/dist/icons/Write/index.js +1 -2
  750. package/dist/icons/Write/index.js.map +1 -1
  751. package/dist/providers/Auth/index.d.ts +2 -2
  752. package/dist/providers/Auth/index.d.ts.map +1 -1
  753. package/dist/providers/Auth/index.js.map +1 -1
  754. package/dist/providers/Config/index.js.map +1 -1
  755. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  756. package/dist/providers/DocumentInfo/index.js +4 -0
  757. package/dist/providers/DocumentInfo/index.js.map +1 -1
  758. package/dist/providers/DocumentInfo/types.d.ts +6 -2
  759. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  760. package/dist/providers/DocumentInfo/types.js.map +1 -1
  761. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  762. package/dist/providers/ListQuery/index.js +1 -8
  763. package/dist/providers/ListQuery/index.js.map +1 -1
  764. package/dist/providers/Root/index.d.ts +2 -2
  765. package/dist/providers/Root/index.d.ts.map +1 -1
  766. package/dist/providers/Root/index.js +27 -24
  767. package/dist/providers/Root/index.js.map +1 -1
  768. package/dist/providers/TableColumns/RenderDefaultCell/index.css +1 -0
  769. package/dist/providers/Theme/index.d.ts +17 -2
  770. package/dist/providers/Theme/index.d.ts.map +1 -1
  771. package/dist/providers/Theme/index.js +126 -75
  772. package/dist/providers/Theme/index.js.map +1 -1
  773. package/dist/providers/ToastContainer/index.css +208 -0
  774. package/dist/providers/ToastContainer/index.d.ts +1 -0
  775. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  776. package/dist/providers/ToastContainer/index.js +19 -6
  777. package/dist/providers/ToastContainer/index.js.map +1 -1
  778. package/dist/scss/app.scss +10 -4
  779. package/dist/styles.css +1369 -1
  780. package/dist/templates/Default/index.d.ts.map +1 -1
  781. package/dist/templates/Default/index.js +59 -3
  782. package/dist/templates/Default/index.js.map +1 -1
  783. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +1 -2
  784. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  785. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +1 -2
  786. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  787. package/dist/utilities/buildFormState.d.ts.map +1 -1
  788. package/dist/utilities/buildFormState.js +1 -0
  789. package/dist/utilities/buildFormState.js.map +1 -1
  790. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  791. package/dist/utilities/copyDataFromLocale.js +2 -1
  792. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  793. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  794. package/dist/utilities/formatDocTitle/formatDateTitle.js +1 -1
  795. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  796. package/dist/utilities/formatRelativeDate.d.ts +15 -0
  797. package/dist/utilities/formatRelativeDate.d.ts.map +1 -0
  798. package/dist/utilities/formatRelativeDate.js +62 -0
  799. package/dist/utilities/formatRelativeDate.js.map +1 -0
  800. package/dist/utilities/getDocPreferences.d.ts +2 -2
  801. package/dist/utilities/getDocPreferences.d.ts.map +1 -1
  802. package/dist/utilities/getDocPreferences.js.map +1 -1
  803. package/dist/utilities/getDocumentData.d.ts +2 -2
  804. package/dist/utilities/getDocumentData.d.ts.map +1 -1
  805. package/dist/utilities/getDocumentData.js.map +1 -1
  806. package/dist/utilities/getGlobalData.d.ts.map +1 -1
  807. package/dist/utilities/getGlobalData.js.map +1 -1
  808. package/dist/utilities/getHasScheduledPublish.d.ts +12 -0
  809. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -0
  810. package/dist/utilities/getHasScheduledPublish.js +38 -0
  811. package/dist/utilities/getHasScheduledPublish.js.map +1 -0
  812. package/dist/utilities/getIsLocked.d.ts +2 -2
  813. package/dist/utilities/getIsLocked.d.ts.map +1 -1
  814. package/dist/utilities/getIsLocked.js.map +1 -1
  815. package/dist/utilities/getVersions.d.ts +2 -2
  816. package/dist/utilities/getVersions.d.ts.map +1 -1
  817. package/dist/utilities/getVersions.js +3 -26
  818. package/dist/utilities/getVersions.js.map +1 -1
  819. package/dist/utilities/handleAuthRedirect.d.ts +2 -2
  820. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  821. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  822. package/dist/utilities/handleFormStateLocking.d.ts +2 -2
  823. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  824. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  825. package/dist/utilities/handleLivePreview.d.ts +1 -0
  826. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  827. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  828. package/dist/utilities/isURLAllowed.js +9 -3
  829. package/dist/utilities/isURLAllowed.js.map +1 -1
  830. package/dist/utilities/recentlyViewed.d.ts +16 -0
  831. package/dist/utilities/recentlyViewed.d.ts.map +1 -0
  832. package/dist/utilities/recentlyViewed.js +21 -0
  833. package/dist/utilities/recentlyViewed.js.map +1 -0
  834. package/dist/utilities/recentlyViewed.spec.js +92 -0
  835. package/dist/utilities/recentlyViewed.spec.js.map +1 -0
  836. package/dist/utilities/reduceFieldsToOptions.js +1 -1
  837. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  838. package/dist/utilities/renderTable.js +1 -1
  839. package/dist/utilities/renderTable.js.map +1 -1
  840. package/dist/utilities/slugify.d.ts +1 -1
  841. package/dist/utilities/slugify.js +1 -1
  842. package/dist/utilities/slugify.js.map +1 -1
  843. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  844. package/dist/utilities/traverseForLocalizedFields.js +3 -0
  845. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  846. package/dist/views/API/index.client.js +2 -2
  847. package/dist/views/API/index.client.js.map +1 -1
  848. package/dist/views/Account/ResetPreferences/index.d.ts +2 -2
  849. package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -1
  850. package/dist/views/Account/ResetPreferences/index.js +1 -0
  851. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  852. package/dist/views/Account/Settings/index.css +30 -13
  853. package/dist/views/Account/Settings/index.d.ts +2 -2
  854. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  855. package/dist/views/Account/Settings/index.js.map +1 -1
  856. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  857. package/dist/views/Account/ToggleTheme/index.js +31 -47
  858. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  859. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
  860. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +27 -23
  861. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  862. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  863. package/dist/views/Dashboard/Default/ModularDashboard/index.css +2 -0
  864. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +2 -2
  865. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  866. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +2 -2
  867. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  868. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +2 -2
  869. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -1
  870. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -1
  871. package/dist/views/Document/index.d.ts.map +1 -1
  872. package/dist/views/Document/index.js +28 -2
  873. package/dist/views/Document/index.js.map +1 -1
  874. package/dist/views/Document/recordRecentlyViewed.d.ts +12 -0
  875. package/dist/views/Document/recordRecentlyViewed.d.ts.map +1 -0
  876. package/dist/views/Document/recordRecentlyViewed.js +40 -0
  877. package/dist/views/Document/recordRecentlyViewed.js.map +1 -0
  878. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  879. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  880. package/dist/views/Document/renderDocumentSlots.js +47 -1
  881. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  882. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  883. package/dist/views/Edit/Auth/APIKey.js +10 -32
  884. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  885. package/dist/views/Edit/Auth/index.css +0 -67
  886. package/dist/views/Edit/index.css +143 -6
  887. package/dist/views/Edit/index.d.ts +1 -1
  888. package/dist/views/Edit/index.d.ts.map +1 -1
  889. package/dist/views/Edit/index.js +96 -79
  890. package/dist/views/Edit/index.js.map +1 -1
  891. package/dist/views/HierarchyList/DocumentListSelection/index.js +8 -8
  892. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  893. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +2 -2
  894. package/dist/views/List/ListHeader/index.css +28 -1
  895. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  896. package/dist/views/List/ListHeader/index.js +0 -1
  897. package/dist/views/List/ListHeader/index.js.map +1 -1
  898. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  899. package/dist/views/List/ListSelection/index.js +84 -33
  900. package/dist/views/List/ListSelection/index.js.map +1 -1
  901. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  902. package/dist/views/List/handleGroupBy.js +9 -0
  903. package/dist/views/List/handleGroupBy.js.map +1 -1
  904. package/dist/views/List/index.client.d.ts.map +1 -1
  905. package/dist/views/List/index.client.js +10 -9
  906. package/dist/views/List/index.client.js.map +1 -1
  907. package/dist/views/List/index.css +15 -0
  908. package/dist/views/List/index.d.ts.map +1 -1
  909. package/dist/views/List/index.js +4 -3
  910. package/dist/views/List/index.js.map +1 -1
  911. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  912. package/dist/views/List/renderListViewSlots.js +11 -0
  913. package/dist/views/List/renderListViewSlots.js.map +1 -1
  914. package/dist/views/Logout/LogoutClient.d.ts +14 -0
  915. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  916. package/dist/views/Logout/LogoutClient.js +7 -5
  917. package/dist/views/Logout/LogoutClient.js.map +1 -1
  918. package/dist/views/Logout/index.d.ts.map +1 -1
  919. package/dist/views/Logout/index.js +7 -2
  920. package/dist/views/Logout/index.js.map +1 -1
  921. package/dist/views/Verify/index.client.d.ts +4 -0
  922. package/dist/views/Verify/index.client.d.ts.map +1 -1
  923. package/dist/views/Verify/index.client.js +81 -0
  924. package/dist/views/Verify/index.client.js.map +1 -1
  925. package/dist/views/Verify/index.css +38 -0
  926. package/dist/views/Verify/index.d.ts +1 -1
  927. package/dist/views/Verify/index.d.ts.map +1 -1
  928. package/dist/views/Verify/index.js +13 -19
  929. package/dist/views/Verify/index.js.map +1 -1
  930. package/dist/views/Version/Default/index.css +3 -5
  931. package/dist/views/Version/Default/index.d.ts.map +1 -1
  932. package/dist/views/Version/Default/index.js +7 -28
  933. package/dist/views/Version/Default/index.js.map +1 -1
  934. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +2 -2
  935. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  936. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  937. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  938. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +1 -0
  939. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  940. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  941. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +1 -0
  942. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  943. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
  944. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +3 -3
  945. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  946. package/dist/views/Version/Restore/index.css +2 -2
  947. package/dist/views/Version/SelectComparison/VersionDrawer/index.css +5 -0
  948. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts +1 -1
  949. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  950. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +1 -2
  951. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  952. package/dist/views/Version/SelectComparison/index.css +5 -0
  953. package/dist/views/Version/SelectComparison/index.d.ts +1 -1
  954. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  955. package/dist/views/Version/SelectComparison/index.js +2 -1
  956. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  957. package/dist/views/Version/SelectLocales/index.d.ts +1 -2
  958. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  959. package/dist/views/Version/SelectLocales/index.js +83 -32
  960. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  961. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  962. package/dist/views/Versions/fetchVersions.d.ts +4 -4
  963. package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
  964. package/dist/views/Versions/fetchVersions.js.map +1 -1
  965. package/dist/views/Versions/index.css +19 -16
  966. package/dist/views/Versions/index.d.ts +1 -1
  967. package/dist/views/Versions/index.d.ts.map +1 -1
  968. package/dist/views/Versions/index.js +3 -26
  969. package/dist/views/Versions/index.js.map +1 -1
  970. package/dist/views/Versions/types.d.ts +2 -2
  971. package/dist/views/Versions/types.d.ts.map +1 -1
  972. package/dist/views/Versions/types.js.map +1 -1
  973. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  974. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -0
  975. package/dist/widgets/CollectionQuery/SortField/index.js +118 -0
  976. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -0
  977. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts +18 -0
  978. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts.map +1 -0
  979. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js +91 -0
  980. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js.map +1 -0
  981. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +100 -0
  982. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +1 -0
  983. package/dist/widgets/CollectionQuery/index.css +64 -0
  984. package/dist/widgets/CollectionQuery/index.d.ts +16 -0
  985. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -0
  986. package/dist/widgets/CollectionQuery/index.js +328 -0
  987. package/dist/widgets/CollectionQuery/index.js.map +1 -0
  988. package/dist/widgets/RecentlyViewed/CollectionsField/index.css +14 -0
  989. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +10 -0
  990. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -0
  991. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +76 -0
  992. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -0
  993. package/dist/widgets/RecentlyViewed/index.d.ts +10 -0
  994. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -0
  995. package/dist/widgets/RecentlyViewed/index.js +148 -0
  996. package/dist/widgets/RecentlyViewed/index.js.map +1 -0
  997. package/dist/widgets/WidgetCard/index.css +155 -0
  998. package/dist/widgets/WidgetCard/index.d.ts +19 -0
  999. package/dist/widgets/WidgetCard/index.d.ts.map +1 -0
  1000. package/dist/widgets/WidgetCard/index.js +49 -0
  1001. package/dist/widgets/WidgetCard/index.js.map +1 -0
  1002. package/package.json +5 -509
  1003. package/dist/elements/BulkUpload/AddingFilesView/index.scss +0 -25
  1004. package/dist/elements/BulkUpload/EditForm/index.scss +0 -11
  1005. package/dist/elements/BulkUpload/EditMany/index.scss +0 -171
  1006. package/dist/elements/BulkUpload/Header/index.d.ts +0 -9
  1007. package/dist/elements/BulkUpload/Header/index.d.ts.map +0 -1
  1008. package/dist/elements/BulkUpload/Header/index.js.map +0 -1
  1009. package/dist/elements/ColumnSelector/index.d.ts +0 -9
  1010. package/dist/elements/ColumnSelector/index.d.ts.map +0 -1
  1011. package/dist/elements/ColumnSelector/index.js.map +0 -1
  1012. package/dist/elements/ColumnsButton/index.d.ts +0 -7
  1013. package/dist/elements/ColumnsButton/index.d.ts.map +0 -1
  1014. package/dist/elements/ColumnsButton/index.js.map +0 -1
  1015. package/dist/elements/EditMany/index.scss +0 -182
  1016. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +0 -35
  1017. package/dist/elements/FileDetails/FileMeta/index.scss +0 -31
  1018. package/dist/elements/FileDetails/StaticFileDetails/index.scss +0 -134
  1019. package/dist/elements/GroupByBuilder/index.d.ts +0 -12
  1020. package/dist/elements/GroupByBuilder/index.d.ts.map +0 -1
  1021. package/dist/elements/GroupByBuilder/index.js +0 -164
  1022. package/dist/elements/GroupByBuilder/index.js.map +0 -1
  1023. package/dist/elements/GroupByBuilder/index.scss +0 -39
  1024. package/dist/elements/GroupByControl/index.d.ts +0 -9
  1025. package/dist/elements/GroupByControl/index.d.ts.map +0 -1
  1026. package/dist/elements/GroupByControl/index.js +0 -255
  1027. package/dist/elements/GroupByControl/index.js.map +0 -1
  1028. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +0 -1
  1029. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +0 -1
  1030. package/dist/elements/Hierarchy/Drawer/index.css +0 -108
  1031. package/dist/elements/Hierarchy/Drawer/index.d.ts +0 -20
  1032. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +0 -1
  1033. package/dist/elements/Hierarchy/Drawer/index.js.map +0 -1
  1034. package/dist/elements/Hierarchy/Drawer/types.d.ts.map +0 -1
  1035. package/dist/elements/Hierarchy/Drawer/types.js.map +0 -1
  1036. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +0 -30
  1037. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +0 -1
  1038. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +0 -1
  1039. package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +0 -78
  1040. package/dist/elements/Hierarchy/Field/index.scss +0 -41
  1041. package/dist/elements/Hierarchy/MoveMany/index.scss +0 -7
  1042. package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +0 -26
  1043. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +0 -7
  1044. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +0 -1
  1045. package/dist/elements/Hierarchy/Tree/TreeConnector.js +0 -23
  1046. package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +0 -1
  1047. package/dist/elements/LoadMoreRow/index.scss +0 -45
  1048. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  1049. package/dist/elements/PreviewSizes/index.scss +0 -147
  1050. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -17
  1051. package/dist/elements/QueryPresets/fields/GroupByField/index.scss +0 -17
  1052. package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
  1053. package/dist/elements/Thumbnail/index.scss +0 -53
  1054. package/dist/fields/Tabs/Tab/index.css +0 -82
  1055. package/dist/icons/ExternalLink/index.d.ts.map +0 -1
  1056. package/dist/icons/ExternalLink/index.js +0 -26
  1057. package/dist/icons/ExternalLink/index.js.map +0 -1
  1058. package/dist/scss/toasts.scss +0 -146
  1059. package/dist/views/Unauthorized/index.scss +0 -14
  1060. package/dist/views/Verify/index.scss +0 -18
  1061. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +0 -18
  1062. package/dist/views/Version/SelectComparison/index.scss +0 -9
  1063. /package/dist/elements/{ColumnSelector/index.css → ColumnSelection/Popup.css} +0 -0
  1064. /package/dist/elements/{GroupByControl/index.css → GroupBy/Popup.css} +0 -0
  1065. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.d.ts +0 -0
  1066. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.js +0 -0
  1067. /package/dist/elements/Hierarchy/{Drawer → Modal}/types.js +0 -0
@@ -11,6 +11,7 @@ import { buildFormState } from '../../utilities/buildFormState.js';
11
11
  import { getDocPreferences } from '../../utilities/getDocPreferences.js';
12
12
  import { getDocumentData } from '../../utilities/getDocumentData.js';
13
13
  import { getDocumentPermissions } from '../../utilities/getDocumentPermissions.js';
14
+ import { getHasScheduledPublish } from '../../utilities/getHasScheduledPublish.js';
14
15
  import { getIsLocked } from '../../utilities/getIsLocked.js';
15
16
  import { getVersions } from '../../utilities/getVersions.js';
16
17
  import { handleLivePreview } from '../../utilities/handleLivePreview.js';
@@ -20,6 +21,7 @@ import { getPreferences } from '../../utilities/upsertPreferences.js';
20
21
  import { NotFoundView } from '../NotFound/index.js';
21
22
  import { UnauthorizedViewWithGutter } from '../Unauthorized/index.js';
22
23
  import { getDocumentView } from './getDocumentView.js';
24
+ import { recordRecentlyViewed } from './recordRecentlyViewed.js';
23
25
  import { renderDocumentSlots } from './renderDocumentSlots.js';
24
26
  export { getDocumentView } from './getDocumentView.js';
25
27
  /**
@@ -159,6 +161,13 @@ export const renderDocument = async ({
159
161
  // get entity preferences
160
162
  getPreferences(collectionSlug ? `collection-${collectionSlug}` : `global-${globalSlug}`, payload, req.user.id, req.user.collection)]);
161
163
  const operation = collectionSlug && idFromArgs || globalSlug ? 'update' : 'create';
164
+ // Record the document as recently viewed (collections only, never on the create route or for
165
+ // trashed docs). Runs concurrently with the work below and never throws.
166
+ const recentlyViewedPromise = collectionSlug && idFromArgs && doc && !isTrashedDoc ? recordRecentlyViewed({
167
+ id: idFromArgs,
168
+ collectionSlug,
169
+ req
170
+ }) : undefined;
162
171
  const [{
163
172
  hasPublishedDoc,
164
173
  mostRecentVersionIsAutosaved,
@@ -166,7 +175,7 @@ export const renderDocument = async ({
166
175
  versionCount
167
176
  }, {
168
177
  state: formState
169
- }] = await Promise.all([getVersions({
178
+ }, hasScheduledPublish] = await Promise.all([getVersions({
170
179
  id: idFromArgs,
171
180
  collectionConfig,
172
181
  doc,
@@ -190,7 +199,15 @@ export const renderDocument = async ({
190
199
  req,
191
200
  schemaPath: collectionSlug || globalSlug,
192
201
  skipValidation: true
202
+ }), getHasScheduledPublish({
203
+ id: idFromArgs,
204
+ collectionConfig,
205
+ globalConfig,
206
+ hasPublishPermission,
207
+ payload,
208
+ user
193
209
  })]);
210
+ await recentlyViewedPromise;
194
211
  const documentViewServerProps = {
195
212
  doc,
196
213
  hasPublishedDoc,
@@ -284,6 +301,7 @@ export const renderDocument = async ({
284
301
  const documentSlots = renderDocumentSlots({
285
302
  id,
286
303
  collectionConfig,
304
+ doc: doc,
287
305
  globalConfig,
288
306
  hasSavePermission,
289
307
  locale,
@@ -336,6 +354,7 @@ export const renderDocument = async ({
336
354
  hasPublishedDoc: hasPublishedDoc,
337
355
  hasPublishPermission: hasPublishPermission,
338
356
  hasSavePermission: hasSavePermission,
357
+ hasScheduledPublish: hasScheduledPublish,
339
358
  hasTrashPermission: hasTrashPermission,
340
359
  id: id,
341
360
  initialData: doc,
@@ -354,7 +373,7 @@ export const renderDocument = async ({
354
373
  children: /*#__PURE__*/_jsxs(LivePreviewProvider, {
355
374
  breakpoints: livePreviewConfig?.breakpoints,
356
375
  isLivePreviewEnabled: isLivePreviewEnabled && operation !== 'create',
357
- isLivePreviewing: Boolean(entityPreferences?.value?.editViewType === 'live-preview' && livePreviewURL),
376
+ isLivePreviewing: Boolean((entityPreferences?.value?.editViewType === undefined ? livePreviewConfig?.openByDefault : entityPreferences.value.editViewType === 'live-preview') && livePreviewURL),
358
377
  isPreviewEnabled: Boolean(isPreviewEnabled),
359
378
  previewURL: previewURL,
360
379
  typeofLivePreviewURL: typeof livePreviewConfig?.url,
@@ -389,6 +408,13 @@ export async function DocumentView(props) {
389
408
  if (error?.message === 'NEXT_REDIRECT') {
390
409
  throw error;
391
410
  }
411
+ // The TanStack adapter's `req.server.redirect()` throws `redirect:<url>` as a
412
+ // control-flow signal — the target is already recorded on `req.server` and
413
+ // honored upstream in `loadAdminPage`. It isn't a real error, so swallow it
414
+ // without logging, mirroring the `NEXT_REDIRECT` guard above.
415
+ if (error?.message?.startsWith('redirect:')) {
416
+ return;
417
+ }
392
418
  logError({
393
419
  err: error,
394
420
  payload: props.initPageResult.req.payload
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["isolateObjectProperty","logError","formatAdminURL","hasAutosaveEnabled","hasDraftsEnabled","React","DocumentHeader","RenderServerComponent","DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","LivePreviewProvider","buildFormState","getDocPreferences","getDocumentData","getDocumentPermissions","getIsLocked","getVersions","handleLivePreview","handlePreview","isEditing","getIsEditing","getPreferences","NotFoundView","UnauthorizedViewWithGutter","getDocumentView","renderDocumentSlots","renderDocument","disableActions","documentSubViewType","drawerSlug","importMap","initialData","initPageResult","overrideEntityVisibility","params","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","searchParams","versions","viewType","collectionConfig","docID","idFromArgs","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","id","doc","redirectURL","path","encodeURIComponent","server","redirect","Error","isTrashedDoc","Boolean","deletedAt","reqForPermissions","transactionID","reqForLockCheck","docPreferences","docPermissions","hasDeletePermission","hasPublishPermission","hasSavePermission","hasTrashPermission","currentEditor","isLocked","lastUpdateTime","entityPreferences","Promise","all","data","collection","operation","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","code","fallbackLocale","readOnly","renderAllFields","schemaPath","skipValidation","documentViewServerProps","routeSegments","collections","find","visibleSlug","globals","formattedParams","URLSearchParams","append","apiQueryParams","toString","apiURL","View","showHeader","RootViewOverride","components","views","edit","root","Component","shouldAutosave","validateDraftData","drafts","validate","create","depth","draft","documentSlots","Description","clientProps","isLivePreviewEnabled","livePreviewConfig","livePreviewURL","isPreviewEnabled","previewURL","Document","_jsx","initialState","isTrashed","_jsxs","breakpoints","isLivePreviewing","value","editViewType","typeofLivePreviewURL","url","AfterHeader","serverProps","DocumentView","props","RenderedDocument","error","message","err","notFound"],"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Data,\n DocumentViewClientProps,\n DocumentViewServerProps,\n DocumentViewServerPropsOnly,\n EditViewComponent,\n PayloadComponent,\n RenderDocumentVersionsProperties,\n} from 'payload'\n\nimport { isolateObjectProperty, logError } from 'payload'\nimport { formatAdminURL, hasAutosaveEnabled, hasDraftsEnabled } from 'payload/shared'\nimport React from 'react'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n/* eslint-disable payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds */\nimport {\n DocumentInfoProvider,\n EditDepthProvider,\n HydrateAuthProvider,\n LivePreviewProvider,\n} from '../../exports/client/index.js'\n/* eslint-enable payload/no-imports-from-exports-dir */\nimport { buildFormState } from '../../utilities/buildFormState.js'\nimport { getDocPreferences } from '../../utilities/getDocPreferences.js'\nimport { getDocumentData } from '../../utilities/getDocumentData.js'\nimport { getDocumentPermissions } from '../../utilities/getDocumentPermissions.js'\nimport { getIsLocked } from '../../utilities/getIsLocked.js'\nimport { getVersions } from '../../utilities/getVersions.js'\nimport { handleLivePreview } from '../../utilities/handleLivePreview.js'\nimport { handlePreview } from '../../utilities/handlePreview.js'\nimport { isEditing as getIsEditing } from '../../utilities/isEditing.js'\nimport { getPreferences } from '../../utilities/upsertPreferences.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { UnauthorizedViewWithGutter } from '../Unauthorized/index.js'\nimport { getDocumentView } from './getDocumentView.js'\nimport { renderDocumentSlots } from './renderDocumentSlots.js'\n\nexport { getDocumentView } from './getDocumentView.js'\n\nexport type ViewToRender =\n | EditViewComponent\n | PayloadComponent<DocumentViewServerProps>\n | React.FC\n | React.FC<DocumentViewClientProps>\n\n/**\n * This function is responsible for rendering\n * an Edit Document view on the server for both:\n * - default document edit views\n * - on-demand edit views within drawers\n */\nexport const renderDocument = async ({\n disableActions,\n documentSubViewType,\n drawerSlug,\n importMap,\n initialData,\n initPageResult,\n overrideEntityVisibility,\n params,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n searchParams,\n versions,\n viewType,\n}: {\n drawerSlug?: string\n overrideEntityVisibility?: boolean\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly redirectAfterRestore?: boolean\n versions?: RenderDocumentVersionsProperties\n} & AdminViewServerProps): Promise<{\n data: Data\n Document: React.ReactNode\n}> => {\n const {\n collectionConfig,\n docID: idFromArgs,\n globalConfig,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n },\n },\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const segments = Array.isArray(params?.segments) ? params.segments : []\n const collectionSlug = collectionConfig?.slug || undefined\n const globalSlug = globalConfig?.slug || undefined\n let isEditing = getIsEditing({ id: idFromArgs, collectionSlug, globalSlug })\n\n // Fetch the doc required for the view\n let doc =\n !idFromArgs && !globalSlug\n ? initialData || null\n : await getDocumentData({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n req,\n segments,\n user,\n })\n\n if (isEditing && !doc) {\n // If it's a collection document that doesn't exist, redirect to collection list\n if (collectionSlug) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}?notFound=${encodeURIComponent(idFromArgs)}`,\n })\n req.server.redirect(redirectURL)\n } else {\n // For globals or other cases, keep the 404 behavior\n throw new Error('not-found')\n }\n }\n\n const isTrashedDoc = Boolean(doc && 'deletedAt' in doc && typeof doc?.deletedAt === 'string')\n\n // CRITICAL FIX FOR TRANSACTION RACE CONDITION:\n // When running parallel operations with Promise.all, if they share the same req object\n // and one operation calls initTransaction() which MUTATES req.transactionID, that mutation\n // is visible to all parallel operations. This causes:\n // 1. Operation A (e.g., getDocumentPermissions → docAccessOperation) calls initTransaction()\n // which sets req.transactionID = Promise, then resolves it to a UUID\n // 2. Operation B (e.g., getIsLocked) running in parallel receives the SAME req with the mutated transactionID\n // 3. Operation A (does not even know that Operation B even exists and is stil using the transactionID) commits/ends its transaction\n // 4. Operation B tries to use the now-expired session → MongoExpiredSessionError!\n //\n // Solution: Use isolateObjectProperty to create a Proxy that isolates the 'transactionID' property.\n // This allows each operation to have its own transactionID without affecting the parent req.\n // If parent req already has a transaction, preserve it (don't isolate), since this\n // issue only arises when one of the operations calls initTransaction() themselves -\n // because then, that operation will also try to commit/end the transaction itself.\n\n // If the transactionID is already set, the parallel operations will not try to\n // commit/end the transaction themselves, so we don't need to isolate the\n // transactionID property.\n const reqForPermissions = req.transactionID ? req : isolateObjectProperty(req, 'transactionID')\n const reqForLockCheck = req.transactionID ? req : isolateObjectProperty(req, 'transactionID')\n\n const [\n docPreferences,\n {\n docPermissions,\n hasDeletePermission,\n hasPublishPermission,\n hasSavePermission,\n hasTrashPermission,\n },\n { currentEditor, isLocked, lastUpdateTime },\n entityPreferences,\n ] = await Promise.all([\n // Get document preferences\n getDocPreferences({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n payload,\n user,\n }),\n\n // Get permissions - isolated transactionID prevents cross-contamination\n getDocumentPermissions({\n id: idFromArgs,\n collectionConfig,\n data: doc,\n globalConfig,\n req: reqForPermissions,\n }),\n\n // Fetch document lock state - isolated transactionID prevents cross-contamination\n getIsLocked({\n id: idFromArgs,\n collectionConfig,\n globalConfig,\n isEditing,\n req: reqForLockCheck,\n }),\n\n // get entity preferences\n getPreferences<CollectionPreferences>(\n collectionSlug ? `collection-${collectionSlug}` : `global-${globalSlug}`,\n payload,\n req.user.id,\n req.user.collection,\n ),\n ])\n\n const operation = (collectionSlug && idFromArgs) || globalSlug ? 'update' : 'create'\n\n const [\n { hasPublishedDoc, mostRecentVersionIsAutosaved, unpublishedVersionCount, versionCount },\n { state: formState },\n ] = await Promise.all([\n getVersions({\n id: idFromArgs,\n collectionConfig,\n doc,\n docPermissions,\n globalConfig,\n locale: locale?.code,\n payload,\n user,\n }),\n buildFormState({\n id: idFromArgs,\n collectionSlug,\n data: doc,\n docPermissions,\n docPreferences,\n fallbackLocale: false,\n globalSlug,\n locale: locale?.code,\n operation,\n readOnly: isTrashedDoc || isLocked,\n renderAllFields: true,\n req,\n schemaPath: collectionSlug || globalSlug,\n skipValidation: true,\n }),\n ])\n\n const documentViewServerProps: DocumentViewServerPropsOnly = {\n doc,\n hasPublishedDoc,\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n server: req.server,\n user,\n versions,\n }\n\n if (\n !overrideEntityVisibility &&\n ((collectionSlug &&\n !visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) ||\n (globalSlug && !visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)))\n ) {\n throw new Error('not-found')\n }\n\n const formattedParams = new URLSearchParams()\n\n if (hasDraftsEnabled(collectionConfig || globalConfig)) {\n formattedParams.append('draft', 'true')\n }\n\n if (locale?.code) {\n formattedParams.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${formattedParams.toString()}`\n\n const apiURL = formatAdminURL({\n apiRoute,\n path: collectionSlug\n ? `/${collectionSlug}/${idFromArgs}${apiQueryParams}`\n : globalSlug\n ? `/${globalSlug}${apiQueryParams}`\n : '',\n })\n\n let View: ViewToRender = null\n\n let showHeader = true\n\n const RootViewOverride =\n collectionConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in collectionConfig.admin.components.views.edit.root\n ? collectionConfig?.admin?.components?.views?.edit?.root?.Component\n : globalConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in globalConfig.admin.components.views.edit.root\n ? globalConfig?.admin?.components?.views?.edit?.root?.Component\n : null\n\n if (RootViewOverride) {\n View = RootViewOverride\n showHeader = false\n } else {\n ;({ View } = getDocumentView({\n collectionConfig,\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n }))\n\n if (View === UnauthorizedViewWithGutter) {\n showHeader = false\n }\n }\n\n if (!View) {\n View = NotFoundView as React.FC<AdminViewServerProps>\n }\n\n /**\n * Handle case where autoSave is enabled and the document is being created\n * => create document and redirect\n */\n const shouldAutosave = hasSavePermission && hasAutosaveEnabled(collectionConfig || globalConfig)\n\n const validateDraftData =\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate\n\n let id = idFromArgs\n\n if (shouldAutosave && !validateDraftData && !idFromArgs && collectionSlug) {\n doc = await payload.create({\n collection: collectionSlug,\n data: initialData || {},\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n req,\n user,\n })\n\n if (doc?.id) {\n id = doc.id\n isEditing = getIsEditing({ id: doc.id, collectionSlug, globalSlug })\n\n if (!drawerSlug && redirectAfterCreate !== false) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${doc.id}`,\n })\n\n req.server.redirect(redirectURL)\n }\n } else {\n throw new Error('not-found')\n }\n }\n\n const documentSlots = renderDocumentSlots({\n id,\n collectionConfig,\n globalConfig,\n hasSavePermission,\n locale,\n permissions,\n req,\n })\n\n // Extract Description from documentSlots to pass to DocumentHeader\n const { Description } = documentSlots\n\n const clientProps: DocumentViewClientProps = {\n formState,\n ...documentSlots,\n documentSubViewType,\n viewType,\n }\n\n const { isLivePreviewEnabled, livePreviewConfig, livePreviewURL } = await handleLivePreview({\n collectionSlug,\n config,\n data: doc,\n globalSlug,\n operation,\n req,\n })\n\n const { isPreviewEnabled, previewURL } = await handlePreview({\n collectionSlug,\n config,\n data: doc,\n globalSlug,\n operation,\n req,\n })\n\n return {\n data: doc,\n Document: (\n <DocumentInfoProvider\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n currentEditor={currentEditor}\n disableActions={disableActions ?? false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasDeletePermission={hasDeletePermission}\n hasPublishedDoc={hasPublishedDoc}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n hasTrashPermission={hasTrashPermission}\n id={id}\n initialData={doc}\n initialState={formState}\n isEditing={isEditing}\n isLocked={isLocked}\n isTrashed={isTrashedDoc}\n key={locale?.code}\n lastUpdateTime={lastUpdateTime}\n mostRecentVersionIsAutosaved={mostRecentVersionIsAutosaved}\n redirectAfterCreate={redirectAfterCreate}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n redirectAfterRestore={redirectAfterRestore}\n unpublishedVersionCount={unpublishedVersionCount}\n versionCount={versionCount}\n >\n <LivePreviewProvider\n breakpoints={livePreviewConfig?.breakpoints}\n isLivePreviewEnabled={isLivePreviewEnabled && operation !== 'create'}\n isLivePreviewing={Boolean(\n entityPreferences?.value?.editViewType === 'live-preview' && livePreviewURL,\n )}\n isPreviewEnabled={Boolean(isPreviewEnabled)}\n previewURL={previewURL}\n typeofLivePreviewURL={typeof livePreviewConfig?.url as 'function' | 'string' | undefined}\n url={livePreviewURL}\n >\n {showHeader && !drawerSlug && (\n <DocumentHeader\n AfterHeader={Description}\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n permissions={permissions}\n req={req}\n />\n )}\n <HydrateAuthProvider permissions={permissions} />\n <EditDepthProvider>\n {RenderServerComponent({\n clientProps,\n Component: View,\n importMap,\n serverProps: documentViewServerProps,\n })}\n </EditDepthProvider>\n </LivePreviewProvider>\n </DocumentInfoProvider>\n ),\n }\n}\n\nexport async function DocumentView(props: AdminViewServerProps) {\n try {\n const { Document: RenderedDocument } = await renderDocument(props)\n return RenderedDocument\n } catch (error) {\n if (error?.message === 'NEXT_REDIRECT') {\n throw error\n }\n\n logError({ err: error, payload: props.initPageResult.req.payload })\n\n if (error.message === 'not-found') {\n props.initPageResult.req.server.notFound()\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["isolateObjectProperty","logError","formatAdminURL","hasAutosaveEnabled","hasDraftsEnabled","React","DocumentHeader","RenderServerComponent","DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","LivePreviewProvider","buildFormState","getDocPreferences","getDocumentData","getDocumentPermissions","getHasScheduledPublish","getIsLocked","getVersions","handleLivePreview","handlePreview","isEditing","getIsEditing","getPreferences","NotFoundView","UnauthorizedViewWithGutter","getDocumentView","recordRecentlyViewed","renderDocumentSlots","renderDocument","disableActions","documentSubViewType","drawerSlug","importMap","initialData","initPageResult","overrideEntityVisibility","params","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","searchParams","versions","viewType","collectionConfig","docID","idFromArgs","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","id","doc","redirectURL","path","encodeURIComponent","server","redirect","Error","isTrashedDoc","Boolean","deletedAt","reqForPermissions","transactionID","reqForLockCheck","docPreferences","docPermissions","hasDeletePermission","hasPublishPermission","hasSavePermission","hasTrashPermission","currentEditor","isLocked","lastUpdateTime","entityPreferences","Promise","all","data","collection","operation","recentlyViewedPromise","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","hasScheduledPublish","code","fallbackLocale","readOnly","renderAllFields","schemaPath","skipValidation","documentViewServerProps","routeSegments","collections","find","visibleSlug","globals","formattedParams","URLSearchParams","append","apiQueryParams","toString","apiURL","View","showHeader","RootViewOverride","components","views","edit","root","Component","shouldAutosave","validateDraftData","drafts","validate","create","depth","draft","documentSlots","Description","clientProps","isLivePreviewEnabled","livePreviewConfig","livePreviewURL","isPreviewEnabled","previewURL","Document","_jsx","initialState","isTrashed","_jsxs","breakpoints","isLivePreviewing","value","editViewType","openByDefault","typeofLivePreviewURL","url","AfterHeader","serverProps","DocumentView","props","RenderedDocument","error","message","startsWith","err","notFound"],"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Data,\n DocumentViewClientProps,\n DocumentViewServerProps,\n DocumentViewServerPropsOnly,\n EditViewComponent,\n PayloadComponent,\n RenderDocumentVersionsProperties,\n} from 'payload'\n\nimport { isolateObjectProperty, logError } from 'payload'\nimport { formatAdminURL, hasAutosaveEnabled, hasDraftsEnabled } from 'payload/shared'\nimport React from 'react'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n/* eslint-disable payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds */\nimport {\n DocumentInfoProvider,\n EditDepthProvider,\n HydrateAuthProvider,\n LivePreviewProvider,\n} from '../../exports/client/index.js'\n/* eslint-enable payload/no-imports-from-exports-dir */\nimport { buildFormState } from '../../utilities/buildFormState.js'\nimport { getDocPreferences } from '../../utilities/getDocPreferences.js'\nimport { getDocumentData } from '../../utilities/getDocumentData.js'\nimport { getDocumentPermissions } from '../../utilities/getDocumentPermissions.js'\nimport { getHasScheduledPublish } from '../../utilities/getHasScheduledPublish.js'\nimport { getIsLocked } from '../../utilities/getIsLocked.js'\nimport { getVersions } from '../../utilities/getVersions.js'\nimport { handleLivePreview } from '../../utilities/handleLivePreview.js'\nimport { handlePreview } from '../../utilities/handlePreview.js'\nimport { isEditing as getIsEditing } from '../../utilities/isEditing.js'\nimport { getPreferences } from '../../utilities/upsertPreferences.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { UnauthorizedViewWithGutter } from '../Unauthorized/index.js'\nimport { getDocumentView } from './getDocumentView.js'\nimport { recordRecentlyViewed } from './recordRecentlyViewed.js'\nimport { renderDocumentSlots } from './renderDocumentSlots.js'\n\nexport { getDocumentView } from './getDocumentView.js'\n\nexport type ViewToRender =\n | EditViewComponent\n | PayloadComponent<DocumentViewServerProps>\n | React.FC\n | React.FC<DocumentViewClientProps>\n\n/**\n * This function is responsible for rendering\n * an Edit Document view on the server for both:\n * - default document edit views\n * - on-demand edit views within drawers\n */\nexport const renderDocument = async ({\n disableActions,\n documentSubViewType,\n drawerSlug,\n importMap,\n initialData,\n initPageResult,\n overrideEntityVisibility,\n params,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n searchParams,\n versions,\n viewType,\n}: {\n drawerSlug?: string\n overrideEntityVisibility?: boolean\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly redirectAfterRestore?: boolean\n versions?: RenderDocumentVersionsProperties\n} & AdminViewServerProps): Promise<{\n data: Data\n Document: React.ReactNode\n}> => {\n const {\n collectionConfig,\n docID: idFromArgs,\n globalConfig,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n },\n },\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const segments = Array.isArray(params?.segments) ? params.segments : []\n const collectionSlug = collectionConfig?.slug || undefined\n const globalSlug = globalConfig?.slug || undefined\n let isEditing = getIsEditing({ id: idFromArgs, collectionSlug, globalSlug })\n\n // Fetch the doc required for the view\n let doc =\n !idFromArgs && !globalSlug\n ? initialData || null\n : await getDocumentData({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n req,\n segments,\n user,\n })\n\n if (isEditing && !doc) {\n // If it's a collection document that doesn't exist, redirect to collection list\n if (collectionSlug) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}?notFound=${encodeURIComponent(idFromArgs)}`,\n })\n req.server.redirect(redirectURL)\n } else {\n // For globals or other cases, keep the 404 behavior\n throw new Error('not-found')\n }\n }\n\n const isTrashedDoc = Boolean(doc && 'deletedAt' in doc && typeof doc?.deletedAt === 'string')\n\n // CRITICAL FIX FOR TRANSACTION RACE CONDITION:\n // When running parallel operations with Promise.all, if they share the same req object\n // and one operation calls initTransaction() which MUTATES req.transactionID, that mutation\n // is visible to all parallel operations. This causes:\n // 1. Operation A (e.g., getDocumentPermissions → docAccessOperation) calls initTransaction()\n // which sets req.transactionID = Promise, then resolves it to a UUID\n // 2. Operation B (e.g., getIsLocked) running in parallel receives the SAME req with the mutated transactionID\n // 3. Operation A (does not even know that Operation B even exists and is stil using the transactionID) commits/ends its transaction\n // 4. Operation B tries to use the now-expired session → MongoExpiredSessionError!\n //\n // Solution: Use isolateObjectProperty to create a Proxy that isolates the 'transactionID' property.\n // This allows each operation to have its own transactionID without affecting the parent req.\n // If parent req already has a transaction, preserve it (don't isolate), since this\n // issue only arises when one of the operations calls initTransaction() themselves -\n // because then, that operation will also try to commit/end the transaction itself.\n\n // If the transactionID is already set, the parallel operations will not try to\n // commit/end the transaction themselves, so we don't need to isolate the\n // transactionID property.\n const reqForPermissions = req.transactionID ? req : isolateObjectProperty(req, 'transactionID')\n const reqForLockCheck = req.transactionID ? req : isolateObjectProperty(req, 'transactionID')\n\n const [\n docPreferences,\n {\n docPermissions,\n hasDeletePermission,\n hasPublishPermission,\n hasSavePermission,\n hasTrashPermission,\n },\n { currentEditor, isLocked, lastUpdateTime },\n entityPreferences,\n ] = await Promise.all([\n // Get document preferences\n getDocPreferences({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n payload,\n user,\n }),\n\n // Get permissions - isolated transactionID prevents cross-contamination\n getDocumentPermissions({\n id: idFromArgs,\n collectionConfig,\n data: doc,\n globalConfig,\n req: reqForPermissions,\n }),\n\n // Fetch document lock state - isolated transactionID prevents cross-contamination\n getIsLocked({\n id: idFromArgs,\n collectionConfig,\n globalConfig,\n isEditing,\n req: reqForLockCheck,\n }),\n\n // get entity preferences\n getPreferences<CollectionPreferences>(\n collectionSlug ? `collection-${collectionSlug}` : `global-${globalSlug}`,\n payload,\n req.user.id,\n req.user.collection,\n ),\n ])\n\n const operation = (collectionSlug && idFromArgs) || globalSlug ? 'update' : 'create'\n\n // Record the document as recently viewed (collections only, never on the create route or for\n // trashed docs). Runs concurrently with the work below and never throws.\n const recentlyViewedPromise =\n collectionSlug && idFromArgs && doc && !isTrashedDoc\n ? recordRecentlyViewed({ id: idFromArgs, collectionSlug, req })\n : undefined\n\n const [\n { hasPublishedDoc, mostRecentVersionIsAutosaved, unpublishedVersionCount, versionCount },\n { state: formState },\n hasScheduledPublish,\n ] = await Promise.all([\n getVersions({\n id: idFromArgs,\n collectionConfig,\n doc,\n docPermissions,\n globalConfig,\n locale: locale?.code,\n payload,\n user,\n }),\n buildFormState({\n id: idFromArgs,\n collectionSlug,\n data: doc,\n docPermissions,\n docPreferences,\n fallbackLocale: false,\n globalSlug,\n locale: locale?.code,\n operation,\n readOnly: isTrashedDoc || isLocked,\n renderAllFields: true,\n req,\n schemaPath: collectionSlug || globalSlug,\n skipValidation: true,\n }),\n getHasScheduledPublish({\n id: idFromArgs,\n collectionConfig,\n globalConfig,\n hasPublishPermission,\n payload,\n user,\n }),\n ])\n\n await recentlyViewedPromise\n\n const documentViewServerProps: DocumentViewServerPropsOnly = {\n doc,\n hasPublishedDoc,\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n server: req.server,\n user,\n versions,\n }\n\n if (\n !overrideEntityVisibility &&\n ((collectionSlug &&\n !visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) ||\n (globalSlug && !visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)))\n ) {\n throw new Error('not-found')\n }\n\n const formattedParams = new URLSearchParams()\n\n if (hasDraftsEnabled(collectionConfig || globalConfig)) {\n formattedParams.append('draft', 'true')\n }\n\n if (locale?.code) {\n formattedParams.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${formattedParams.toString()}`\n\n const apiURL = formatAdminURL({\n apiRoute,\n path: collectionSlug\n ? `/${collectionSlug}/${idFromArgs}${apiQueryParams}`\n : globalSlug\n ? `/${globalSlug}${apiQueryParams}`\n : '',\n })\n\n let View: ViewToRender = null\n\n let showHeader = true\n\n const RootViewOverride =\n collectionConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in collectionConfig.admin.components.views.edit.root\n ? collectionConfig?.admin?.components?.views?.edit?.root?.Component\n : globalConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in globalConfig.admin.components.views.edit.root\n ? globalConfig?.admin?.components?.views?.edit?.root?.Component\n : null\n\n if (RootViewOverride) {\n View = RootViewOverride\n showHeader = false\n } else {\n ;({ View } = getDocumentView({\n collectionConfig,\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n }))\n\n if (View === UnauthorizedViewWithGutter) {\n showHeader = false\n }\n }\n\n if (!View) {\n View = NotFoundView as React.FC<AdminViewServerProps>\n }\n\n /**\n * Handle case where autoSave is enabled and the document is being created\n * => create document and redirect\n */\n const shouldAutosave = hasSavePermission && hasAutosaveEnabled(collectionConfig || globalConfig)\n\n const validateDraftData =\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate\n\n let id = idFromArgs\n\n if (shouldAutosave && !validateDraftData && !idFromArgs && collectionSlug) {\n doc = await payload.create({\n collection: collectionSlug,\n data: initialData || {},\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n req,\n user,\n })\n\n if (doc?.id) {\n id = doc.id\n isEditing = getIsEditing({ id: doc.id, collectionSlug, globalSlug })\n\n if (!drawerSlug && redirectAfterCreate !== false) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${doc.id}`,\n })\n\n req.server.redirect(redirectURL)\n }\n } else {\n throw new Error('not-found')\n }\n }\n\n const documentSlots = renderDocumentSlots({\n id,\n collectionConfig,\n doc: doc as Record<string, unknown>,\n globalConfig,\n hasSavePermission,\n locale,\n permissions,\n req,\n })\n\n // Extract Description from documentSlots to pass to DocumentHeader\n const { Description } = documentSlots\n\n const clientProps: DocumentViewClientProps = {\n formState,\n ...documentSlots,\n documentSubViewType,\n viewType,\n }\n\n const { isLivePreviewEnabled, livePreviewConfig, livePreviewURL } = await handleLivePreview({\n collectionSlug,\n config,\n data: doc,\n globalSlug,\n operation,\n req,\n })\n\n const { isPreviewEnabled, previewURL } = await handlePreview({\n collectionSlug,\n config,\n data: doc,\n globalSlug,\n operation,\n req,\n })\n\n return {\n data: doc,\n Document: (\n <DocumentInfoProvider\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n currentEditor={currentEditor}\n disableActions={disableActions ?? false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasDeletePermission={hasDeletePermission}\n hasPublishedDoc={hasPublishedDoc}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n hasScheduledPublish={hasScheduledPublish}\n hasTrashPermission={hasTrashPermission}\n id={id}\n initialData={doc}\n initialState={formState}\n isEditing={isEditing}\n isLocked={isLocked}\n isTrashed={isTrashedDoc}\n key={locale?.code}\n lastUpdateTime={lastUpdateTime}\n mostRecentVersionIsAutosaved={mostRecentVersionIsAutosaved}\n redirectAfterCreate={redirectAfterCreate}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n redirectAfterRestore={redirectAfterRestore}\n unpublishedVersionCount={unpublishedVersionCount}\n versionCount={versionCount}\n >\n <LivePreviewProvider\n breakpoints={livePreviewConfig?.breakpoints}\n isLivePreviewEnabled={isLivePreviewEnabled && operation !== 'create'}\n isLivePreviewing={Boolean(\n (entityPreferences?.value?.editViewType === undefined\n ? livePreviewConfig?.openByDefault\n : entityPreferences.value.editViewType === 'live-preview') && livePreviewURL,\n )}\n isPreviewEnabled={Boolean(isPreviewEnabled)}\n previewURL={previewURL}\n typeofLivePreviewURL={typeof livePreviewConfig?.url as 'function' | 'string' | undefined}\n url={livePreviewURL}\n >\n {showHeader && !drawerSlug && (\n <DocumentHeader\n AfterHeader={Description}\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n permissions={permissions}\n req={req}\n />\n )}\n <HydrateAuthProvider permissions={permissions} />\n <EditDepthProvider>\n {RenderServerComponent({\n clientProps,\n Component: View,\n importMap,\n serverProps: documentViewServerProps,\n })}\n </EditDepthProvider>\n </LivePreviewProvider>\n </DocumentInfoProvider>\n ),\n }\n}\n\nexport async function DocumentView(props: AdminViewServerProps) {\n try {\n const { Document: RenderedDocument } = await renderDocument(props)\n return RenderedDocument\n } catch (error) {\n if (error?.message === 'NEXT_REDIRECT') {\n throw error\n }\n\n // The TanStack adapter's `req.server.redirect()` throws `redirect:<url>` as a\n // control-flow signal — the target is already recorded on `req.server` and\n // honored upstream in `loadAdminPage`. It isn't a real error, so swallow it\n // without logging, mirroring the `NEXT_REDIRECT` guard above.\n if (error?.message?.startsWith('redirect:')) {\n return\n }\n\n logError({ err: error, payload: props.initPageResult.req.payload })\n\n if (error.message === 'not-found') {\n props.initPageResult.req.server.notFound()\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import type { PayloadRequest } from 'payload';
2
+ /**
3
+ * Records that the current user viewed a collection document, persisting it to the
4
+ * `recently-viewed` preference. The document is loaded with access control before this runs, so
5
+ * reaching here means the user can read it. Never throws: a failed write must not break the view.
6
+ */
7
+ export declare const recordRecentlyViewed: ({ id, collectionSlug, req, }: {
8
+ collectionSlug: string;
9
+ id: number | string;
10
+ req: PayloadRequest;
11
+ }) => Promise<void>;
12
+ //# sourceMappingURL=recordRecentlyViewed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordRecentlyViewed.d.ts","sourceRoot":"","sources":["../../../src/views/Document/recordRecentlyViewed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA6B,MAAM,SAAS,CAAA;AAOxE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAU,8BAIxC;IACD,cAAc,EAAE,MAAM,CAAA;IACtB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC,IAAI,CAmBf,CAAA"}
@@ -0,0 +1,40 @@
1
+ import { PREFERENCE_KEYS } from 'payload/shared';
2
+ import { addRecentlyViewedItem } from '../../utilities/recentlyViewed.js';
3
+ import { upsertPreferences } from '../../utilities/upsertPreferences.js';
4
+ /**
5
+ * Records that the current user viewed a collection document, persisting it to the
6
+ * `recently-viewed` preference. The document is loaded with access control before this runs, so
7
+ * reaching here means the user can read it. Never throws: a failed write must not break the view.
8
+ */
9
+ export const recordRecentlyViewed = async ({
10
+ id,
11
+ collectionSlug,
12
+ req
13
+ }) => {
14
+ if (!req.user) {
15
+ return;
16
+ }
17
+ try {
18
+ await upsertPreferences({
19
+ customMerge: (existingValue, incomingValue) => addRecentlyViewedItem({
20
+ existing: existingValue,
21
+ item: incomingValue.items[0]
22
+ }),
23
+ key: PREFERENCE_KEYS.RECENTLY_VIEWED,
24
+ req,
25
+ value: {
26
+ items: [{
27
+ id,
28
+ collectionSlug,
29
+ viewedAt: new Date().toISOString()
30
+ }]
31
+ }
32
+ });
33
+ } catch (err) {
34
+ req.payload.logger.error({
35
+ err,
36
+ msg: `Failed to record recently viewed document "${collectionSlug}/${id}"`
37
+ });
38
+ }
39
+ };
40
+ //# sourceMappingURL=recordRecentlyViewed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordRecentlyViewed.js","names":["PREFERENCE_KEYS","addRecentlyViewedItem","upsertPreferences","recordRecentlyViewed","id","collectionSlug","req","user","customMerge","existingValue","incomingValue","existing","item","items","key","RECENTLY_VIEWED","value","viewedAt","Date","toISOString","err","payload","logger","error","msg"],"sources":["../../../src/views/Document/recordRecentlyViewed.ts"],"sourcesContent":["import type { PayloadRequest, RecentlyViewedPreferences } from 'payload'\n\nimport { PREFERENCE_KEYS } from 'payload/shared'\n\nimport { addRecentlyViewedItem } from '../../utilities/recentlyViewed.js'\nimport { upsertPreferences } from '../../utilities/upsertPreferences.js'\n\n/**\n * Records that the current user viewed a collection document, persisting it to the\n * `recently-viewed` preference. The document is loaded with access control before this runs, so\n * reaching here means the user can read it. Never throws: a failed write must not break the view.\n */\nexport const recordRecentlyViewed = async ({\n id,\n collectionSlug,\n req,\n}: {\n collectionSlug: string\n id: number | string\n req: PayloadRequest\n}): Promise<void> => {\n if (!req.user) {\n return\n }\n\n try {\n await upsertPreferences<RecentlyViewedPreferences>({\n customMerge: (existingValue, incomingValue) =>\n addRecentlyViewedItem({ existing: existingValue, item: incomingValue.items[0] }),\n key: PREFERENCE_KEYS.RECENTLY_VIEWED,\n req,\n value: { items: [{ id, collectionSlug, viewedAt: new Date().toISOString() }] },\n })\n } catch (err) {\n req.payload.logger.error({\n err,\n msg: `Failed to record recently viewed document \"${collectionSlug}/${id}\"`,\n })\n }\n}\n"],"mappings":"AAEA,SAASA,eAAe,QAAQ;AAEhC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,iBAAiB,QAAQ;AAElC;;;;;AAKA,OAAO,MAAMC,oBAAA,GAAuB,MAAAA,CAAO;EACzCC,EAAE;EACFC,cAAc;EACdC;AAAG,CAKJ;EACC,IAAI,CAACA,GAAA,CAAIC,IAAI,EAAE;IACb;EACF;EAEA,IAAI;IACF,MAAML,iBAAA,CAA6C;MACjDM,WAAA,EAAaA,CAACC,aAAA,EAAeC,aAAA,KAC3BT,qBAAA,CAAsB;QAAEU,QAAA,EAAUF,aAAA;QAAeG,IAAA,EAAMF,aAAA,CAAcG,KAAK,CAAC;MAAG;MAChFC,GAAA,EAAKd,eAAA,CAAgBe,eAAe;MACpCT,GAAA;MACAU,KAAA,EAAO;QAAEH,KAAA,EAAO,CAAC;UAAET,EAAA;UAAIC,cAAA;UAAgBY,QAAA,EAAU,IAAIC,IAAA,GAAOC,WAAW;QAAG;MAAG;IAC/E;EACF,EAAE,OAAOC,GAAA,EAAK;IACZd,GAAA,CAAIe,OAAO,CAACC,MAAM,CAACC,KAAK,CAAC;MACvBH,GAAA;MACAI,GAAA,EAAK,8CAA8CnB,cAAA,IAAkBD,EAAA;IACvE;EACF;AACF","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import type { DocumentSlots, Locale, PayloadRequest, SanitizedCollectionConfig, SanitizedGlobalConfig, SanitizedPermissions, ServerFunction } from 'payload';
2
2
  export declare const renderDocumentSlots: (args: {
3
3
  collectionConfig?: SanitizedCollectionConfig;
4
+ doc?: Record<string, unknown>;
4
5
  globalConfig?: SanitizedGlobalConfig;
5
6
  hasSavePermission: boolean;
6
7
  id?: number | string;
@@ -1 +1 @@
1
- {"version":3,"file":"renderDocumentSlots.d.ts","sourceRoot":"","sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EAEb,MAAM,EACN,cAAc,EAGd,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EAGpB,cAAc,EAMf,MAAM,SAAS,CAAA;AAShB,eAAO,MAAM,mBAAmB,EAAE,CAAC,IAAI,EAAE;IACvC,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,oBAAoB,CAAA;IACjC,GAAG,EAAE,cAAc,CAAA;CACpB,KAAK,aA6LL,CAAA;AAED,eAAO,MAAM,0BAA0B,EAAE,cAAc,CAAC;IACtD,cAAc,EAAE,MAAM,CAAA;IACtB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACrB,CAwBA,CAAA"}
1
+ {"version":3,"file":"renderDocumentSlots.d.ts","sourceRoot":"","sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EAEb,MAAM,EAEN,cAAc,EAGd,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EAGpB,cAAc,EAOf,MAAM,SAAS,CAAA;AAShB,eAAO,MAAM,mBAAmB,EAAE,CAAC,IAAI,EAAE;IACvC,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,oBAAoB,CAAA;IACjC,GAAG,EAAE,cAAc,CAAA;CACpB,KAAK,aAgOL,CAAA;AAED,eAAO,MAAM,0BAA0B,EAAE,cAAc,CAAC;IACtD,cAAc,EAAE,MAAM,CAAA;IACtB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACrB,CA6CA,CAAA"}
@@ -1,4 +1,4 @@
1
- import { hasDraftsEnabled } from 'payload/shared';
1
+ import { hasDraftsEnabled, matchMimeType } from 'payload/shared';
2
2
  import { RenderServerComponent } from '../../elements/RenderServerComponent/index.js';
3
3
  // eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds
4
4
  import { ViewDescription } from '../../exports/client/index.js';
@@ -7,6 +7,7 @@ export const renderDocumentSlots = args => {
7
7
  const {
8
8
  id,
9
9
  collectionConfig,
10
+ doc,
10
11
  globalConfig,
11
12
  hasSavePermission,
12
13
  locale,
@@ -145,6 +146,31 @@ export const renderDocumentSlots = args => {
145
146
  serverProps
146
147
  });
147
148
  }
149
+ const filePreviewConfig = collectionConfig?.upload?.admin?.components?.filePreview;
150
+ if (collectionConfig?.upload && filePreviewConfig) {
151
+ const mimeType = doc?.mimeType ?? '';
152
+ let filePreviewComponent;
153
+ if (typeof filePreviewConfig === 'string' || typeof filePreviewConfig === 'object' && 'path' in filePreviewConfig) {
154
+ filePreviewComponent = filePreviewConfig;
155
+ } else {
156
+ filePreviewComponent = matchMimeType(filePreviewConfig, mimeType);
157
+ }
158
+ if (filePreviewComponent) {
159
+ components.UploadFilePreview = RenderServerComponent({
160
+ clientProps: {
161
+ filename: doc?.filename,
162
+ filesize: doc?.filesize,
163
+ fileSrc: doc?.url,
164
+ height: doc?.height,
165
+ mimeType,
166
+ width: doc?.width
167
+ },
168
+ Component: filePreviewComponent,
169
+ importMap: req.payload.importMap,
170
+ serverProps
171
+ });
172
+ }
173
+ }
148
174
  return components;
149
175
  };
150
176
  export const renderDocumentSlotsHandler = async args => {
@@ -167,9 +193,29 @@ export const renderDocumentSlotsHandler = async args => {
167
193
  data: {},
168
194
  req
169
195
  });
196
+ let doc;
197
+ if (id && collectionConfig.upload) {
198
+ const result = await req.payload.findByID({
199
+ id,
200
+ collection: collectionSlug,
201
+ depth: 0,
202
+ overrideAccess: false,
203
+ req,
204
+ select: {
205
+ filename: true,
206
+ filesize: true,
207
+ height: true,
208
+ mimeType: true,
209
+ url: true,
210
+ width: true
211
+ }
212
+ });
213
+ doc = result;
214
+ }
170
215
  return renderDocumentSlots({
171
216
  id,
172
217
  collectionConfig,
218
+ doc,
173
219
  hasSavePermission,
174
220
  locale,
175
221
  permissions,
@@ -1 +1 @@
1
- {"version":3,"file":"renderDocumentSlots.js","names":["hasDraftsEnabled","RenderServerComponent","ViewDescription","getDocumentPermissions","renderDocumentSlots","args","id","collectionConfig","globalConfig","hasSavePermission","locale","permissions","req","components","unsavedDraftWithValidations","undefined","isPreviewEnabled","admin","preview","serverProps","i18n","payload","server","user","BeforeDocumentControls","edit","beforeDocumentControls","Component","importMap","BeforeDocumentMeta","EditMenuItems","editMenuItems","CustomPreviewButton","PreviewButton","LivePreview","views","livePreview","descriptionFromConfig","description","staticDescription","t","CustomDescription","Description","hasDescription","clientProps","collectionSlug","slug","Fallback","versions","drafts","CustomStatus","Status","CustomPublishButton","PublishButton","CustomUnpublishButton","UnpublishButton","CustomSaveDraftButton","SaveDraftButton","draftsEnabled","CustomSaveButton","SaveButton","upload","Upload","controls","UploadControls","renderDocumentSlotsHandler","collections","config","Error","data"],"sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"sourcesContent":["import type {\n BeforeDocumentControlsServerPropsOnly,\n DocumentSlots,\n EditMenuItemsServerPropsOnly,\n Locale,\n PayloadRequest,\n PreviewButtonServerPropsOnly,\n PublishButtonServerPropsOnly,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n SanitizedPermissions,\n SaveButtonServerPropsOnly,\n SaveDraftButtonServerPropsOnly,\n ServerFunction,\n ServerProps,\n StaticDescription,\n UnpublishButtonServerPropsOnly,\n ViewDescriptionClientProps,\n ViewDescriptionServerPropsOnly,\n} from 'payload'\n\nimport { hasDraftsEnabled } from 'payload/shared'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds\nimport { ViewDescription } from '../../exports/client/index.js'\nimport { getDocumentPermissions } from '../../utilities/getDocumentPermissions.js'\n\nexport const renderDocumentSlots: (args: {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n hasSavePermission: boolean\n id?: number | string\n locale: Locale\n permissions: SanitizedPermissions\n req: PayloadRequest\n}) => DocumentSlots = (args) => {\n const { id, collectionConfig, globalConfig, hasSavePermission, locale, permissions, req } = args\n\n const components: DocumentSlots = {} as DocumentSlots\n\n const unsavedDraftWithValidations = undefined\n\n const isPreviewEnabled = collectionConfig?.admin?.preview || globalConfig?.admin?.preview\n\n const serverProps: ServerProps = {\n id,\n i18n: req.i18n,\n locale,\n payload: req.payload,\n permissions,\n server: req.server,\n user: req.user,\n // TODO: Add remaining serverProps\n }\n\n const BeforeDocumentControls =\n collectionConfig?.admin?.components?.edit?.beforeDocumentControls ||\n globalConfig?.admin?.components?.edit?.beforeDocumentControls\n\n if (BeforeDocumentControls) {\n components.BeforeDocumentControls = RenderServerComponent({\n Component: BeforeDocumentControls,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies BeforeDocumentControlsServerPropsOnly,\n })\n }\n\n const BeforeDocumentMeta =\n collectionConfig?.admin?.components?.edit?.BeforeDocumentMeta ||\n globalConfig?.admin?.components?.edit?.BeforeDocumentMeta\n\n if (BeforeDocumentMeta) {\n components.BeforeDocumentMeta = RenderServerComponent({\n Component: BeforeDocumentMeta,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n const EditMenuItems = collectionConfig?.admin?.components?.edit?.editMenuItems\n\n if (EditMenuItems) {\n components.EditMenuItems = RenderServerComponent({\n Component: EditMenuItems,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies EditMenuItemsServerPropsOnly,\n })\n }\n\n const CustomPreviewButton =\n collectionConfig?.admin?.components?.edit?.PreviewButton ||\n globalConfig?.admin?.components?.edit?.PreviewButton\n\n if (isPreviewEnabled && CustomPreviewButton) {\n components.PreviewButton = RenderServerComponent({\n Component: CustomPreviewButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies PreviewButtonServerPropsOnly,\n })\n }\n\n const LivePreview =\n collectionConfig?.admin?.components?.views?.edit?.livePreview ||\n globalConfig?.admin?.components?.views?.edit?.livePreview\n\n if (LivePreview?.Component) {\n components.LivePreview = RenderServerComponent({\n Component: LivePreview.Component,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n const descriptionFromConfig =\n collectionConfig?.admin?.description || globalConfig?.admin?.description\n\n const staticDescription: StaticDescription =\n typeof descriptionFromConfig === 'function'\n ? descriptionFromConfig({ t: req.i18n.t })\n : descriptionFromConfig\n\n const CustomDescription =\n collectionConfig?.admin?.components?.Description || globalConfig?.admin?.components?.Description\n\n const hasDescription = CustomDescription || staticDescription\n\n if (hasDescription) {\n components.Description = RenderServerComponent({\n clientProps: {\n collectionSlug: collectionConfig?.slug,\n description: staticDescription,\n } satisfies ViewDescriptionClientProps,\n Component: CustomDescription,\n Fallback: ViewDescription,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies ViewDescriptionServerPropsOnly,\n })\n }\n\n if (collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) {\n const CustomStatus =\n collectionConfig?.admin?.components?.edit?.Status ||\n globalConfig?.admin?.components?.edit?.Status\n\n if (CustomStatus) {\n components.Status = RenderServerComponent({\n Component: CustomStatus,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n }\n\n if (hasSavePermission) {\n if (hasDraftsEnabled(collectionConfig || globalConfig)) {\n const CustomPublishButton =\n collectionConfig?.admin?.components?.edit?.PublishButton ||\n globalConfig?.admin?.components?.edit?.PublishButton\n\n if (CustomPublishButton) {\n components.PublishButton = RenderServerComponent({\n Component: CustomPublishButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies PublishButtonServerPropsOnly,\n })\n }\n\n const CustomUnpublishButton =\n collectionConfig?.admin?.components?.edit?.UnpublishButton ||\n globalConfig?.admin?.components?.edit?.UnpublishButton\n\n if (CustomUnpublishButton) {\n components.UnpublishButton = RenderServerComponent({\n Component: CustomUnpublishButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies UnpublishButtonServerPropsOnly,\n })\n }\n\n const CustomSaveDraftButton =\n collectionConfig?.admin?.components?.edit?.SaveDraftButton ||\n globalConfig?.admin?.components?.edit?.SaveDraftButton\n\n const draftsEnabled = hasDraftsEnabled(collectionConfig || globalConfig)\n\n if ((draftsEnabled || unsavedDraftWithValidations) && CustomSaveDraftButton) {\n components.SaveDraftButton = RenderServerComponent({\n Component: CustomSaveDraftButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies SaveDraftButtonServerPropsOnly,\n })\n }\n } else {\n const CustomSaveButton =\n collectionConfig?.admin?.components?.edit?.SaveButton ||\n globalConfig?.admin?.components?.edit?.SaveButton\n\n if (CustomSaveButton) {\n components.SaveButton = RenderServerComponent({\n Component: CustomSaveButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies SaveButtonServerPropsOnly,\n })\n }\n }\n }\n\n if (collectionConfig?.upload && collectionConfig?.admin?.components?.edit?.Upload) {\n components.Upload = RenderServerComponent({\n Component: collectionConfig.admin.components.edit.Upload,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n if (collectionConfig?.upload && collectionConfig.upload.admin?.components?.controls) {\n components.UploadControls = RenderServerComponent({\n Component: collectionConfig.upload.admin.components.controls,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n return components\n}\n\nexport const renderDocumentSlotsHandler: ServerFunction<{\n collectionSlug: string\n id?: number | string\n}> = async (args) => {\n const { id, collectionSlug, locale, permissions, req } = args\n\n const collectionConfig = req.payload.collections[collectionSlug]?.config\n\n if (!collectionConfig) {\n throw new Error(req.t('error:incorrectCollection'))\n }\n\n const { hasSavePermission } = await getDocumentPermissions({\n id,\n collectionConfig,\n data: {},\n req,\n })\n\n return renderDocumentSlots({\n id,\n collectionConfig,\n hasSavePermission,\n locale,\n permissions,\n req,\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"renderDocumentSlots.js","names":["hasDraftsEnabled","matchMimeType","RenderServerComponent","ViewDescription","getDocumentPermissions","renderDocumentSlots","args","id","collectionConfig","doc","globalConfig","hasSavePermission","locale","permissions","req","components","unsavedDraftWithValidations","undefined","isPreviewEnabled","admin","preview","serverProps","i18n","payload","server","user","BeforeDocumentControls","edit","beforeDocumentControls","Component","importMap","BeforeDocumentMeta","EditMenuItems","editMenuItems","CustomPreviewButton","PreviewButton","LivePreview","views","livePreview","descriptionFromConfig","description","staticDescription","t","CustomDescription","Description","hasDescription","clientProps","collectionSlug","slug","Fallback","versions","drafts","CustomStatus","Status","CustomPublishButton","PublishButton","CustomUnpublishButton","UnpublishButton","CustomSaveDraftButton","SaveDraftButton","draftsEnabled","CustomSaveButton","SaveButton","upload","Upload","controls","UploadControls","filePreviewConfig","filePreview","mimeType","filePreviewComponent","UploadFilePreview","filename","filesize","fileSrc","url","height","width","renderDocumentSlotsHandler","collections","config","Error","data","result","findByID","collection","depth","overrideAccess","select"],"sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"sourcesContent":["import type {\n BeforeDocumentControlsServerPropsOnly,\n DocumentSlots,\n EditMenuItemsServerPropsOnly,\n Locale,\n PayloadComponent,\n PayloadRequest,\n PreviewButtonServerPropsOnly,\n PublishButtonServerPropsOnly,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n SanitizedPermissions,\n SaveButtonServerPropsOnly,\n SaveDraftButtonServerPropsOnly,\n ServerFunction,\n ServerProps,\n StaticDescription,\n UnpublishButtonServerPropsOnly,\n UploadFilePreviewClientProps,\n ViewDescriptionClientProps,\n ViewDescriptionServerPropsOnly,\n} from 'payload'\n\nimport { hasDraftsEnabled, matchMimeType } from 'payload/shared'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds\nimport { ViewDescription } from '../../exports/client/index.js'\nimport { getDocumentPermissions } from '../../utilities/getDocumentPermissions.js'\n\nexport const renderDocumentSlots: (args: {\n collectionConfig?: SanitizedCollectionConfig\n doc?: Record<string, unknown>\n globalConfig?: SanitizedGlobalConfig\n hasSavePermission: boolean\n id?: number | string\n locale: Locale\n permissions: SanitizedPermissions\n req: PayloadRequest\n}) => DocumentSlots = (args) => {\n const { id, collectionConfig, doc, globalConfig, hasSavePermission, locale, permissions, req } =\n args\n\n const components: DocumentSlots = {} as DocumentSlots\n\n const unsavedDraftWithValidations = undefined\n\n const isPreviewEnabled = collectionConfig?.admin?.preview || globalConfig?.admin?.preview\n\n const serverProps: ServerProps = {\n id,\n i18n: req.i18n,\n locale,\n payload: req.payload,\n permissions,\n server: req.server,\n user: req.user,\n // TODO: Add remaining serverProps\n }\n\n const BeforeDocumentControls =\n collectionConfig?.admin?.components?.edit?.beforeDocumentControls ||\n globalConfig?.admin?.components?.edit?.beforeDocumentControls\n\n if (BeforeDocumentControls) {\n components.BeforeDocumentControls = RenderServerComponent({\n Component: BeforeDocumentControls,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies BeforeDocumentControlsServerPropsOnly,\n })\n }\n\n const BeforeDocumentMeta =\n collectionConfig?.admin?.components?.edit?.BeforeDocumentMeta ||\n globalConfig?.admin?.components?.edit?.BeforeDocumentMeta\n\n if (BeforeDocumentMeta) {\n components.BeforeDocumentMeta = RenderServerComponent({\n Component: BeforeDocumentMeta,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n const EditMenuItems = collectionConfig?.admin?.components?.edit?.editMenuItems\n\n if (EditMenuItems) {\n components.EditMenuItems = RenderServerComponent({\n Component: EditMenuItems,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies EditMenuItemsServerPropsOnly,\n })\n }\n\n const CustomPreviewButton =\n collectionConfig?.admin?.components?.edit?.PreviewButton ||\n globalConfig?.admin?.components?.edit?.PreviewButton\n\n if (isPreviewEnabled && CustomPreviewButton) {\n components.PreviewButton = RenderServerComponent({\n Component: CustomPreviewButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies PreviewButtonServerPropsOnly,\n })\n }\n\n const LivePreview =\n collectionConfig?.admin?.components?.views?.edit?.livePreview ||\n globalConfig?.admin?.components?.views?.edit?.livePreview\n\n if (LivePreview?.Component) {\n components.LivePreview = RenderServerComponent({\n Component: LivePreview.Component,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n const descriptionFromConfig =\n collectionConfig?.admin?.description || globalConfig?.admin?.description\n\n const staticDescription: StaticDescription =\n typeof descriptionFromConfig === 'function'\n ? descriptionFromConfig({ t: req.i18n.t })\n : descriptionFromConfig\n\n const CustomDescription =\n collectionConfig?.admin?.components?.Description || globalConfig?.admin?.components?.Description\n\n const hasDescription = CustomDescription || staticDescription\n\n if (hasDescription) {\n components.Description = RenderServerComponent({\n clientProps: {\n collectionSlug: collectionConfig?.slug,\n description: staticDescription,\n } satisfies ViewDescriptionClientProps,\n Component: CustomDescription,\n Fallback: ViewDescription,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies ViewDescriptionServerPropsOnly,\n })\n }\n\n if (collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) {\n const CustomStatus =\n collectionConfig?.admin?.components?.edit?.Status ||\n globalConfig?.admin?.components?.edit?.Status\n\n if (CustomStatus) {\n components.Status = RenderServerComponent({\n Component: CustomStatus,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n }\n\n if (hasSavePermission) {\n if (hasDraftsEnabled(collectionConfig || globalConfig)) {\n const CustomPublishButton =\n collectionConfig?.admin?.components?.edit?.PublishButton ||\n globalConfig?.admin?.components?.edit?.PublishButton\n\n if (CustomPublishButton) {\n components.PublishButton = RenderServerComponent({\n Component: CustomPublishButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies PublishButtonServerPropsOnly,\n })\n }\n\n const CustomUnpublishButton =\n collectionConfig?.admin?.components?.edit?.UnpublishButton ||\n globalConfig?.admin?.components?.edit?.UnpublishButton\n\n if (CustomUnpublishButton) {\n components.UnpublishButton = RenderServerComponent({\n Component: CustomUnpublishButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies UnpublishButtonServerPropsOnly,\n })\n }\n\n const CustomSaveDraftButton =\n collectionConfig?.admin?.components?.edit?.SaveDraftButton ||\n globalConfig?.admin?.components?.edit?.SaveDraftButton\n\n const draftsEnabled = hasDraftsEnabled(collectionConfig || globalConfig)\n\n if ((draftsEnabled || unsavedDraftWithValidations) && CustomSaveDraftButton) {\n components.SaveDraftButton = RenderServerComponent({\n Component: CustomSaveDraftButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies SaveDraftButtonServerPropsOnly,\n })\n }\n } else {\n const CustomSaveButton =\n collectionConfig?.admin?.components?.edit?.SaveButton ||\n globalConfig?.admin?.components?.edit?.SaveButton\n\n if (CustomSaveButton) {\n components.SaveButton = RenderServerComponent({\n Component: CustomSaveButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies SaveButtonServerPropsOnly,\n })\n }\n }\n }\n\n if (collectionConfig?.upload && collectionConfig?.admin?.components?.edit?.Upload) {\n components.Upload = RenderServerComponent({\n Component: collectionConfig.admin.components.edit.Upload,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n if (collectionConfig?.upload && collectionConfig.upload.admin?.components?.controls) {\n components.UploadControls = RenderServerComponent({\n Component: collectionConfig.upload.admin.components.controls,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n const filePreviewConfig = collectionConfig?.upload?.admin?.components?.filePreview\n if (collectionConfig?.upload && filePreviewConfig) {\n const mimeType = (doc?.mimeType as string) ?? ''\n let filePreviewComponent: PayloadComponent | undefined\n\n if (\n typeof filePreviewConfig === 'string' ||\n (typeof filePreviewConfig === 'object' && 'path' in filePreviewConfig)\n ) {\n filePreviewComponent = filePreviewConfig as PayloadComponent\n } else {\n filePreviewComponent = matchMimeType(\n filePreviewConfig as Record<string, PayloadComponent>,\n mimeType,\n )\n }\n\n if (filePreviewComponent) {\n components.UploadFilePreview = RenderServerComponent({\n clientProps: {\n filename: doc?.filename,\n filesize: doc?.filesize,\n fileSrc: doc?.url,\n height: doc?.height,\n mimeType,\n width: doc?.width,\n } as UploadFilePreviewClientProps,\n Component: filePreviewComponent,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n }\n\n return components\n}\n\nexport const renderDocumentSlotsHandler: ServerFunction<{\n collectionSlug: string\n id?: number | string\n}> = async (args) => {\n const { id, collectionSlug, locale, permissions, req } = args\n\n const collectionConfig = req.payload.collections[collectionSlug]?.config\n\n if (!collectionConfig) {\n throw new Error(req.t('error:incorrectCollection'))\n }\n\n const { hasSavePermission } = await getDocumentPermissions({\n id,\n collectionConfig,\n data: {},\n req,\n })\n\n let doc: Record<string, unknown> | undefined\n if (id && collectionConfig.upload) {\n const result = await req.payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n overrideAccess: false,\n req,\n select: {\n filename: true,\n filesize: true,\n height: true,\n mimeType: true,\n url: true,\n width: true,\n },\n })\n doc = result as Record<string, unknown>\n }\n\n return renderDocumentSlots({\n id,\n collectionConfig,\n doc,\n hasSavePermission,\n locale,\n permissions,\n req,\n })\n}\n"],"mappings":"AAuBA,SAASA,gBAAgB,EAAEC,aAAa,QAAQ;AAEhD,SAASC,qBAAqB,QAAQ;AACtC;AACA,SAASC,eAAe,QAAQ;AAChC,SAASC,sBAAsB,QAAQ;AAEvC,OAAO,MAAMC,mBAAA,GASUC,IAAA;EACrB,MAAM;IAAEC,EAAE;IAAEC,gBAAgB;IAAEC,GAAG;IAAEC,YAAY;IAAEC,iBAAiB;IAAEC,MAAM;IAAEC,WAAW;IAAEC;EAAG,CAAE,GAC5FR,IAAA;EAEF,MAAMS,UAAA,GAA4B,CAAC;EAEnC,MAAMC,2BAAA,GAA8BC,SAAA;EAEpC,MAAMC,gBAAA,GAAmBV,gBAAA,EAAkBW,KAAA,EAAOC,OAAA,IAAWV,YAAA,EAAcS,KAAA,EAAOC,OAAA;EAElF,MAAMC,WAAA,GAA2B;IAC/Bd,EAAA;IACAe,IAAA,EAAMR,GAAA,CAAIQ,IAAI;IACdV,MAAA;IACAW,OAAA,EAAST,GAAA,CAAIS,OAAO;IACpBV,WAAA;IACAW,MAAA,EAAQV,GAAA,CAAIU,MAAM;IAClBC,IAAA,EAAMX,GAAA,CAAIW;EAEZ;EAEA,MAAMC,sBAAA,GACJlB,gBAAA,EAAkBW,KAAA,EAAOJ,UAAA,EAAYY,IAAA,EAAMC,sBAAA,IAC3ClB,YAAA,EAAcS,KAAA,EAAOJ,UAAA,EAAYY,IAAA,EAAMC,sBAAA;EAEzC,IAAIF,sBAAA,EAAwB;IAC1BX,UAAA,CAAWW,sBAAsB,GAAGxB,qBAAA,CAAsB;MACxD2B,SAAA,EAAWH,sBAAA;MACXI,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;MAChCT,WAAA,EAAaA;IACf;EACF;EAEA,MAAMU,kBAAA,GACJvB,gBAAA,EAAkBW,KAAA,EAAOJ,UAAA,EAAYY,IAAA,EAAMI,kBAAA,IAC3CrB,YAAA,EAAcS,KAAA,EAAOJ,UAAA,EAAYY,IAAA,EAAMI,kBAAA;EAEzC,IAAIA,kBAAA,EAAoB;IACtBhB,UAAA,CAAWgB,kBAAkB,GAAG7B,qBAAA,CAAsB;MACpD2B,SAAA,EAAWE,kBAAA;MACXD,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;MAChCT;IACF;EACF;EAEA,MAAMW,aAAA,GAAgBxB,gBAAA,EAAkBW,KAAA,EAAOJ,UAAA,EAAYY,IAAA,EAAMM,aAAA;EAEjE,IAAID,aAAA,EAAe;IACjBjB,UAAA,CAAWiB,aAAa,GAAG9B,qBAAA,CAAsB;MAC/C2B,SAAA,EAAWG,aAAA;MACXF,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;MAChCT,WAAA,EAAaA;IACf;EACF;EAEA,MAAMa,mBAAA,GACJ1B,gBAAA,EAAkBW,KAAA,EAAOJ,UAAA,EAAYY,IAAA,EAAMQ,aAAA,IAC3CzB,YAAA,EAAcS,KAAA,EAAOJ,UAAA,EAAYY,IAAA,EAAMQ,aAAA;EAEzC,IAAIjB,gBAAA,IAAoBgB,mBAAA,EAAqB;IAC3CnB,UAAA,CAAWoB,aAAa,GAAGjC,qBAAA,CAAsB;MAC/C2B,SAAA,EAAWK,mBAAA;MACXJ,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;MAChCT,WAAA,EAAaA;IACf;EACF;EAEA,MAAMe,WAAA,GACJ5B,gBAAA,EAAkBW,KAAA,EAAOJ,UAAA,EAAYsB,KAAA,EAAOV,IAAA,EAAMW,WAAA,IAClD5B,YAAA,EAAcS,KAAA,EAAOJ,UAAA,EAAYsB,KAAA,EAAOV,IAAA,EAAMW,WAAA;EAEhD,IAAIF,WAAA,EAAaP,SAAA,EAAW;IAC1Bd,UAAA,CAAWqB,WAAW,GAAGlC,qBAAA,CAAsB;MAC7C2B,SAAA,EAAWO,WAAA,CAAYP,SAAS;MAChCC,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;MAChCT;IACF;EACF;EAEA,MAAMkB,qBAAA,GACJ/B,gBAAA,EAAkBW,KAAA,EAAOqB,WAAA,IAAe9B,YAAA,EAAcS,KAAA,EAAOqB,WAAA;EAE/D,MAAMC,iBAAA,GACJ,OAAOF,qBAAA,KAA0B,aAC7BA,qBAAA,CAAsB;IAAEG,CAAA,EAAG5B,GAAA,CAAIQ,IAAI,CAACoB;EAAE,KACtCH,qBAAA;EAEN,MAAMI,iBAAA,GACJnC,gBAAA,EAAkBW,KAAA,EAAOJ,UAAA,EAAY6B,WAAA,IAAelC,YAAA,EAAcS,KAAA,EAAOJ,UAAA,EAAY6B,WAAA;EAEvF,MAAMC,cAAA,GAAiBF,iBAAA,IAAqBF,iBAAA;EAE5C,IAAII,cAAA,EAAgB;IAClB9B,UAAA,CAAW6B,WAAW,GAAG1C,qBAAA,CAAsB;MAC7C4C,WAAA,EAAa;QACXC,cAAA,EAAgBvC,gBAAA,EAAkBwC,IAAA;QAClCR,WAAA,EAAaC;MACf;MACAZ,SAAA,EAAWc,iBAAA;MACXM,QAAA,EAAU9C,eAAA;MACV2B,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;MAChCT,WAAA,EAAaA;IACf;EACF;EAEA,IAAIb,gBAAA,EAAkB0C,QAAA,EAAUC,MAAA,IAAUzC,YAAA,EAAcwC,QAAA,EAAUC,MAAA,EAAQ;IACxE,MAAMC,YAAA,GACJ5C,gBAAA,EAAkBW,KAAA,EAAOJ,UAAA,EAAYY,IAAA,EAAM0B,MAAA,IAC3C3C,YAAA,EAAcS,KAAA,EAAOJ,UAAA,EAAYY,IAAA,EAAM0B,MAAA;IAEzC,IAAID,YAAA,EAAc;MAChBrC,UAAA,CAAWsC,MAAM,GAAGnD,qBAAA,CAAsB;QACxC2B,SAAA,EAAWuB,YAAA;QACXtB,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;QAChCT;MACF;IACF;EACF;EAEA,IAAIV,iBAAA,EAAmB;IACrB,IAAIX,gBAAA,CAAiBQ,gBAAA,IAAoBE,YAAA,GAAe;MACtD,MAAM4C,mBAAA,GACJ9C,gBAAA,EAAkBW,KAAA,EAAOJ,UAAA,EAAYY,IAAA,EAAM4B,aAAA,IAC3C7C,YAAA,EAAcS,KAAA,EAAOJ,UAAA,EAAYY,IAAA,EAAM4B,aAAA;MAEzC,IAAID,mBAAA,EAAqB;QACvBvC,UAAA,CAAWwC,aAAa,GAAGrD,qBAAA,CAAsB;UAC/C2B,SAAA,EAAWyB,mBAAA;UACXxB,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;UAChCT,WAAA,EAAaA;QACf;MACF;MAEA,MAAMmC,qBAAA,GACJhD,gBAAA,EAAkBW,KAAA,EAAOJ,UAAA,EAAYY,IAAA,EAAM8B,eAAA,IAC3C/C,YAAA,EAAcS,KAAA,EAAOJ,UAAA,EAAYY,IAAA,EAAM8B,eAAA;MAEzC,IAAID,qBAAA,EAAuB;QACzBzC,UAAA,CAAW0C,eAAe,GAAGvD,qBAAA,CAAsB;UACjD2B,SAAA,EAAW2B,qBAAA;UACX1B,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;UAChCT,WAAA,EAAaA;QACf;MACF;MAEA,MAAMqC,qBAAA,GACJlD,gBAAA,EAAkBW,KAAA,EAAOJ,UAAA,EAAYY,IAAA,EAAMgC,eAAA,IAC3CjD,YAAA,EAAcS,KAAA,EAAOJ,UAAA,EAAYY,IAAA,EAAMgC,eAAA;MAEzC,MAAMC,aAAA,GAAgB5D,gBAAA,CAAiBQ,gBAAA,IAAoBE,YAAA;MAE3D,IAAI,CAACkD,aAAA,IAAiB5C,2BAA0B,KAAM0C,qBAAA,EAAuB;QAC3E3C,UAAA,CAAW4C,eAAe,GAAGzD,qBAAA,CAAsB;UACjD2B,SAAA,EAAW6B,qBAAA;UACX5B,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;UAChCT,WAAA,EAAaA;QACf;MACF;IACF,OAAO;MACL,MAAMwC,gBAAA,GACJrD,gBAAA,EAAkBW,KAAA,EAAOJ,UAAA,EAAYY,IAAA,EAAMmC,UAAA,IAC3CpD,YAAA,EAAcS,KAAA,EAAOJ,UAAA,EAAYY,IAAA,EAAMmC,UAAA;MAEzC,IAAID,gBAAA,EAAkB;QACpB9C,UAAA,CAAW+C,UAAU,GAAG5D,qBAAA,CAAsB;UAC5C2B,SAAA,EAAWgC,gBAAA;UACX/B,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;UAChCT,WAAA,EAAaA;QACf;MACF;IACF;EACF;EAEA,IAAIb,gBAAA,EAAkBuD,MAAA,IAAUvD,gBAAA,EAAkBW,KAAA,EAAOJ,UAAA,EAAYY,IAAA,EAAMqC,MAAA,EAAQ;IACjFjD,UAAA,CAAWiD,MAAM,GAAG9D,qBAAA,CAAsB;MACxC2B,SAAA,EAAWrB,gBAAA,CAAiBW,KAAK,CAACJ,UAAU,CAACY,IAAI,CAACqC,MAAM;MACxDlC,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;MAChCT;IACF;EACF;EAEA,IAAIb,gBAAA,EAAkBuD,MAAA,IAAUvD,gBAAA,CAAiBuD,MAAM,CAAC5C,KAAK,EAAEJ,UAAA,EAAYkD,QAAA,EAAU;IACnFlD,UAAA,CAAWmD,cAAc,GAAGhE,qBAAA,CAAsB;MAChD2B,SAAA,EAAWrB,gBAAA,CAAiBuD,MAAM,CAAC5C,KAAK,CAACJ,UAAU,CAACkD,QAAQ;MAC5DnC,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;MAChCT;IACF;EACF;EAEA,MAAM8C,iBAAA,GAAoB3D,gBAAA,EAAkBuD,MAAA,EAAQ5C,KAAA,EAAOJ,UAAA,EAAYqD,WAAA;EACvE,IAAI5D,gBAAA,EAAkBuD,MAAA,IAAUI,iBAAA,EAAmB;IACjD,MAAME,QAAA,GAAW5D,GAAC,EAAK4D,QAAA,IAAuB;IAC9C,IAAIC,oBAAA;IAEJ,IACE,OAAOH,iBAAA,KAAsB,YAC5B,OAAOA,iBAAA,KAAsB,YAAY,UAAUA,iBAAA,EACpD;MACAG,oBAAA,GAAuBH,iBAAA;IACzB,OAAO;MACLG,oBAAA,GAAuBrE,aAAA,CACrBkE,iBAAA,EACAE,QAAA;IAEJ;IAEA,IAAIC,oBAAA,EAAsB;MACxBvD,UAAA,CAAWwD,iBAAiB,GAAGrE,qBAAA,CAAsB;QACnD4C,WAAA,EAAa;UACX0B,QAAA,EAAU/D,GAAA,EAAK+D,QAAA;UACfC,QAAA,EAAUhE,GAAA,EAAKgE,QAAA;UACfC,OAAA,EAASjE,GAAA,EAAKkE,GAAA;UACdC,MAAA,EAAQnE,GAAA,EAAKmE,MAAA;UACbP,QAAA;UACAQ,KAAA,EAAOpE,GAAA,EAAKoE;QACd;QACAhD,SAAA,EAAWyC,oBAAA;QACXxC,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;QAChCT;MACF;IACF;EACF;EAEA,OAAON,UAAA;AACT;AAEA,OAAO,MAAM+D,0BAAA,GAGR,MAAOxE,IAAA;EACV,MAAM;IAAEC,EAAE;IAAEwC,cAAc;IAAEnC,MAAM;IAAEC,WAAW;IAAEC;EAAG,CAAE,GAAGR,IAAA;EAEzD,MAAME,gBAAA,GAAmBM,GAAA,CAAIS,OAAO,CAACwD,WAAW,CAAChC,cAAA,CAAe,EAAEiC,MAAA;EAElE,IAAI,CAACxE,gBAAA,EAAkB;IACrB,MAAM,IAAIyE,KAAA,CAAMnE,GAAA,CAAI4B,CAAC,CAAC;EACxB;EAEA,MAAM;IAAE/B;EAAiB,CAAE,GAAG,MAAMP,sBAAA,CAAuB;IACzDG,EAAA;IACAC,gBAAA;IACA0E,IAAA,EAAM,CAAC;IACPpE;EACF;EAEA,IAAIL,GAAA;EACJ,IAAIF,EAAA,IAAMC,gBAAA,CAAiBuD,MAAM,EAAE;IACjC,MAAMoB,MAAA,GAAS,MAAMrE,GAAA,CAAIS,OAAO,CAAC6D,QAAQ,CAAC;MACxC7E,EAAA;MACA8E,UAAA,EAAYtC,cAAA;MACZuC,KAAA,EAAO;MACPC,cAAA,EAAgB;MAChBzE,GAAA;MACA0E,MAAA,EAAQ;QACNhB,QAAA,EAAU;QACVC,QAAA,EAAU;QACVG,MAAA,EAAQ;QACRP,QAAA,EAAU;QACVM,GAAA,EAAK;QACLE,KAAA,EAAO;MACT;IACF;IACApE,GAAA,GAAM0E,MAAA;EACR;EAEA,OAAO9E,mBAAA,CAAoB;IACzBE,EAAA;IACAC,gBAAA;IACAC,GAAA;IACAE,iBAAA;IACAC,MAAA;IACAC,WAAA;IACAC;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"APIKey.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/APIKey.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAiB3D,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CA6HvF,CAAA"}
1
+ {"version":3,"file":"APIKey.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/APIKey.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAe3D,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CA8GvF,CAAA"}
@@ -5,12 +5,10 @@ import { getTranslation } from '@payloadcms/translations';
5
5
  import { text } from 'payload/shared';
6
6
  import React, { useEffect, useMemo, useState } from 'react';
7
7
  import { v4 as uuidv4 } from 'uuid';
8
- import { Button } from '../../../elements/Button/index.js';
9
- import { CopyToClipboard } from '../../../elements/CopyToClipboard/index.js';
8
+ import { APIKeyInput } from '../../../elements/APIKeyInput/index.js';
10
9
  import { GenerateConfirmation } from '../../../elements/GenerateConfirmation/index.js';
11
10
  import { useFormFields } from '../../../forms/Form/context.js';
12
11
  import { useField } from '../../../forms/useField/index.js';
13
- import { EyeIcon } from '../../../icons/Eye/index.js';
14
12
  import { useConfig } from '../../../providers/Config/index.js';
15
13
  import { useDocumentInfo } from '../../../providers/DocumentInfo/index.js';
16
14
  import { useTranslation } from '../../../providers/Translation/index.js';
@@ -23,7 +21,6 @@ export const APIKey = ({
23
21
  }) => {
24
22
  const [initialAPIKey] = useState(uuidv4());
25
23
  const [highlightedField, setHighlightedField] = useState(false);
26
- const [showKey, setShowKey] = useState(false);
27
24
  const {
28
25
  i18n,
29
26
  t
@@ -67,15 +64,13 @@ export const APIKey = ({
67
64
  }
68
65
  return getTranslation(label, i18n);
69
66
  }, [apiKeyField, i18n]);
70
- const APIKeyLabel = useMemo(() => /*#__PURE__*/_jsxs("label", {
67
+ const APIKeyLabel = useMemo(() => /*#__PURE__*/_jsx("label", {
71
68
  className: `${baseClass}__label field-label`,
72
69
  htmlFor: "apiKey",
73
- children: [/*#__PURE__*/_jsx("span", {
70
+ children: /*#__PURE__*/_jsx("span", {
74
71
  children: apiKeyLabel
75
- }), /*#__PURE__*/_jsx(CopyToClipboard, {
76
- value: apiKeyValue
77
- })]
78
- }), [apiKeyLabel, apiKeyValue]);
72
+ })
73
+ }), [apiKeyLabel]);
79
74
  const fieldType = useField({
80
75
  path: 'apiKey',
81
76
  validate
@@ -113,28 +108,11 @@ export const APIKey = ({
113
108
  return /*#__PURE__*/_jsxs(React.Fragment, {
114
109
  children: [/*#__PURE__*/_jsxs("div", {
115
110
  className: [fieldBaseClass, 'api-key', 'read-only'].filter(Boolean).join(' '),
116
- children: [APIKeyLabel, /*#__PURE__*/_jsxs("div", {
117
- className: `${baseClass}__input-wrap`,
118
- children: [/*#__PURE__*/_jsx("input", {
119
- "aria-label": apiKeyLabel,
120
- className: highlightedField ? 'highlight' : undefined,
121
- disabled: true,
122
- id: "apiKey",
123
- name: "apiKey",
124
- type: showKey ? 'text' : 'password',
125
- value: value || ''
126
- }), /*#__PURE__*/_jsx("div", {
127
- className: `${baseClass}__toggle-button-wrap`,
128
- children: /*#__PURE__*/_jsx(Button, {
129
- buttonStyle: "ghost",
130
- className: `${baseClass}__toggle-button`,
131
- icon: /*#__PURE__*/_jsx(EyeIcon, {
132
- active: showKey,
133
- size: 24
134
- }),
135
- onClick: () => setShowKey(prev => !prev)
136
- })
137
- })]
111
+ children: [APIKeyLabel, /*#__PURE__*/_jsx(APIKeyInput, {
112
+ "aria-label": apiKeyLabel,
113
+ highlighted: highlightedField,
114
+ id: "apiKey",
115
+ value: value
138
116
  })]
139
117
  }), !readOnly && /*#__PURE__*/_jsx(GenerateConfirmation, {
140
118
  highlightField: highlightField,
@@ -1 +1 @@
1
- {"version":3,"file":"APIKey.js","names":["getTranslation","text","React","useEffect","useMemo","useState","v4","uuidv4","Button","CopyToClipboard","GenerateConfirmation","useFormFields","useField","EyeIcon","useConfig","useDocumentInfo","useTranslation","path","baseClass","fieldBaseClass","APIKey","enabled","readOnly","initialAPIKey","highlightedField","setHighlightedField","showKey","setShowKey","i18n","t","config","getEntityConfig","collectionSlug","apiKey","fields","apiKeyField","find","field","name","validate","val","type","blockData","data","event","maxLength","minLength","preferences","req","payload","siblingData","apiKeyValue","value","apiKeyLabel","label","APIKeyLabel","_jsxs","className","htmlFor","_jsx","fieldType","highlightField","setTimeout","setValue","Fragment","filter","Boolean","join","undefined","disabled","id","buttonStyle","icon","active","size","onClick","prev","setKey"],"sources":["../../../../src/views/Edit/Auth/APIKey.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequest, TextFieldClient } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { text } from 'payload/shared'\nimport React, { useEffect, useMemo, useState } from 'react'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { CopyToClipboard } from '../../../elements/CopyToClipboard/index.js'\nimport { GenerateConfirmation } from '../../../elements/GenerateConfirmation/index.js'\nimport { useFormFields } from '../../../forms/Form/context.js'\nimport { useField } from '../../../forms/useField/index.js'\nimport { EyeIcon } from '../../../icons/Eye/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nconst path = 'apiKey'\nconst baseClass = 'api-key'\nconst fieldBaseClass = 'field-type'\n\nexport const APIKey: React.FC<{ readonly enabled: boolean; readonly readOnly?: boolean }> = ({\n enabled,\n readOnly,\n}) => {\n const [initialAPIKey] = useState(uuidv4())\n const [highlightedField, setHighlightedField] = useState(false)\n const [showKey, setShowKey] = useState(false)\n const { i18n, t } = useTranslation()\n const { config, getEntityConfig } = useConfig()\n const { collectionSlug } = useDocumentInfo()\n\n const apiKey = useFormFields(([fields]) => (fields && fields[path]) || null)\n\n const apiKeyField: TextFieldClient = getEntityConfig({ collectionSlug })?.fields?.find(\n (field) => 'name' in field && field.name === 'apiKey',\n ) as TextFieldClient\n\n const validate = (val) =>\n text(val, {\n name: 'apiKey',\n type: 'text',\n blockData: {},\n data: {},\n event: 'onChange',\n maxLength: 48,\n minLength: 24,\n path: ['apiKey'],\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as unknown as PayloadRequest,\n siblingData: {},\n })\n\n const apiKeyValue = apiKey?.value\n\n const apiKeyLabel = useMemo(() => {\n let label: Record<string, string> | string = 'API Key'\n\n if (apiKeyField?.label) {\n label = apiKeyField.label\n }\n\n return getTranslation(label, i18n)\n }, [apiKeyField, i18n])\n\n const APIKeyLabel = useMemo(\n () => (\n <label className={`${baseClass}__label field-label`} htmlFor=\"apiKey\">\n <span>{apiKeyLabel}</span>\n <CopyToClipboard value={apiKeyValue as string} />\n </label>\n ),\n [apiKeyLabel, apiKeyValue],\n )\n\n const fieldType = useField({\n path: 'apiKey',\n validate,\n })\n\n const highlightField = () => {\n if (highlightedField) {\n setHighlightedField(false)\n }\n setTimeout(() => {\n setHighlightedField(true)\n }, 1)\n }\n\n const { setValue, value } = fieldType\n\n useEffect(() => {\n if (!apiKeyValue && enabled) {\n setValue(initialAPIKey)\n }\n if (!enabled && apiKeyValue) {\n setValue(null)\n }\n }, [apiKeyValue, enabled, setValue, initialAPIKey])\n\n useEffect(() => {\n if (highlightedField) {\n setTimeout(() => {\n setHighlightedField(false)\n }, 10000)\n }\n }, [highlightedField])\n\n if (!enabled) {\n return null\n }\n\n return (\n <React.Fragment>\n <div className={[fieldBaseClass, 'api-key', 'read-only'].filter(Boolean).join(' ')}>\n {APIKeyLabel}\n <div className={`${baseClass}__input-wrap`}>\n <input\n aria-label={apiKeyLabel}\n className={highlightedField ? 'highlight' : undefined}\n disabled\n id=\"apiKey\"\n name=\"apiKey\"\n type={showKey ? 'text' : 'password'}\n value={(value as string) || ''}\n />\n <div className={`${baseClass}__toggle-button-wrap`}>\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__toggle-button`}\n icon={<EyeIcon active={showKey} size={24} />}\n onClick={() => setShowKey((prev) => !prev)}\n />\n </div>\n </div>\n </div>\n {!readOnly && (\n <GenerateConfirmation highlightField={highlightField} setKey={() => setValue(uuidv4())} />\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"APIKey.js","names":["getTranslation","text","React","useEffect","useMemo","useState","v4","uuidv4","APIKeyInput","GenerateConfirmation","useFormFields","useField","useConfig","useDocumentInfo","useTranslation","path","baseClass","fieldBaseClass","APIKey","enabled","readOnly","initialAPIKey","highlightedField","setHighlightedField","i18n","t","config","getEntityConfig","collectionSlug","apiKey","fields","apiKeyField","find","field","name","validate","val","type","blockData","data","event","maxLength","minLength","preferences","req","payload","siblingData","apiKeyValue","value","apiKeyLabel","label","APIKeyLabel","_jsx","className","htmlFor","fieldType","highlightField","setTimeout","setValue","_jsxs","Fragment","filter","Boolean","join","highlighted","id","setKey"],"sources":["../../../../src/views/Edit/Auth/APIKey.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequest, TextFieldClient } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { text } from 'payload/shared'\nimport React, { useEffect, useMemo, useState } from 'react'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { APIKeyInput } from '../../../elements/APIKeyInput/index.js'\nimport { GenerateConfirmation } from '../../../elements/GenerateConfirmation/index.js'\nimport { useFormFields } from '../../../forms/Form/context.js'\nimport { useField } from '../../../forms/useField/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nconst path = 'apiKey'\nconst baseClass = 'api-key'\nconst fieldBaseClass = 'field-type'\n\nexport const APIKey: React.FC<{ readonly enabled: boolean; readonly readOnly?: boolean }> = ({\n enabled,\n readOnly,\n}) => {\n const [initialAPIKey] = useState(uuidv4())\n const [highlightedField, setHighlightedField] = useState(false)\n const { i18n, t } = useTranslation()\n const { config, getEntityConfig } = useConfig()\n const { collectionSlug } = useDocumentInfo()\n\n const apiKey = useFormFields(([fields]) => (fields && fields[path]) || null)\n\n const apiKeyField: TextFieldClient = getEntityConfig({ collectionSlug })?.fields?.find(\n (field) => 'name' in field && field.name === 'apiKey',\n ) as TextFieldClient\n\n const validate = (val) =>\n text(val, {\n name: 'apiKey',\n type: 'text',\n blockData: {},\n data: {},\n event: 'onChange',\n maxLength: 48,\n minLength: 24,\n path: ['apiKey'],\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as unknown as PayloadRequest,\n siblingData: {},\n })\n\n const apiKeyValue = apiKey?.value\n\n const apiKeyLabel = useMemo(() => {\n let label: Record<string, string> | string = 'API Key'\n\n if (apiKeyField?.label) {\n label = apiKeyField.label\n }\n\n return getTranslation(label, i18n)\n }, [apiKeyField, i18n])\n\n const APIKeyLabel = useMemo(\n () => (\n <label className={`${baseClass}__label field-label`} htmlFor=\"apiKey\">\n <span>{apiKeyLabel}</span>\n </label>\n ),\n [apiKeyLabel],\n )\n\n const fieldType = useField({\n path: 'apiKey',\n validate,\n })\n\n const highlightField = () => {\n if (highlightedField) {\n setHighlightedField(false)\n }\n setTimeout(() => {\n setHighlightedField(true)\n }, 1)\n }\n\n const { setValue, value } = fieldType\n\n useEffect(() => {\n if (!apiKeyValue && enabled) {\n setValue(initialAPIKey)\n }\n if (!enabled && apiKeyValue) {\n setValue(null)\n }\n }, [apiKeyValue, enabled, setValue, initialAPIKey])\n\n useEffect(() => {\n if (highlightedField) {\n setTimeout(() => {\n setHighlightedField(false)\n }, 10000)\n }\n }, [highlightedField])\n\n if (!enabled) {\n return null\n }\n\n return (\n <React.Fragment>\n <div className={[fieldBaseClass, 'api-key', 'read-only'].filter(Boolean).join(' ')}>\n {APIKeyLabel}\n <APIKeyInput\n aria-label={apiKeyLabel}\n highlighted={highlightedField}\n id=\"apiKey\"\n value={value as string}\n />\n </div>\n {!readOnly && (\n <GenerateConfirmation highlightField={highlightField} setKey={() => setValue(uuidv4())} />\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,cAAc,QAAQ;AAC/B,SAASC,IAAI,QAAQ;AACrB,OAAOC,KAAA,IAASC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ;AACpD,SAASC,EAAA,IAAMC,MAAM,QAAQ;AAE7B,SAASC,WAAW,QAAQ;AAC5B,SAASC,oBAAoB,QAAQ;AACrC,SAASC,aAAa,QAAQ;AAC9B,SAASC,QAAQ,QAAQ;AACzB,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAE/B,MAAMC,IAAA,GAAO;AACb,MAAMC,SAAA,GAAY;AAClB,MAAMC,cAAA,GAAiB;AAEvB,OAAO,MAAMC,MAAA,GAA+EA,CAAC;EAC3FC,OAAO;EACPC;AAAQ,CACT;EACC,MAAM,CAACC,aAAA,CAAc,GAAGhB,QAAA,CAASE,MAAA;EACjC,MAAM,CAACe,gBAAA,EAAkBC,mBAAA,CAAoB,GAAGlB,QAAA,CAAS;EACzD,MAAM;IAAEmB,IAAI;IAAEC;EAAC,CAAE,GAAGX,cAAA;EACpB,MAAM;IAAEY,MAAM;IAAEC;EAAe,CAAE,GAAGf,SAAA;EACpC,MAAM;IAAEgB;EAAc,CAAE,GAAGf,eAAA;EAE3B,MAAMgB,MAAA,GAASnB,aAAA,CAAc,CAAC,CAACoB,MAAA,CAAO,KAAKA,MAAC,IAAUA,MAAM,CAACf,IAAA,CAAK,IAAK;EAEvE,MAAMgB,WAAA,GAA+BJ,eAAA,CAAgB;IAAEC;EAAe,IAAIE,MAAA,EAAQE,IAAA,CAC/EC,KAAA,IAAU,UAAUA,KAAA,IAASA,KAAA,CAAMC,IAAI,KAAK;EAG/C,MAAMC,QAAA,GAAYC,GAAA,IAChBnC,IAAA,CAAKmC,GAAA,EAAK;IACRF,IAAA,EAAM;IACNG,IAAA,EAAM;IACNC,SAAA,EAAW,CAAC;IACZC,IAAA,EAAM,CAAC;IACPC,KAAA,EAAO;IACPC,SAAA,EAAW;IACXC,SAAA,EAAW;IACX3B,IAAA,EAAM,CAAC,SAAS;IAChB4B,WAAA,EAAa;MAAEb,MAAA,EAAQ,CAAC;IAAE;IAC1Bc,GAAA,EAAK;MACHC,OAAA,EAAS;QACPnB;MACF;MACAD;IACF;IACAqB,WAAA,EAAa,CAAC;EAChB;EAEF,MAAMC,WAAA,GAAclB,MAAA,EAAQmB,KAAA;EAE5B,MAAMC,WAAA,GAAc7C,OAAA,CAAQ;IAC1B,IAAI8C,KAAA,GAAyC;IAE7C,IAAInB,WAAA,EAAamB,KAAA,EAAO;MACtBA,KAAA,GAAQnB,WAAA,CAAYmB,KAAK;IAC3B;IAEA,OAAOlD,cAAA,CAAekD,KAAA,EAAO1B,IAAA;EAC/B,GAAG,CAACO,WAAA,EAAaP,IAAA,CAAK;EAEtB,MAAM2B,WAAA,GAAc/C,OAAA,CAClB,mBACEgD,IAAA,CAAC;IAAMC,SAAA,EAAW,GAAGrC,SAAA,qBAA8B;IAAEsC,OAAA,EAAQ;cAC3D,aAAAF,IAAA,CAAC;gBAAMH;;MAGX,CAACA,WAAA,CAAY;EAGf,MAAMM,SAAA,GAAY5C,QAAA,CAAS;IACzBI,IAAA,EAAM;IACNoB;EACF;EAEA,MAAMqB,cAAA,GAAiBA,CAAA;IACrB,IAAIlC,gBAAA,EAAkB;MACpBC,mBAAA,CAAoB;IACtB;IACAkC,UAAA,CAAW;MACTlC,mBAAA,CAAoB;IACtB,GAAG;EACL;EAEA,MAAM;IAAEmC,QAAQ;IAAEV;EAAK,CAAE,GAAGO,SAAA;EAE5BpD,SAAA,CAAU;IACR,IAAI,CAAC4C,WAAA,IAAe5B,OAAA,EAAS;MAC3BuC,QAAA,CAASrC,aAAA;IACX;IACA,IAAI,CAACF,OAAA,IAAW4B,WAAA,EAAa;MAC3BW,QAAA,CAAS;IACX;EACF,GAAG,CAACX,WAAA,EAAa5B,OAAA,EAASuC,QAAA,EAAUrC,aAAA,CAAc;EAElDlB,SAAA,CAAU;IACR,IAAImB,gBAAA,EAAkB;MACpBmC,UAAA,CAAW;QACTlC,mBAAA,CAAoB;MACtB,GAAG;IACL;EACF,GAAG,CAACD,gBAAA,CAAiB;EAErB,IAAI,CAACH,OAAA,EAAS;IACZ,OAAO;EACT;EAEA,oBACEwC,KAAA,CAACzD,KAAA,CAAM0D,QAAQ;4BACbD,KAAA,CAAC;MAAIN,SAAA,EAAW,CAACpC,cAAA,EAAgB,WAAW,YAAY,CAAC4C,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;iBAC3EZ,WAAA,E,aACDC,IAAA,CAAC5C,WAAA;QACC,cAAYyC,WAAA;QACZe,WAAA,EAAa1C,gBAAA;QACb2C,EAAA,EAAG;QACHjB,KAAA,EAAOA;;QAGV,CAAC5B,QAAA,iBACAgC,IAAA,CAAC3C,oBAAA;MAAqB+C,cAAA,EAAgBA,cAAA;MAAgBU,MAAA,EAAQA,CAAA,KAAMR,QAAA,CAASnD,MAAA;;;AAIrF","ignoreList":[]}