@payloadcms/ui 4.0.0-internal.d1cc1d3 → 4.0.0-internal.d21c039

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 (751) hide show
  1. package/dist/css/app.css +1 -0
  2. package/dist/css/colors.css +7 -6
  3. package/dist/css/forms.css +1 -0
  4. package/dist/css/preflight.css +1 -0
  5. package/dist/css/spacing.css +18 -0
  6. package/dist/css/typography.css +158 -14
  7. package/dist/elements/APIKeyInput/index.d.ts +2 -0
  8. package/dist/elements/APIKeyInput/index.d.ts.map +1 -1
  9. package/dist/elements/APIKeyInput/index.js +27 -29
  10. package/dist/elements/APIKeyInput/index.js.map +1 -1
  11. package/dist/elements/AppHeader/EditViewWidthSettings/index.css +6 -0
  12. package/dist/elements/AppHeader/EditViewWidthSettings/index.d.ts +4 -0
  13. package/dist/elements/AppHeader/EditViewWidthSettings/index.d.ts.map +1 -0
  14. package/dist/elements/AppHeader/EditViewWidthSettings/index.js +96 -0
  15. package/dist/elements/AppHeader/EditViewWidthSettings/index.js.map +1 -0
  16. package/dist/elements/AppHeader/SettingsMenu/index.css +5 -0
  17. package/dist/elements/AppHeader/SettingsMenu/index.d.ts +4 -0
  18. package/dist/elements/AppHeader/SettingsMenu/index.d.ts.map +1 -0
  19. package/dist/elements/AppHeader/SettingsMenu/index.js +59 -0
  20. package/dist/elements/AppHeader/SettingsMenu/index.js.map +1 -0
  21. package/dist/elements/AppHeader/TypeSizeSettings/index.d.ts +3 -0
  22. package/dist/elements/AppHeader/TypeSizeSettings/index.d.ts.map +1 -0
  23. package/dist/elements/AppHeader/TypeSizeSettings/index.js +58 -0
  24. package/dist/elements/AppHeader/TypeSizeSettings/index.js.map +1 -0
  25. package/dist/elements/AppHeader/index.css +4 -0
  26. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  27. package/dist/elements/AppHeader/index.js +3 -2
  28. package/dist/elements/AppHeader/index.js.map +1 -1
  29. package/dist/elements/ArrayAction/index.d.ts +1 -0
  30. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  31. package/dist/elements/ArrayAction/index.js +45 -32
  32. package/dist/elements/ArrayAction/index.js.map +1 -1
  33. package/dist/elements/Autosave/index.d.ts.map +1 -1
  34. package/dist/elements/Autosave/index.js +2 -3
  35. package/dist/elements/Autosave/index.js.map +1 -1
  36. package/dist/elements/Banner/index.css +4 -0
  37. package/dist/elements/Banner/index.d.ts.map +1 -1
  38. package/dist/elements/Banner/index.js +1 -0
  39. package/dist/elements/Banner/index.js.map +1 -1
  40. package/dist/elements/BulkUpload/ActionsBar/index.css +1 -0
  41. package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
  42. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  43. package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
  44. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  45. package/dist/elements/BulkUpload/AddingFilesView/index.css +2 -4
  46. package/dist/elements/BulkUpload/FileSidebar/index.css +1 -0
  47. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +1 -1
  48. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
  49. package/dist/elements/BulkUpload/FormsManager/createFormData.js +7 -3
  50. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  51. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  52. package/dist/elements/BulkUpload/FormsManager/index.js +18 -12
  53. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  54. package/dist/elements/BulkUpload/index.css +2 -0
  55. package/dist/elements/Button/index.css +2 -2
  56. package/dist/elements/Button/index.d.ts.map +1 -1
  57. package/dist/elements/Button/index.js +2 -0
  58. package/dist/elements/Button/index.js.map +1 -1
  59. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
  60. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  61. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
  62. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  63. package/dist/elements/Collapsible/index.css +1 -0
  64. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  65. package/dist/elements/CopyLocaleData/index.js +8 -9
  66. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  67. package/dist/elements/CopyToClipboard/index.d.ts +1 -0
  68. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  69. package/dist/elements/CopyToClipboard/index.js +10 -8
  70. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  71. package/dist/elements/DatePicker/index.css +2 -0
  72. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  73. package/dist/elements/DeleteMany/index.js +2 -3
  74. package/dist/elements/DeleteMany/index.js.map +1 -1
  75. package/dist/elements/Dialog/index.css +1 -0
  76. package/dist/elements/DocumentControls/index.css +1 -0
  77. package/dist/elements/DocumentFields/index.css +2 -0
  78. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +4 -1
  79. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -1
  80. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -0
  81. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  82. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +3 -2
  83. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  84. package/dist/elements/DocumentHeader/Tabs/index.css +1 -0
  85. package/dist/elements/DocumentHeader/Tabs/index.d.ts +1 -0
  86. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  87. package/dist/elements/DocumentHeader/Tabs/index.js +5 -3
  88. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  89. package/dist/elements/DocumentHeader/index.css +22 -2
  90. package/dist/elements/DocumentHeader/index.d.ts +1 -0
  91. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  92. package/dist/elements/DocumentHeader/index.js +6 -3
  93. package/dist/elements/DocumentHeader/index.js.map +1 -1
  94. package/dist/elements/Drawer/index.css +10 -4
  95. package/dist/elements/Dropzone/index.css +10 -4
  96. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
  97. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  98. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  99. package/dist/elements/DuplicateDocument/index.js +2 -3
  100. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  101. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  102. package/dist/elements/EditMany/DrawerContent.js +2 -3
  103. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  104. package/dist/elements/EditUpload/index.css +1 -1
  105. package/dist/elements/FieldDiffContainer/index.css +1 -0
  106. package/dist/elements/FieldDiffLabel/index.css +1 -0
  107. package/dist/elements/FileDetails/StaticFileDetails/index.css +2 -0
  108. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
  109. package/dist/elements/FileManager/FileToolbar/index.js +3 -0
  110. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
  111. package/dist/elements/FileManager/index.css +0 -30
  112. package/dist/elements/FileManager/index.d.ts.map +1 -1
  113. package/dist/elements/FileManager/index.js +379 -287
  114. package/dist/elements/FileManager/index.js.map +1 -1
  115. package/dist/elements/HTMLDiff/index.css +1 -0
  116. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  117. package/dist/elements/Hierarchy/MoveMany/index.js +2 -3
  118. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  119. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  120. package/dist/elements/Hierarchy/Search/useHierarchySearch.js +2 -3
  121. package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
  122. package/dist/elements/IDLabel/index.css +6 -0
  123. package/dist/elements/IDLabel/index.d.ts +1 -1
  124. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  125. package/dist/elements/IDLabel/index.js +16 -21
  126. package/dist/elements/IDLabel/index.js.map +1 -1
  127. package/dist/elements/ItemsDrawer/index.css +3 -0
  128. package/dist/elements/ListControls/index.css +10 -4
  129. package/dist/elements/ListControls/index.d.ts.map +1 -1
  130. package/dist/elements/ListControls/index.js +7 -1
  131. package/dist/elements/ListControls/index.js.map +1 -1
  132. package/dist/elements/ListControls/types.d.ts +3 -1
  133. package/dist/elements/ListControls/types.d.ts.map +1 -1
  134. package/dist/elements/ListControls/types.js.map +1 -1
  135. package/dist/elements/ListControlsBar/index.css +8 -3
  136. package/dist/elements/ListControlsBar/index.js +4 -1
  137. package/dist/elements/ListControlsBar/index.js.map +1 -1
  138. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
  139. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
  140. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
  141. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  142. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
  143. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +3 -4
  144. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  145. package/dist/elements/ListHeader/index.css +6 -1
  146. package/dist/elements/LivePreview/Window/index.css +1 -0
  147. package/dist/elements/LivePreview/Window/index.js +1 -1
  148. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  149. package/dist/elements/Localizer/index.js +1 -1
  150. package/dist/elements/Localizer/index.js.map +1 -1
  151. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +3 -2
  152. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
  153. package/dist/elements/Nav/index.css +2 -0
  154. package/dist/elements/PageControls/index.css +1 -0
  155. package/dist/elements/PillSelector/index.css +1 -0
  156. package/dist/elements/Popup/PopupButtonList/index.css +1 -1
  157. package/dist/elements/Popup/index.js +1 -1
  158. package/dist/elements/Popup/index.js.map +1 -1
  159. package/dist/elements/PreviewSizes/index.css +2 -0
  160. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  161. package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
  162. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  163. package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts +1 -1
  164. package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts.map +1 -1
  165. package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
  166. package/dist/elements/PublishButton/index.css +1 -0
  167. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  168. package/dist/elements/PublishButton/index.js +16 -31
  169. package/dist/elements/PublishButton/index.js.map +1 -1
  170. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  171. package/dist/elements/PublishMany/DrawerContent.js +2 -3
  172. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  173. package/dist/elements/QueryPresets/QueryPresetBar/index.d.ts.map +1 -1
  174. package/dist/elements/QueryPresets/QueryPresetBar/index.js +15 -4
  175. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  176. package/dist/elements/QueryPresets/fields/Heading/index.css +1 -0
  177. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  178. package/dist/elements/RelationshipTable/index.js +5 -2
  179. package/dist/elements/RelationshipTable/index.js.map +1 -1
  180. package/dist/elements/RenderTitle/index.css +12 -0
  181. package/dist/elements/RenderTitle/index.d.ts +1 -0
  182. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  183. package/dist/elements/RenderTitle/index.js +30 -17
  184. package/dist/elements/RenderTitle/index.js.map +1 -1
  185. package/dist/elements/RestoreMany/index.d.ts.map +1 -1
  186. package/dist/elements/RestoreMany/index.js +2 -3
  187. package/dist/elements/RestoreMany/index.js.map +1 -1
  188. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  189. package/dist/elements/SaveDraftButton/index.js +2 -3
  190. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  191. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  192. package/dist/elements/SortHeader/index.js +29 -26
  193. package/dist/elements/SortHeader/index.js.map +1 -1
  194. package/dist/elements/Status/index.d.ts.map +1 -1
  195. package/dist/elements/Status/index.js +2 -3
  196. package/dist/elements/Status/index.js.map +1 -1
  197. package/dist/elements/StepNav/index.css +64 -14
  198. package/dist/elements/StepNav/index.d.ts.map +1 -1
  199. package/dist/elements/StepNav/index.js +143 -69
  200. package/dist/elements/StepNav/index.js.map +1 -1
  201. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  202. package/dist/elements/Table/DefaultCell/index.js +3 -11
  203. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  204. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  205. package/dist/elements/Table/OrderableTable.js +2 -3
  206. package/dist/elements/Table/OrderableTable.js.map +1 -1
  207. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  208. package/dist/elements/Table/RelationshipProvider/index.js +2 -3
  209. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  210. package/dist/elements/Table/index.css +1 -0
  211. package/dist/elements/TableSection/index.css +1 -0
  212. package/dist/elements/Tabs/index.css +1 -0
  213. package/dist/elements/Thumbnail/index.css +1 -0
  214. package/dist/elements/TimezonePicker/index.css +1 -0
  215. package/dist/elements/Tooltip/index.css +7 -0
  216. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  217. package/dist/elements/UnpublishButton/index.js +3 -4
  218. package/dist/elements/UnpublishButton/index.js.map +1 -1
  219. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  220. package/dist/elements/UnpublishMany/DrawerContent.js +2 -3
  221. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  222. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
  223. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
  224. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
  225. package/dist/elements/Upload/index.css +39 -32
  226. package/dist/elements/Upload/index.d.ts.map +1 -1
  227. package/dist/elements/Upload/index.js +37 -99
  228. package/dist/elements/Upload/index.js.map +1 -1
  229. package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
  230. package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
  231. package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
  232. package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
  233. package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
  234. package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
  235. package/dist/elements/Upload/useUploadFromUrl.js +201 -0
  236. package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
  237. package/dist/elements/UploadDropzoneContent/index.css +31 -0
  238. package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
  239. package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
  240. package/dist/elements/UploadDropzoneContent/index.js +62 -0
  241. package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
  242. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +1 -1
  243. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  244. package/dist/elements/WhereBuilder/Condition/index.css +1 -0
  245. package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
  246. package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
  247. package/dist/elements/WhereBuilder/conditionValue.js +32 -0
  248. package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
  249. package/dist/elements/WhereBuilder/index.css +2 -0
  250. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  251. package/dist/elements/WhereBuilder/index.js +15 -4
  252. package/dist/elements/WhereBuilder/index.js.map +1 -1
  253. package/dist/exports/client/index.d.ts +4 -1
  254. package/dist/exports/client/index.d.ts.map +1 -1
  255. package/dist/exports/client/index.js +1 -1
  256. package/dist/exports/client/index.js.map +3 -3
  257. package/dist/exports/rsc/index.d.ts +2 -0
  258. package/dist/exports/rsc/index.d.ts.map +1 -1
  259. package/dist/exports/rsc/index.js +2 -0
  260. package/dist/exports/rsc/index.js.map +1 -1
  261. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  262. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  263. package/dist/fields/Array/ArrayRow.js +2 -0
  264. package/dist/fields/Array/ArrayRow.js.map +1 -1
  265. package/dist/fields/Array/index.css +1 -0
  266. package/dist/fields/Array/index.d.ts.map +1 -1
  267. package/dist/fields/Array/index.js +40 -13
  268. package/dist/fields/Array/index.js.map +1 -1
  269. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  270. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  271. package/dist/fields/Blocks/BlockRow.js +2 -0
  272. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  273. package/dist/fields/Blocks/RowActions.d.ts +1 -0
  274. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  275. package/dist/fields/Blocks/RowActions.js +22 -19
  276. package/dist/fields/Blocks/RowActions.js.map +1 -1
  277. package/dist/fields/Blocks/index.css +1 -0
  278. package/dist/fields/Blocks/index.d.ts.map +1 -1
  279. package/dist/fields/Blocks/index.js +37 -10
  280. package/dist/fields/Blocks/index.js.map +1 -1
  281. package/dist/fields/Checkbox/Input.d.ts +2 -2
  282. package/dist/fields/Checkbox/Input.js.map +1 -1
  283. package/dist/fields/Checkbox/index.css +48 -67
  284. package/dist/fields/FieldDescription/index.css +5 -0
  285. package/dist/fields/FieldLabel/index.css +22 -28
  286. package/dist/fields/FieldLabel/index.js +7 -8
  287. package/dist/fields/FieldLabel/index.js.map +1 -1
  288. package/dist/fields/Group/index.css +11 -4
  289. package/dist/fields/RadioGroup/Radio/index.css +42 -19
  290. package/dist/fields/RadioGroup/index.css +2 -20
  291. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  292. package/dist/fields/Relationship/Input.js +2 -3
  293. package/dist/fields/Relationship/Input.js.map +1 -1
  294. package/dist/fields/Row/index.css +2 -0
  295. package/dist/fields/Slug/index.d.ts.map +1 -1
  296. package/dist/fields/Slug/index.js +2 -3
  297. package/dist/fields/Slug/index.js.map +1 -1
  298. package/dist/fields/Tabs/index.css +9 -0
  299. package/dist/fields/Textarea/index.css +1 -1
  300. package/dist/fields/Upload/Input.d.ts.map +1 -1
  301. package/dist/fields/Upload/Input.js +46 -19
  302. package/dist/fields/Upload/Input.js.map +1 -1
  303. package/dist/fields/shared/index.d.ts +1 -1
  304. package/dist/fields/shared/index.d.ts.map +1 -1
  305. package/dist/fields/shared/index.js.map +1 -1
  306. package/dist/forms/Form/context.d.ts +3 -1
  307. package/dist/forms/Form/context.d.ts.map +1 -1
  308. package/dist/forms/Form/context.js +3 -1
  309. package/dist/forms/Form/context.js.map +1 -1
  310. package/dist/forms/Form/index.d.ts.map +1 -1
  311. package/dist/forms/Form/index.js +19 -8
  312. package/dist/forms/Form/index.js.map +1 -1
  313. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  314. package/dist/forms/NullifyField/index.js +2 -3
  315. package/dist/forms/NullifyField/index.js.map +1 -1
  316. package/dist/forms/RenderFields/index.css +1 -7
  317. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  318. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -0
  319. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  320. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  321. package/dist/forms/fieldSchemasToFormState/renderField.js +3 -2
  322. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  323. package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.d.ts +12 -0
  324. package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.d.ts.map +1 -0
  325. package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.js +42 -0
  326. package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.js.map +1 -0
  327. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts +8 -6
  328. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +1 -1
  329. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +22 -9
  330. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
  331. package/dist/forms/fieldSchemasToFormState/types.d.ts +1 -0
  332. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  333. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  334. package/dist/hooks/useControllableState.js +3 -3
  335. package/dist/hooks/useControllableState.js.map +1 -1
  336. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  337. package/dist/hooks/usePayloadAPI.js +2 -3
  338. package/dist/hooks/usePayloadAPI.js.map +1 -1
  339. package/dist/icons/Edit/index.d.ts +0 -1
  340. package/dist/icons/Edit/index.d.ts.map +1 -1
  341. package/dist/icons/Edit/index.js +4 -4
  342. package/dist/icons/Edit/index.js.map +1 -1
  343. package/dist/layouts/Root/index.d.ts.map +1 -1
  344. package/dist/layouts/Root/index.js +22 -5
  345. package/dist/layouts/Root/index.js.map +1 -1
  346. package/dist/providers/Actions/index.d.ts +1 -0
  347. package/dist/providers/Actions/index.d.ts.map +1 -1
  348. package/dist/providers/Actions/index.js +43 -11
  349. package/dist/providers/Actions/index.js.map +1 -1
  350. package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
  351. package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
  352. package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
  353. package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
  354. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
  355. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
  356. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
  357. package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
  358. package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
  359. package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
  360. package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
  361. package/dist/providers/Auth/authSessionRequests.js +119 -0
  362. package/dist/providers/Auth/authSessionRequests.js.map +1 -0
  363. package/dist/providers/Auth/index.d.ts +2 -56
  364. package/dist/providers/Auth/index.d.ts.map +1 -1
  365. package/dist/providers/Auth/index.js +283 -135
  366. package/dist/providers/Auth/index.js.map +1 -1
  367. package/dist/providers/Auth/sessionActivity.d.ts +23 -0
  368. package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
  369. package/dist/providers/Auth/sessionActivity.js +49 -0
  370. package/dist/providers/Auth/sessionActivity.js.map +1 -0
  371. package/dist/providers/Auth/sessionTiming.d.ts +11 -0
  372. package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
  373. package/dist/providers/Auth/sessionTiming.js +18 -0
  374. package/dist/providers/Auth/sessionTiming.js.map +1 -0
  375. package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
  376. package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
  377. package/dist/providers/Auth/tabSessionSync/index.js +263 -0
  378. package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
  379. package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
  380. package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
  381. package/dist/providers/Auth/tabSessionSync/types.js +6 -0
  382. package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
  383. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
  384. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
  385. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
  386. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
  387. package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
  388. package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
  389. package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
  390. package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
  391. package/dist/providers/Auth/types.d.ts +65 -0
  392. package/dist/providers/Auth/types.d.ts.map +1 -0
  393. package/dist/providers/Auth/types.js +2 -0
  394. package/dist/providers/Auth/types.js.map +1 -0
  395. package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
  396. package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
  397. package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
  398. package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
  399. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  400. package/dist/providers/DocumentInfo/index.js +32 -22
  401. package/dist/providers/DocumentInfo/index.js.map +1 -1
  402. package/dist/providers/FormErrorHandler/index.d.ts +5 -1
  403. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -1
  404. package/dist/providers/FormErrorHandler/index.js.map +1 -1
  405. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  406. package/dist/providers/LivePreview/index.js +13 -6
  407. package/dist/providers/LivePreview/index.js.map +1 -1
  408. package/dist/providers/Locale/index.d.ts +1 -5
  409. package/dist/providers/Locale/index.d.ts.map +1 -1
  410. package/dist/providers/Locale/index.js +64 -138
  411. package/dist/providers/Locale/index.js.map +1 -1
  412. package/dist/providers/Root/index.d.ts +5 -1
  413. package/dist/providers/Root/index.d.ts.map +1 -1
  414. package/dist/providers/Root/index.js +32 -20
  415. package/dist/providers/Root/index.js.map +1 -1
  416. package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
  417. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  418. package/dist/providers/RouteTransition/index.d.ts +2 -0
  419. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  420. package/dist/providers/RouteTransition/index.js +42 -14
  421. package/dist/providers/RouteTransition/index.js.map +1 -1
  422. package/dist/providers/Selection/index.d.ts.map +1 -1
  423. package/dist/providers/Selection/index.js +2 -3
  424. package/dist/providers/Selection/index.js.map +1 -1
  425. package/dist/providers/ServerFunctions/index.d.ts +5 -1
  426. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  427. package/dist/providers/ServerFunctions/index.js +15 -0
  428. package/dist/providers/ServerFunctions/index.js.map +1 -1
  429. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  430. package/dist/providers/TableColumns/buildColumnState/index.js +0 -1
  431. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  432. package/dist/providers/Theme/index.d.ts +22 -1
  433. package/dist/providers/Theme/index.d.ts.map +1 -1
  434. package/dist/providers/Theme/index.js +313 -84
  435. package/dist/providers/Theme/index.js.map +1 -1
  436. package/dist/providers/Theme/shared.d.ts +8 -0
  437. package/dist/providers/Theme/shared.d.ts.map +1 -1
  438. package/dist/providers/Theme/shared.js +6 -0
  439. package/dist/providers/Theme/shared.js.map +1 -1
  440. package/dist/styles.css +186 -21
  441. package/dist/templates/Default/Wrapper/index.css +2 -0
  442. package/dist/templates/Default/index.css +1 -0
  443. package/dist/templates/Default/index.d.ts +1 -0
  444. package/dist/templates/Default/index.d.ts.map +1 -1
  445. package/dist/templates/Default/index.js +2 -0
  446. package/dist/templates/Default/index.js.map +1 -1
  447. package/dist/utilities/buildFormState.d.ts.map +1 -1
  448. package/dist/utilities/buildFormState.js +6 -2
  449. package/dist/utilities/buildFormState.js.map +1 -1
  450. package/dist/utilities/formatAbsoluteURL.d.ts +1 -1
  451. package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
  452. package/dist/utilities/formatAbsoluteURL.js +18 -8
  453. package/dist/utilities/formatAbsoluteURL.js.map +1 -1
  454. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  455. package/dist/utilities/formatMetadata.js +0 -5
  456. package/dist/utilities/formatMetadata.js.map +1 -1
  457. package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
  458. package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
  459. package/dist/utilities/getFilesFromClipboard.js +49 -0
  460. package/dist/utilities/getFilesFromClipboard.js.map +1 -0
  461. package/dist/utilities/getHasScheduledPublish.d.ts +2 -3
  462. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  463. package/dist/utilities/getHasScheduledPublish.js +2 -5
  464. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  465. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  466. package/dist/utilities/handleAuthRedirect.js +4 -1
  467. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  468. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  469. package/dist/utilities/handleServerFunctions.js +4 -2
  470. package/dist/utilities/handleServerFunctions.js.map +1 -1
  471. package/dist/utilities/initReq.d.ts.map +1 -1
  472. package/dist/utilities/initReq.js +40 -5
  473. package/dist/utilities/initReq.js.map +1 -1
  474. package/dist/utilities/isAbsoluteURL.d.ts +3 -0
  475. package/dist/utilities/isAbsoluteURL.d.ts.map +1 -0
  476. package/dist/utilities/isAbsoluteURL.js +15 -0
  477. package/dist/utilities/isAbsoluteURL.js.map +1 -0
  478. package/dist/utilities/isHttpURL.d.ts +3 -0
  479. package/dist/utilities/isHttpURL.d.ts.map +1 -0
  480. package/dist/utilities/isHttpURL.js +12 -0
  481. package/dist/utilities/isHttpURL.js.map +1 -0
  482. package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
  483. package/dist/utilities/isPathMatchingRoute.js +7 -5
  484. package/dist/utilities/isPathMatchingRoute.js.map +1 -1
  485. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
  486. package/dist/utilities/isPublicAdminRoute.js +9 -6
  487. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  488. package/dist/utilities/schedulePublishHandler.d.ts +8 -1
  489. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  490. package/dist/utilities/schedulePublishHandler.js +72 -5
  491. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  492. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  493. package/dist/utilities/serverFunctionRegistry.js +2 -1
  494. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  495. package/dist/utilities/slugify.d.ts.map +1 -1
  496. package/dist/utilities/slugify.js +3 -0
  497. package/dist/utilities/slugify.js.map +1 -1
  498. package/dist/views/API/index.client.d.ts.map +1 -1
  499. package/dist/views/API/index.client.js +2 -3
  500. package/dist/views/API/index.client.js.map +1 -1
  501. package/dist/views/API/index.css +9 -0
  502. package/dist/views/Account/index.d.ts +1 -1
  503. package/dist/views/Account/index.d.ts.map +1 -1
  504. package/dist/views/Account/index.js +8 -5
  505. package/dist/views/Account/index.js.map +1 -1
  506. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  507. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
  508. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  509. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  510. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
  511. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  512. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  513. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
  514. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  515. package/dist/views/Dashboard/Default/ModularDashboard/index.css +35 -140
  516. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts.map +1 -1
  517. package/dist/views/Dashboard/Default/ModularDashboard/index.js +1 -0
  518. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  519. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts.map +1 -1
  520. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +3 -1
  521. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
  522. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts.map +1 -1
  523. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +2 -0
  524. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  525. package/dist/views/Dashboard/index.d.ts.map +1 -1
  526. package/dist/views/Dashboard/index.js +2 -3
  527. package/dist/views/Dashboard/index.js.map +1 -1
  528. package/dist/views/Document/handleServerFunction.d.ts.map +1 -1
  529. package/dist/views/Document/handleServerFunction.js +2 -0
  530. package/dist/views/Document/handleServerFunction.js.map +1 -1
  531. package/dist/views/Document/index.d.ts +1 -1
  532. package/dist/views/Document/index.d.ts.map +1 -1
  533. package/dist/views/Document/index.js +10 -6
  534. package/dist/views/Document/index.js.map +1 -1
  535. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  536. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  537. package/dist/views/Document/renderDocumentSlots.js +7 -4
  538. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  539. package/dist/views/Edit/Auth/APIKey.d.ts +1 -1
  540. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  541. package/dist/views/Edit/Auth/APIKey.js +233 -59
  542. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  543. package/dist/views/Edit/Auth/APIKeyGenerationModal.d.ts +12 -0
  544. package/dist/views/Edit/Auth/APIKeyGenerationModal.d.ts.map +1 -0
  545. package/dist/views/Edit/Auth/APIKeyGenerationModal.js +117 -0
  546. package/dist/views/Edit/Auth/APIKeyGenerationModal.js.map +1 -0
  547. package/dist/views/Edit/Auth/index.css +91 -0
  548. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  549. package/dist/views/Edit/Auth/index.js +10 -28
  550. package/dist/views/Edit/Auth/index.js.map +1 -1
  551. package/dist/views/Edit/Auth/types.d.ts +3 -1
  552. package/dist/views/Edit/Auth/types.d.ts.map +1 -1
  553. package/dist/views/Edit/Auth/types.js.map +1 -1
  554. package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
  555. package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
  556. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  557. package/dist/views/Edit/index.css +19 -0
  558. package/dist/views/Edit/index.d.ts.map +1 -1
  559. package/dist/views/Edit/index.js +16 -2
  560. package/dist/views/Edit/index.js.map +1 -1
  561. package/dist/views/Edit/useEditViewWidth.d.ts +8 -0
  562. package/dist/views/Edit/useEditViewWidth.d.ts.map +1 -0
  563. package/dist/views/Edit/useEditViewWidth.js +56 -0
  564. package/dist/views/Edit/useEditViewWidth.js.map +1 -0
  565. package/dist/views/ForgotPassword/ForgotPasswordForm/index.css +14 -0
  566. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  567. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +209 -161
  568. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  569. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  570. package/dist/views/ForgotPassword/index.js +2 -11
  571. package/dist/views/ForgotPassword/index.js.map +1 -1
  572. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +1 -0
  573. package/dist/views/HierarchyList/index.css +16 -0
  574. package/dist/views/List/ListHeader/index.css +6 -0
  575. package/dist/views/List/ListHeader/index.d.ts +1 -11
  576. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  577. package/dist/views/List/ListHeader/index.js +3 -9
  578. package/dist/views/List/ListHeader/index.js.map +1 -1
  579. package/dist/views/List/handleServerFunction.d.ts.map +1 -1
  580. package/dist/views/List/handleServerFunction.js +3 -1
  581. package/dist/views/List/handleServerFunction.js.map +1 -1
  582. package/dist/views/List/index.client.d.ts.map +1 -1
  583. package/dist/views/List/index.client.js +3 -16
  584. package/dist/views/List/index.client.js.map +1 -1
  585. package/dist/views/List/index.css +19 -0
  586. package/dist/views/List/index.d.ts.map +1 -1
  587. package/dist/views/List/index.js +2 -1
  588. package/dist/views/List/index.js.map +1 -1
  589. package/dist/views/NotFound/client.d.ts +2 -0
  590. package/dist/views/NotFound/client.d.ts.map +1 -0
  591. package/dist/views/NotFound/client.js +4 -0
  592. package/dist/views/NotFound/client.js.map +1 -0
  593. package/dist/views/NotFound/page.d.ts.map +1 -1
  594. package/dist/views/NotFound/page.js +4 -3
  595. package/dist/views/NotFound/page.js.map +1 -1
  596. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  597. package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
  598. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  599. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
  600. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  601. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  602. package/dist/views/Root/index.d.ts.map +1 -1
  603. package/dist/views/Root/index.js +32 -22
  604. package/dist/views/Root/index.js.map +1 -1
  605. package/dist/views/Verify/index.d.ts +1 -1
  606. package/dist/views/Verify/index.d.ts.map +1 -1
  607. package/dist/views/Verify/index.js +4 -4
  608. package/dist/views/Verify/index.js.map +1 -1
  609. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  610. package/dist/views/Version/Default/SetStepNav.js +10 -13
  611. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  612. package/dist/views/Version/Default/index.css +29 -9
  613. package/dist/views/Version/Default/index.d.ts.map +1 -1
  614. package/dist/views/Version/Default/index.js +16 -13
  615. package/dist/views/Version/Default/index.js.map +1 -1
  616. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +1 -0
  617. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
  618. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +56 -50
  619. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  620. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  621. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +41 -27
  622. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  623. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.css +8 -0
  624. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  625. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +10 -0
  626. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  627. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +1 -0
  628. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.css +1 -0
  629. package/dist/views/Version/RenderFieldsToDiff/index.css +2 -0
  630. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  631. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +33 -1
  632. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  633. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +8 -2
  634. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
  635. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +17 -19
  636. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  637. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  638. package/dist/views/Version/Restore/index.js +9 -6
  639. package/dist/views/Version/Restore/index.js.map +1 -1
  640. package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
  641. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
  642. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js +2 -3
  643. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
  644. package/dist/views/Versions/VersionPillLabel/index.css +1 -0
  645. package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
  646. package/dist/views/Versions/index.css +7 -0
  647. package/dist/widgets/CollectionCards/index.client.js +1 -1
  648. package/dist/widgets/CollectionCards/index.client.js.map +1 -1
  649. package/dist/widgets/CollectionCards/index.css +40 -35
  650. package/dist/widgets/CollectionCards/index.js +1 -1
  651. package/dist/widgets/CollectionCards/index.js.map +1 -1
  652. package/dist/widgets/RecentlyViewed/DocumentActivity/index.css +184 -0
  653. package/dist/widgets/RecentlyViewed/DocumentActivity/index.d.ts +5 -0
  654. package/dist/widgets/RecentlyViewed/DocumentActivity/index.d.ts.map +1 -0
  655. package/dist/widgets/RecentlyViewed/DocumentActivity/index.js +225 -0
  656. package/dist/widgets/RecentlyViewed/DocumentActivity/index.js.map +1 -0
  657. package/dist/widgets/RecentlyViewed/DocumentItem/index.css +180 -0
  658. package/dist/widgets/RecentlyViewed/DocumentItem/index.d.ts +11 -0
  659. package/dist/widgets/RecentlyViewed/DocumentItem/index.d.ts.map +1 -0
  660. package/dist/widgets/RecentlyViewed/DocumentItem/index.js +104 -0
  661. package/dist/widgets/RecentlyViewed/DocumentItem/index.js.map +1 -0
  662. package/dist/widgets/RecentlyViewed/getDocumentThumbnail.d.ts +10 -0
  663. package/dist/widgets/RecentlyViewed/getDocumentThumbnail.d.ts.map +1 -0
  664. package/dist/widgets/RecentlyViewed/getDocumentThumbnail.js +85 -0
  665. package/dist/widgets/RecentlyViewed/getDocumentThumbnail.js.map +1 -0
  666. package/dist/widgets/RecentlyViewed/getDocumentWidgetData.d.ts +7 -0
  667. package/dist/widgets/RecentlyViewed/getDocumentWidgetData.d.ts.map +1 -0
  668. package/dist/widgets/RecentlyViewed/getDocumentWidgetData.js +206 -0
  669. package/dist/widgets/RecentlyViewed/getDocumentWidgetData.js.map +1 -0
  670. package/dist/widgets/RecentlyViewed/index.d.ts +3 -5
  671. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -1
  672. package/dist/widgets/RecentlyViewed/index.js +10 -140
  673. package/dist/widgets/RecentlyViewed/index.js.map +1 -1
  674. package/dist/widgets/RecentlyViewed/shared.d.ts +38 -0
  675. package/dist/widgets/RecentlyViewed/shared.d.ts.map +1 -0
  676. package/dist/widgets/RecentlyViewed/shared.js +70 -0
  677. package/dist/widgets/RecentlyViewed/shared.js.map +1 -0
  678. package/dist/widgets/UploadDropzone/index.client.d.ts +7 -0
  679. package/dist/widgets/UploadDropzone/index.client.d.ts.map +1 -0
  680. package/dist/widgets/UploadDropzone/index.client.js +134 -0
  681. package/dist/widgets/UploadDropzone/index.client.js.map +1 -0
  682. package/dist/widgets/UploadDropzone/index.css +50 -0
  683. package/dist/widgets/UploadDropzone/index.d.ts +8 -0
  684. package/dist/widgets/UploadDropzone/index.d.ts.map +1 -0
  685. package/dist/widgets/UploadDropzone/index.js +29 -0
  686. package/dist/widgets/UploadDropzone/index.js.map +1 -0
  687. package/dist/widgets/Welcome/index.css +13 -0
  688. package/dist/widgets/Welcome/index.d.ts +5 -0
  689. package/dist/widgets/Welcome/index.d.ts.map +1 -0
  690. package/dist/widgets/Welcome/index.js +26 -0
  691. package/dist/widgets/Welcome/index.js.map +1 -0
  692. package/dist/widgets/WidgetIcon/assets/images.svg +3 -0
  693. package/dist/widgets/WidgetIcon/assets/pin-solid.svg +3 -0
  694. package/dist/widgets/WidgetIcon/assets/pin.svg +3 -0
  695. package/dist/widgets/WidgetIcon/assets/table.svg +3 -0
  696. package/dist/widgets/WidgetIcon/index.css +23 -0
  697. package/dist/widgets/WidgetIcon/index.d.ts +6 -0
  698. package/dist/widgets/WidgetIcon/index.d.ts.map +1 -0
  699. package/dist/widgets/WidgetIcon/index.js +10 -0
  700. package/dist/widgets/WidgetIcon/index.js.map +1 -0
  701. package/package.json +11 -5
  702. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +0 -120
  703. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +0 -1
  704. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +0 -144
  705. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +0 -1
  706. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +0 -541
  707. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +0 -1
  708. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js +0 -87
  709. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +0 -1
  710. package/dist/elements/CommandPalette/buildActions.spec.js +0 -158
  711. package/dist/elements/CommandPalette/buildActions.spec.js.map +0 -1
  712. package/dist/elements/CommandPalette/highlightLabel.spec.js +0 -78
  713. package/dist/elements/CommandPalette/highlightLabel.spec.js.map +0 -1
  714. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +0 -143
  715. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +0 -1
  716. package/dist/elements/Toasts/fieldErrors.spec.js +0 -46
  717. package/dist/elements/Toasts/fieldErrors.spec.js.map +0 -1
  718. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.spec.js +0 -152
  719. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.spec.js.map +0 -1
  720. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.d.ts +0 -2
  721. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.d.ts.map +0 -1
  722. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +0 -67
  723. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +0 -1
  724. package/dist/layouts/Root/index.spec.js +0 -20
  725. package/dist/layouts/Root/index.spec.js.map +0 -1
  726. package/dist/providers/TableColumns/buildColumnState/index.spec.js +0 -40
  727. package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +0 -1
  728. package/dist/utilities/appendCacheTag.spec.js +0 -34
  729. package/dist/utilities/appendCacheTag.spec.js.map +0 -1
  730. package/dist/utilities/formatMetadata.spec.js +0 -83
  731. package/dist/utilities/formatMetadata.spec.js.map +0 -1
  732. package/dist/utilities/fuzzyMatch.spec.js +0 -38
  733. package/dist/utilities/fuzzyMatch.spec.js.map +0 -1
  734. package/dist/utilities/isCustomAdminView.spec.js +0 -90
  735. package/dist/utilities/isCustomAdminView.spec.js.map +0 -1
  736. package/dist/utilities/isPathMatchingRoute.spec.js +0 -178
  737. package/dist/utilities/isPathMatchingRoute.spec.js.map +0 -1
  738. package/dist/utilities/normalizeRelationshipValue.spec.js +0 -373
  739. package/dist/utilities/normalizeRelationshipValue.spec.js.map +0 -1
  740. package/dist/utilities/recentlyViewed.spec.js +0 -92
  741. package/dist/utilities/recentlyViewed.spec.js.map +0 -1
  742. package/dist/views/Root/getCustomCollectionViewByRoute.spec.js +0 -168
  743. package/dist/views/Root/getCustomCollectionViewByRoute.spec.js.map +0 -1
  744. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +0 -861
  745. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +0 -1
  746. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +0 -47
  747. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +0 -1
  748. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +0 -135
  749. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +0 -1
  750. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +0 -100
  751. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +0 -1
