@payloadcms/ui 4.0.0-internal.688c4d0 → 4.0.0-internal.697830c

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 (744) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/css/colors.css +6 -0
  3. package/dist/css/design-tokens.css +5 -0
  4. package/dist/css/elevations.css +4 -0
  5. package/dist/css/forms.css +6 -3
  6. package/dist/css/theme.css +2 -1
  7. package/dist/css/utilities.css +3 -2
  8. package/dist/elements/AddNewRelation/index.css +28 -28
  9. package/dist/elements/AppHeader/index.d.ts +4 -2
  10. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  11. package/dist/elements/AppHeader/index.js +11 -2
  12. package/dist/elements/AppHeader/index.js.map +1 -1
  13. package/dist/elements/ArrayAction/index.js +2 -2
  14. package/dist/elements/ArrayAction/index.js.map +1 -1
  15. package/dist/elements/BulkUpload/ActionsBar/index.css +4 -8
  16. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +1 -5
  17. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  18. package/dist/elements/BulkUpload/ActionsBar/index.js +15 -22
  19. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  20. package/dist/elements/BulkUpload/AddFilesView/index.css +14 -8
  21. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -2
  22. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  23. package/dist/elements/BulkUpload/AddFilesView/index.js +41 -36
  24. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  25. package/dist/elements/BulkUpload/AddingFilesView/index.css +158 -6
  26. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +5 -1
  27. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  28. package/dist/elements/BulkUpload/AddingFilesView/index.js +134 -65
  29. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
  31. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  32. package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
  33. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  34. package/dist/elements/BulkUpload/EditForm/index.js +16 -17
  35. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  36. package/dist/elements/BulkUpload/EditForm/types.d.ts +2 -3
  37. package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -1
  38. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  39. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  40. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +78 -64
  41. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  42. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  43. package/dist/elements/BulkUpload/EditMany/index.js +28 -10
  44. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  45. package/dist/elements/BulkUpload/FileSidebar/index.css +63 -143
  46. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  47. package/dist/elements/BulkUpload/FileSidebar/index.js +42 -175
  48. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  49. package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
  50. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  51. package/dist/elements/BulkUpload/index.css +48 -0
  52. package/dist/elements/BulkUpload/index.d.ts +6 -5
  53. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  54. package/dist/elements/BulkUpload/index.js +42 -41
  55. package/dist/elements/BulkUpload/index.js.map +1 -1
  56. package/dist/elements/Button/index.d.ts.map +1 -1
  57. package/dist/elements/Button/index.js +5 -0
  58. package/dist/elements/Button/index.js.map +1 -1
  59. package/dist/elements/Card/index.css +1 -1
  60. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  61. package/dist/elements/ClipboardAction/index.js +1 -0
  62. package/dist/elements/ClipboardAction/index.js.map +1 -1
  63. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  64. package/dist/elements/Collapsible/index.js +2 -0
  65. package/dist/elements/Collapsible/index.js.map +1 -1
  66. package/dist/elements/ColumnSelection/Popup.d.ts +12 -0
  67. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -0
  68. package/dist/elements/{ColumnSelector/index.js → ColumnSelection/Popup.js} +24 -17
  69. package/dist/elements/ColumnSelection/Popup.js.map +1 -0
  70. package/dist/elements/ColumnSelection/index.d.ts +10 -0
  71. package/dist/elements/ColumnSelection/index.d.ts.map +1 -0
  72. package/dist/elements/{ColumnsButton → ColumnSelection}/index.js +23 -17
  73. package/dist/elements/ColumnSelection/index.js.map +1 -0
  74. package/dist/elements/CopyLocaleData/index.js +1 -1
  75. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  76. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  77. package/dist/elements/CreateDocumentButton/index.js +0 -1
  78. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  79. package/dist/elements/DatePicker/index.css +9 -9
  80. package/dist/elements/DatePicker/index.js +1 -1
  81. package/dist/elements/DatePicker/index.js.map +1 -1
  82. package/dist/elements/Dialog/DialogHeader/index.d.ts +4 -0
  83. package/dist/elements/Dialog/DialogHeader/index.d.ts.map +1 -1
  84. package/dist/elements/Dialog/DialogHeader/index.js +45 -30
  85. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
  86. package/dist/elements/Dialog/DialogModal/index.d.ts +5 -0
  87. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  88. package/dist/elements/Dialog/DialogModal/index.js +58 -31
  89. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  90. package/dist/elements/Dialog/DialogTitle/index.css +9 -0
  91. package/dist/elements/Dialog/DialogTitle/index.d.ts +5 -0
  92. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -0
  93. package/dist/elements/Dialog/DialogTitle/index.js +10 -0
  94. package/dist/elements/Dialog/DialogTitle/index.js.map +1 -0
  95. package/dist/elements/Dialog/index.css +7 -1
  96. package/dist/elements/DocumentControls/index.css +8 -2
  97. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  98. package/dist/elements/DocumentControls/index.js +13 -3
  99. package/dist/elements/DocumentControls/index.js.map +1 -1
  100. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  101. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +5 -3
  102. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  103. package/dist/elements/DocumentFields/index.css +14 -2
  104. package/dist/elements/DocumentFields/index.d.ts +5 -0
  105. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  106. package/dist/elements/DocumentFields/index.js +9 -1
  107. package/dist/elements/DocumentFields/index.js.map +1 -1
  108. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts +12 -0
  109. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts.map +1 -0
  110. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +28 -0
  111. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -0
  112. package/dist/elements/DocumentHeader/index.js +2 -3
  113. package/dist/elements/DocumentHeader/index.js.map +1 -1
  114. package/dist/elements/DraggableSortable/DragOverlayPreview/index.css +1 -1
  115. package/dist/elements/DrawerActionHeader/index.css +1 -1
  116. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.css +7 -1
  117. package/dist/elements/DrawerHeader/index.d.ts +10 -0
  118. package/dist/elements/DrawerHeader/index.d.ts.map +1 -0
  119. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.js +16 -11
  120. package/dist/elements/DrawerHeader/index.js.map +1 -0
  121. package/dist/elements/Dropzone/index.css +5 -13
  122. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +1 -1
  123. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  124. package/dist/elements/EditUpload/index.css +97 -158
  125. package/dist/elements/EditUpload/index.d.ts +2 -1
  126. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  127. package/dist/elements/EditUpload/index.js +209 -231
  128. package/dist/elements/EditUpload/index.js.map +1 -1
  129. package/dist/elements/EditUpload/{library.scss → library.css} +108 -46
  130. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  131. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  132. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  133. package/dist/elements/FileDetails/FileMeta/index.css +27 -0
  134. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  135. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  136. package/dist/elements/FileDetails/FileMeta/index.js +1 -1
  137. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  138. package/dist/elements/FileDetails/StaticFileDetails/index.css +140 -0
  139. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +2 -2
  140. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  141. package/dist/elements/FileDetails/StaticFileDetails/index.js +1 -1
  142. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  143. package/dist/elements/FileDetails/index.d.ts +1 -1
  144. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  145. package/dist/elements/FileDetails/index.js.map +1 -1
  146. package/dist/elements/FileManager/FilePreview/AudioPreview/index.css +8 -0
  147. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts +10 -0
  148. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts.map +1 -0
  149. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js +24 -0
  150. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js.map +1 -0
  151. package/dist/elements/FileManager/FilePreview/PdfPreview/index.css +9 -0
  152. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts +12 -0
  153. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts.map +1 -0
  154. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js +27 -0
  155. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js.map +1 -0
  156. package/dist/elements/FileManager/FilePreview/VideoPreview/index.css +8 -0
  157. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts +10 -0
  158. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts.map +1 -0
  159. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js +24 -0
  160. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js.map +1 -0
  161. package/dist/elements/FileManager/FilePreview/index.css +83 -0
  162. package/dist/elements/FileManager/FilePreview/index.d.ts +13 -0
  163. package/dist/elements/FileManager/FilePreview/index.d.ts.map +1 -0
  164. package/dist/elements/FileManager/FilePreview/index.js +140 -0
  165. package/dist/elements/FileManager/FilePreview/index.js.map +1 -0
  166. package/dist/elements/FileManager/FileToolbar/index.css +91 -0
  167. package/dist/elements/FileManager/FileToolbar/index.d.ts +14 -0
  168. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -0
  169. package/dist/elements/FileManager/FileToolbar/index.js +106 -0
  170. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -0
  171. package/dist/elements/FileManager/index.css +154 -0
  172. package/dist/elements/FileManager/index.d.ts +19 -0
  173. package/dist/elements/FileManager/index.d.ts.map +1 -0
  174. package/dist/elements/FileManager/index.js +424 -0
  175. package/dist/elements/FileManager/index.js.map +1 -0
  176. package/dist/elements/GroupBy/Popup.d.ts +21 -0
  177. package/dist/elements/GroupBy/Popup.d.ts.map +1 -0
  178. package/dist/elements/GroupBy/Popup.js +268 -0
  179. package/dist/elements/GroupBy/Popup.js.map +1 -0
  180. package/dist/elements/GroupBy/index.d.ts +12 -0
  181. package/dist/elements/GroupBy/index.d.ts.map +1 -0
  182. package/dist/elements/GroupBy/index.js +91 -0
  183. package/dist/elements/GroupBy/index.js.map +1 -0
  184. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +5 -3
  185. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +1 -0
  186. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +1 -1
  187. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  188. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  189. package/dist/elements/Hierarchy/DocHeaderButton/index.js +12 -12
  190. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  191. package/dist/elements/Hierarchy/Field/index.client.js +14 -14
  192. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  193. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -0
  194. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -0
  195. package/dist/elements/Hierarchy/Modal/index.css +88 -0
  196. package/dist/elements/Hierarchy/Modal/index.d.ts +20 -0
  197. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -0
  198. package/dist/elements/Hierarchy/{Drawer → Modal}/index.js +105 -81
  199. package/dist/elements/Hierarchy/Modal/index.js.map +1 -0
  200. package/dist/elements/Hierarchy/{Drawer → Modal}/types.d.ts +22 -18
  201. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -0
  202. package/dist/elements/Hierarchy/Modal/types.js.map +1 -0
  203. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts +30 -0
  204. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -0
  205. package/dist/elements/Hierarchy/{Drawer/useHierarchyDrawer.js → Modal/useHierarchyModal.js} +51 -50
  206. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -0
  207. package/dist/elements/Hierarchy/MoveMany/index.d.ts +2 -2
  208. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  209. package/dist/elements/Hierarchy/MoveMany/index.js +9 -9
  210. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  211. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +38 -13
  212. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  213. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +37 -31
  214. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  215. package/dist/elements/Hierarchy/Tree/index.css +1 -1
  216. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  217. package/dist/elements/Hierarchy/Tree/index.js +18 -5
  218. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  219. package/dist/elements/ListColumnSelectionButton/index.d.ts +11 -0
  220. package/dist/elements/ListColumnSelectionButton/index.d.ts.map +1 -0
  221. package/dist/elements/ListColumnSelectionButton/index.js +37 -0
  222. package/dist/elements/ListColumnSelectionButton/index.js.map +1 -0
  223. package/dist/elements/ListControls/index.d.ts.map +1 -1
  224. package/dist/elements/ListControls/index.js +8 -9
  225. package/dist/elements/ListControls/index.js.map +1 -1
  226. package/dist/elements/ListDrawer/DrawerContent.js +1 -1
  227. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  228. package/dist/elements/ListDrawer/Provider.d.ts +1 -1
  229. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  230. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  231. package/dist/elements/ListGroupByButton/index.d.ts +12 -0
  232. package/dist/elements/ListGroupByButton/index.d.ts.map +1 -0
  233. package/dist/elements/ListGroupByButton/index.js +55 -0
  234. package/dist/elements/ListGroupByButton/index.js.map +1 -0
  235. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  236. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +2 -0
  237. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  238. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +4 -4
  239. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  240. package/dist/elements/ListWhereBuilder/index.d.ts +16 -0
  241. package/dist/elements/ListWhereBuilder/index.d.ts.map +1 -0
  242. package/dist/elements/ListWhereBuilder/index.js +62 -0
  243. package/dist/elements/ListWhereBuilder/index.js.map +1 -0
  244. package/dist/elements/LivePreview/Toolbar/Controls/index.js +2 -2
  245. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  246. package/dist/elements/LivePreview/Toolbar/SizeInput/index.css +5 -44
  247. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  248. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +26 -43
  249. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  250. package/dist/elements/LivePreview/Window/index.css +6 -0
  251. package/dist/elements/MiniCarousel/index.css +94 -0
  252. package/dist/elements/MiniCarousel/index.d.ts +15 -0
  253. package/dist/elements/MiniCarousel/index.d.ts.map +1 -0
  254. package/dist/elements/MiniCarousel/index.js +84 -0
  255. package/dist/elements/MiniCarousel/index.js.map +1 -0
  256. package/dist/elements/Nav/SettingsMenuButton/index.css +5 -0
  257. package/dist/elements/Nav/SettingsMenuButton/index.d.ts +1 -1
  258. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  259. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -1
  260. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  261. package/dist/elements/Nav/index.css +2 -2
  262. package/dist/elements/NavGroup/index.css +1 -1
  263. package/dist/elements/Popup/PopupButtonList/index.css +5 -0
  264. package/dist/elements/Popup/PopupGroupLabel/index.css +8 -5
  265. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  266. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  267. package/dist/elements/Popup/PopupTrigger/index.js +3 -0
  268. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  269. package/dist/elements/Popup/index.d.ts +7 -1
  270. package/dist/elements/Popup/index.d.ts.map +1 -1
  271. package/dist/elements/Popup/index.js +45 -12
  272. package/dist/elements/Popup/index.js.map +1 -1
  273. package/dist/elements/PreviewSizes/index.css +149 -0
  274. package/dist/elements/PreviewSizes/index.d.ts +2 -2
  275. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  276. package/dist/elements/PreviewSizes/index.js +1 -1
  277. package/dist/elements/PreviewSizes/index.js.map +1 -1
  278. package/dist/elements/PublishMany/DrawerContent.d.ts +2 -1
  279. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  280. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  281. package/dist/elements/PublishMany/index.d.ts +2 -6
  282. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  283. package/dist/elements/PublishMany/index.js +0 -38
  284. package/dist/elements/PublishMany/index.js.map +1 -1
  285. package/dist/elements/QueryPresets/cells/ColumnsCell/{index.scss → index.css} +1 -3
  286. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +1 -1
  287. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +1 -1
  288. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +1 -1
  289. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  290. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +1 -1
  291. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  292. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +77 -48
  293. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  294. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +1 -1
  295. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
  296. package/dist/elements/QueryPresets/fields/GroupByField/index.js +12 -21
  297. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  298. package/dist/elements/QueryPresets/fields/Heading/index.css +52 -0
  299. package/dist/elements/QueryPresets/fields/Heading/index.d.ts +7 -0
  300. package/dist/elements/QueryPresets/fields/Heading/index.d.ts.map +1 -0
  301. package/dist/elements/QueryPresets/fields/Heading/index.js +31 -0
  302. package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -0
  303. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +1 -1
  304. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  305. package/dist/elements/QueryPresets/fields/WhereField/index.js +24 -23
  306. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  307. package/dist/elements/QueryPresets/fields/fields.css +23 -0
  308. package/dist/elements/ReactSelect/DropdownIndicator/index.css +1 -1
  309. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  310. package/dist/elements/ReactSelect/DropdownIndicator/index.js +19 -12
  311. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  312. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts +5 -0
  313. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -0
  314. package/dist/elements/ReactSelect/getCaptureMenuScroll.js +10 -0
  315. package/dist/elements/ReactSelect/getCaptureMenuScroll.js.map +1 -0
  316. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +6 -0
  317. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -0
  318. package/dist/elements/ReactSelect/getMenuListStyles.js +7 -0
  319. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -0
  320. package/dist/elements/ReactSelect/index.css +2 -3
  321. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  322. package/dist/elements/ReactSelect/index.js +169 -149
  323. package/dist/elements/ReactSelect/index.js.map +1 -1
  324. package/dist/elements/ReactSelect/types.d.ts +2 -0
  325. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  326. package/dist/elements/ReactSelect/types.js.map +1 -1
  327. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  328. package/dist/elements/RelationshipTable/AddNewButton.js +1 -2
  329. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  330. package/dist/elements/RelationshipTable/index.css +1 -2
  331. package/dist/elements/RelationshipTable/index.js +2 -2
  332. package/dist/elements/RelationshipTable/index.js.map +1 -1
  333. package/dist/elements/Search/SearchInput/index.js +1 -1
  334. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  335. package/dist/elements/SidebarRow/index.css +0 -2
  336. package/dist/elements/SortColumn/index.css +1 -1
  337. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  338. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +32 -13
  339. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  340. package/dist/elements/Table/index.css +31 -4
  341. package/dist/elements/Thumbnail/index.css +41 -0
  342. package/dist/elements/Thumbnail/index.d.ts +3 -3
  343. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  344. package/dist/elements/Thumbnail/index.js +1 -1
  345. package/dist/elements/Thumbnail/index.js.map +1 -1
  346. package/dist/elements/TimezonePicker/index.css +1 -1
  347. package/dist/elements/Toasts/fieldErrors.d.ts +1 -0
  348. package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
  349. package/dist/elements/Toasts/fieldErrors.js +25 -9
  350. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  351. package/dist/elements/Toasts/index.css +5 -0
  352. package/dist/elements/UnpublishMany/DrawerContent.d.ts +2 -1
  353. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  354. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  355. package/dist/elements/UnpublishMany/index.d.ts +2 -4
  356. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  357. package/dist/elements/UnpublishMany/index.js +0 -38
  358. package/dist/elements/UnpublishMany/index.js.map +1 -1
  359. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +11 -0
  360. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -0
  361. package/dist/elements/Upload/UploadFromURLModal/index.js +88 -0
  362. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -0
  363. package/dist/elements/Upload/index.css +134 -45
  364. package/dist/elements/Upload/index.d.ts +3 -8
  365. package/dist/elements/Upload/index.d.ts.map +1 -1
  366. package/dist/elements/Upload/index.js +71 -92
  367. package/dist/elements/Upload/index.js.map +1 -1
  368. package/dist/elements/UserMenu/LanguageMenu/index.js +1 -1
  369. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  370. package/dist/elements/UserMenu/SettingsMenu/index.d.ts +6 -2
  371. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
  372. package/dist/elements/UserMenu/SettingsMenu/index.js +15 -10
  373. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  374. package/dist/elements/UserMenu/ThemeMenu/index.js +1 -1
  375. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  376. package/dist/elements/UserMenu/index.d.ts +3 -1
  377. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  378. package/dist/elements/UserMenu/index.js +10 -6
  379. package/dist/elements/UserMenu/index.js.map +1 -1
  380. package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
  381. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  382. package/dist/elements/WhereBuilder/Condition/index.js +17 -2
  383. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  384. package/dist/elements/WhereBuilder/index.d.ts +4 -3
  385. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  386. package/dist/elements/WhereBuilder/index.js +71 -62
  387. package/dist/elements/WhereBuilder/index.js.map +1 -1
  388. package/dist/elements/WhereBuilder/types.d.ts +6 -5
  389. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  390. package/dist/elements/WhereBuilder/types.js.map +1 -1
  391. package/dist/exports/client/index.d.ts +10 -4
  392. package/dist/exports/client/index.d.ts.map +1 -1
  393. package/dist/exports/client/index.js +1 -2
  394. package/dist/exports/client/index.js.map +4 -4
  395. package/dist/exports/rsc/index.d.ts +3 -0
  396. package/dist/exports/rsc/index.d.ts.map +1 -1
  397. package/dist/exports/rsc/index.js +3 -0
  398. package/dist/exports/rsc/index.js.map +1 -1
  399. package/dist/exports/shared/index.js +2 -2
  400. package/dist/exports/shared/index.js.map +2 -2
  401. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +1 -1
  402. package/dist/fields/Blocks/BlockSelector/index.css +2 -5
  403. package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  404. package/dist/fields/Blocks/SectionTitle/index.js +1 -0
  405. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  406. package/dist/fields/Checkbox/index.css +2 -2
  407. package/dist/fields/ConfirmPassword/index.d.ts +4 -0
  408. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  409. package/dist/fields/ConfirmPassword/index.js +37 -33
  410. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  411. package/dist/fields/Group/index.css +4 -10
  412. package/dist/fields/Number/Input.d.ts.map +1 -1
  413. package/dist/fields/Number/Input.js +62 -46
  414. package/dist/fields/Number/Input.js.map +1 -1
  415. package/dist/fields/Number/index.css +19 -0
  416. package/dist/fields/Number/types.d.ts +10 -0
  417. package/dist/fields/Number/types.d.ts.map +1 -1
  418. package/dist/fields/Number/types.js.map +1 -1
  419. package/dist/fields/Password/input.d.ts.map +1 -1
  420. package/dist/fields/Password/input.js +33 -29
  421. package/dist/fields/Password/input.js.map +1 -1
  422. package/dist/fields/Password/types.d.ts +4 -0
  423. package/dist/fields/Password/types.d.ts.map +1 -1
  424. package/dist/fields/Password/types.js.map +1 -1
  425. package/dist/fields/RadioGroup/index.css +6 -0
  426. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  427. package/dist/fields/Relationship/Input.js +4 -0
  428. package/dist/fields/Relationship/Input.js.map +1 -1
  429. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  430. package/dist/fields/Relationship/types.d.ts +4 -0
  431. package/dist/fields/Relationship/types.d.ts.map +1 -1
  432. package/dist/fields/Relationship/types.js.map +1 -1
  433. package/dist/fields/Select/Input.d.ts +4 -0
  434. package/dist/fields/Select/Input.d.ts.map +1 -1
  435. package/dist/fields/Select/Input.js +45 -40
  436. package/dist/fields/Select/Input.js.map +1 -1
  437. package/dist/fields/Slug/index.d.ts +7 -5
  438. package/dist/fields/Slug/index.d.ts.map +1 -1
  439. package/dist/fields/Slug/index.js +6 -4
  440. package/dist/fields/Slug/index.js.map +1 -1
  441. package/dist/fields/Text/Input.d.ts.map +1 -1
  442. package/dist/fields/Text/Input.js +44 -37
  443. package/dist/fields/Text/Input.js.map +1 -1
  444. package/dist/fields/Text/types.d.ts +9 -0
  445. package/dist/fields/Text/types.d.ts.map +1 -1
  446. package/dist/fields/Text/types.js.map +1 -1
  447. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  448. package/dist/fields/Textarea/Input.js +27 -23
  449. package/dist/fields/Textarea/Input.js.map +1 -1
  450. package/dist/fields/Textarea/index.css +1 -1
  451. package/dist/fields/Textarea/types.d.ts +4 -0
  452. package/dist/fields/Textarea/types.d.ts.map +1 -1
  453. package/dist/fields/Textarea/types.js.map +1 -1
  454. package/dist/fields/Upload/Input.d.ts.map +1 -1
  455. package/dist/fields/Upload/Input.js +12 -11
  456. package/dist/fields/Upload/Input.js.map +1 -1
  457. package/dist/fields/Upload/index.js +1 -1
  458. package/dist/fields/Upload/index.js.map +1 -1
  459. package/dist/fields/index.d.ts.map +1 -1
  460. package/dist/fields/index.js +2 -0
  461. package/dist/fields/index.js.map +1 -1
  462. package/dist/forms/Form/types.d.ts +2 -2
  463. package/dist/forms/Form/types.d.ts.map +1 -1
  464. package/dist/forms/Form/types.js.map +1 -1
  465. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  466. package/dist/forms/RenderFields/RenderField.js +10 -0
  467. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  468. package/dist/forms/RenderFields/index.css +4 -4
  469. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
  470. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  471. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +21 -5
  472. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  473. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +2 -2
  474. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  475. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  476. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +2 -2
  477. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  478. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  479. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +2 -2
  480. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  481. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  482. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
  483. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  484. package/dist/forms/fieldSchemasToFormState/index.js +2 -0
  485. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  486. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
  487. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  488. package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
  489. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  490. package/dist/graphics/Icon/index.js +1 -1
  491. package/dist/graphics/Icon/index.js.map +1 -1
  492. package/dist/hooks/useElementHeightVariable.d.ts +15 -0
  493. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -0
  494. package/dist/hooks/useElementHeightVariable.js +53 -0
  495. package/dist/hooks/useElementHeightVariable.js.map +1 -0
  496. package/dist/icons/Check/index.css +1 -2
  497. package/dist/icons/Check/index.js +1 -1
  498. package/dist/icons/Check/index.js.map +1 -1
  499. package/dist/icons/Crop/index.css +5 -0
  500. package/dist/icons/Crop/index.d.ts +7 -0
  501. package/dist/icons/Crop/index.d.ts.map +1 -0
  502. package/dist/icons/Crop/index.js +24 -0
  503. package/dist/icons/Crop/index.js.map +1 -0
  504. package/dist/icons/Download/index.css +5 -0
  505. package/dist/icons/{ExternalLink → Download}/index.d.ts +1 -1
  506. package/dist/icons/Download/index.d.ts.map +1 -0
  507. package/dist/icons/Download/index.js +27 -0
  508. package/dist/icons/Download/index.js.map +1 -0
  509. package/dist/icons/{ExternalLink → NewTab}/index.css +1 -1
  510. package/dist/icons/NewTab/index.d.ts +7 -0
  511. package/dist/icons/NewTab/index.d.ts.map +1 -0
  512. package/dist/icons/NewTab/index.js +25 -0
  513. package/dist/icons/NewTab/index.js.map +1 -0
  514. package/dist/icons/Replace/index.css +5 -0
  515. package/dist/icons/Replace/index.d.ts +6 -0
  516. package/dist/icons/Replace/index.d.ts.map +1 -0
  517. package/dist/icons/Replace/index.js +20 -0
  518. package/dist/icons/Replace/index.js.map +1 -0
  519. package/dist/icons/Reset/index.css +5 -0
  520. package/dist/icons/Reset/index.d.ts +7 -0
  521. package/dist/icons/Reset/index.d.ts.map +1 -0
  522. package/dist/icons/Reset/index.js +25 -0
  523. package/dist/icons/Reset/index.js.map +1 -0
  524. package/dist/icons/Swap/index.js +1 -1
  525. package/dist/icons/Swap/index.js.map +1 -1
  526. package/dist/icons/Warning/index.css +1 -7
  527. package/dist/icons/Warning/index.d.ts +1 -1
  528. package/dist/icons/Warning/index.d.ts.map +1 -1
  529. package/dist/icons/Warning/index.js +11 -16
  530. package/dist/icons/Warning/index.js.map +1 -1
  531. package/dist/providers/Auth/index.d.ts +3 -5
  532. package/dist/providers/Auth/index.d.ts.map +1 -1
  533. package/dist/providers/Auth/index.js +3 -8
  534. package/dist/providers/Auth/index.js.map +1 -1
  535. package/dist/providers/DocumentInfo/types.d.ts +2 -2
  536. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  537. package/dist/providers/DocumentInfo/types.js.map +1 -1
  538. package/dist/providers/Root/index.d.ts +2 -2
  539. package/dist/providers/Root/index.d.ts.map +1 -1
  540. package/dist/providers/Root/index.js.map +1 -1
  541. package/dist/providers/ToastContainer/index.css +208 -0
  542. package/dist/providers/ToastContainer/index.d.ts +1 -0
  543. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  544. package/dist/providers/ToastContainer/index.js +19 -6
  545. package/dist/providers/ToastContainer/index.js.map +1 -1
  546. package/dist/scss/app.scss +10 -4
  547. package/dist/styles.css +1369 -1
  548. package/dist/templates/Default/index.d.ts.map +1 -1
  549. package/dist/templates/Default/index.js +58 -10
  550. package/dist/templates/Default/index.js.map +1 -1
  551. package/dist/utilities/buildFormState.d.ts.map +1 -1
  552. package/dist/utilities/buildFormState.js +1 -0
  553. package/dist/utilities/buildFormState.js.map +1 -1
  554. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  555. package/dist/utilities/copyDataFromLocale.js +1 -0
  556. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  557. package/dist/utilities/formatRelativeDate.d.ts +15 -0
  558. package/dist/utilities/formatRelativeDate.d.ts.map +1 -0
  559. package/dist/utilities/formatRelativeDate.js +62 -0
  560. package/dist/utilities/formatRelativeDate.js.map +1 -0
  561. package/dist/utilities/getDocPreferences.d.ts +2 -2
  562. package/dist/utilities/getDocPreferences.d.ts.map +1 -1
  563. package/dist/utilities/getDocPreferences.js.map +1 -1
  564. package/dist/utilities/getDocumentData.d.ts +2 -2
  565. package/dist/utilities/getDocumentData.d.ts.map +1 -1
  566. package/dist/utilities/getDocumentData.js.map +1 -1
  567. package/dist/utilities/getGlobalData.d.ts.map +1 -1
  568. package/dist/utilities/getGlobalData.js.map +1 -1
  569. package/dist/utilities/getHasScheduledPublish.d.ts +2 -2
  570. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  571. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  572. package/dist/utilities/getIsLocked.d.ts +2 -2
  573. package/dist/utilities/getIsLocked.d.ts.map +1 -1
  574. package/dist/utilities/getIsLocked.js.map +1 -1
  575. package/dist/utilities/getVersions.d.ts +2 -2
  576. package/dist/utilities/getVersions.d.ts.map +1 -1
  577. package/dist/utilities/getVersions.js +2 -5
  578. package/dist/utilities/getVersions.js.map +1 -1
  579. package/dist/utilities/handleAuthRedirect.d.ts +2 -2
  580. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  581. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  582. package/dist/utilities/handleFormStateLocking.d.ts +2 -2
  583. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  584. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  585. package/dist/utilities/handleLivePreview.d.ts +1 -0
  586. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  587. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  588. package/dist/utilities/isURLAllowed.js +9 -3
  589. package/dist/utilities/isURLAllowed.js.map +1 -1
  590. package/dist/utilities/recentlyViewed.d.ts +16 -0
  591. package/dist/utilities/recentlyViewed.d.ts.map +1 -0
  592. package/dist/utilities/recentlyViewed.js +21 -0
  593. package/dist/utilities/recentlyViewed.js.map +1 -0
  594. package/dist/utilities/recentlyViewed.spec.js +92 -0
  595. package/dist/utilities/recentlyViewed.spec.js.map +1 -0
  596. package/dist/utilities/reduceFieldsToOptions.js +1 -1
  597. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  598. package/dist/utilities/slugify.d.ts +1 -1
  599. package/dist/utilities/slugify.js +1 -1
  600. package/dist/utilities/slugify.js.map +1 -1
  601. package/dist/views/API/index.client.js +2 -2
  602. package/dist/views/API/index.client.js.map +1 -1
  603. package/dist/views/Account/ResetPreferences/index.d.ts +2 -2
  604. package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -1
  605. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  606. package/dist/views/Account/Settings/index.d.ts +2 -2
  607. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  608. package/dist/views/Account/Settings/index.js.map +1 -1
  609. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
  610. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +27 -23
  611. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  612. package/dist/views/Dashboard/Default/ModularDashboard/index.css +2 -0
  613. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +2 -2
  614. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  615. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +2 -2
  616. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  617. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +2 -2
  618. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -1
  619. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -1
  620. package/dist/views/Document/index.d.ts.map +1 -1
  621. package/dist/views/Document/index.js +18 -1
  622. package/dist/views/Document/index.js.map +1 -1
  623. package/dist/views/Document/recordRecentlyViewed.d.ts +12 -0
  624. package/dist/views/Document/recordRecentlyViewed.d.ts.map +1 -0
  625. package/dist/views/Document/recordRecentlyViewed.js +40 -0
  626. package/dist/views/Document/recordRecentlyViewed.js.map +1 -0
  627. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  628. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  629. package/dist/views/Document/renderDocumentSlots.js +47 -1
  630. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  631. package/dist/views/Edit/index.css +143 -6
  632. package/dist/views/Edit/index.d.ts +1 -1
  633. package/dist/views/Edit/index.d.ts.map +1 -1
  634. package/dist/views/Edit/index.js +34 -31
  635. package/dist/views/Edit/index.js.map +1 -1
  636. package/dist/views/HierarchyList/DocumentListSelection/index.js +4 -4
  637. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  638. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +2 -2
  639. package/dist/views/List/ListHeader/index.css +5 -0
  640. package/dist/views/List/ListSelection/index.js +4 -4
  641. package/dist/views/List/ListSelection/index.js.map +1 -1
  642. package/dist/views/List/index.client.d.ts.map +1 -1
  643. package/dist/views/List/index.client.js +6 -6
  644. package/dist/views/List/index.client.js.map +1 -1
  645. package/dist/views/List/index.d.ts.map +1 -1
  646. package/dist/views/List/index.js +1 -7
  647. package/dist/views/List/index.js.map +1 -1
  648. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  649. package/dist/views/List/renderListViewSlots.js +9 -6
  650. package/dist/views/List/renderListViewSlots.js.map +1 -1
  651. package/dist/views/Logout/LogoutClient.js +29 -33
  652. package/dist/views/Logout/LogoutClient.js.map +1 -1
  653. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  654. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +1 -0
  655. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  656. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  657. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +1 -0
  658. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  659. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  660. package/dist/views/Version/SelectComparison/index.js +1 -0
  661. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  662. package/dist/views/Versions/fetchVersions.d.ts +4 -4
  663. package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
  664. package/dist/views/Versions/fetchVersions.js.map +1 -1
  665. package/dist/views/Versions/index.css +0 -4
  666. package/dist/views/Versions/types.d.ts +2 -2
  667. package/dist/views/Versions/types.d.ts.map +1 -1
  668. package/dist/views/Versions/types.js.map +1 -1
  669. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  670. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -0
  671. package/dist/widgets/CollectionQuery/SortField/index.js +118 -0
  672. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -0
  673. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts +18 -0
  674. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts.map +1 -0
  675. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js +91 -0
  676. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js.map +1 -0
  677. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +100 -0
  678. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +1 -0
  679. package/dist/widgets/CollectionQuery/index.css +64 -0
  680. package/dist/widgets/CollectionQuery/index.d.ts +16 -0
  681. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -0
  682. package/dist/widgets/CollectionQuery/index.js +328 -0
  683. package/dist/widgets/CollectionQuery/index.js.map +1 -0
  684. package/dist/widgets/RecentlyViewed/CollectionsField/index.css +14 -0
  685. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +10 -0
  686. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -0
  687. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +76 -0
  688. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -0
  689. package/dist/widgets/RecentlyViewed/index.d.ts +10 -0
  690. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -0
  691. package/dist/widgets/RecentlyViewed/index.js +148 -0
  692. package/dist/widgets/RecentlyViewed/index.js.map +1 -0
  693. package/dist/widgets/WidgetCard/index.css +155 -0
  694. package/dist/widgets/WidgetCard/index.d.ts +19 -0
  695. package/dist/widgets/WidgetCard/index.d.ts.map +1 -0
  696. package/dist/widgets/WidgetCard/index.js +49 -0
  697. package/dist/widgets/WidgetCard/index.js.map +1 -0
  698. package/package.json +5 -509
  699. package/dist/elements/BulkUpload/Header/index.d.ts +0 -9
  700. package/dist/elements/BulkUpload/Header/index.d.ts.map +0 -1
  701. package/dist/elements/BulkUpload/Header/index.js.map +0 -1
  702. package/dist/elements/ColumnSelector/index.d.ts +0 -9
  703. package/dist/elements/ColumnSelector/index.d.ts.map +0 -1
  704. package/dist/elements/ColumnSelector/index.js.map +0 -1
  705. package/dist/elements/ColumnsButton/index.d.ts +0 -7
  706. package/dist/elements/ColumnsButton/index.d.ts.map +0 -1
  707. package/dist/elements/ColumnsButton/index.js.map +0 -1
  708. package/dist/elements/FileDetails/FileMeta/index.scss +0 -31
  709. package/dist/elements/FileDetails/StaticFileDetails/index.scss +0 -134
  710. package/dist/elements/GroupByBuilder/index.d.ts +0 -12
  711. package/dist/elements/GroupByBuilder/index.d.ts.map +0 -1
  712. package/dist/elements/GroupByBuilder/index.js +0 -164
  713. package/dist/elements/GroupByBuilder/index.js.map +0 -1
  714. package/dist/elements/GroupByBuilder/index.scss +0 -39
  715. package/dist/elements/GroupByControl/index.d.ts +0 -9
  716. package/dist/elements/GroupByControl/index.d.ts.map +0 -1
  717. package/dist/elements/GroupByControl/index.js +0 -254
  718. package/dist/elements/GroupByControl/index.js.map +0 -1
  719. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +0 -1
  720. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +0 -1
  721. package/dist/elements/Hierarchy/Drawer/index.css +0 -90
  722. package/dist/elements/Hierarchy/Drawer/index.d.ts +0 -20
  723. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +0 -1
  724. package/dist/elements/Hierarchy/Drawer/index.js.map +0 -1
  725. package/dist/elements/Hierarchy/Drawer/types.d.ts.map +0 -1
  726. package/dist/elements/Hierarchy/Drawer/types.js.map +0 -1
  727. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +0 -30
  728. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +0 -1
  729. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +0 -1
  730. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  731. package/dist/elements/PreviewSizes/index.scss +0 -147
  732. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -17
  733. package/dist/elements/QueryPresets/fields/GroupByField/index.scss +0 -17
  734. package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
  735. package/dist/elements/Thumbnail/index.scss +0 -53
  736. package/dist/icons/ExternalLink/index.d.ts.map +0 -1
  737. package/dist/icons/ExternalLink/index.js +0 -26
  738. package/dist/icons/ExternalLink/index.js.map +0 -1
  739. package/dist/scss/toasts.scss +0 -146
  740. /package/dist/elements/{ColumnSelector/index.css → ColumnSelection/Popup.css} +0 -0
  741. /package/dist/elements/{GroupByControl/index.css → GroupBy/Popup.css} +0 -0
  742. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.d.ts +0 -0
  743. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.js +0 -0
  744. /package/dist/elements/Hierarchy/{Drawer → Modal}/types.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"slugify.js","names":["flattenAllFields","getFieldByPath","UnauthorizedError","slugify","defaultSlugify","slugifyHandler","args","collectionSlug","data","globalSlug","path","req","valueToSlugify","user","docConfig","payload","collections","config","globals","find","g","slug","Error","field","fields","customSlugify","custom","undefined","result"],"sources":["../../src/utilities/slugify.ts"],"sourcesContent":["import type { Slugify } from 'payload/shared'\n\nimport {\n flattenAllFields,\n getFieldByPath,\n type ServerFunction,\n type SlugifyServerFunctionArgs,\n UnauthorizedError,\n} from 'payload'\nimport { slugify as defaultSlugify } from 'payload/shared'\n\n/**\n * This server function is directly related to the {@link https://payloadcms.com/docs/fields/text#slug-field | Slug Field}.\n * This is a server function that is used to invoke the user's custom slugify function from the client.\n * This pattern is required, as there is no other way for us to pass their function across the client-server boundary.\n * - Not through props\n * - Not from a server function defined within a server component (see below)\n * When a server function contains non-serializable data within its closure, it gets passed through the boundary (and breaks).\n * The only way to pass server functions to the client (that contain non-serializable data) is if it is globally defined.\n * But we also cannot define this function alongside the server component, as we will not have access to their custom slugify function.\n * See `ServerFunctionsProvider` for more details.\n */\nexport const slugifyHandler: ServerFunction<\n SlugifyServerFunctionArgs,\n Promise<ReturnType<Slugify>>\n> = async (args) => {\n const { collectionSlug, data, globalSlug, path, req, valueToSlugify } = args\n\n if (!req.user) {\n throw new UnauthorizedError()\n }\n\n const docConfig = collectionSlug\n ? req.payload.collections[collectionSlug]?.config\n : globalSlug\n ? req.payload.config.globals.find((g) => g.slug === globalSlug)\n : null\n\n if (!docConfig) {\n throw new Error()\n }\n\n const { field } = getFieldByPath({\n config: req.payload.config,\n fields: flattenAllFields({ fields: docConfig.fields }),\n path,\n })\n\n const customSlugify = (\n typeof field?.custom?.slugify === 'function' ? field.custom.slugify : undefined\n ) as Slugify\n\n const result = customSlugify\n ? await customSlugify({ data, req, valueToSlugify })\n : defaultSlugify(valueToSlugify)\n\n return result\n}\n"],"mappings":"AAEA,SACEA,gBAAgB,EAChBC,cAAc,EAGdC,iBAAiB,QACZ;AACP,SAASC,OAAA,IAAWC,cAAc,QAAQ;AAE1C;;;;;;;;;;;AAWA,OAAO,MAAMC,cAAA,GAGT,MAAOC,IAAA;EACT,MAAM;IAAEC,cAAc;IAAEC,IAAI;IAAEC,UAAU;IAAEC,IAAI;IAAEC,GAAG;IAAEC;EAAc,CAAE,GAAGN,IAAA;EAExE,IAAI,CAACK,GAAA,CAAIE,IAAI,EAAE;IACb,MAAM,IAAIX,iBAAA;EACZ;EAEA,MAAMY,SAAA,GAAYP,cAAA,GACdI,GAAA,CAAII,OAAO,CAACC,WAAW,CAACT,cAAA,CAAe,EAAEU,MAAA,GACzCR,UAAA,GACEE,GAAA,CAAII,OAAO,CAACE,MAAM,CAACC,OAAO,CAACC,IAAI,CAAEC,CAAA,IAAMA,CAAA,CAAEC,IAAI,KAAKZ,UAAA,IAClD;EAEN,IAAI,CAACK,SAAA,EAAW;IACd,MAAM,IAAIQ,KAAA;EACZ;EAEA,MAAM;IAAEC;EAAK,CAAE,GAAGtB,cAAA,CAAe;IAC/BgB,MAAA,EAAQN,GAAA,CAAII,OAAO,CAACE,MAAM;IAC1BO,MAAA,EAAQxB,gBAAA,CAAiB;MAAEwB,MAAA,EAAQV,SAAA,CAAUU;IAAO;IACpDd;EACF;EAEA,MAAMe,aAAA,GACJ,OAAOF,KAAA,EAAOG,MAAA,EAAQvB,OAAA,KAAY,aAAaoB,KAAA,CAAMG,MAAM,CAACvB,OAAO,GAAGwB,SAAA;EAGxE,MAAMC,MAAA,GAASH,aAAA,GACX,MAAMA,aAAA,CAAc;IAAEjB,IAAA;IAAMG,GAAA;IAAKC;EAAe,KAChDR,cAAA,CAAeQ,cAAA;EAEnB,OAAOgB,MAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"slugify.js","names":["flattenAllFields","getFieldByPath","UnauthorizedError","slugify","defaultSlugify","slugifyHandler","args","collectionSlug","data","globalSlug","path","req","valueToSlugify","user","docConfig","payload","collections","config","globals","find","g","slug","Error","field","fields","customSlugify","custom","undefined","result"],"sources":["../../src/utilities/slugify.ts"],"sourcesContent":["import type { Slugify } from 'payload/shared'\n\nimport {\n flattenAllFields,\n getFieldByPath,\n type ServerFunction,\n type SlugifyServerFunctionArgs,\n UnauthorizedError,\n} from 'payload'\nimport { slugify as defaultSlugify } from 'payload/shared'\n\n/**\n * This server function is directly related to the {@link https://payloadcms.com/docs/fields/slug | Slug Field}.\n * This is a server function that is used to invoke the user's custom slugify function from the client.\n * This pattern is required, as there is no other way for us to pass their function across the client-server boundary.\n * - Not through props\n * - Not from a server function defined within a server component (see below)\n * When a server function contains non-serializable data within its closure, it gets passed through the boundary (and breaks).\n * The only way to pass server functions to the client (that contain non-serializable data) is if it is globally defined.\n * But we also cannot define this function alongside the server component, as we will not have access to their custom slugify function.\n * See `ServerFunctionsProvider` for more details.\n */\nexport const slugifyHandler: ServerFunction<\n SlugifyServerFunctionArgs,\n Promise<ReturnType<Slugify>>\n> = async (args) => {\n const { collectionSlug, data, globalSlug, path, req, valueToSlugify } = args\n\n if (!req.user) {\n throw new UnauthorizedError()\n }\n\n const docConfig = collectionSlug\n ? req.payload.collections[collectionSlug]?.config\n : globalSlug\n ? req.payload.config.globals.find((g) => g.slug === globalSlug)\n : null\n\n if (!docConfig) {\n throw new Error()\n }\n\n const { field } = getFieldByPath({\n config: req.payload.config,\n fields: flattenAllFields({ fields: docConfig.fields }),\n path,\n })\n\n const customSlugify = (\n typeof field?.custom?.slugify === 'function' ? field.custom.slugify : undefined\n ) as Slugify\n\n const result = customSlugify\n ? await customSlugify({ data, req, valueToSlugify })\n : defaultSlugify(valueToSlugify)\n\n return result\n}\n"],"mappings":"AAEA,SACEA,gBAAgB,EAChBC,cAAc,EAGdC,iBAAiB,QACZ;AACP,SAASC,OAAA,IAAWC,cAAc,QAAQ;AAE1C;;;;;;;;;;;AAWA,OAAO,MAAMC,cAAA,GAGT,MAAOC,IAAA;EACT,MAAM;IAAEC,cAAc;IAAEC,IAAI;IAAEC,UAAU;IAAEC,IAAI;IAAEC,GAAG;IAAEC;EAAc,CAAE,GAAGN,IAAA;EAExE,IAAI,CAACK,GAAA,CAAIE,IAAI,EAAE;IACb,MAAM,IAAIX,iBAAA;EACZ;EAEA,MAAMY,SAAA,GAAYP,cAAA,GACdI,GAAA,CAAII,OAAO,CAACC,WAAW,CAACT,cAAA,CAAe,EAAEU,MAAA,GACzCR,UAAA,GACEE,GAAA,CAAII,OAAO,CAACE,MAAM,CAACC,OAAO,CAACC,IAAI,CAAEC,CAAA,IAAMA,CAAA,CAAEC,IAAI,KAAKZ,UAAA,IAClD;EAEN,IAAI,CAACK,SAAA,EAAW;IACd,MAAM,IAAIQ,KAAA;EACZ;EAEA,MAAM;IAAEC;EAAK,CAAE,GAAGtB,cAAA,CAAe;IAC/BgB,MAAA,EAAQN,GAAA,CAAII,OAAO,CAACE,MAAM;IAC1BO,MAAA,EAAQxB,gBAAA,CAAiB;MAAEwB,MAAA,EAAQV,SAAA,CAAUU;IAAO;IACpDd;EACF;EAEA,MAAMe,aAAA,GACJ,OAAOF,KAAA,EAAOG,MAAA,EAAQvB,OAAA,KAAY,aAAaoB,KAAA,CAAMG,MAAM,CAACvB,OAAO,GAAGwB,SAAA;EAGxE,MAAMC,MAAA,GAASH,aAAA,GACX,MAAMA,aAAA,CAAc;IAAEjB,IAAA;IAAMG,GAAA;IAAKC;EAAe,KAChDR,cAAA,CAAeQ,cAAA;EAEnB,OAAOgB,MAAA;AACT","ignoreList":[]}