@@ -0,0 +1,85 @@
1
+ export const getValueAtPath = ({
2
+ path,
3
+ value
4
+ }) => {
5
+ return path.split('.').reduce((current, key) => {
6
+ const object = Array.isArray(current) ? current[0] : current;
7
+ return object && typeof object === 'object' ? object[key] : undefined;
8
+ }, value);
9
+ };
10
+ export const getDocumentThumbnail = ({
11
+ collection,
12
+ doc
13
+ }) => {
14
+ if (collection.upload) {
15
+ return getImageURL({
16
+ value: doc
17
+ });
18
+ }
19
+ const path = collection.admin.useAsThumbnail || findUploadPath({
20
+ fields: collection.fields
21
+ });
22
+ return path ? getImageURL({
23
+ value: getValueAtPath({
24
+ path,
25
+ value: doc
26
+ })
27
+ }) : undefined;
28
+ };
29
+ function getImageURL({
30
+ value
31
+ }) {
32
+ if (Array.isArray(value)) {
33
+ return getImageURL({
34
+ value: value[0]
35
+ });
36
+ }
37
+ if (!value || typeof value !== 'object') {
38
+ return undefined;
39
+ }
40
+ if ('value' in value) {
41
+ return getImageURL({
42
+ value: value.value
43
+ });
44
+ }
45
+ if ('thumbnailURL' in value && typeof value.thumbnailURL === 'string') {
46
+ return value.thumbnailURL;
47
+ }
48
+ if ('mimeType' in value && typeof value.mimeType === 'string' && value.mimeType.startsWith('image/') && 'url' in value && typeof value.url === 'string') {
49
+ return value.url;
50
+ }
51
+ return undefined;
52
+ }
53
+ function findUploadPath({
54
+ fields,
55
+ prefix = ''
56
+ }) {
57
+ for (const field of fields) {
58
+ const path = 'name' in field ? `${prefix}${field.name}` : prefix.replace(/\.$/, '');
59
+ if (field.type === 'upload') {
60
+ return path;
61
+ }
62
+ if ('fields' in field) {
63
+ const result = findUploadPath({
64
+ fields: field.fields,
65
+ prefix: path ? `${path}.` : ''
66
+ });
67
+ if (result) {
68
+ return result;
69
+ }
70
+ }
71
+ if (field.type === 'tabs') {
72
+ for (const tab of field.tabs) {
73
+ const result = findUploadPath({
74
+ fields: tab.fields,
75
+ prefix: 'name' in tab && tab.name ? `${prefix}${tab.name}.` : prefix
76
+ });
77
+ if (result) {
78
+ return result;
79
+ }
80
+ }
81
+ }
82
+ }
83
+ return undefined;
84
+ }
85
+ //# sourceMappingURL=getDocumentThumbnail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDocumentThumbnail.js","names":["getValueAtPath","path","value","split","reduce","current","key","object","Array","isArray","undefined","getDocumentThumbnail","collection","doc","upload","getImageURL","admin","useAsThumbnail","findUploadPath","fields","thumbnailURL","mimeType","startsWith","url","prefix","field","name","replace","type","result","tab","tabs"],"sources":["../../../src/widgets/RecentlyViewed/getDocumentThumbnail.ts"],"sourcesContent":["import type { Field, SanitizedCollectionConfig } from 'payload'\n\nexport const getValueAtPath = ({ path, value }: { path: string; value: unknown }): unknown => {\n return path.split('.').reduce<unknown>((current, key) => {\n const object = Array.isArray(current) ? current[0] : current\n return object && typeof object === 'object' ? object[key] : undefined\n }, value)\n}\n\nexport const getDocumentThumbnail = ({\n collection,\n doc,\n}: {\n collection: SanitizedCollectionConfig\n doc: Record<string, unknown>\n}): string | undefined => {\n if (collection.upload) {\n return getImageURL({ value: doc })\n }\n const path = collection.admin.useAsThumbnail || findUploadPath({ fields: collection.fields })\n return path ? getImageURL({ value: getValueAtPath({ path, value: doc }) }) : undefined\n}\n\nfunction getImageURL({ value }: { value: unknown }): string | undefined {\n if (Array.isArray(value)) {\n return getImageURL({ value: value[0] })\n }\n if (!value || typeof value !== 'object') {\n return undefined\n }\n if ('value' in value) {\n return getImageURL({ value: value.value })\n }\n if ('thumbnailURL' in value && typeof value.thumbnailURL === 'string') {\n return value.thumbnailURL\n }\n if (\n 'mimeType' in value &&\n typeof value.mimeType === 'string' &&\n value.mimeType.startsWith('image/') &&\n 'url' in value &&\n typeof value.url === 'string'\n ) {\n return value.url\n }\n return undefined\n}\n\nfunction findUploadPath({\n fields,\n prefix = '',\n}: {\n fields: Field[]\n prefix?: string\n}): string | undefined {\n for (const field of fields) {\n const path = 'name' in field ? `${prefix}${field.name}` : prefix.replace(/\\.$/, '')\n if (field.type === 'upload') {\n return path\n }\n if ('fields' in field) {\n const result = findUploadPath({ fields: field.fields, prefix: path ? `${path}.` : '' })\n if (result) {\n return result\n }\n }\n if (field.type === 'tabs') {\n for (const tab of field.tabs) {\n const result = findUploadPath({\n fields: tab.fields,\n prefix: 'name' in tab && tab.name ? `${prefix}${tab.name}.` : prefix,\n })\n if (result) {\n return result\n }\n }\n }\n }\n return undefined\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { PayloadRequest } from 'payload';
2
+ import type { DocumentWidgetData } from './shared.js';
3
+ export declare function getDocumentWidgetData({ excludedCollections, req, }: {
4
+ excludedCollections?: string[];
5
+ req: PayloadRequest;
6
+ }): Promise<DocumentWidgetData>;
7
+ //# sourceMappingURL=getDocumentWidgetData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDocumentWidgetData.d.ts","sourceRoot":"","sources":["../../../src/widgets/RecentlyViewed/getDocumentWidgetData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA0B,cAAc,EAA6B,MAAM,SAAS,CAAA;AAMhG,OAAO,KAAK,EAAqB,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAOxE,wBAAsB,qBAAqB,CAAC,EAC1C,mBAAwB,EACxB,GAAG,GACJ,EAAE;IACD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B,GAAG,EAAE,cAAc,CAAA;CACpB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAsM9B"}
@@ -0,0 +1,206 @@
1
+ import { getTranslation } from '@payloadcms/translations';
2
+ import { getAccessResults } from 'payload';
3
+ import { formatAdminURL, PREFERENCE_KEYS } from 'payload/shared';
4
+ import { formatDocTitle } from '../../utilities/formatDocTitle/index.js';
5
+ import { getVisibleEntities } from '../../utilities/getVisibleEntities.js';
6
+ import { getDocumentThumbnail, getValueAtPath } from './getDocumentThumbnail.js';
7
+ import { documentKey, normalizeDocumentPreferences } from './shared.js';
8
+ export async function getDocumentWidgetData({
9
+ excludedCollections = [],
10
+ req
11
+ }) {
12
+ const {
13
+ i18n,
14
+ payload,
15
+ user
16
+ } = req;
17
+ const empty = {
18
+ documents: [],
19
+ draftKeys: [],
20
+ hasError: false,
21
+ preferences: normalizeDocumentPreferences({
22
+ value: null
23
+ }),
24
+ recentKeys: []
25
+ };
26
+ if (!user) {
27
+ return empty;
28
+ }
29
+ const initialData = await Promise.all([payload.find({
30
+ collection: 'payload-preferences',
31
+ depth: 0,
32
+ limit: 2,
33
+ overrideAccess: false,
34
+ req,
35
+ user,
36
+ where: {
37
+ key: {
38
+ in: [PREFERENCE_KEYS.RECENTLY_VIEWED, PREFERENCE_KEYS.DASHBOARD_DOCUMENTS]
39
+ }
40
+ }
41
+ }), getAccessResults({
42
+ req
43
+ })]).catch(err => {
44
+ payload.logger.error({
45
+ err,
46
+ msg: 'Dashboard documents: failed to load preferences or permissions'
47
+ });
48
+ return null;
49
+ });
50
+ if (!initialData) {
51
+ return {
52
+ ...empty,
53
+ hasError: true
54
+ };
55
+ }
56
+ const [preferencesResult, permissions] = initialData;
57
+ if (!permissions.canAccessAdmin) {
58
+ return empty;
59
+ }
60
+ const preferences = normalizeDocumentPreferences({
61
+ value: preferencesResult.docs.find(doc => doc.key === PREFERENCE_KEYS.DASHBOARD_DOCUMENTS)?.value
62
+ });
63
+ const recent = preferencesResult.docs.find(doc => doc.key === PREFERENCE_KEYS.RECENTLY_VIEWED)?.value;
64
+ const recentItems = Array.isArray(recent?.items) ? recent.items.filter(item => item && typeof item.collectionSlug === 'string' && ['number', 'string'].includes(typeof item.id)).slice(0, 20) : [];
65
+ const visible = getVisibleEntities({
66
+ req
67
+ }).collections;
68
+ const collections = payload.config.collections.filter(collection => visible.includes(collection.slug) && collection.admin.group !== false && !excludedCollections.includes(collection.slug) && permissions.collections?.[collection.slug]?.read);
69
+ let hasError = false;
70
+ const results = await Promise.all(collections.map(async collection => {
71
+ const ids = [...recentItems, ...preferences.pins].filter(item => item.collectionSlug === collection.slug).map(item => item.id);
72
+ const hasDrafts = Boolean(collection.versions && collection.versions.drafts);
73
+ try {
74
+ const [saved, drafts] = await Promise.all([ids.length ? payload.find({
75
+ collection: collection.slug,
76
+ depth: 1,
77
+ draft: hasDrafts,
78
+ limit: ids.length,
79
+ overrideAccess: false,
80
+ req,
81
+ user,
82
+ where: {
83
+ id: {
84
+ in: ids
85
+ }
86
+ }
87
+ }) : {
88
+ docs: []
89
+ }, hasDrafts ? payload.find({
90
+ collection: collection.slug,
91
+ depth: 1,
92
+ draft: true,
93
+ limit: 12,
94
+ overrideAccess: false,
95
+ req,
96
+ sort: '-updatedAt',
97
+ user,
98
+ where: {
99
+ _status: {
100
+ equals: 'draft'
101
+ }
102
+ }
103
+ }) : {
104
+ docs: []
105
+ }]);
106
+ const allDocs = new Map([...saved.docs, ...drafts.docs].map(doc => [String(doc.id), doc]));
107
+ const draftIDs = [...allDocs.values()].filter(doc => doc._status === 'draft').map(doc => doc.id);
108
+ const published = draftIDs.length ? await payload.find({
109
+ collection: collection.slug,
110
+ depth: 0,
111
+ draft: false,
112
+ limit: draftIDs.length,
113
+ overrideAccess: false,
114
+ req,
115
+ select: {
116
+ id: true
117
+ },
118
+ user,
119
+ where: {
120
+ and: [{
121
+ id: {
122
+ in: draftIDs
123
+ }
124
+ }, {
125
+ _status: {
126
+ equals: 'published'
127
+ }
128
+ }]
129
+ }
130
+ }) : {
131
+ docs: []
132
+ };
133
+ const publishedIDs = new Set(published.docs.map(doc => String(doc.id)));
134
+ const documents = [...allDocs.values()].filter(doc => !doc.deletedAt).map(doc => {
135
+ const titlePath = collection.admin.useAsTitle || 'id';
136
+ const updatedByField = collection.flattenedFields.find(field => field.name === 'updatedBy' && field.type === 'relationship');
137
+ const authorCollection = updatedByField && 'relationTo' in updatedByField && typeof updatedByField.relationTo === 'string' ? payload.collections[updatedByField.relationTo]?.config : undefined;
138
+ const author = doc.updatedBy;
139
+ const updatedBy = authorCollection?.auth && author && typeof author === 'object' && !Array.isArray(author) ? formatDocTitle({
140
+ collectionConfig: authorCollection,
141
+ data: author,
142
+ dateFormat: payload.config.admin.dateFormat,
143
+ fallback: typeof author.email === 'string' ? author.email : undefined,
144
+ i18n
145
+ }) : undefined;
146
+ return {
147
+ id: doc.id,
148
+ collectionSlug: collection.slug,
149
+ href: formatAdminURL({
150
+ adminRoute: payload.config.routes.admin,
151
+ path: `/collections/${collection.slug}/${encodeURIComponent(doc.id)}`
152
+ }),
153
+ status: hasDrafts ? doc._status === 'draft' ? publishedIDs.has(String(doc.id)) ? 'changed' : 'draft' : doc._status === 'published' ? 'published' : undefined : undefined,
154
+ thumbnailURL: getDocumentThumbnail({
155
+ collection,
156
+ doc
157
+ }),
158
+ title: formatDocTitle({
159
+ collectionConfig: collection,
160
+ data: {
161
+ ...doc,
162
+ [titlePath]: getValueAtPath({
163
+ path: titlePath,
164
+ value: doc
165
+ })
166
+ },
167
+ dateFormat: payload.config.admin.dateFormat,
168
+ fallback: typeof doc.filename === 'string' ? doc.filename : String(doc.id),
169
+ i18n
170
+ }),
171
+ typeLabel: getTranslation(collection.labels.plural, i18n),
172
+ updatedAt: typeof doc.updatedAt === 'string' ? doc.updatedAt : undefined,
173
+ updatedBy,
174
+ viewedAt: recentItems.find(item => item.collectionSlug === collection.slug && String(item.id) === String(doc.id))?.viewedAt
175
+ };
176
+ });
177
+ return {
178
+ documents,
179
+ draftKeys: drafts.docs.filter(doc => !doc.deletedAt).map(doc => documentKey({
180
+ id: doc.id,
181
+ collectionSlug: collection.slug
182
+ }))
183
+ };
184
+ } catch (err) {
185
+ hasError = true;
186
+ payload.logger.error({
187
+ err,
188
+ msg: `Dashboard documents: failed to load ${collection.slug}`
189
+ });
190
+ return {
191
+ documents: [],
192
+ draftKeys: []
193
+ };
194
+ }
195
+ }));
196
+ const documents = results.flatMap(result => result.documents);
197
+ const keys = new Set(documents.map(documentKey));
198
+ return {
199
+ documents,
200
+ draftKeys: results.flatMap(result => result.draftKeys),
201
+ hasError,
202
+ preferences,
203
+ recentKeys: recentItems.map(documentKey).filter(key => keys.has(key))
204
+ };
205
+ }
206
+ //# sourceMappingURL=getDocumentWidgetData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDocumentWidgetData.js","names":["getTranslation","getAccessResults","formatAdminURL","PREFERENCE_KEYS","formatDocTitle","getVisibleEntities","getDocumentThumbnail","getValueAtPath","documentKey","normalizeDocumentPreferences","getDocumentWidgetData","excludedCollections","req","i18n","payload","user","empty","documents","draftKeys","hasError","preferences","value","recentKeys","initialData","Promise","all","find","collection","depth","limit","overrideAccess","where","key","in","RECENTLY_VIEWED","DASHBOARD_DOCUMENTS","catch","err","logger","error","msg","preferencesResult","permissions","canAccessAdmin","docs","doc","recent","recentItems","Array","isArray","items","filter","item","collectionSlug","includes","id","slice","visible","collections","config","slug","admin","group","read","results","map","ids","pins","hasDrafts","Boolean","versions","drafts","saved","length","draft","sort","_status","equals","allDocs","Map","String","draftIDs","values","published","select","and","publishedIDs","Set","deletedAt","titlePath","useAsTitle","updatedByField","flattenedFields","field","name","type","authorCollection","relationTo","undefined","author","updatedBy","auth","collectionConfig","data","dateFormat","fallback","email","href","adminRoute","routes","path","encodeURIComponent","status","has","thumbnailURL","title","filename","typeLabel","labels","plural","updatedAt","viewedAt","flatMap","result","keys"],"sources":["../../../src/widgets/RecentlyViewed/getDocumentWidgetData.ts"],"sourcesContent":["import type { ClientCollectionConfig, PayloadRequest, RecentlyViewedPreferences } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { getAccessResults } from 'payload'\nimport { formatAdminURL, PREFERENCE_KEYS } from 'payload/shared'\n\nimport type { DashboardDocument, DocumentWidgetData } from './shared.js'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle/index.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport { getDocumentThumbnail, getValueAtPath } from './getDocumentThumbnail.js'\nimport { documentKey, normalizeDocumentPreferences } from './shared.js'\n\nexport async function getDocumentWidgetData({\n excludedCollections = [],\n req,\n}: {\n excludedCollections?: string[]\n req: PayloadRequest\n}): Promise<DocumentWidgetData> {\n const { i18n, payload, user } = req\n const empty: DocumentWidgetData = {\n documents: [],\n draftKeys: [],\n hasError: false,\n preferences: normalizeDocumentPreferences({ value: null }),\n recentKeys: [],\n }\n if (!user) {\n return empty\n }\n const initialData = await Promise.all([\n payload.find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 2,\n overrideAccess: false,\n req,\n user,\n where: {\n key: { in: [PREFERENCE_KEYS.RECENTLY_VIEWED, PREFERENCE_KEYS.DASHBOARD_DOCUMENTS] },\n },\n }),\n getAccessResults({ req }),\n ]).catch((err) => {\n payload.logger.error({\n err,\n msg: 'Dashboard documents: failed to load preferences or permissions',\n })\n return null\n })\n if (!initialData) {\n return { ...empty, hasError: true }\n }\n const [preferencesResult, permissions] = initialData\n if (!permissions.canAccessAdmin) {\n return empty\n }\n const preferences = normalizeDocumentPreferences({\n value: preferencesResult.docs.find((doc) => doc.key === PREFERENCE_KEYS.DASHBOARD_DOCUMENTS)\n ?.value,\n })\n const recent = preferencesResult.docs.find((doc) => doc.key === PREFERENCE_KEYS.RECENTLY_VIEWED)\n ?.value as RecentlyViewedPreferences | undefined\n const recentItems = Array.isArray(recent?.items)\n ? recent.items\n .filter(\n (item) =>\n item &&\n typeof item.collectionSlug === 'string' &&\n ['number', 'string'].includes(typeof item.id),\n )\n .slice(0, 20)\n : []\n const visible = getVisibleEntities({ req }).collections\n const collections = payload.config.collections.filter(\n (collection) =>\n visible.includes(collection.slug) &&\n collection.admin.group !== false &&\n !excludedCollections.includes(collection.slug) &&\n permissions.collections?.[collection.slug]?.read,\n )\n let hasError = false\n const results = await Promise.all(\n collections.map(async (collection) => {\n const ids = [...recentItems, ...preferences.pins]\n .filter((item) => item.collectionSlug === collection.slug)\n .map((item) => item.id)\n const hasDrafts = Boolean(collection.versions && collection.versions.drafts)\n try {\n const [saved, drafts] = await Promise.all([\n ids.length\n ? payload.find({\n collection: collection.slug,\n depth: 1,\n draft: hasDrafts,\n limit: ids.length,\n overrideAccess: false,\n req,\n user,\n where: { id: { in: ids } },\n })\n : { docs: [] },\n hasDrafts\n ? payload.find({\n collection: collection.slug,\n depth: 1,\n draft: true,\n limit: 12,\n overrideAccess: false,\n req,\n sort: '-updatedAt',\n user,\n where: { _status: { equals: 'draft' } },\n })\n : { docs: [] },\n ])\n const allDocs = new Map([...saved.docs, ...drafts.docs].map((doc) => [String(doc.id), doc]))\n const draftIDs = [...allDocs.values()]\n .filter((doc) => doc._status === 'draft')\n .map((doc) => doc.id)\n const published = draftIDs.length\n ? await payload.find({\n collection: collection.slug,\n depth: 0,\n draft: false,\n limit: draftIDs.length,\n overrideAccess: false,\n req,\n select: { id: true },\n user,\n where: { and: [{ id: { in: draftIDs } }, { _status: { equals: 'published' } }] },\n })\n : { docs: [] }\n const publishedIDs = new Set(published.docs.map((doc) => String(doc.id)))\n const documents: DashboardDocument[] = [...allDocs.values()]\n .filter((doc) => !doc.deletedAt)\n .map((doc) => {\n const titlePath = collection.admin.useAsTitle || 'id'\n const updatedByField = collection.flattenedFields.find(\n (field) => field.name === 'updatedBy' && field.type === 'relationship',\n )\n const authorCollection =\n updatedByField &&\n 'relationTo' in updatedByField &&\n typeof updatedByField.relationTo === 'string'\n ? payload.collections[updatedByField.relationTo]?.config\n : undefined\n const author = doc.updatedBy\n const updatedBy =\n authorCollection?.auth &&\n author &&\n typeof author === 'object' &&\n !Array.isArray(author)\n ? formatDocTitle({\n collectionConfig: authorCollection as unknown as ClientCollectionConfig,\n data: author,\n dateFormat: payload.config.admin.dateFormat,\n fallback: typeof author.email === 'string' ? author.email : undefined,\n i18n,\n })\n : undefined\n return {\n id: doc.id,\n collectionSlug: collection.slug,\n href: formatAdminURL({\n adminRoute: payload.config.routes.admin,\n path: `/collections/${collection.slug}/${encodeURIComponent(doc.id)}`,\n }),\n status: hasDrafts\n ? doc._status === 'draft'\n ? publishedIDs.has(String(doc.id))\n ? 'changed'\n : 'draft'\n : doc._status === 'published'\n ? 'published'\n : undefined\n : undefined,\n thumbnailURL: getDocumentThumbnail({ collection, doc }),\n title: formatDocTitle({\n collectionConfig: collection as unknown as ClientCollectionConfig,\n data: { ...doc, [titlePath]: getValueAtPath({ path: titlePath, value: doc }) },\n dateFormat: payload.config.admin.dateFormat,\n fallback: typeof doc.filename === 'string' ? doc.filename : String(doc.id),\n i18n,\n }),\n typeLabel: getTranslation(collection.labels.plural, i18n),\n updatedAt: typeof doc.updatedAt === 'string' ? doc.updatedAt : undefined,\n updatedBy,\n viewedAt: recentItems.find(\n (item) =>\n item.collectionSlug === collection.slug && String(item.id) === String(doc.id),\n )?.viewedAt,\n }\n })\n return {\n documents,\n draftKeys: drafts.docs\n .filter((doc) => !doc.deletedAt)\n .map((doc) => documentKey({ id: doc.id, collectionSlug: collection.slug })),\n }\n } catch (err) {\n hasError = true\n payload.logger.error({ err, msg: `Dashboard documents: failed to load ${collection.slug}` })\n return { documents: [], draftKeys: [] }\n }\n }),\n )\n const documents = results.flatMap((result) => result.documents)\n const keys = new Set(documents.map(documentKey))\n return {\n documents,\n draftKeys: results.flatMap((result) => result.draftKeys),\n hasError,\n preferences,\n recentKeys: recentItems.map(documentKey).filter((key) => keys.has(key)),\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,8 @@
1
1
  import type { WidgetServerProps } from 'payload';