@@ -10,8 +10,8 @@ import { CheckboxField } from '../../fields/Checkbox/index.js';
10
10
  import { NumberField } from '../../fields/Number/index.js';
11
11
  import { TextInput } from '../../fields/Text/Input.js';
12
12
  import { Form } from '../../forms/Form/index.js';
13
- import { ExternalLinkIcon } from '../../icons/ExternalLink/index.js';
14
13
  import { MinimizeMaximizeIcon } from '../../icons/MinimizeMaximize/index.js';
14
+ import { NewTabIcon } from '../../icons/NewTab/index.js';
15
15
  import { useConfig } from '../../providers/Config/index.js';
16
16
  import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
17
17
  import { useLocale } from '../../providers/Locale/index.js';
@@ -218,7 +218,7 @@ export const APIViewClient = () => {
218
218
  buttonStyle: "secondary",
219
219
  className: `${baseClass}__api-url-open-button`,
220
220
  el: "anchor",
221
- icon: /*#__PURE__*/_jsx(ExternalLinkIcon, {
221
+ icon: /*#__PURE__*/_jsx(NewTabIcon, {
222
222
  size: 16
223
223
  }),
224
224
  margin: false,
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.js","names":["formatAdminURL","hasDraftsEnabled","React","toast","Button","CodeEditor","CodeEditorLazy","CheckboxField","NumberField","TextInput","Form","ExternalLinkIcon","MinimizeMaximizeIcon","useConfig","useDocumentInfo","useLocale","useSearchParams","useTranslation","SetDocumentStepNav","LocaleSelector","baseClass","APIViewClient","id","collectionSlug","globalSlug","initialData","isTrashed","searchParams","i18n","t","code","config","defaultDepth","localization","routes","api","apiRoute","serverURL","getEntityConfig","collectionConfig","globalConfig","localeOptions","locales","map","locale","label","value","draftsEnabled","docEndpoint","undefined","data","setData","useState","draft","setDraft","get","setLocale","depth","setDepth","toString","authenticated","setAuthenticated","fullscreen","setFullscreen","origin","setOrigin","jsonString","useMemo","JSON","stringify","recalculatedHeightAt","setRecalculatedHeightAt","useEffect","count","window","location","trashParam","deletedAt","params","URLSearchParams","String","trash","fetchURL","path","fetchData","res","fetch","credentials","headers","language","method","json","error","console","_jsxs","className","filter","Boolean","join","_jsx","globalLabel","pluralLabel","labels","plural","useAsTitle","admin","view","initialState","initialValue","valid","Number","onChange","field","name","step","max","min","htmlAttributes","readOnly","buttonStyle","el","icon","size","margin","newTab","url","isMinimized","onClick","defaultLanguage","height","options","fixedOverflowWidgets","folding","lineNumbers","stickyScroll","enabled","wordWrap"],"sources":["../../../src/views/API/index.client.tsx"],"sourcesContent":["'use client'\n\nimport { formatAdminURL, hasDraftsEnabled } from 'payload/shared'\nimport * as React from 'react'\nimport { toast } from 'sonner'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { CodeEditor as CodeEditorLazy } from '../../elements/CodeEditor/index.js'\nimport { CheckboxField } from '../../fields/Checkbox/index.js'\nimport { NumberField } from '../../fields/Number/index.js'\nimport { TextInput } from '../../fields/Text/Input.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { ExternalLinkIcon } from '../../icons/ExternalLink/index.js'\nimport { MinimizeMaximizeIcon } from '../../icons/MinimizeMaximize/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useSearchParams } from '../../providers/RouterAdapter/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { SetDocumentStepNav } from '../../views/Edit/SetDocumentStepNav/index.js'\nimport './index.css'\nimport { LocaleSelector } from './LocaleSelector/index.js'\n\nconst baseClass = 'query-inspector'\n\nexport const APIViewClient: React.FC = () => {\n const { id, collectionSlug, globalSlug, initialData, isTrashed } = useDocumentInfo()\n\n const searchParams = useSearchParams()\n const { i18n, t } = useTranslation()\n const { code } = useLocale()\n\n const {\n config: {\n defaultDepth,\n localization,\n routes: { api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const localeOptions =\n localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))\n\n let draftsEnabled: boolean = false\n let docEndpoint: `/${string}` = undefined\n\n if (collectionConfig) {\n draftsEnabled = hasDraftsEnabled(collectionConfig)\n docEndpoint = `/${collectionSlug}/${id}`\n }\n\n if (globalConfig) {\n draftsEnabled = hasDraftsEnabled(globalConfig)\n docEndpoint = `/globals/${globalSlug}`\n }\n\n const [data, setData] = React.useState<any>(initialData)\n const [draft, setDraft] = React.useState<boolean>(searchParams.get('draft') === 'true')\n const [locale, setLocale] = React.useState<string>(searchParams?.get('locale') || code)\n const [depth, setDepth] = React.useState<string>(\n searchParams.get('depth') || defaultDepth.toString(),\n )\n const [authenticated, setAuthenticated] = React.useState<boolean>(true)\n const [fullscreen, setFullscreen] = React.useState<boolean>(false)\n const [origin, setOrigin] = React.useState<string>(serverURL || '')\n\n const jsonString = React.useMemo(\n () => (data === undefined ? '' : JSON.stringify(data, null, 2)),\n [data],\n )\n\n // readOnly editors never fire onChange, so bump a counter to re-fit height on data change\n const [recalculatedHeightAt, setRecalculatedHeightAt] = React.useState(0)\n React.useEffect(() => {\n setRecalculatedHeightAt((count) => count + 1)\n }, [jsonString])\n\n // Set the origin to the window.location.origin in useEffect to avoid hydration errors\n React.useEffect(() => {\n if (!serverURL) {\n setOrigin(window.location.origin)\n }\n }, [serverURL])\n\n const trashParam = typeof initialData?.deletedAt === 'string'\n\n const params = new URLSearchParams({\n depth,\n draft: String(draft),\n locale,\n trash: trashParam ? 'true' : 'false',\n }).toString()\n\n const fetchURL = formatAdminURL({\n apiRoute,\n path: `${docEndpoint}?${params}`,\n serverURL: origin,\n })\n\n React.useEffect(() => {\n const fetchData = async () => {\n try {\n const res = await fetch(fetchURL, {\n credentials: authenticated ? 'include' : 'omit',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'GET',\n })\n\n try {\n const json = await res.json()\n setData(json)\n } catch (error) {\n toast.error('Error parsing response')\n console.error(error) // eslint-disable-line no-console\n }\n } catch (error) {\n toast.error('Error making request')\n console.error(error) // eslint-disable-line no-console\n }\n }\n\n void fetchData()\n }, [i18n.language, fetchURL, authenticated])\n\n return (\n <div\n className={[baseClass, fullscreen && `${baseClass}--fullscreen`].filter(Boolean).join(' ')}\n >\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalConfig?.label}\n globalSlug={globalSlug}\n id={id}\n isTrashed={isTrashed}\n pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}\n useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}\n view=\"API\"\n />\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__configuration`}>\n <Form\n initialState={{\n authenticated: {\n initialValue: authenticated || false,\n valid: true,\n value: authenticated || false,\n },\n depth: {\n initialValue: Number(depth || 0),\n valid: true,\n value: Number(depth || 0),\n },\n draft: {\n initialValue: draft || false,\n valid: true,\n value: draft || false,\n },\n locale: {\n initialValue: locale,\n valid: true,\n value: locale,\n },\n }}\n >\n <div className={`${baseClass}__form-fields`}>\n {localeOptions && (\n <LocaleSelector localeOptions={localeOptions} onChange={setLocale} />\n )}\n <NumberField\n field={{\n name: 'depth',\n admin: {\n step: 1,\n },\n label: t('general:depth'),\n max: 10,\n min: 0,\n }}\n onChange={(value) => setDepth(value?.toString())}\n path=\"depth\"\n />\n {draftsEnabled && (\n <CheckboxField\n field={{\n name: 'draft',\n label: t('version:draft'),\n }}\n onChange={() => setDraft(!draft)}\n path=\"draft\"\n />\n )}\n <CheckboxField\n field={{\n name: 'authenticated',\n label: t('authentication:authenticated'),\n }}\n onChange={() => setAuthenticated(!authenticated)}\n path=\"authenticated\"\n />\n </div>\n </Form>\n </div>\n <div className={`${baseClass}__results-wrapper`}>\n <div className={`${baseClass}__results-bar`}>\n <div className={`${baseClass}__api-url-field`}>\n <TextInput\n className={`${baseClass}__api-url-input`}\n htmlAttributes={{\n 'aria-label': 'API URL',\n readOnly: true,\n }}\n path=\"api-url\"\n readOnly={false}\n value={fetchURL}\n />\n </div>\n <div className={`${baseClass}__results-bar-actions`}>\n <Button\n aria-label={t('general:openInNewWindow')}\n buttonStyle=\"secondary\"\n className={`${baseClass}__api-url-open-button`}\n el=\"anchor\"\n icon={<ExternalLinkIcon size={16} />}\n margin={false}\n newTab\n size=\"large\"\n url={fetchURL}\n />\n <Button\n aria-label=\"toggle fullscreen\"\n buttonStyle=\"secondary\"\n className={`${baseClass}__toggle-fullscreen-button`}\n icon={<MinimizeMaximizeIcon isMinimized={!fullscreen} />}\n margin={false}\n onClick={() => setFullscreen(!fullscreen)}\n size=\"large\"\n />\n </div>\n </div>\n <div className={`${baseClass}__results`}>\n <CodeEditorLazy\n defaultLanguage=\"json\"\n height=\"100%\"\n options={{\n fixedOverflowWidgets: true,\n folding: true,\n lineNumbers: 'on',\n stickyScroll: { enabled: false },\n wordWrap: 'off',\n }}\n readOnly\n recalculatedHeightAt={recalculatedHeightAt}\n value={jsonString}\n />\n </div>\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.client.js","names":["formatAdminURL","hasDraftsEnabled","React","toast","Button","CodeEditor","CodeEditorLazy","CheckboxField","NumberField","TextInput","Form","MinimizeMaximizeIcon","NewTabIcon","useConfig","useDocumentInfo","useLocale","useSearchParams","useTranslation","SetDocumentStepNav","LocaleSelector","baseClass","APIViewClient","id","collectionSlug","globalSlug","initialData","isTrashed","searchParams","i18n","t","code","config","defaultDepth","localization","routes","api","apiRoute","serverURL","getEntityConfig","collectionConfig","globalConfig","localeOptions","locales","map","locale","label","value","draftsEnabled","docEndpoint","undefined","data","setData","useState","draft","setDraft","get","setLocale","depth","setDepth","toString","authenticated","setAuthenticated","fullscreen","setFullscreen","origin","setOrigin","jsonString","useMemo","JSON","stringify","recalculatedHeightAt","setRecalculatedHeightAt","useEffect","count","window","location","trashParam","deletedAt","params","URLSearchParams","String","trash","fetchURL","path","fetchData","res","fetch","credentials","headers","language","method","json","error","console","_jsxs","className","filter","Boolean","join","_jsx","globalLabel","pluralLabel","labels","plural","useAsTitle","admin","view","initialState","initialValue","valid","Number","onChange","field","name","step","max","min","htmlAttributes","readOnly","buttonStyle","el","icon","size","margin","newTab","url","isMinimized","onClick","defaultLanguage","height","options","fixedOverflowWidgets","folding","lineNumbers","stickyScroll","enabled","wordWrap"],"sources":["../../../src/views/API/index.client.tsx"],"sourcesContent":["'use client'\n\nimport { formatAdminURL, hasDraftsEnabled } from 'payload/shared'\nimport * as React from 'react'\nimport { toast } from 'sonner'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { CodeEditor as CodeEditorLazy } from '../../elements/CodeEditor/index.js'\nimport { CheckboxField } from '../../fields/Checkbox/index.js'\nimport { NumberField } from '../../fields/Number/index.js'\nimport { TextInput } from '../../fields/Text/Input.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { MinimizeMaximizeIcon } from '../../icons/MinimizeMaximize/index.js'\nimport { NewTabIcon } from '../../icons/NewTab/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useSearchParams } from '../../providers/RouterAdapter/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { SetDocumentStepNav } from '../../views/Edit/SetDocumentStepNav/index.js'\nimport './index.css'\nimport { LocaleSelector } from './LocaleSelector/index.js'\n\nconst baseClass = 'query-inspector'\n\nexport const APIViewClient: React.FC = () => {\n const { id, collectionSlug, globalSlug, initialData, isTrashed } = useDocumentInfo()\n\n const searchParams = useSearchParams()\n const { i18n, t } = useTranslation()\n const { code } = useLocale()\n\n const {\n config: {\n defaultDepth,\n localization,\n routes: { api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const localeOptions =\n localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))\n\n let draftsEnabled: boolean = false\n let docEndpoint: `/${string}` = undefined\n\n if (collectionConfig) {\n draftsEnabled = hasDraftsEnabled(collectionConfig)\n docEndpoint = `/${collectionSlug}/${id}`\n }\n\n if (globalConfig) {\n draftsEnabled = hasDraftsEnabled(globalConfig)\n docEndpoint = `/globals/${globalSlug}`\n }\n\n const [data, setData] = React.useState<any>(initialData)\n const [draft, setDraft] = React.useState<boolean>(searchParams.get('draft') === 'true')\n const [locale, setLocale] = React.useState<string>(searchParams?.get('locale') || code)\n const [depth, setDepth] = React.useState<string>(\n searchParams.get('depth') || defaultDepth.toString(),\n )\n const [authenticated, setAuthenticated] = React.useState<boolean>(true)\n const [fullscreen, setFullscreen] = React.useState<boolean>(false)\n const [origin, setOrigin] = React.useState<string>(serverURL || '')\n\n const jsonString = React.useMemo(\n () => (data === undefined ? '' : JSON.stringify(data, null, 2)),\n [data],\n )\n\n // readOnly editors never fire onChange, so bump a counter to re-fit height on data change\n const [recalculatedHeightAt, setRecalculatedHeightAt] = React.useState(0)\n React.useEffect(() => {\n setRecalculatedHeightAt((count) => count + 1)\n }, [jsonString])\n\n // Set the origin to the window.location.origin in useEffect to avoid hydration errors\n React.useEffect(() => {\n if (!serverURL) {\n setOrigin(window.location.origin)\n }\n }, [serverURL])\n\n const trashParam = typeof initialData?.deletedAt === 'string'\n\n const params = new URLSearchParams({\n depth,\n draft: String(draft),\n locale,\n trash: trashParam ? 'true' : 'false',\n }).toString()\n\n const fetchURL = formatAdminURL({\n apiRoute,\n path: `${docEndpoint}?${params}`,\n serverURL: origin,\n })\n\n React.useEffect(() => {\n const fetchData = async () => {\n try {\n const res = await fetch(fetchURL, {\n credentials: authenticated ? 'include' : 'omit',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'GET',\n })\n\n try {\n const json = await res.json()\n setData(json)\n } catch (error) {\n toast.error('Error parsing response')\n console.error(error) // eslint-disable-line no-console\n }\n } catch (error) {\n toast.error('Error making request')\n console.error(error) // eslint-disable-line no-console\n }\n }\n\n void fetchData()\n }, [i18n.language, fetchURL, authenticated])\n\n return (\n <div\n className={[baseClass, fullscreen && `${baseClass}--fullscreen`].filter(Boolean).join(' ')}\n >\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalConfig?.label}\n globalSlug={globalSlug}\n id={id}\n isTrashed={isTrashed}\n pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}\n useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}\n view=\"API\"\n />\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__configuration`}>\n <Form\n initialState={{\n authenticated: {\n initialValue: authenticated || false,\n valid: true,\n value: authenticated || false,\n },\n depth: {\n initialValue: Number(depth || 0),\n valid: true,\n value: Number(depth || 0),\n },\n draft: {\n initialValue: draft || false,\n valid: true,\n value: draft || false,\n },\n locale: {\n initialValue: locale,\n valid: true,\n value: locale,\n },\n }}\n >\n <div className={`${baseClass}__form-fields`}>\n {localeOptions && (\n <LocaleSelector localeOptions={localeOptions} onChange={setLocale} />\n )}\n <NumberField\n field={{\n name: 'depth',\n admin: {\n step: 1,\n },\n label: t('general:depth'),\n max: 10,\n min: 0,\n }}\n onChange={(value) => setDepth(value?.toString())}\n path=\"depth\"\n />\n {draftsEnabled && (\n <CheckboxField\n field={{\n name: 'draft',\n label: t('version:draft'),\n }}\n onChange={() => setDraft(!draft)}\n path=\"draft\"\n />\n )}\n <CheckboxField\n field={{\n name: 'authenticated',\n label: t('authentication:authenticated'),\n }}\n onChange={() => setAuthenticated(!authenticated)}\n path=\"authenticated\"\n />\n </div>\n </Form>\n </div>\n <div className={`${baseClass}__results-wrapper`}>\n <div className={`${baseClass}__results-bar`}>\n <div className={`${baseClass}__api-url-field`}>\n <TextInput\n className={`${baseClass}__api-url-input`}\n htmlAttributes={{\n 'aria-label': 'API URL',\n readOnly: true,\n }}\n path=\"api-url\"\n readOnly={false}\n value={fetchURL}\n />\n </div>\n <div className={`${baseClass}__results-bar-actions`}>\n <Button\n aria-label={t('general:openInNewWindow')}\n buttonStyle=\"secondary\"\n className={`${baseClass}__api-url-open-button`}\n el=\"anchor\"\n icon={<NewTabIcon size={16} />}\n margin={false}\n newTab\n size=\"large\"\n url={fetchURL}\n />\n <Button\n aria-label=\"toggle fullscreen\"\n buttonStyle=\"secondary\"\n className={`${baseClass}__toggle-fullscreen-button`}\n icon={<MinimizeMaximizeIcon isMinimized={!fullscreen} />}\n margin={false}\n onClick={() => setFullscreen(!fullscreen)}\n size=\"large\"\n />\n </div>\n </div>\n <div className={`${baseClass}__results`}>\n <CodeEditorLazy\n defaultLanguage=\"json\"\n height=\"100%\"\n options={{\n fixedOverflowWidgets: true,\n folding: true,\n lineNumbers: 'on',\n stickyScroll: { enabled: false },\n wordWrap: 'off',\n }}\n readOnly\n recalculatedHeightAt={recalculatedHeightAt}\n value={jsonString}\n />\n </div>\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import type { TypedUser } from 'payload';
1
+ import type { User } from 'payload';
2
2
  export declare const ResetPreferences: React.FC<{
3
- readonly user?: TypedUser;
3
+ readonly user?: User;
4
4
  }>;
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Account/ResetPreferences/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAexC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAC1B,CAsEA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Account/ResetPreferences/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAenC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAA;CACrB,CAsEA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","formatAdminURL","qs","Fragment","useCallback","toast","Button","ConfirmationModal","useModal","useConfig","useTranslation","confirmResetModalSlug","ResetPreferences","t0","$","user","openModal","t","config","t1","routes","t2","api","apiRoute","t3","stringifiedQuery","stringify","depth","where","equals","id","addQueryPrefix","res","fetch","path","credentials","headers","method","json","message","ok","success","error","t4","_err","handleResetPreferences","t5","_jsxs","children","_jsx","className","buttonStyle","onClick","body","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../../src/views/Account/ResetPreferences/index.tsx"],"sourcesContent":["'use client'\nimport type { TypedUser } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport { Fragment, useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { ConfirmationModal } from '../../../elements/ConfirmationModal/index.js'\nimport { useModal } from '../../../elements/Modal/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nconst confirmResetModalSlug = 'confirm-reset-modal'\n\nexport const ResetPreferences: React.FC<{\n readonly user?: TypedUser\n}> = ({ user }) => {\n const { openModal } = useModal()\n const { t } = useTranslation()\n const {\n config: {\n routes: { api: apiRoute },\n },\n } = useConfig()\n\n const handleResetPreferences = useCallback(async () => {\n if (!user) {\n return\n }\n\n const stringifiedQuery = qs.stringify(\n {\n depth: 0,\n where: {\n 'user.value': {\n equals: user.id,\n },\n },\n },\n { addQueryPrefix: true },\n )\n\n try {\n const res = await fetch(\n formatAdminURL({\n apiRoute,\n path: `/payload-preferences${stringifiedQuery}`,\n }),\n {\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'DELETE',\n },\n )\n\n const json = await res.json()\n const message = json.message\n\n if (res.ok) {\n toast.success(message)\n } else {\n toast.error(message)\n }\n } catch (_err) {\n // swallow error\n }\n }, [apiRoute, user])\n\n return (\n <Fragment>\n <div className=\"payload-reset-preferences\">\n <Button buttonStyle=\"secondary\" onClick={() => openModal(confirmResetModalSlug)}>\n {t('general:resetPreferences')}\n </Button>\n </div>\n <ConfirmationModal\n body={t('general:resetPreferencesDescription')}\n confirmingLabel={t('general:resettingPreferences')}\n heading={t('general:resetPreferences')}\n modalSlug={confirmResetModalSlug}\n onConfirm={handleResetPreferences}\n />\n </Fragment>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAC/B,YAAYC,EAAA,MAAQ;AACpB,SAASC,QAAQ,EAAEC,WAAW,QAAQ;AACtC,SAASC,KAAK,QAAQ;AAEtB,SAASC,MAAM,QAAQ;AACvB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,QAAQ,QAAQ;AACzB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAE/B,MAAMC,qBAAA,GAAwB;AAE9B,OAAO,MAAMC,gBAAA,GAERC,EAAA;EAAA,MAAAC,CAAA,GAAAd,EAAA;EAAC;IAAAe;EAAA,IAAAF,EAAQ;EACZ;IAAAG;EAAA,IAAsBR,QAAA;EACtB;IAAAS;EAAA,IAAcP,cAAA;EACd;IAAAQ,MAAA,EAAAC;EAAA,IAIIV,SAAA;EAHM;IAAAW,MAAA,EAAAC;EAAA,IAAAF,EAEP;EADS;IAAAG,GAAA,EAAAC;EAAA,IAAAF,EAAiB;EAAA,IAAAG,EAAA;EAAA,IAAAV,CAAA,QAAAS,QAAA,IAAAT,CAAA,QAAAC,IAAA;IAIcS,EAAA,SAAAA,CAAA;MAAA,KACpCT,IAAA;QAAA;MAAA;MAIL,MAAAU,gBAAA,GAAyBvB,EAAA,CAAAwB,SAAA;QAAAC,KAAA;QAAAC,KAAA;UAAA;YAAAC,MAAA,EAKTd,IAAA,CAAAe;UAAA;QAAA;MAAA;QAAAC,cAAA;MAAA,CAIS;MAAA;MAAA;QAIvB,MAAAC,GAAA,SAAkBC,KAAA,CAChBhC,cAAA;UAAAsB,QAAA;UAAAW,IAAA,EAEQ,uBAAuBT,gBAAA;QAAkB,CACjD;UAAAU,WAAA,EAEe;UAAAC,OAAA;YAAA,gBAEK;UAAA;UAAAC,MAAA,EAEV;QAAA,CACV;QAGF,MAAAC,IAAA,SAAmBN,GAAA,CAAAM,IAAA,CAAQ;QAC3B,MAAAC,OAAA,GAAgBD,IAAA,CAAAC,OAAA;QAAY,IAExBP,GAAA,CAAAQ,EAAA;UACFnC,KAAA,CAAAoC,OAAA,CAAcF,OAAA;QAAA;UAEdlC,KAAA,CAAAqC,KAAA,CAAYH,OAAA;QAAA;MAAA,SAAAI,EAAA;QAEPC,KAAA,CAAAA,IAAA,CAAAA,CAAA,CAAAA,EAAA;MAAA;IAAA;IAGX9B,CAAA,MAAAS,QAAA;IAAAT,CAAA,MAAAC,IAAA;IAAAD,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EA3CA,MAAA+B,sBAAA,GAA+BrB,EA2CZ;EAAA,IAAAmB,EAAA;EAAA,IAAA7B,CAAA,QAAAE,SAAA;IAK4B2B,EAAA,GAAAA,CAAA,KAAM3B,SAAA,CAAAL,qBAAU;IAAAA,CAAA,MAAAA,SAAA;IAAAA,CAAA,MAAAA,EAAA;EAAA;IAAAA,EAAA,GAAAA,CAAA;EAAA;EAAA,IAAAA,EAAA;EAAA,IAAAA,CAAA,QAAAA,sBAAA,IAAAA,CAAA,QAAAA,CAAA,IAAAA,CAAA,QAAAA,EAAA;IAF7DmC,EAAA,GAAAC,KAAA,CAAA5C,QAAA;MAAA6C,QAAA,GACEC,IAAA,CAAC;QAAAC,SAAA,EAAc;QAAAF,QAAA,EACbC,IAAA,CAAA3C,MAAA;UAAA6C,WAAA,EAAoB;UAAAC,OAAA,EAAqBT,EAAgB;UAAAhC,QAAA,EACtDM,CAAA,CAAE;QAAA,C;UAGPgC,IAAA,CAAA1C,iBAAA;QAAA8C,IAAA,EACQpC,CAAA,CAAE;QAAAqC,eAAA,EACSrC,CAAA,CAAE;QAAAsC,OAAA,EACVtC,CAAA,CAAE;QAAAuC,SAAA,EAAA7C,qBAAA;QAAA8C,SAAA,EAEAZ;MAAA,C;;;;;;;;;SAXfC,E;CAeJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","formatAdminURL","qs","Fragment","useCallback","toast","Button","ConfirmationModal","useModal","useConfig","useTranslation","confirmResetModalSlug","ResetPreferences","t0","$","user","openModal","t","config","t1","routes","t2","api","apiRoute","t3","stringifiedQuery","stringify","depth","where","equals","id","addQueryPrefix","res","fetch","path","credentials","headers","method","json","message","ok","success","error","t4","_err","handleResetPreferences","t5","_jsxs","children","_jsx","className","buttonStyle","onClick","body","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../../src/views/Account/ResetPreferences/index.tsx"],"sourcesContent":["'use client'\nimport type { User } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport { Fragment, useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { ConfirmationModal } from '../../../elements/ConfirmationModal/index.js'\nimport { useModal } from '../../../elements/Modal/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nconst confirmResetModalSlug = 'confirm-reset-modal'\n\nexport const ResetPreferences: React.FC<{\n readonly user?: User\n}> = ({ user }) => {\n const { openModal } = useModal()\n const { t } = useTranslation()\n const {\n config: {\n routes: { api: apiRoute },\n },\n } = useConfig()\n\n const handleResetPreferences = useCallback(async () => {\n if (!user) {\n return\n }\n\n const stringifiedQuery = qs.stringify(\n {\n depth: 0,\n where: {\n 'user.value': {\n equals: user.id,\n },\n },\n },\n { addQueryPrefix: true },\n )\n\n try {\n const res = await fetch(\n formatAdminURL({\n apiRoute,\n path: `/payload-preferences${stringifiedQuery}`,\n }),\n {\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'DELETE',\n },\n )\n\n const json = await res.json()\n const message = json.message\n\n if (res.ok) {\n toast.success(message)\n } else {\n toast.error(message)\n }\n } catch (_err) {\n // swallow error\n }\n }, [apiRoute, user])\n\n return (\n <Fragment>\n <div className=\"payload-reset-preferences\">\n <Button buttonStyle=\"secondary\" onClick={() => openModal(confirmResetModalSlug)}>\n {t('general:resetPreferences')}\n </Button>\n </div>\n <ConfirmationModal\n body={t('general:resetPreferencesDescription')}\n confirmingLabel={t('general:resettingPreferences')}\n heading={t('general:resetPreferences')}\n modalSlug={confirmResetModalSlug}\n onConfirm={handleResetPreferences}\n />\n </Fragment>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAC/B,YAAYC,EAAA,MAAQ;AACpB,SAASC,QAAQ,EAAEC,WAAW,QAAQ;AACtC,SAASC,KAAK,QAAQ;AAEtB,SAASC,MAAM,QAAQ;AACvB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,QAAQ,QAAQ;AACzB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAE/B,MAAMC,qBAAA,GAAwB;AAE9B,OAAO,MAAMC,gBAAA,GAERC,EAAA;EAAA,MAAAC,CAAA,GAAAd,EAAA;EAAC;IAAAe;EAAA,IAAAF,EAAQ;EACZ;IAAAG;EAAA,IAAsBR,QAAA;EACtB;IAAAS;EAAA,IAAcP,cAAA;EACd;IAAAQ,MAAA,EAAAC;EAAA,IAIIV,SAAA;EAHM;IAAAW,MAAA,EAAAC;EAAA,IAAAF,EAEP;EADS;IAAAG,GAAA,EAAAC;EAAA,IAAAF,EAAiB;EAAA,IAAAG,EAAA;EAAA,IAAAV,CAAA,QAAAS,QAAA,IAAAT,CAAA,QAAAC,IAAA;IAIcS,EAAA,SAAAA,CAAA;MAAA,KACpCT,IAAA;QAAA;MAAA;MAIL,MAAAU,gBAAA,GAAyBvB,EAAA,CAAAwB,SAAA;QAAAC,KAAA;QAAAC,KAAA;UAAA;YAAAC,MAAA,EAKTd,IAAA,CAAAe;UAAA;QAAA;MAAA;QAAAC,cAAA;MAAA,CAIS;MAAA;MAAA;QAIvB,MAAAC,GAAA,SAAkBC,KAAA,CAChBhC,cAAA;UAAAsB,QAAA;UAAAW,IAAA,EAEQ,uBAAuBT,gBAAA;QAAkB,CACjD;UAAAU,WAAA,EAEe;UAAAC,OAAA;YAAA,gBAEK;UAAA;UAAAC,MAAA,EAEV;QAAA,CACV;QAGF,MAAAC,IAAA,SAAmBN,GAAA,CAAAM,IAAA,CAAQ;QAC3B,MAAAC,OAAA,GAAgBD,IAAA,CAAAC,OAAA;QAAY,IAExBP,GAAA,CAAAQ,EAAA;UACFnC,KAAA,CAAAoC,OAAA,CAAcF,OAAA;QAAA;UAEdlC,KAAA,CAAAqC,KAAA,CAAYH,OAAA;QAAA;MAAA,SAAAI,EAAA;QAEPC,KAAA,CAAAA,IAAA,CAAAA,CAAA,CAAAA,EAAA;MAAA;IAAA;IAGX9B,CAAA,MAAAS,QAAA;IAAAT,CAAA,MAAAC,IAAA;IAAAD,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EA3CA,MAAA+B,sBAAA,GAA+BrB,EA2CZ;EAAA,IAAAmB,EAAA;EAAA,IAAA7B,CAAA,QAAAE,SAAA;IAK4B2B,EAAA,GAAAA,CAAA,KAAM3B,SAAA,CAAAL,qBAAU;IAAAA,CAAA,MAAAA,SAAA;IAAAA,CAAA,MAAAA,EAAA;EAAA;IAAAA,EAAA,GAAAA,CAAA;EAAA;EAAA,IAAAA,EAAA;EAAA,IAAAA,CAAA,QAAAA,sBAAA,IAAAA,CAAA,QAAAA,CAAA,IAAAA,CAAA,QAAAA,EAAA;IAF7DmC,EAAA,GAAAC,KAAA,CAAA5C,QAAA;MAAA6C,QAAA,GACEC,IAAA,CAAC;QAAAC,SAAA,EAAc;QAAAF,QAAA,EACbC,IAAA,CAAA3C,MAAA;UAAA6C,WAAA,EAAoB;UAAAC,OAAA,EAAqBT,EAAgB;UAAAhC,QAAA,EACtDM,CAAA,CAAE;QAAA,C;UAGPgC,IAAA,CAAA1C,iBAAA;QAAA8C,IAAA,EACQpC,CAAA,CAAE;QAAAqC,eAAA,EACSrC,CAAA,CAAE;QAAAsC,OAAA,EACVtC,CAAA,CAAE;QAAAuC,SAAA,EAAA7C,qBAAA;QAAA8C,SAAA,EAEAZ;MAAA,C;;;;;;;;;SAXfC,E;CAeJ","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import type { I18n } from '@payloadcms/translations';
2
- import type { BasePayload, Config, LanguageOptions, TypedUser } from 'payload';
2
+ import type { BasePayload, Config, LanguageOptions, User } from 'payload';
3
3
  import React from 'react';
4
4
  import './index.css';
5
5
  export declare const Settings: React.FC<{
@@ -8,6 +8,6 @@ export declare const Settings: React.FC<{
8
8
  readonly languageOptions: LanguageOptions;
9
9
  readonly payload: BasePayload;
10
10
  readonly theme: Config['admin']['theme'];
11
- readonly user?: TypedUser;
11
+ readonly user?: User;
12
12
  }>;
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Account/Settings/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAE9E,OAAO,KAAK,MAAM,OAAO,CAAA;AAWzB,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAA;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAC1B,CAeA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Account/Settings/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEzE,OAAO,KAAK,MAAM,OAAO,CAAA;AAWzB,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAA;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAA;CACrB,CAeA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","FieldLabel","AccountLanguageSelector","LanguageSelector","AccountResetPreferences","ResetPreferences","AccountToggleHighContrast","ToggleHighContrast","AccountToggleTheme","ToggleTheme","baseClass","Settings","props","className","i18n","languageOptions","theme","user","_jsxs","filter","Boolean","join","_jsx","t","htmlFor","label"],"sources":["../../../../src/views/Account/Settings/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { BasePayload, Config, LanguageOptions, TypedUser } from 'payload'\n\nimport React from 'react'\n\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 FieldLabel,\n AccountLanguageSelector as LanguageSelector,\n AccountResetPreferences as ResetPreferences,\n AccountToggleHighContrast as ToggleHighContrast,\n AccountToggleTheme as ToggleTheme,\n} from '../../../exports/client/index.js'\n/* eslint-enable payload/no-imports-from-exports-dir */\nimport './index.css'\n\nconst baseClass = 'payload-settings'\n\nexport const Settings: React.FC<{\n readonly className?: string\n readonly i18n: I18n\n readonly languageOptions: LanguageOptions\n readonly payload: BasePayload\n readonly theme: Config['admin']['theme']\n readonly user?: TypedUser\n}> = (props) => {\n const { className, i18n, languageOptions, theme, user } = props\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <h3>{i18n.t('general:payloadSettings')}</h3>\n <div className={`${baseClass}__language`}>\n <FieldLabel htmlFor=\"language-select\" label={i18n.t('general:language')} />\n <LanguageSelector languageOptions={languageOptions} />\n </div>\n {theme === 'all' && <ToggleTheme />}\n <ToggleHighContrast />\n <ResetPreferences user={user} />\n </div>\n )\n}\n"],"mappings":";AAGA,OAAOA,KAAA,MAAW;AAElB;AACA,SACEC,UAAU,EACVC,uBAAA,IAA2BC,gBAAgB,EAC3CC,uBAAA,IAA2BC,gBAAgB,EAC3CC,yBAAA,IAA6BC,kBAAkB,EAC/CC,kBAAA,IAAsBC,WAAW,QAC5B;AACP;AACA,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,QAAA,GAOPC,KAAA;EACJ,MAAM;IAAEC,SAAS;IAAEC,IAAI;IAAEC,eAAe;IAAEC,KAAK;IAAEC;EAAI,CAAE,GAAGL,KAAA;EAE1D,oBACEM,KAAA,CAAC;IAAIL,SAAA,EAAW,CAACH,SAAA,EAAWG,SAAA,CAAU,CAACM,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;4BAC1DC,IAAA,CAAC;gBAAIR,IAAA,CAAKS,CAAC,CAAC;qBACZL,KAAA,CAAC;MAAIL,SAAA,EAAW,GAAGH,SAAA,YAAqB;8BACtCY,IAAA,CAACrB,UAAA;QAAWuB,OAAA,EAAQ;QAAkBC,KAAA,EAAOX,IAAA,CAAKS,CAAC,CAAC;uBACpDD,IAAA,CAACnB,gBAAA;QAAiBY,eAAA,EAAiBA;;QAEpCC,KAAA,KAAU,sBAASM,IAAA,CAACb,WAAA,O,aACrBa,IAAA,CAACf,kBAAA,O,aACDe,IAAA,CAACjB,gBAAA;MAAiBY,IAAA,EAAMA;;;AAG9B","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","FieldLabel","AccountLanguageSelector","LanguageSelector","AccountResetPreferences","ResetPreferences","AccountToggleHighContrast","ToggleHighContrast","AccountToggleTheme","ToggleTheme","baseClass","Settings","props","className","i18n","languageOptions","theme","user","_jsxs","filter","Boolean","join","_jsx","t","htmlFor","label"],"sources":["../../../../src/views/Account/Settings/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { BasePayload, Config, LanguageOptions, User } from 'payload'\n\nimport React from 'react'\n\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 FieldLabel,\n AccountLanguageSelector as LanguageSelector,\n AccountResetPreferences as ResetPreferences,\n AccountToggleHighContrast as ToggleHighContrast,\n AccountToggleTheme as ToggleTheme,\n} from '../../../exports/client/index.js'\n/* eslint-enable payload/no-imports-from-exports-dir */\nimport './index.css'\n\nconst baseClass = 'payload-settings'\n\nexport const Settings: React.FC<{\n readonly className?: string\n readonly i18n: I18n\n readonly languageOptions: LanguageOptions\n readonly payload: BasePayload\n readonly theme: Config['admin']['theme']\n readonly user?: User\n}> = (props) => {\n const { className, i18n, languageOptions, theme, user } = props\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <h3>{i18n.t('general:payloadSettings')}</h3>\n <div className={`${baseClass}__language`}>\n <FieldLabel htmlFor=\"language-select\" label={i18n.t('general:language')} />\n <LanguageSelector languageOptions={languageOptions} />\n </div>\n {theme === 'all' && <ToggleTheme />}\n <ToggleHighContrast />\n <ResetPreferences user={user} />\n </div>\n )\n}\n"],"mappings":";AAGA,OAAOA,KAAA,MAAW;AAElB;AACA,SACEC,UAAU,EACVC,uBAAA,IAA2BC,gBAAgB,EAC3CC,uBAAA,IAA2BC,gBAAgB,EAC3CC,yBAAA,IAA6BC,kBAAkB,EAC/CC,kBAAA,IAAsBC,WAAW,QAC5B;AACP;AACA,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,QAAA,GAOPC,KAAA;EACJ,MAAM;IAAEC,SAAS;IAAEC,IAAI;IAAEC,eAAe;IAAEC,KAAK;IAAEC;EAAI,CAAE,GAAGL,KAAA;EAE1D,oBACEM,KAAA,CAAC;IAAIL,SAAA,EAAW,CAACH,SAAA,EAAWG,SAAA,CAAU,CAACM,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;4BAC1DC,IAAA,CAAC;gBAAIR,IAAA,CAAKS,CAAC,CAAC;qBACZL,KAAA,CAAC;MAAIL,SAAA,EAAW,GAAGH,SAAA,YAAqB;8BACtCY,IAAA,CAACrB,UAAA;QAAWuB,OAAA,EAAQ;QAAkBC,KAAA,EAAOX,IAAA,CAAKS,CAAC,CAAC;uBACpDD,IAAA,CAACnB,gBAAA;QAAiBY,eAAA,EAAiBA;;QAEpCC,KAAA,KAAU,sBAASM,IAAA,CAACb,WAAA,O,aACrBa,IAAA,CAACf,kBAAA,O,aACDe,IAAA,CAACjB,gBAAA;MAAiBY,IAAA,EAAMA;;;AAG9B","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetConfigDrawer.d.ts","sourceRoot":"","sources":["../../../../../src/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,SAAS,CAAA;AAEtD,OAAO,KAA4D,MAAM,OAAO,CAAA;AAgBhF,KAAK,uBAAuB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;IAC/C,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACrC,CAAA;AAMD,wBAAgB,kBAAkB,CAAC,EACjC,UAAU,EACV,MAAM,EACN,MAAM,EACN,UAAU,GACX,EAAE,uBAAuB,qBAwHzB"}
1
+ {"version":3,"file":"WidgetConfigDrawer.d.ts","sourceRoot":"","sources":["../../../../../src/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,SAAS,CAAA;AAEtD,OAAO,KAA4D,MAAM,OAAO,CAAA;AAiBhF,KAAK,uBAAuB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;IAC/C,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACrC,CAAA;AAMD,wBAAgB,kBAAkB,CAAC,EACjC,UAAU,EACV,MAAM,EACN,MAAM,EACN,UAAU,GACX,EAAE,uBAAuB,qBA0HzB"}
@@ -4,6 +4,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
5
5
  import { v4 as uuid } from 'uuid';
6
6
  import { Drawer } from '../../../../elements/Drawer/index.js';
7
+ import { Gutter } from '../../../../elements/Gutter/index.js';
7
8
  import { useModal } from '../../../../elements/Modal/index.js';
8
9
  import { ShimmerEffect } from '../../../../elements/ShimmerEffect/index.js';
9
10
  import { Form } from '../../../../forms/Form/index.js';
@@ -106,30 +107,33 @@ export function WidgetConfigDrawer({
106
107
  return /*#__PURE__*/_jsx(Drawer, {
107
108
  slug: drawerSlug,
108
109
  title: `${t('general:edit')} ${widgetLabel}`,
109
- children: initialState === false ? /*#__PURE__*/_jsx(ShimmerEffect, {
110
- height: "250px"
111
- }) : /*#__PURE__*/_jsx(OperationProvider, {
112
- operation: "update",
113
- children: /*#__PURE__*/_jsxs(Form, {
114
- fields: fields,
115
- initialState: initialState,
116
- onChange: [onChange],
117
- onSubmit: (_, data) => {
118
- onSave(mergeLocaleData(widgetData ?? {}, data, localeCode, fields));
119
- closeModal(drawerSlug);
120
- },
121
- uuid: formUUID,
122
- children: [/*#__PURE__*/_jsx(RenderFields, {
110
+ children: /*#__PURE__*/_jsx(Gutter, {
111
+ className: "widget-config-drawer__content",
112
+ children: initialState === false ? /*#__PURE__*/_jsx(ShimmerEffect, {
113
+ height: "250px"
114
+ }) : /*#__PURE__*/_jsx(OperationProvider, {
115
+ operation: "update",
116
+ children: /*#__PURE__*/_jsxs(Form, {
123
117
  fields: fields,
124
- forceRender: true,
125
- parentIndexPath: "",
126
- parentPath: "",
127
- parentSchemaPath: widget.slug,
128
- permissions: true,
129
- readOnly: false
130
- }), /*#__PURE__*/_jsx(FormSubmit, {
131
- children: t('fields:saveChanges')
132
- })]
118
+ initialState: initialState,
119
+ onChange: [onChange],
120
+ onSubmit: (_, data) => {
121
+ onSave(mergeLocaleData(widgetData ?? {}, data, localeCode, fields));
122
+ closeModal(drawerSlug);
123
+ },
124
+ uuid: formUUID,
125
+ children: [/*#__PURE__*/_jsx(RenderFields, {
126
+ fields: fields,
127
+ forceRender: true,
128
+ parentIndexPath: "",
129
+ parentPath: "",
130
+ parentSchemaPath: widget.slug,
131
+ permissions: true,
132
+ readOnly: false
133
+ }), /*#__PURE__*/_jsx(FormSubmit, {
134
+ children: t('fields:saveChanges')
135
+ })]
136
+ })
133
137
  })
134
138
  })
135
139
  });
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetConfigDrawer.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","v4","uuid","Drawer","useModal","ShimmerEffect","Form","RenderFields","FormSubmit","useLocale","OperationProvider","useServerFunctions","useTranslation","abortAndIgnore","extractLocaleData","mergeLocaleData","EMPTY_WIDGET_PREFERENCES","fields","WidgetConfigDrawer","drawerSlug","onSave","widget","widgetData","closeModal","modalState","getFormState","t","locale","localeCode","code","onChangeAbortControllerRef","initialState","setInitialState","isOpen","Boolean","formUUID","widgetLabel","label","slug","length","controller","AbortController","loadInitialState","localeFilteredData","state","data","docPermissions","docPreferences","operation","renderAllFields","schemaPath","signal","widgetSlug","onChange","formState","prevFormState","current","_jsx","title","height","_jsxs","onSubmit","_","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions","readOnly"],"sources":["../../../../../src/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientWidget, FormState } from 'payload'\n\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { v4 as uuid } from 'uuid'\n\nimport { Drawer } from '../../../../elements/Drawer/index.js'\nimport { useModal } from '../../../../elements/Modal/index.js'\nimport { ShimmerEffect } from '../../../../elements/ShimmerEffect/index.js'\nimport { Form } from '../../../../forms/Form/index.js'\nimport { RenderFields } from '../../../../forms/RenderFields/index.js'\nimport { FormSubmit } from '../../../../forms/Submit/index.js'\nimport { useLocale } from '../../../../providers/Locale/index.js'\nimport { OperationProvider } from '../../../../providers/Operation/index.js'\nimport { useServerFunctions } from '../../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { abortAndIgnore } from '../../../../utilities/abortAndIgnore.js'\nimport { extractLocaleData, mergeLocaleData } from './utils/localeUtils.js'\n\ntype WidgetConfigDrawerProps = {\n drawerSlug: string\n onSave: (data: Record<string, unknown>) => void\n widget: ClientWidget\n widgetData?: Record<string, unknown>\n}\n\nconst EMPTY_WIDGET_PREFERENCES = {\n fields: {},\n}\n\nexport function WidgetConfigDrawer({\n drawerSlug,\n onSave,\n widget,\n widgetData,\n}: WidgetConfigDrawerProps) {\n const { closeModal, modalState } = useModal()\n const { getFormState } = useServerFunctions()\n const { t } = useTranslation()\n const locale = useLocale()\n const localeCode = locale?.code ?? 'en'\n const onChangeAbortControllerRef = useRef<AbortController>(null)\n\n const [initialState, setInitialState] = useState<false | FormState | undefined>(false)\n\n const isOpen = Boolean(modalState?.[drawerSlug]?.isOpen)\n const formUUID = useMemo(() => uuid(), [])\n const widgetLabel = useMemo(\n () => (typeof widget.label === 'string' ? widget.label : widget.slug),\n [widget.label, widget.slug],\n )\n const fields = useMemo(() => widget.fields ?? [], [widget.fields])\n\n useEffect(() => {\n if (!isOpen || fields.length === 0) {\n setInitialState(false)\n return\n }\n\n const controller = new AbortController()\n\n const loadInitialState = async () => {\n const localeFilteredData = extractLocaleData(widgetData ?? {}, localeCode, fields)\n\n const { state } = await getFormState({\n data: localeFilteredData,\n docPermissions: {\n fields: true,\n },\n docPreferences: EMPTY_WIDGET_PREFERENCES,\n locale: localeCode,\n operation: 'update',\n renderAllFields: true,\n schemaPath: widget.slug,\n signal: controller.signal,\n widgetSlug: widget.slug,\n })\n\n if (state) {\n setInitialState(state)\n }\n }\n\n void loadInitialState()\n\n return () => {\n abortAndIgnore(controller)\n }\n }, [fields, getFormState, isOpen, localeCode, widget.slug, widgetData])\n\n const onChange = useCallback(\n async ({ formState: prevFormState }: { formState: FormState }) => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n\n const controller = new AbortController()\n onChangeAbortControllerRef.current = controller\n\n const { state } = await getFormState({\n docPermissions: {\n fields: true,\n },\n docPreferences: EMPTY_WIDGET_PREFERENCES,\n formState: prevFormState,\n operation: 'update',\n schemaPath: widget.slug,\n signal: controller.signal,\n widgetSlug: widget.slug,\n })\n\n if (!state) {\n return prevFormState\n }\n\n return state\n },\n [getFormState, widget.slug],\n )\n\n useEffect(() => {\n return () => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n }\n }, [])\n\n return (\n <Drawer slug={drawerSlug} title={`${t('general:edit')} ${widgetLabel}`}>\n {initialState === false ? (\n <ShimmerEffect height=\"250px\" />\n ) : (\n <OperationProvider operation=\"update\">\n <Form\n fields={fields}\n initialState={initialState}\n onChange={[onChange]}\n onSubmit={(_, data) => {\n onSave(mergeLocaleData(widgetData ?? {}, data, localeCode, fields))\n closeModal(drawerSlug)\n }}\n uuid={formUUID}\n >\n <RenderFields\n fields={fields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={widget.slug}\n permissions={true}\n readOnly={false}\n />\n <FormSubmit>{t('fields:saveChanges')}</FormSubmit>\n </Form>\n </OperationProvider>\n )}\n </Drawer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"WidgetConfigDrawer.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","v4","uuid","Drawer","Gutter","useModal","ShimmerEffect","Form","RenderFields","FormSubmit","useLocale","OperationProvider","useServerFunctions","useTranslation","abortAndIgnore","extractLocaleData","mergeLocaleData","EMPTY_WIDGET_PREFERENCES","fields","WidgetConfigDrawer","drawerSlug","onSave","widget","widgetData","closeModal","modalState","getFormState","t","locale","localeCode","code","onChangeAbortControllerRef","initialState","setInitialState","isOpen","Boolean","formUUID","widgetLabel","label","slug","length","controller","AbortController","loadInitialState","localeFilteredData","state","data","docPermissions","docPreferences","operation","renderAllFields","schemaPath","signal","widgetSlug","onChange","formState","prevFormState","current","_jsx","title","className","height","_jsxs","onSubmit","_","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions","readOnly"],"sources":["../../../../../src/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientWidget, FormState } from 'payload'\n\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { v4 as uuid } from 'uuid'\n\nimport { Drawer } from '../../../../elements/Drawer/index.js'\nimport { Gutter } from '../../../../elements/Gutter/index.js'\nimport { useModal } from '../../../../elements/Modal/index.js'\nimport { ShimmerEffect } from '../../../../elements/ShimmerEffect/index.js'\nimport { Form } from '../../../../forms/Form/index.js'\nimport { RenderFields } from '../../../../forms/RenderFields/index.js'\nimport { FormSubmit } from '../../../../forms/Submit/index.js'\nimport { useLocale } from '../../../../providers/Locale/index.js'\nimport { OperationProvider } from '../../../../providers/Operation/index.js'\nimport { useServerFunctions } from '../../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { abortAndIgnore } from '../../../../utilities/abortAndIgnore.js'\nimport { extractLocaleData, mergeLocaleData } from './utils/localeUtils.js'\n\ntype WidgetConfigDrawerProps = {\n drawerSlug: string\n onSave: (data: Record<string, unknown>) => void\n widget: ClientWidget\n widgetData?: Record<string, unknown>\n}\n\nconst EMPTY_WIDGET_PREFERENCES = {\n fields: {},\n}\n\nexport function WidgetConfigDrawer({\n drawerSlug,\n onSave,\n widget,\n widgetData,\n}: WidgetConfigDrawerProps) {\n const { closeModal, modalState } = useModal()\n const { getFormState } = useServerFunctions()\n const { t } = useTranslation()\n const locale = useLocale()\n const localeCode = locale?.code ?? 'en'\n const onChangeAbortControllerRef = useRef<AbortController>(null)\n\n const [initialState, setInitialState] = useState<false | FormState | undefined>(false)\n\n const isOpen = Boolean(modalState?.[drawerSlug]?.isOpen)\n const formUUID = useMemo(() => uuid(), [])\n const widgetLabel = useMemo(\n () => (typeof widget.label === 'string' ? widget.label : widget.slug),\n [widget.label, widget.slug],\n )\n const fields = useMemo(() => widget.fields ?? [], [widget.fields])\n\n useEffect(() => {\n if (!isOpen || fields.length === 0) {\n setInitialState(false)\n return\n }\n\n const controller = new AbortController()\n\n const loadInitialState = async () => {\n const localeFilteredData = extractLocaleData(widgetData ?? {}, localeCode, fields)\n\n const { state } = await getFormState({\n data: localeFilteredData,\n docPermissions: {\n fields: true,\n },\n docPreferences: EMPTY_WIDGET_PREFERENCES,\n locale: localeCode,\n operation: 'update',\n renderAllFields: true,\n schemaPath: widget.slug,\n signal: controller.signal,\n widgetSlug: widget.slug,\n })\n\n if (state) {\n setInitialState(state)\n }\n }\n\n void loadInitialState()\n\n return () => {\n abortAndIgnore(controller)\n }\n }, [fields, getFormState, isOpen, localeCode, widget.slug, widgetData])\n\n const onChange = useCallback(\n async ({ formState: prevFormState }: { formState: FormState }) => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n\n const controller = new AbortController()\n onChangeAbortControllerRef.current = controller\n\n const { state } = await getFormState({\n docPermissions: {\n fields: true,\n },\n docPreferences: EMPTY_WIDGET_PREFERENCES,\n formState: prevFormState,\n operation: 'update',\n schemaPath: widget.slug,\n signal: controller.signal,\n widgetSlug: widget.slug,\n })\n\n if (!state) {\n return prevFormState\n }\n\n return state\n },\n [getFormState, widget.slug],\n )\n\n useEffect(() => {\n return () => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n }\n }, [])\n\n return (\n <Drawer slug={drawerSlug} title={`${t('general:edit')} ${widgetLabel}`}>\n <Gutter className=\"widget-config-drawer__content\">\n {initialState === false ? (\n <ShimmerEffect height=\"250px\" />\n ) : (\n <OperationProvider operation=\"update\">\n <Form\n fields={fields}\n initialState={initialState}\n onChange={[onChange]}\n onSubmit={(_, data) => {\n onSave(mergeLocaleData(widgetData ?? {}, data, localeCode, fields))\n closeModal(drawerSlug)\n }}\n uuid={formUUID}\n >\n <RenderFields\n fields={fields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={widget.slug}\n permissions={true}\n readOnly={false}\n />\n <FormSubmit>{t('fields:saveChanges')}</FormSubmit>\n </Form>\n </OperationProvider>\n )}\n </Gutter>\n </Drawer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,8 @@
14
14
 
15
15
  .widget-config-drawer__content {
16
16
  height: 100%;
17
+ padding-top: var(--gutter-v);
18
+ padding-bottom: var(--gutter-v);
17
19
 
18
20
  .form-submit {
19
21
  margin-top: var(--spacer-2-5);
@@ -46,9 +46,9 @@ export const RenderWidget = t0 => {
46
46
  setComponent(React.createElement("div", {
47
47
  style: {
48
48
  background: "var(--theme-error-50)",
49
- border: "1px solid var(--theme-error-200)",
49
+ border: "var(--stroke-width-small) solid var(--theme-error-200)",
50
50
  borderRadius: "4px",
51
- color: "var(--theme-error-text)",
51
+ color: "var(--color-text-danger)",
52
52
  padding: "20px",
53
53
  textAlign: "center"
54
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RenderWidget.js","names":["c","_c","React","useCallback","useEffect","useRef","ShimmerEffect","useServerFunctions","RenderWidget","t0","$","widgetData","widgetId","Component","setComponent","useState","serverFunction","requestIDRef","t1","render","requestID","current","widgetSlug","slice","lastIndexOf","result","name","args","component","t2","createElement","style","background","border","borderRadius","color","padding","textAlign","renderWidget","t3","t4","Symbol","for","_jsx","height","_Fragment","children"],"sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useRef } from 'react'\n\nimport type {\n RenderWidgetServerFnArgs,\n RenderWidgetServerFnReturnType,\n} from './renderWidgetServerFn.js'\n\nimport { ShimmerEffect } from '../../../../../elements/ShimmerEffect/index.js'\nimport { useServerFunctions } from '../../../../../providers/ServerFunctions/index.js'\n\n/**\n * Utility to render a widget on-demand on the client.\n */\nexport const RenderWidget: React.FC<{\n /**\n * Instance-specific data for this widget\n */\n widgetData?: Record<string, unknown>\n /**\n * Unique ID for this widget instance (format: \"slug-timestamp\")\n */\n widgetId: string\n}> = ({ widgetData, widgetId }) => {\n const [Component, setComponent] = React.useState<null | React.ReactNode>(null)\n const { serverFunction } = useServerFunctions()\n const requestIDRef = useRef(0)\n\n const renderWidget = useCallback(() => {\n async function render() {\n const requestID = ++requestIDRef.current\n setComponent(null)\n\n try {\n const widgetSlug = widgetId.slice(0, widgetId.lastIndexOf('-'))\n\n const result = (await serverFunction({\n name: 'render-widget',\n args: {\n widgetData,\n widgetSlug,\n } as RenderWidgetServerFnArgs,\n })) as RenderWidgetServerFnReturnType\n\n if (requestID !== requestIDRef.current) {\n return\n }\n\n setComponent(result.component)\n } catch (_error) {\n if (requestID !== requestIDRef.current) {\n return\n }\n\n // Log error but don't expose details to console in production\n\n // Fallback error component\n setComponent(\n React.createElement(\n 'div',\n {\n style: {\n background: 'var(--theme-error-50)',\n border: '1px solid var(--theme-error-200)',\n borderRadius: '4px',\n color: 'var(--theme-error-text)',\n padding: '20px',\n textAlign: 'center',\n },\n },\n 'Failed to load widget. Please try again later.',\n ),\n )\n }\n }\n void render()\n }, [serverFunction, widgetData, widgetId])\n\n useEffect(() => {\n void renderWidget()\n }, [renderWidget])\n\n if (!Component) {\n return <ShimmerEffect height=\"100%\" />\n }\n\n return <>{Component}</>\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ;AAOtD,SAASC,aAAa,QAAQ;AAC9B,SAASC,kBAAkB,QAAQ;AAEnC;;;AAGA,OAAO,MAAMC,YAAA,GASRC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU,UAAA;IAAAC;EAAA,IAAAH,EAAwB;EAC5B,OAAAI,SAAA,EAAAC,YAAA,IAAkCZ,KAAA,CAAAa,QAAA,KAAuC;EACzE;IAAAC;EAAA,IAA2BT,kBAAA;EAC3B,MAAAU,YAAA,GAAqBZ,MAAA,EAAO;EAAA,IAAAa,EAAA;EAAA,IAAAR,CAAA,QAAAM,cAAA,IAAAN,CAAA,QAAAC,UAAA,IAAAD,CAAA,QAAAE,QAAA;IAEKM,EAAA,GAAAA,CAAA;MAC/B,MAAAC,MAAA,kBAAAA,OAAA;QACE,MAAAC,SAAA,GAAoBH,YAAA,CAAAI,OAAA,GAAAJ,YAAA,CAAAI,OAAA,IAAoB;QACxCP,YAAA,KAAa;QAAA;QAAA;UAGX,MAAAQ,UAAA,GAAmBV,QAAA,CAAAW,KAAA,IAAkBX,QAAA,CAAAY,WAAA,CAAqB;UAE1D,MAAAC,MAAA,SAAsBT,cAAA;YAAAU,IAAA,EACd;YAAAC,IAAA;cAAAhB,UAAA;cAAAW;YAAA;UAAA,CAKR;UAAA,IAEIF,SAAA,KAAcH,YAAA,CAAAI,OAAoB;YAAA;UAAA;UAItCP,YAAA,CAAaW,MAAA,CAAAG,SAAgB;QAAA,SAAAC,EAAA;UAAA,IAEzBT,SAAA,KAAcH,YAAA,CAAAI,OAAoB;YAAA;UAAA;UAOtCP,YAAA,CACEZ,KAAA,CAAA4B,aAAA,CACE;YAAAC,KAAA;cAAAC,UAAA,EAGgB;cAAAC,MAAA,EACJ;cAAAC,YAAA,EACM;cAAAC,KAAA,EACP;cAAAC,OAAA,EACE;cAAAC,SAAA,EACE;YAAA;UAAA,GAGf;QAAA;MAAA;MAKHlB,MAAA;IAAA;IACPT,CAAA,MAAAM,cAAA;IAAAN,CAAA,MAAAC,UAAA;IAAAD,CAAA,MAAAE,QAAA;IAAAF,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAhDA,MAAA4B,YAAA,GAAqBpB,EAgDoB;EAAA,IAAAW,EAAA;EAAA,IAAAU,EAAA;EAAA,IAAA7B,CAAA,QAAA4B,YAAA;IAE/BT,EAAA,GAAAA,CAAA;MACHS,YAAA;IAAA;IACJC,EAAA,IAACD,YAAA;IAAa5B,CAAA,MAAA4B,YAAA;IAAA5B,CAAA,MAAAmB,EAAA;IAAAnB,CAAA,MAAA6B,EAAA;EAAA;IAAAV,EAAA,GAAAnB,CAAA;IAAA6B,EAAA,GAAA7B,CAAA;EAAA;EAFjBN,SAAA,CAAUyB,EAEV,EAAGU,EAAc;EAAA,KAEZ1B,SAAA;IAAA,IAAA2B,EAAA;IAAA,IAAA9B,CAAA,QAAA+B,MAAA,CAAAC,GAAA;MACIF,EAAA,GAAAG,IAAA,CAAArC,aAAA;QAAAsC,MAAA,EAAsB;MAAA,C;;;;;WAAtBJ,E;;;;IAGFA,EAAA,GAAAG,IAAA,CAAAE,SAAA;MAAAC,QAAA,EAAGjC;IAAA,C;;;;;;SAAH2B,E;CACT","ignoreList":[]}
1
+ {"version":3,"file":"RenderWidget.js","names":["c","_c","React","useCallback","useEffect","useRef","ShimmerEffect","useServerFunctions","RenderWidget","t0","$","widgetData","widgetId","Component","setComponent","useState","serverFunction","requestIDRef","t1","render","requestID","current","widgetSlug","slice","lastIndexOf","result","name","args","component","t2","createElement","style","background","border","borderRadius","color","padding","textAlign","renderWidget","t3","t4","Symbol","for","_jsx","height","_Fragment","children"],"sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useRef } from 'react'\n\nimport type {\n RenderWidgetServerFnArgs,\n RenderWidgetServerFnReturnType,\n} from './renderWidgetServerFn.js'\n\nimport { ShimmerEffect } from '../../../../../elements/ShimmerEffect/index.js'\nimport { useServerFunctions } from '../../../../../providers/ServerFunctions/index.js'\n\n/**\n * Utility to render a widget on-demand on the client.\n */\nexport const RenderWidget: React.FC<{\n /**\n * Instance-specific data for this widget\n */\n widgetData?: Record<string, unknown>\n /**\n * Unique ID for this widget instance (format: \"slug-timestamp\")\n */\n widgetId: string\n}> = ({ widgetData, widgetId }) => {\n const [Component, setComponent] = React.useState<null | React.ReactNode>(null)\n const { serverFunction } = useServerFunctions()\n const requestIDRef = useRef(0)\n\n const renderWidget = useCallback(() => {\n async function render() {\n const requestID = ++requestIDRef.current\n setComponent(null)\n\n try {\n const widgetSlug = widgetId.slice(0, widgetId.lastIndexOf('-'))\n\n const result = (await serverFunction({\n name: 'render-widget',\n args: {\n widgetData,\n widgetSlug,\n } as RenderWidgetServerFnArgs,\n })) as RenderWidgetServerFnReturnType\n\n if (requestID !== requestIDRef.current) {\n return\n }\n\n setComponent(result.component)\n } catch (_error) {\n if (requestID !== requestIDRef.current) {\n return\n }\n\n // Log error but don't expose details to console in production\n\n // Fallback error component\n setComponent(\n React.createElement(\n 'div',\n {\n style: {\n background: 'var(--theme-error-50)',\n border: 'var(--stroke-width-small) solid var(--theme-error-200)',\n borderRadius: '4px',\n color: 'var(--color-text-danger)',\n padding: '20px',\n textAlign: 'center',\n },\n },\n 'Failed to load widget. Please try again later.',\n ),\n )\n }\n }\n void render()\n }, [serverFunction, widgetData, widgetId])\n\n useEffect(() => {\n void renderWidget()\n }, [renderWidget])\n\n if (!Component) {\n return <ShimmerEffect height=\"100%\" />\n }\n\n return <>{Component}</>\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ;AAOtD,SAASC,aAAa,QAAQ;AAC9B,SAASC,kBAAkB,QAAQ;AAEnC;;;AAGA,OAAO,MAAMC,YAAA,GASRC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU,UAAA;IAAAC;EAAA,IAAAH,EAAwB;EAC5B,OAAAI,SAAA,EAAAC,YAAA,IAAkCZ,KAAA,CAAAa,QAAA,KAAuC;EACzE;IAAAC;EAAA,IAA2BT,kBAAA;EAC3B,MAAAU,YAAA,GAAqBZ,MAAA,EAAO;EAAA,IAAAa,EAAA;EAAA,IAAAR,CAAA,QAAAM,cAAA,IAAAN,CAAA,QAAAC,UAAA,IAAAD,CAAA,QAAAE,QAAA;IAEKM,EAAA,GAAAA,CAAA;MAC/B,MAAAC,MAAA,kBAAAA,OAAA;QACE,MAAAC,SAAA,GAAoBH,YAAA,CAAAI,OAAA,GAAAJ,YAAA,CAAAI,OAAA,IAAoB;QACxCP,YAAA,KAAa;QAAA;QAAA;UAGX,MAAAQ,UAAA,GAAmBV,QAAA,CAAAW,KAAA,IAAkBX,QAAA,CAAAY,WAAA,CAAqB;UAE1D,MAAAC,MAAA,SAAsBT,cAAA;YAAAU,IAAA,EACd;YAAAC,IAAA;cAAAhB,UAAA;cAAAW;YAAA;UAAA,CAKR;UAAA,IAEIF,SAAA,KAAcH,YAAA,CAAAI,OAAoB;YAAA;UAAA;UAItCP,YAAA,CAAaW,MAAA,CAAAG,SAAgB;QAAA,SAAAC,EAAA;UAAA,IAEzBT,SAAA,KAAcH,YAAA,CAAAI,OAAoB;YAAA;UAAA;UAOtCP,YAAA,CACEZ,KAAA,CAAA4B,aAAA,CACE;YAAAC,KAAA;cAAAC,UAAA,EAGgB;cAAAC,MAAA,EACJ;cAAAC,YAAA,EACM;cAAAC,KAAA,EACP;cAAAC,OAAA,EACE;cAAAC,SAAA,EACE;YAAA;UAAA,GAGf;QAAA;MAAA;MAKHlB,MAAA;IAAA;IACPT,CAAA,MAAAM,cAAA;IAAAN,CAAA,MAAAC,UAAA;IAAAD,CAAA,MAAAE,QAAA;IAAAF,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAhDA,MAAA4B,YAAA,GAAqBpB,EAgDoB;EAAA,IAAAW,EAAA;EAAA,IAAAU,EAAA;EAAA,IAAA7B,CAAA,QAAA4B,YAAA;IAE/BT,EAAA,GAAAA,CAAA;MACHS,YAAA;IAAA;IACJC,EAAA,IAACD,YAAA;IAAa5B,CAAA,MAAA4B,YAAA;IAAA5B,CAAA,MAAAmB,EAAA;IAAAnB,CAAA,MAAA6B,EAAA;EAAA;IAAAV,EAAA,GAAAnB,CAAA;IAAA6B,EAAA,GAAA7B,CAAA;EAAA;EAFjBN,SAAA,CAAUyB,EAEV,EAAGU,EAAc;EAAA,KAEZ1B,SAAA;IAAA,IAAA2B,EAAA;IAAA,IAAA9B,CAAA,QAAA+B,MAAA,CAAAC,GAAA;MACIF,EAAA,GAAAG,IAAA,CAAArC,aAAA;QAAAsC,MAAA,EAAsB;MAAA,C;;;;;WAAtBJ,E;;;;IAGFA,EAAA,GAAAG,IAAA,CAAAE,SAAA;MAAAC,QAAA,EAAGjC;IAAA,C;;;;;;SAAH2B,E;CACT","ignoreList":[]}
@@ -29,7 +29,7 @@ export const renderWidgetHandler = ({
29
29
  component: React.createElement('div', {
30
30
  style: {
31
31
  background: 'var(--theme-elevation-50)',
32
- border: '1px solid var(--theme-elevation-200)',
32
+ border: 'var(--stroke-width-small) solid var(--theme-elevation-200)',
33
33
  borderRadius: '4px',
34
34
  color: 'var(--theme-text)',
35
35
  padding: '20px',
@@ -67,7 +67,7 @@ export const renderWidgetHandler = ({
67
67
  component: React.createElement('div', {
68
68
  style: {
69
69
  background: 'var(--theme-error-50)',
70
- border: '1px solid var(--theme-error-200)',
70
+ border: 'var(--stroke-width-small) solid var(--theme-error-200)',
71
71
  borderRadius: '4px',
72
72
  color: 'var(--theme-error-text)',
73
73
  padding: '20px',
@@ -1 +1 @@
1
- {"version":3,"file":"renderWidgetServerFn.js","names":["React","RenderServerComponent","extractLocaleData","renderWidgetHandler","cookies","locale","permissions","req","widgetData","widgetSlug","user","Error","widgets","payload","config","admin","dashboard","importMap","widgetConfig","find","widget","slug","component","createElement","style","background","border","borderRadius","color","padding","textAlign","localeFilteredData","fields","length","serverProps","Component","error","errorMessage","message","String","logger","err","msg"],"sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.ts"],"sourcesContent":["import type { Field, ServerFunction, WidgetServerProps } from 'payload'\n\nimport React from 'react'\n\nimport { RenderServerComponent } from '../../../../../elements/RenderServerComponent/index.js'\nimport { extractLocaleData } from '../utils/localeUtils.js'\n\nexport type RenderWidgetServerFnArgs = {\n /**\n * Instance-specific data for this widget\n */\n widgetData?: Record<string, unknown>\n /**\n * The slug of the widget to render\n */\n widgetSlug: string\n}\n\nexport type RenderWidgetServerFnReturnType = {\n component: React.ReactNode\n}\n\n/**\n * Server function to render a widget on-demand.\n * Similar to render-field but specifically for dashboard widgets.\n */\nexport const renderWidgetHandler: ServerFunction<\n RenderWidgetServerFnArgs,\n RenderWidgetServerFnReturnType\n> = ({ cookies, locale, permissions, req, widgetData, widgetSlug }) => {\n if (!req.user) {\n throw new Error('Unauthorized')\n }\n\n const { widgets } = req.payload.config.admin.dashboard\n const { importMap } = req.payload\n\n // Find the widget configuration\n const widgetConfig = widgets.find((widget) => widget.slug === widgetSlug)\n\n if (!widgetConfig) {\n return {\n component: React.createElement(\n 'div',\n {\n style: {\n background: 'var(--theme-elevation-50)',\n border: '1px solid var(--theme-elevation-200)',\n borderRadius: '4px',\n color: 'var(--theme-text)',\n padding: '20px',\n textAlign: 'center',\n },\n },\n `Widget \"${widgetSlug}\" not found`,\n ),\n }\n }\n\n try {\n const localeFilteredData = widgetConfig.fields?.length\n ? extractLocaleData(widgetData || {}, req.locale || 'en', widgetConfig.fields)\n : widgetData || {}\n\n const serverProps: WidgetServerProps = {\n cookies,\n locale,\n permissions,\n req,\n widgetData: localeFilteredData,\n widgetSlug,\n }\n\n // Render the widget server component\n const component = RenderServerComponent({\n Component: widgetConfig.Component,\n importMap,\n serverProps,\n })\n\n return { component }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error)\n\n req.payload.logger.error({\n err: error,\n msg: `Error rendering widget \"${widgetSlug}\": ${errorMessage}`,\n })\n\n return {\n component: React.createElement(\n 'div',\n {\n style: {\n background: 'var(--theme-error-50)',\n border: '1px solid var(--theme-error-200)',\n borderRadius: '4px',\n color: 'var(--theme-error-text)',\n padding: '20px',\n textAlign: 'center',\n },\n },\n 'Error loading widget',\n ),\n }\n }\n}\n"],"mappings":"AAEA,OAAOA,KAAA,MAAW;AAElB,SAASC,qBAAqB,QAAQ;AACtC,SAASC,iBAAiB,QAAQ;AAiBlC;;;;AAIA,OAAO,MAAMC,mBAAA,GAGTA,CAAC;EAAEC,OAAO;EAAEC,MAAM;EAAEC,WAAW;EAAEC,GAAG;EAAEC,UAAU;EAAEC;AAAU,CAAE;EAChE,IAAI,CAACF,GAAA,CAAIG,IAAI,EAAE;IACb,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,MAAM;IAAEC;EAAO,CAAE,GAAGL,GAAA,CAAIM,OAAO,CAACC,MAAM,CAACC,KAAK,CAACC,SAAS;EACtD,MAAM;IAAEC;EAAS,CAAE,GAAGV,GAAA,CAAIM,OAAO;EAEjC;EACA,MAAMK,YAAA,GAAeN,OAAA,CAAQO,IAAI,CAAEC,MAAA,IAAWA,MAAA,CAAOC,IAAI,KAAKZ,UAAA;EAE9D,IAAI,CAACS,YAAA,EAAc;IACjB,OAAO;MACLI,SAAA,EAAWtB,KAAA,CAAMuB,aAAa,CAC5B,OACA;QACEC,KAAA,EAAO;UACLC,UAAA,EAAY;UACZC,MAAA,EAAQ;UACRC,YAAA,EAAc;UACdC,KAAA,EAAO;UACPC,OAAA,EAAS;UACTC,SAAA,EAAW;QACb;MACF,GACA,WAAWrB,UAAA,aAAuB;IAEtC;EACF;EAEA,IAAI;IACF,MAAMsB,kBAAA,GAAqBb,YAAA,CAAac,MAAM,EAAEC,MAAA,GAC5C/B,iBAAA,CAAkBM,UAAA,IAAc,CAAC,GAAGD,GAAA,CAAIF,MAAM,IAAI,MAAMa,YAAA,CAAac,MAAM,IAC3ExB,UAAA,IAAc,CAAC;IAEnB,MAAM0B,WAAA,GAAiC;MACrC9B,OAAA;MACAC,MAAA;MACAC,WAAA;MACAC,GAAA;MACAC,UAAA,EAAYuB,kBAAA;MACZtB;IACF;IAEA;IACA,MAAMa,SAAA,GAAYrB,qBAAA,CAAsB;MACtCkC,SAAA,EAAWjB,YAAA,CAAaiB,SAAS;MACjClB,SAAA;MACAiB;IACF;IAEA,OAAO;MAAEZ;IAAU;EACrB,EAAE,OAAOc,KAAA,EAAO;IACd,MAAMC,YAAA,GAAeD,KAAA,YAAiBzB,KAAA,GAAQyB,KAAA,CAAME,OAAO,GAAGC,MAAA,CAAOH,KAAA;IAErE7B,GAAA,CAAIM,OAAO,CAAC2B,MAAM,CAACJ,KAAK,CAAC;MACvBK,GAAA,EAAKL,KAAA;MACLM,GAAA,EAAK,2BAA2BjC,UAAA,MAAgB4B,YAAA;IAClD;IAEA,OAAO;MACLf,SAAA,EAAWtB,KAAA,CAAMuB,aAAa,CAC5B,OACA;QACEC,KAAA,EAAO;UACLC,UAAA,EAAY;UACZC,MAAA,EAAQ;UACRC,YAAA,EAAc;UACdC,KAAA,EAAO;UACPC,OAAA,EAAS;UACTC,SAAA,EAAW;QACb;MACF,GACA;IAEJ;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"renderWidgetServerFn.js","names":["React","RenderServerComponent","extractLocaleData","renderWidgetHandler","cookies","locale","permissions","req","widgetData","widgetSlug","user","Error","widgets","payload","config","admin","dashboard","importMap","widgetConfig","find","widget","slug","component","createElement","style","background","border","borderRadius","color","padding","textAlign","localeFilteredData","fields","length","serverProps","Component","error","errorMessage","message","String","logger","err","msg"],"sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.ts"],"sourcesContent":["import type { Field, ServerFunction, WidgetServerProps } from 'payload'\n\nimport React from 'react'\n\nimport { RenderServerComponent } from '../../../../../elements/RenderServerComponent/index.js'\nimport { extractLocaleData } from '../utils/localeUtils.js'\n\nexport type RenderWidgetServerFnArgs = {\n /**\n * Instance-specific data for this widget\n */\n widgetData?: Record<string, unknown>\n /**\n * The slug of the widget to render\n */\n widgetSlug: string\n}\n\nexport type RenderWidgetServerFnReturnType = {\n component: React.ReactNode\n}\n\n/**\n * Server function to render a widget on-demand.\n * Similar to render-field but specifically for dashboard widgets.\n */\nexport const renderWidgetHandler: ServerFunction<\n RenderWidgetServerFnArgs,\n RenderWidgetServerFnReturnType\n> = ({ cookies, locale, permissions, req, widgetData, widgetSlug }) => {\n if (!req.user) {\n throw new Error('Unauthorized')\n }\n\n const { widgets } = req.payload.config.admin.dashboard\n const { importMap } = req.payload\n\n // Find the widget configuration\n const widgetConfig = widgets.find((widget) => widget.slug === widgetSlug)\n\n if (!widgetConfig) {\n return {\n component: React.createElement(\n 'div',\n {\n style: {\n background: 'var(--theme-elevation-50)',\n border: 'var(--stroke-width-small) solid var(--theme-elevation-200)',\n borderRadius: '4px',\n color: 'var(--theme-text)',\n padding: '20px',\n textAlign: 'center',\n },\n },\n `Widget \"${widgetSlug}\" not found`,\n ),\n }\n }\n\n try {\n const localeFilteredData = widgetConfig.fields?.length\n ? extractLocaleData(widgetData || {}, req.locale || 'en', widgetConfig.fields)\n : widgetData || {}\n\n const serverProps: WidgetServerProps = {\n cookies,\n locale,\n permissions,\n req,\n widgetData: localeFilteredData,\n widgetSlug,\n }\n\n // Render the widget server component\n const component = RenderServerComponent({\n Component: widgetConfig.Component,\n importMap,\n serverProps,\n })\n\n return { component }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error)\n\n req.payload.logger.error({\n err: error,\n msg: `Error rendering widget \"${widgetSlug}\": ${errorMessage}`,\n })\n\n return {\n component: React.createElement(\n 'div',\n {\n style: {\n background: 'var(--theme-error-50)',\n border: 'var(--stroke-width-small) solid var(--theme-error-200)',\n borderRadius: '4px',\n color: 'var(--theme-error-text)',\n padding: '20px',\n textAlign: 'center',\n },\n },\n 'Error loading widget',\n ),\n }\n }\n}\n"],"mappings":"AAEA,OAAOA,KAAA,MAAW;AAElB,SAASC,qBAAqB,QAAQ;AACtC,SAASC,iBAAiB,QAAQ;AAiBlC;;;;AAIA,OAAO,MAAMC,mBAAA,GAGTA,CAAC;EAAEC,OAAO;EAAEC,MAAM;EAAEC,WAAW;EAAEC,GAAG;EAAEC,UAAU;EAAEC;AAAU,CAAE;EAChE,IAAI,CAACF,GAAA,CAAIG,IAAI,EAAE;IACb,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,MAAM;IAAEC;EAAO,CAAE,GAAGL,GAAA,CAAIM,OAAO,CAACC,MAAM,CAACC,KAAK,CAACC,SAAS;EACtD,MAAM;IAAEC;EAAS,CAAE,GAAGV,GAAA,CAAIM,OAAO;EAEjC;EACA,MAAMK,YAAA,GAAeN,OAAA,CAAQO,IAAI,CAAEC,MAAA,IAAWA,MAAA,CAAOC,IAAI,KAAKZ,UAAA;EAE9D,IAAI,CAACS,YAAA,EAAc;IACjB,OAAO;MACLI,SAAA,EAAWtB,KAAA,CAAMuB,aAAa,CAC5B,OACA;QACEC,KAAA,EAAO;UACLC,UAAA,EAAY;UACZC,MAAA,EAAQ;UACRC,YAAA,EAAc;UACdC,KAAA,EAAO;UACPC,OAAA,EAAS;UACTC,SAAA,EAAW;QACb;MACF,GACA,WAAWrB,UAAA,aAAuB;IAEtC;EACF;EAEA,IAAI;IACF,MAAMsB,kBAAA,GAAqBb,YAAA,CAAac,MAAM,EAAEC,MAAA,GAC5C/B,iBAAA,CAAkBM,UAAA,IAAc,CAAC,GAAGD,GAAA,CAAIF,MAAM,IAAI,MAAMa,YAAA,CAAac,MAAM,IAC3ExB,UAAA,IAAc,CAAC;IAEnB,MAAM0B,WAAA,GAAiC;MACrC9B,OAAA;MACAC,MAAA;MACAC,WAAA;MACAC,GAAA;MACAC,UAAA,EAAYuB,kBAAA;MACZtB;IACF;IAEA;IACA,MAAMa,SAAA,GAAYrB,qBAAA,CAAsB;MACtCkC,SAAA,EAAWjB,YAAA,CAAaiB,SAAS;MACjClB,SAAA;MACAiB;IACF;IAEA,OAAO;MAAEZ;IAAU;EACrB,EAAE,OAAOc,KAAA,EAAO;IACd,MAAMC,YAAA,GAAeD,KAAA,YAAiBzB,KAAA,GAAQyB,KAAA,CAAME,OAAO,GAAGC,MAAA,CAAOH,KAAA;IAErE7B,GAAA,CAAIM,OAAO,CAAC2B,MAAM,CAACJ,KAAK,CAAC;MACvBK,GAAA,EAAKL,KAAA;MACLM,GAAA,EAAK,2BAA2BjC,UAAA,MAAgB4B,YAAA;IAClD;IAEA,OAAO;MACLf,SAAA,EAAWtB,KAAA,CAAMuB,aAAa,CAC5B,OACA;QACEC,KAAA,EAAO;UACLC,UAAA,EAAY;UACZC,MAAA,EAAQ;UACRC,YAAA,EAAc;UACdC,KAAA,EAAO;UACPC,OAAA,EAAS;UACTC,SAAA,EAAW;QACb;MACF,GACA;IAEJ;EACF;AACF","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { BasePayload, TypedUser } from 'payload';
1
+ import type { BasePayload, User } from 'payload';
2
2
  import type { WidgetItem } from '../index.client.js';
3
- export declare function getItemsFromPreferences(payload: BasePayload, user: TypedUser): Promise<null | WidgetItem[]>;
3
+ export declare function getItemsFromPreferences(payload: BasePayload, user: User): Promise<null | WidgetItem[]>;
4
4
  //# sourceMappingURL=getItemsFromPreferences.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getItemsFromPreferences.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAIrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAIpD,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,CAAC,CAe9B"}
1
+ {"version":3,"file":"getItemsFromPreferences.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAIhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAIpD,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,CAAC,CAe9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"getItemsFromPreferences.js","names":["PREFERENCE_KEYS","getPreferences","getItemsFromPreferences","payload","user","savedPreferences","DASHBOARD_LAYOUT","id","collection","value","layouts"],"sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.ts"],"sourcesContent":["import type { BasePayload, TypedUser } from 'payload'\n\nimport { PREFERENCE_KEYS } from 'payload/shared'\n\nimport type { WidgetItem } from '../index.client.js'\n\nimport { getPreferences } from '../../../../../utilities/upsertPreferences.js'\n\nexport async function getItemsFromPreferences(\n payload: BasePayload,\n user: TypedUser,\n): Promise<null | WidgetItem[]> {\n const savedPreferences = await getPreferences(\n PREFERENCE_KEYS.DASHBOARD_LAYOUT,\n payload,\n user.id,\n user.collection,\n )\n if (\n !savedPreferences?.value ||\n typeof savedPreferences.value !== 'object' ||\n !('layouts' in savedPreferences.value)\n ) {\n return null\n }\n return savedPreferences.value.layouts as null | WidgetItem[]\n}\n"],"mappings":"AAEA,SAASA,eAAe,QAAQ;AAIhC,SAASC,cAAc,QAAQ;AAE/B,OAAO,eAAeC,wBACpBC,OAAoB,EACpBC,IAAe;EAEf,MAAMC,gBAAA,GAAmB,MAAMJ,cAAA,CAC7BD,eAAA,CAAgBM,gBAAgB,EAChCH,OAAA,EACAC,IAAA,CAAKG,EAAE,EACPH,IAAA,CAAKI,UAAU;EAEjB,IACE,CAACH,gBAAA,EAAkBI,KAAA,IACnB,OAAOJ,gBAAA,CAAiBI,KAAK,KAAK,YAClC,EAAE,aAAaJ,gBAAA,CAAiBI,KAAK,CAAD,EACpC;IACA,OAAO;EACT;EACA,OAAOJ,gBAAA,CAAiBI,KAAK,CAACC,OAAO;AACvC","ignoreList":[]}
1
+ {"version":3,"file":"getItemsFromPreferences.js","names":["PREFERENCE_KEYS","getPreferences","getItemsFromPreferences","payload","user","savedPreferences","DASHBOARD_LAYOUT","id","collection","value","layouts"],"sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.ts"],"sourcesContent":["import type { BasePayload, User } from 'payload'\n\nimport { PREFERENCE_KEYS } from 'payload/shared'\n\nimport type { WidgetItem } from '../index.client.js'\n\nimport { getPreferences } from '../../../../../utilities/upsertPreferences.js'\n\nexport async function getItemsFromPreferences(\n payload: BasePayload,\n user: User,\n): Promise<null | WidgetItem[]> {\n const savedPreferences = await getPreferences(\n PREFERENCE_KEYS.DASHBOARD_LAYOUT,\n payload,\n user.id,\n user.collection,\n )\n if (\n !savedPreferences?.value ||\n typeof savedPreferences.value !== 'object' ||\n !('layouts' in savedPreferences.value)\n ) {\n return null\n }\n return savedPreferences.value.layouts as null | WidgetItem[]\n}\n"],"mappings":"AAEA,SAASA,eAAe,QAAQ;AAIhC,SAASC,cAAc,QAAQ;AAE/B,OAAO,eAAeC,wBACpBC,OAAoB,EACpBC,IAAU;EAEV,MAAMC,gBAAA,GAAmB,MAAMJ,cAAA,CAC7BD,eAAA,CAAgBM,gBAAgB,EAChCH,OAAA,EACAC,IAAA,CAAKG,EAAE,EACPH,IAAA,CAAKI,UAAU;EAEjB,IACE,CAACH,gBAAA,EAAkBI,KAAA,IACnB,OAAOJ,gBAAA,CAAiBI,KAAK,KAAK,YAClC,EAAE,aAAaJ,gBAAA,CAAiBI,KAAK,CAAD,EACpC;IACA,OAAO;EACT;EACA,OAAOJ,gBAAA,CAAiBI,KAAK,CAACC,OAAO;AACvC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAEpB,IAAI,EACJ,uBAAuB,EACvB,uBAAuB,EAEvB,iBAAiB,EACjB,gBAAgB,EAChB,gCAAgC,EACjC,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,MAAM,OAAO,CAAA;AA4BzB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,gBAAgB,CAAC,uBAAuB,CAAC,GACzC,KAAK,CAAC,EAAE,GACR,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAA;AAErC;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAU,0PAgBlC;IACD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,EAAE,gCAAgC,CAAA;CAC5C,GAAG,oBAAoB,KAAG,OAAO,CAAC;IACjC,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CA0YA,CAAA;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,oBAAoB,+QAe7D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAEpB,IAAI,EACJ,uBAAuB,EACvB,uBAAuB,EAEvB,iBAAiB,EACjB,gBAAgB,EAChB,gCAAgC,EACjC,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,MAAM,OAAO,CAAA;AA6BzB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,gBAAgB,CAAC,uBAAuB,CAAC,GACzC,KAAK,CAAC,EAAE,GACR,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAA;AAErC;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAU,0PAgBlC;IACD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,EAAE,gCAAgC,CAAA;CAC5C,GAAG,oBAAoB,KAAG,OAAO,CAAC;IACjC,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAsZA,CAAA;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,oBAAoB,+QAuB7D"}
@@ -21,6 +21,7 @@ import { getPreferences } from '../../utilities/upsertPreferences.js';
21
21
  import { NotFoundView } from '../NotFound/index.js';
22
22
  import { UnauthorizedViewWithGutter } from '../Unauthorized/index.js';
23
23
  import { getDocumentView } from './getDocumentView.js';
24
+ import { recordRecentlyViewed } from './recordRecentlyViewed.js';
24
25
  import { renderDocumentSlots } from './renderDocumentSlots.js';
25
26
  export { getDocumentView } from './getDocumentView.js';
26
27
  /**
@@ -160,6 +161,13 @@ export const renderDocument = async ({
160
161
  // get entity preferences
161
162
  getPreferences(collectionSlug ? `collection-${collectionSlug}` : `global-${globalSlug}`, payload, req.user.id, req.user.collection)]);
162
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;
163
171
  const [{
164
172
  hasPublishedDoc,
165
173
  mostRecentVersionIsAutosaved,
@@ -199,6 +207,7 @@ export const renderDocument = async ({
199
207
  payload,
200
208
  user
201
209
  })]);
210
+ await recentlyViewedPromise;
202
211
  const documentViewServerProps = {
203
212
  doc,
204
213
  hasPublishedDoc,
@@ -292,6 +301,7 @@ export const renderDocument = async ({
292
301
  const documentSlots = renderDocumentSlots({
293
302
  id,
294
303
  collectionConfig,
304
+ doc: doc,
295
305
  globalConfig,
296
306
  hasSavePermission,
297
307
  locale,
@@ -363,7 +373,7 @@ export const renderDocument = async ({
363
373
  children: /*#__PURE__*/_jsxs(LivePreviewProvider, {
364
374
  breakpoints: livePreviewConfig?.breakpoints,
365
375
  isLivePreviewEnabled: isLivePreviewEnabled && operation !== 'create',
366
- isLivePreviewing: Boolean(entityPreferences?.value?.editViewType === 'live-preview' && livePreviewURL),
376
+ isLivePreviewing: Boolean((entityPreferences?.value?.editViewType === undefined ? livePreviewConfig?.openByDefault : entityPreferences.value.editViewType === 'live-preview') && livePreviewURL),
367
377
  isPreviewEnabled: Boolean(isPreviewEnabled),
368
378
  previewURL: previewURL,
369
379
  typeofLivePreviewURL: typeof livePreviewConfig?.url,
@@ -398,6 +408,13 @@ export async function DocumentView(props) {
398
408
  if (error?.message === 'NEXT_REDIRECT') {
399
409
  throw error;
400
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
+ }
401
418
  logError({
402
419
  err: error,
403
420
  payload: props.initPageResult.req.payload