2
2
  import React from 'react';
3
- type RecentlyViewedWidgetData = {
4
- excludedCollections?: string[];
5
- };
6
3
  export declare function RecentlyViewedWidget({ req, widgetData, }: WidgetServerProps<{
7
- data?: RecentlyViewedWidgetData;
4
+ data?: {
5
+ excludedCollections?: string[];
6
+ };
8
7
  }>): Promise<React.JSX.Element>;
9
- export {};
10
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/widgets/RecentlyViewed/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA6B,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAI3E,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,KAAK,wBAAwB,GAAG;IAC9B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC/B,CAAA;AAmBD,wBAAsB,oBAAoB,CAAC,EACzC,GAAG,EACH,UAAU,GACX,EAAE,iBAAiB,CAAC;IAAE,IAAI,CAAC,EAAE,wBAAwB,CAAA;CAAE,CAAC,8BAgCxD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/widgets/RecentlyViewed/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,wBAAsB,oBAAoB,CAAC,EACzC,GAAG,EACH,UAAU,GACX,EAAE,iBAAiB,CAAC;IAAE,IAAI,CAAC,EAAE;QAAE,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,CAAC,8BAMlE"}
@@ -1,148 +1,18 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { getTranslation } from '@payloadcms/translations';
3
- import { formatAdminURL, PREFERENCE_KEYS } from 'payload/shared';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
4
2
  import React from 'react';
5
- import { formatRelativeDate, getRelativeTimeFormat } from '../../utilities/formatRelativeDate.js';
6
- import { getPreferences } from '../../utilities/upsertPreferences.js';
7
- import { WidgetCard, WidgetList } from '../WidgetCard/index.js';
8
- const displayLimit = 10;
3
+ // eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference the client bundle.
4
+ import { DocumentActivityWidget } from '../../exports/client/index.js';
5
+ import { getDocumentWidgetData } from './getDocumentWidgetData.js';
9
6
  export async function RecentlyViewedWidget({
10
7
  req,
11
8
  widgetData
12
9
  }) {
13
- const {
14
- i18n,
15
- user
16
- } = req;
17
- const title = i18n.t('dashboard:widgetRecentlyViewedTitle');
18
- const enrichedItems = user ? await getEnrichedItems({
19
- req,
20
- widgetData
21
- }) : [];
22
- const relativeTimeFormat = getRelativeTimeFormat(i18n.language);
23
- const items = enrichedItems.map(item => ({
24
- href: item.href,
25
- key: `${item.collectionSlug}:${item.id}`,
26
- main: /*#__PURE__*/_jsxs(_Fragment, {
27
- children: [item.thumbnailURL ? /*#__PURE__*/_jsx("img", {
28
- alt: "",
29
- className: "widget-card__thumbnail",
30
- src: item.thumbnailURL
31
- }) : /*#__PURE__*/_jsx("span", {
32
- className: "widget-card__type",
33
- children: item.typeLabel
34
- }), /*#__PURE__*/_jsx("span", {
35
- className: "widget-card__row-title",
36
- children: item.title
37
- })]
38
- }),
39
- meta: /*#__PURE__*/_jsx("time", {
40
- dateTime: item.viewedAt,
41
- children: formatRelativeDate({
42
- relativeTimeFormat,
43
- value: item.viewedAt
44
- })
45
- })
46
- }));
47
- return /*#__PURE__*/_jsx(WidgetCard, {
48
- className: "recently-viewed-widget",
49
- title: title,
50
- children: /*#__PURE__*/_jsx(WidgetList, {
51
- emptyMessage: i18n.t('dashboard:widgetRecentlyViewedEmpty'),
52
- items: items
53
- })
10
+ const data = await getDocumentWidgetData({
11
+ excludedCollections: widgetData?.excludedCollections,
12
+ req
13
+ });
14
+ return /*#__PURE__*/_jsx(DocumentActivityWidget, {
15
+ ...data
54
16
  });
55
- }
56
- /**
57
- * Loads the stored recently viewed identities and computes display fields from the live documents.
58
- * Documents are queried with access control, so deleted or now-forbidden docs are dropped.
59
- */
60
- async function getEnrichedItems({
61
- req,
62
- widgetData
63
- }) {
64
- const {
65
- i18n,
66
- payload,
67
- user
68
- } = req;
69
- const excludedCollections = new Set(widgetData?.excludedCollections ?? []);
70
- const preference = await getPreferences(PREFERENCE_KEYS.RECENTLY_VIEWED, payload, user.id, user.collection);
71
- const items = (preference?.value?.items ?? []).filter(item => !excludedCollections.has(item.collectionSlug) && Boolean(payload.collections[item.collectionSlug]));
72
- if (items.length === 0) {
73
- return [];
74
- }
75
- const idsByCollection = new Map();
76
- for (const item of items) {
77
- const ids = idsByCollection.get(item.collectionSlug) ?? [];
78
- ids.push(item.id);
79
- idsByCollection.set(item.collectionSlug, ids);
80
- }
81
- const docsByKey = new Map();
82
- await Promise.all([...idsByCollection.entries()].map(async ([collectionSlug, ids]) => {
83
- try {
84
- const result = await payload.find({
85
- collection: collectionSlug,
86
- depth: 0,
87
- limit: ids.length,
88
- overrideAccess: false,
89
- pagination: false,
90
- user,
91
- where: {
92
- id: {
93
- in: ids
94
- }
95
- }
96
- });
97
- for (const doc of result.docs) {
98
- docsByKey.set(`${collectionSlug}:${doc.id}`, doc);
99
- }
100
- } catch (err) {
101
- payload.logger.error({
102
- err,
103
- msg: `RecentlyViewedWidget: failed to load collection "${collectionSlug}"`
104
- });
105
- }
106
- }));
107
- const enrichedItems = [];
108
- for (const item of items) {
109
- if (enrichedItems.length >= displayLimit) {
110
- break;
111
- }
112
- const doc = docsByKey.get(`${item.collectionSlug}:${item.id}`);
113
- if (!doc) {
114
- continue;
115
- }
116
- const collectionConfig = payload.collections[item.collectionSlug].config;
117
- const useAsTitle = collectionConfig.admin?.useAsTitle || 'id';
118
- const rawTitle = getValueByPath({
119
- object: doc,
120
- path: useAsTitle
121
- });
122
- enrichedItems.push({
123
- id: item.id,
124
- collectionSlug: item.collectionSlug,
125
- href: formatAdminURL({
126
- adminRoute: payload.config.routes.admin,
127
- path: `/collections/${item.collectionSlug}/${item.id}`
128
- }),
129
- thumbnailURL: collectionConfig.upload && typeof doc.thumbnailURL === 'string' ? doc.thumbnailURL : undefined,
130
- title: typeof rawTitle === 'string' && rawTitle ? rawTitle : String(item.id),
131
- typeLabel: getTranslation(collectionConfig.labels.singular, i18n),
132
- viewedAt: item.viewedAt
133
- });
134
- }
135
- return enrichedItems;
136
- }
137
- function getValueByPath({
138
- object,
139
- path
140
- }) {
141
- return path.split('.').reduce((value, segment) => {
142
- if (!value || typeof value !== 'object') {
143
- return undefined;
144
- }
145
- return value[segment];
146
- }, object);
147
17
  }
148
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","formatAdminURL","PREFERENCE_KEYS","React","formatRelativeDate","getRelativeTimeFormat","getPreferences","WidgetCard","WidgetList","displayLimit","RecentlyViewedWidget","req","widgetData","i18n","user","title","t","enrichedItems","getEnrichedItems","relativeTimeFormat","language","items","map","item","href","key","collectionSlug","id","main","_jsxs","_Fragment","thumbnailURL","_jsx","alt","className","src","typeLabel","meta","dateTime","viewedAt","value","emptyMessage","payload","excludedCollections","Set","preference","RECENTLY_VIEWED","collection","filter","has","Boolean","collections","length","idsByCollection","Map","ids","get","push","set","docsByKey","Promise","all","entries","result","find","depth","limit","overrideAccess","pagination","where","in","doc","docs","err","logger","error","msg","collectionConfig","config","useAsTitle","admin","rawTitle","getValueByPath","object","path","adminRoute","routes","upload","undefined","String","labels","singular","split","reduce","segment"],"sources":["../../../src/widgets/RecentlyViewed/index.tsx"],"sourcesContent":["import type { RecentlyViewedPreferences, WidgetServerProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, PREFERENCE_KEYS } from 'payload/shared'\nimport React from 'react'\n\nimport type { WidgetListItem } from '../WidgetCard/index.js'\n\nimport { formatRelativeDate, getRelativeTimeFormat } from '../../utilities/formatRelativeDate.js'\nimport { getPreferences } from '../../utilities/upsertPreferences.js'\nimport { WidgetCard, WidgetList } from '../WidgetCard/index.js'\n\ntype RecentlyViewedWidgetData = {\n excludedCollections?: string[]\n}\n\ntype QueryDoc = {\n id: number | string\n thumbnailURL?: unknown\n} & Record<string, unknown>\n\ntype EnrichedItem = {\n collectionSlug: string\n href: string\n id: number | string\n thumbnailURL?: string\n title: string\n typeLabel: string\n viewedAt: string\n}\n\nconst displayLimit = 10\n\nexport async function RecentlyViewedWidget({\n req,\n widgetData,\n}: WidgetServerProps<{ data?: RecentlyViewedWidgetData }>) {\n const { i18n, user } = req\n const title = i18n.t('dashboard:widgetRecentlyViewedTitle')\n\n const enrichedItems = user ? await getEnrichedItems({ req, widgetData }) : []\n const relativeTimeFormat = getRelativeTimeFormat(i18n.language)\n\n const items: WidgetListItem[] = enrichedItems.map((item) => ({\n href: item.href,\n key: `${item.collectionSlug}:${item.id}`,\n main: (\n <>\n {item.thumbnailURL ? (\n <img alt=\"\" className=\"widget-card__thumbnail\" src={item.thumbnailURL} />\n ) : (\n <span className=\"widget-card__type\">{item.typeLabel}</span>\n )}\n <span className=\"widget-card__row-title\">{item.title}</span>\n </>\n ),\n meta: (\n <time dateTime={item.viewedAt}>\n {formatRelativeDate({ relativeTimeFormat, value: item.viewedAt })}\n </time>\n ),\n }))\n\n return (\n <WidgetCard className=\"recently-viewed-widget\" title={title}>\n <WidgetList emptyMessage={i18n.t('dashboard:widgetRecentlyViewedEmpty')} items={items} />\n </WidgetCard>\n )\n}\n\n/**\n * Loads the stored recently viewed identities and computes display fields from the live documents.\n * Documents are queried with access control, so deleted or now-forbidden docs are dropped.\n */\nasync function getEnrichedItems({\n req,\n widgetData,\n}: {\n req: WidgetServerProps['req']\n widgetData: RecentlyViewedWidgetData | undefined\n}): Promise<EnrichedItem[]> {\n const { i18n, payload, user } = req\n const excludedCollections = new Set(widgetData?.excludedCollections ?? [])\n\n const preference = await getPreferences<RecentlyViewedPreferences>(\n PREFERENCE_KEYS.RECENTLY_VIEWED,\n payload,\n user.id,\n user.collection,\n )\n\n const items = (preference?.value?.items ?? []).filter(\n (item) =>\n !excludedCollections.has(item.collectionSlug) &&\n Boolean(payload.collections[item.collectionSlug]),\n )\n\n if (items.length === 0) {\n return []\n }\n\n const idsByCollection = new Map<string, Array<number | string>>()\n for (const item of items) {\n const ids = idsByCollection.get(item.collectionSlug) ?? []\n ids.push(item.id)\n idsByCollection.set(item.collectionSlug, ids)\n }\n\n const docsByKey = new Map<string, QueryDoc>()\n await Promise.all(\n [...idsByCollection.entries()].map(async ([collectionSlug, ids]) => {\n try {\n const result = await payload.find({\n collection: collectionSlug,\n depth: 0,\n limit: ids.length,\n overrideAccess: false,\n pagination: false,\n user,\n where: { id: { in: ids } },\n })\n\n for (const doc of result.docs as QueryDoc[]) {\n docsByKey.set(`${collectionSlug}:${doc.id}`, doc)\n }\n } catch (err) {\n payload.logger.error({\n err,\n msg: `RecentlyViewedWidget: failed to load collection \"${collectionSlug}\"`,\n })\n }\n }),\n )\n\n const enrichedItems: EnrichedItem[] = []\n\n for (const item of items) {\n if (enrichedItems.length >= displayLimit) {\n break\n }\n\n const doc = docsByKey.get(`${item.collectionSlug}:${item.id}`)\n\n if (!doc) {\n continue\n }\n\n const collectionConfig = payload.collections[item.collectionSlug].config\n const useAsTitle = collectionConfig.admin?.useAsTitle || 'id'\n const rawTitle = getValueByPath({ object: doc, path: useAsTitle })\n\n enrichedItems.push({\n id: item.id,\n collectionSlug: item.collectionSlug,\n href: formatAdminURL({\n adminRoute: payload.config.routes.admin,\n path: `/collections/${item.collectionSlug}/${item.id}`,\n }),\n thumbnailURL:\n collectionConfig.upload && typeof doc.thumbnailURL === 'string'\n ? doc.thumbnailURL\n : undefined,\n title: typeof rawTitle === 'string' && rawTitle ? rawTitle : String(item.id),\n typeLabel: getTranslation(collectionConfig.labels.singular, i18n),\n viewedAt: item.viewedAt,\n })\n }\n\n return enrichedItems\n}\n\nfunction getValueByPath({ object, path }: { object: Record<string, unknown>; path: string }) {\n return path.split('.').reduce<unknown>((value, segment) => {\n if (!value || typeof value !== 'object') {\n return undefined\n }\n\n return (value as Record<string, unknown>)[segment]\n }, object)\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","DocumentActivityWidget","getDocumentWidgetData","RecentlyViewedWidget","req","widgetData","data","excludedCollections","_jsx"],"sources":["../../../src/widgets/RecentlyViewed/index.tsx"],"sourcesContent":["import type { WidgetServerProps } from 'payload'\n\nimport React from 'react'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference the client bundle.\nimport { DocumentActivityWidget } from '../../exports/client/index.js'\nimport { getDocumentWidgetData } from './getDocumentWidgetData.js'\n\nexport async function RecentlyViewedWidget({\n req,\n widgetData,\n}: WidgetServerProps<{ data?: { excludedCollections?: string[] } }>) {\n const data = await getDocumentWidgetData({\n excludedCollections: widgetData?.excludedCollections,\n req,\n })\n return <DocumentActivityWidget {...data} />\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAClB;AACA,SAASC,sBAAsB,QAAQ;AACvC,SAASC,qBAAqB,QAAQ;AAEtC,OAAO,eAAeC,qBAAqB;EACzCC,GAAG;EACHC;AAAU,CACuD;EACjE,MAAMC,IAAA,GAAO,MAAMJ,qBAAA,CAAsB;IACvCK,mBAAA,EAAqBF,UAAA,EAAYE,mBAAA;IACjCH;EACF;EACA,oBAAOI,IAAA,CAACP,sBAAA;IAAwB,GAAGK;;AACrC","ignoreList":[]}
@@ -0,0 +1,38 @@
1
+ export type DocumentIdentity = {
2
+ collectionSlug: string;
3
+ id: number | string;
4
+ };
5
+ export type DocumentWidgetPreferences = {
6
+ pins: DocumentIdentity[];
7
+ tab: 'drafts' | 'pinned' | 'recent';
8
+ view: 'grid' | 'list';
9
+ };
10
+ export type DashboardDocument = {
11
+ href: string;
12
+ status?: 'changed' | 'draft' | 'published';
13
+ thumbnailURL?: string;
14
+ title: string;
15
+ typeLabel: string;
16
+ updatedAt?: string;
17
+ updatedBy?: string;
18
+ viewedAt?: string;
19
+ } & DocumentIdentity;
20
+ export type DocumentWidgetData = {
21
+ documents: DashboardDocument[];
22
+ draftKeys: string[];
23
+ hasError: boolean;
24
+ preferences: DocumentWidgetPreferences;
25
+ recentKeys: string[];
26
+ };
27
+ export declare const documentKey: ({ id, collectionSlug }: DocumentIdentity) => string;
28
+ export declare const normalizeDocumentPreferences: ({ value, }: {
29
+ value: unknown;
30
+ }) => DocumentWidgetPreferences;
31
+ export declare const toggleDocumentPin: ({ document, pins, }: {
32
+ document: DocumentIdentity;
33
+ pins: DocumentIdentity[];
34
+ }) => DocumentIdentity[];
35
+ export declare const getActivityDocuments: ({ documents, draftKeys, isAscending, preferences, recentKeys, }: {
36
+ isAscending?: boolean;
37
+ } & DocumentWidgetData) => DashboardDocument[];
38
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/widgets/RecentlyViewed/shared.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAA;AAC9E,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,gBAAgB,EAAE,CAAA;IACxB,GAAG,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACnC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,CAAA;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,gBAAgB,CAAA;AACpB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,iBAAiB,EAAE,CAAA;IAC9B,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,EAAE,yBAAyB,CAAA;IACtC,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB,CAAA;AACD,eAAO,MAAM,WAAW,2BAA4B,gBAAgB,KAAG,MAC5C,CAAA;AAE3B,eAAO,MAAM,4BAA4B,eAEtC;IACD,KAAK,EAAE,OAAO,CAAA;CACf,KAAG,yBA0BH,CAAA;AAED,eAAO,MAAM,iBAAiB,wBAG3B;IACD,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,IAAI,EAAE,gBAAgB,EAAE,CAAA;CACzB,KAAG,gBAAgB,EAKnB,CAAA;AAED,eAAO,MAAM,oBAAoB,oEAM9B;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,kBAAkB,KAAG,iBAAiB,EAkBpE,CAAA"}