@payloadcms/ui 4.0.0-internal.af6aad0 → 4.0.0-internal.b8a92d2

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 (855) hide show
  1. package/dist/css/app.css +1 -0
  2. package/dist/css/colors.css +9 -8
  3. package/dist/css/forms.css +1 -0
  4. package/dist/css/preflight.css +1 -0
  5. package/dist/css/spacing.css +12 -0
  6. package/dist/css/typography.css +158 -14
  7. package/dist/elements/APIKeyInput/index.d.ts +2 -0
  8. package/dist/elements/APIKeyInput/index.d.ts.map +1 -1
  9. package/dist/elements/APIKeyInput/index.js +27 -29
  10. package/dist/elements/APIKeyInput/index.js.map +1 -1
  11. package/dist/elements/AddNewRelation/index.css +4 -0
  12. package/dist/elements/AddNewRelation/index.js +2 -2
  13. package/dist/elements/AddNewRelation/index.js.map +1 -1
  14. package/dist/elements/AppHeader/EditViewWidthSettings/index.css +5 -0
  15. package/dist/elements/AppHeader/EditViewWidthSettings/index.d.ts +4 -0
  16. package/dist/elements/AppHeader/EditViewWidthSettings/index.d.ts.map +1 -0
  17. package/dist/elements/AppHeader/EditViewWidthSettings/index.js +77 -0
  18. package/dist/elements/AppHeader/EditViewWidthSettings/index.js.map +1 -0
  19. package/dist/{icons/CollapseLayers → elements/AppHeader/SettingsMenu}/index.css +1 -1
  20. package/dist/elements/AppHeader/SettingsMenu/index.d.ts +4 -0
  21. package/dist/elements/AppHeader/SettingsMenu/index.d.ts.map +1 -0
  22. package/dist/elements/AppHeader/SettingsMenu/index.js +59 -0
  23. package/dist/elements/AppHeader/SettingsMenu/index.js.map +1 -0
  24. package/dist/elements/AppHeader/TypeSizeSettings/index.d.ts +3 -0
  25. package/dist/elements/AppHeader/TypeSizeSettings/index.d.ts.map +1 -0
  26. package/dist/elements/AppHeader/TypeSizeSettings/index.js +58 -0
  27. package/dist/elements/AppHeader/TypeSizeSettings/index.js.map +1 -0
  28. package/dist/elements/AppHeader/index.css +3 -4
  29. package/dist/elements/AppHeader/index.d.ts +8 -1
  30. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  31. package/dist/elements/AppHeader/index.js +16 -6
  32. package/dist/elements/AppHeader/index.js.map +1 -1
  33. package/dist/elements/Autosave/index.d.ts.map +1 -1
  34. package/dist/elements/Autosave/index.js +2 -3
  35. package/dist/elements/Autosave/index.js.map +1 -1
  36. package/dist/elements/Banner/index.css +4 -0
  37. package/dist/elements/Banner/index.d.ts.map +1 -1
  38. package/dist/elements/Banner/index.js +1 -0
  39. package/dist/elements/Banner/index.js.map +1 -1
  40. package/dist/elements/BulkUpload/ActionsBar/index.css +1 -0
  41. package/dist/elements/BulkUpload/AddingFilesView/index.css +2 -4
  42. package/dist/elements/BulkUpload/FileSidebar/index.css +1 -0
  43. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +1 -1
  44. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
  45. package/dist/elements/BulkUpload/FormsManager/createFormData.js +7 -3
  46. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  47. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  48. package/dist/elements/BulkUpload/FormsManager/index.js +18 -12
  49. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  50. package/dist/elements/BulkUpload/index.css +2 -0
  51. package/dist/elements/Button/index.css +0 -23
  52. package/dist/elements/Button/types.d.ts +1 -1
  53. package/dist/elements/Button/types.d.ts.map +1 -1
  54. package/dist/elements/Button/types.js.map +1 -1
  55. package/dist/elements/Collapsible/index.css +1 -0
  56. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  57. package/dist/elements/CopyLocaleData/index.js +8 -9
  58. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  59. package/dist/elements/DatePicker/index.css +2 -0
  60. package/dist/elements/DefaultListViewTabs/index.css +0 -1
  61. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  62. package/dist/elements/DefaultListViewTabs/index.js +62 -84
  63. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  64. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  65. package/dist/elements/DeleteMany/index.js +2 -3
  66. package/dist/elements/DeleteMany/index.js.map +1 -1
  67. package/dist/elements/Dialog/index.css +1 -0
  68. package/dist/elements/DocumentControls/index.css +1 -0
  69. package/dist/elements/DocumentDrawer/types.d.ts +1 -1
  70. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  71. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  72. package/dist/elements/DocumentFields/index.css +2 -0
  73. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -0
  74. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  75. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +3 -2
  76. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  77. package/dist/elements/DocumentHeader/Tabs/index.css +1 -0
  78. package/dist/elements/DocumentHeader/Tabs/index.d.ts +1 -0
  79. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  80. package/dist/elements/DocumentHeader/Tabs/index.js +5 -3
  81. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  82. package/dist/elements/DocumentHeader/index.css +1 -0
  83. package/dist/elements/DocumentHeader/index.d.ts +1 -0
  84. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  85. package/dist/elements/DocumentHeader/index.js +4 -2
  86. package/dist/elements/DocumentHeader/index.js.map +1 -1
  87. package/dist/elements/Drawer/types.d.ts +2 -2
  88. package/dist/elements/Drawer/types.d.ts.map +1 -1
  89. package/dist/elements/Drawer/types.js.map +1 -1
  90. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  91. package/dist/elements/DuplicateDocument/index.js +2 -3
  92. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  93. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  94. package/dist/elements/EditMany/DrawerContent.js +2 -3
  95. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  96. package/dist/elements/EditUpload/index.css +1 -1
  97. package/dist/elements/FieldDiffContainer/index.css +1 -0
  98. package/dist/elements/FieldDiffLabel/index.css +1 -0
  99. package/dist/elements/FileDetails/StaticFileDetails/index.css +2 -0
  100. package/dist/elements/HTMLDiff/index.css +1 -0
  101. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +4 -22
  102. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -1
  103. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +49 -68
  104. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  105. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +15 -100
  106. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  107. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +137 -97
  108. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  109. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +1 -1
  110. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  111. package/dist/elements/Hierarchy/ColumnBrowser/index.js +23 -51
  112. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  113. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +3 -26
  114. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  115. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  116. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  117. package/dist/elements/Hierarchy/DocHeaderButton/index.js +1 -6
  118. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  119. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +3 -1
  120. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +1 -1
  121. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +36 -0
  122. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +13 -0
  123. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -0
  124. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +141 -0
  125. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -0
  126. package/dist/elements/Hierarchy/Field/index.client.d.ts +0 -5
  127. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  128. package/dist/elements/Hierarchy/Field/index.client.js +95 -120
  129. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  130. package/dist/elements/Hierarchy/Field/index.css +34 -3
  131. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +4 -18
  132. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  133. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +24 -88
  134. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  135. package/dist/elements/Hierarchy/Modal/index.css +53 -4
  136. package/dist/elements/Hierarchy/Modal/index.d.ts +2 -5
  137. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  138. package/dist/elements/Hierarchy/Modal/index.js +99 -136
  139. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  140. package/dist/elements/Hierarchy/Modal/types.d.ts +0 -15
  141. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
  142. package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
  143. package/dist/elements/Hierarchy/MoveMany/index.d.ts +3 -7
  144. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  145. package/dist/elements/Hierarchy/MoveMany/index.js +171 -45
  146. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  147. package/dist/elements/Hierarchy/Search/index.css +9 -2
  148. package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
  149. package/dist/elements/Hierarchy/Search/index.js +73 -6
  150. package/dist/elements/Hierarchy/Search/index.js.map +1 -1
  151. package/dist/elements/Hierarchy/Search/types.d.ts +6 -2
  152. package/dist/elements/Hierarchy/Search/types.d.ts.map +1 -1
  153. package/dist/elements/Hierarchy/Search/types.js.map +1 -1
  154. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  155. package/dist/elements/Hierarchy/Search/useHierarchySearch.js +2 -3
  156. package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
  157. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +4 -0
  158. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  159. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +186 -101
  160. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  161. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  162. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +21 -1
  163. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  164. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +3 -3
  165. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +29 -59
  166. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +1 -1
  167. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  168. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +10 -54
  169. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  170. package/dist/elements/Hierarchy/Tree/index.css +9 -8
  171. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  172. package/dist/elements/Hierarchy/Tree/index.js +47 -29
  173. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  174. package/dist/elements/Hierarchy/Tree/types.d.ts +1 -9
  175. package/dist/elements/Hierarchy/Tree/types.d.ts.map +1 -1
  176. package/dist/elements/Hierarchy/Tree/types.js.map +1 -1
  177. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  178. package/dist/elements/Hierarchy/Tree/useChildren.js +1 -11
  179. package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
  180. package/dist/elements/ItemsDrawer/index.css +3 -0
  181. package/dist/elements/ListControls/index.css +1 -0
  182. package/dist/elements/ListControls/index.d.ts.map +1 -1
  183. package/dist/elements/ListControls/index.js +7 -2
  184. package/dist/elements/ListControls/index.js.map +1 -1
  185. package/dist/elements/ListControls/types.d.ts +3 -5
  186. package/dist/elements/ListControls/types.d.ts.map +1 -1
  187. package/dist/elements/ListControls/types.js.map +1 -1
  188. package/dist/elements/ListControlsBar/index.css +1 -0
  189. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
  190. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +3 -4
  191. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  192. package/dist/elements/LivePreview/Window/index.css +1 -0
  193. package/dist/elements/LivePreview/Window/index.js +1 -1
  194. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  195. package/dist/elements/Localizer/index.js +1 -1
  196. package/dist/elements/Localizer/index.js.map +1 -1
  197. package/dist/elements/Nav/NavSidebarToggle/index.js +1 -1
  198. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
  199. package/dist/elements/Nav/NavWrapper/index.d.ts +0 -1
  200. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  201. package/dist/elements/Nav/NavWrapper/index.js +18 -12
  202. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  203. package/dist/elements/Nav/SidebarTabs/index.css +2 -1
  204. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +3 -2
  205. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
  206. package/dist/elements/Nav/context.d.ts +1 -0
  207. package/dist/elements/Nav/context.d.ts.map +1 -1
  208. package/dist/elements/Nav/context.js +67 -92
  209. package/dist/elements/Nav/context.js.map +1 -1
  210. package/dist/elements/Nav/index.css +44 -47
  211. package/dist/elements/Nav/index.d.ts +0 -4
  212. package/dist/elements/Nav/index.d.ts.map +1 -1
  213. package/dist/elements/Nav/index.js +1 -16
  214. package/dist/elements/Nav/index.js.map +1 -1
  215. package/dist/elements/NavGroup/index.css +15 -29
  216. package/dist/elements/PageControls/index.css +1 -0
  217. package/dist/elements/PillSelector/index.css +1 -0
  218. package/dist/elements/Popup/PopupButtonList/index.css +16 -32
  219. package/dist/elements/Popup/index.css +0 -6
  220. package/dist/elements/Popup/index.d.ts +0 -10
  221. package/dist/elements/Popup/index.d.ts.map +1 -1
  222. package/dist/elements/Popup/index.js +5 -12
  223. package/dist/elements/Popup/index.js.map +1 -1
  224. package/dist/elements/PreviewSizes/index.css +2 -0
  225. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  226. package/dist/elements/PublishButton/ScheduleDrawer/index.js +8 -30
  227. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  228. package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts +1 -1
  229. package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts.map +1 -1
  230. package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
  231. package/dist/elements/PublishButton/index.css +1 -0
  232. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  233. package/dist/elements/PublishButton/index.js +16 -31
  234. package/dist/elements/PublishButton/index.js.map +1 -1
  235. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  236. package/dist/elements/PublishMany/DrawerContent.js +2 -3
  237. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  238. package/dist/elements/QueryPresets/QueryPresetBar/index.d.ts.map +1 -1
  239. package/dist/elements/QueryPresets/QueryPresetBar/index.js +14 -1
  240. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  241. package/dist/elements/QueryPresets/fields/Heading/index.css +1 -0
  242. package/dist/elements/ReactSelect/types.d.ts +0 -5
  243. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  244. package/dist/elements/ReactSelect/types.js.map +1 -1
  245. package/dist/elements/RenderTitle/index.css +1 -0
  246. package/dist/elements/RestoreMany/index.d.ts.map +1 -1
  247. package/dist/elements/RestoreMany/index.js +2 -3
  248. package/dist/elements/RestoreMany/index.js.map +1 -1
  249. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  250. package/dist/elements/SaveDraftButton/index.js +2 -3
  251. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  252. package/dist/elements/SelectAll/index.d.ts.map +1 -1
  253. package/dist/elements/SelectAll/index.js +2 -1
  254. package/dist/elements/SelectAll/index.js.map +1 -1
  255. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  256. package/dist/elements/SelectRow/index.js +2 -1
  257. package/dist/elements/SelectRow/index.js.map +1 -1
  258. package/dist/elements/SidebarRow/index.css +5 -1
  259. package/dist/elements/SidebarToggle/index.css +1 -3
  260. package/dist/elements/Status/index.d.ts.map +1 -1
  261. package/dist/elements/Status/index.js +2 -3
  262. package/dist/elements/Status/index.js.map +1 -1
  263. package/dist/elements/StepNav/index.d.ts.map +1 -1
  264. package/dist/elements/StepNav/index.js +10 -14
  265. package/dist/elements/StepNav/index.js.map +1 -1
  266. package/dist/elements/StepNav/types.d.ts +0 -6
  267. package/dist/elements/StepNav/types.d.ts.map +1 -1
  268. package/dist/elements/StepNav/types.js.map +1 -1
  269. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +7 -5
  270. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  271. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +3 -14
  272. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  273. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  274. package/dist/elements/Table/OrderableTable.js +2 -3
  275. package/dist/elements/Table/OrderableTable.js.map +1 -1
  276. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  277. package/dist/elements/Table/RelationshipProvider/index.js +2 -3
  278. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  279. package/dist/elements/Table/index.css +1 -0
  280. package/dist/elements/TableSection/index.css +1 -0
  281. package/dist/elements/Tabs/index.css +1 -0
  282. package/dist/elements/Thumbnail/index.css +1 -0
  283. package/dist/elements/TimezonePicker/index.css +1 -0
  284. package/dist/elements/Tooltip/index.css +7 -0
  285. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  286. package/dist/elements/UnpublishButton/index.js +3 -4
  287. package/dist/elements/UnpublishButton/index.js.map +1 -1
  288. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  289. package/dist/elements/UnpublishMany/DrawerContent.js +2 -3
  290. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  291. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
  292. package/dist/elements/UserMenu/LanguageMenu/index.js +39 -83
  293. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  294. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
  295. package/dist/elements/UserMenu/SettingsMenu/index.js +21 -57
  296. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  297. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
  298. package/dist/elements/UserMenu/ThemeMenu/index.js +39 -83
  299. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  300. package/dist/elements/UserMenu/index.css +2 -32
  301. package/dist/elements/UserMenu/index.d.ts +0 -1
  302. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  303. package/dist/elements/UserMenu/index.js +51 -77
  304. package/dist/elements/UserMenu/index.js.map +1 -1
  305. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +1 -1
  306. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  307. package/dist/elements/WhereBuilder/Condition/index.css +1 -0
  308. package/dist/elements/WhereBuilder/index.css +2 -0
  309. package/dist/exports/client/index.d.ts +2 -4
  310. package/dist/exports/client/index.d.ts.map +1 -1
  311. package/dist/exports/client/index.js +1 -1
  312. package/dist/exports/client/index.js.map +3 -3
  313. package/dist/exports/rsc/index.d.ts +2 -0
  314. package/dist/exports/rsc/index.d.ts.map +1 -1
  315. package/dist/exports/rsc/index.js +2 -0
  316. package/dist/exports/rsc/index.js.map +1 -1
  317. package/dist/fields/Array/index.css +1 -0
  318. package/dist/fields/Array/index.d.ts.map +1 -1
  319. package/dist/fields/Array/index.js +2 -3
  320. package/dist/fields/Array/index.js.map +1 -1
  321. package/dist/fields/Blocks/index.css +1 -0
  322. package/dist/fields/Blocks/index.d.ts.map +1 -1
  323. package/dist/fields/Blocks/index.js +2 -3
  324. package/dist/fields/Blocks/index.js.map +1 -1
  325. package/dist/fields/Checkbox/Input.d.ts +2 -2
  326. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  327. package/dist/fields/Checkbox/Input.js +152 -134
  328. package/dist/fields/Checkbox/Input.js.map +1 -1
  329. package/dist/fields/Checkbox/index.css +163 -168
  330. package/dist/fields/FieldDescription/index.css +5 -0
  331. package/dist/fields/FieldLabel/index.css +8 -27
  332. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  333. package/dist/fields/FieldLabel/index.js +4 -5
  334. package/dist/fields/FieldLabel/index.js.map +1 -1
  335. package/dist/fields/Group/index.css +1 -0
  336. package/dist/fields/RadioGroup/Radio/index.css +1 -0
  337. package/dist/fields/RadioGroup/index.css +1 -1
  338. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  339. package/dist/fields/Relationship/Input.js +8 -27
  340. package/dist/fields/Relationship/Input.js.map +1 -1
  341. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  342. package/dist/fields/Relationship/optionsReducer.js +0 -2
  343. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  344. package/dist/fields/Relationship/types.d.ts +0 -24
  345. package/dist/fields/Relationship/types.d.ts.map +1 -1
  346. package/dist/fields/Relationship/types.js.map +1 -1
  347. package/dist/fields/Row/index.css +2 -0
  348. package/dist/fields/Slug/index.d.ts.map +1 -1
  349. package/dist/fields/Slug/index.js +2 -3
  350. package/dist/fields/Slug/index.js.map +1 -1
  351. package/dist/fields/Tabs/index.css +1 -0
  352. package/dist/fields/Textarea/index.css +1 -1
  353. package/dist/fields/Upload/Input.d.ts.map +1 -1
  354. package/dist/fields/Upload/Input.js +2 -3
  355. package/dist/fields/Upload/Input.js.map +1 -1
  356. package/dist/fields/shared/index.d.ts +1 -1
  357. package/dist/fields/shared/index.d.ts.map +1 -1
  358. package/dist/fields/shared/index.js.map +1 -1
  359. package/dist/forms/Form/context.d.ts +3 -1
  360. package/dist/forms/Form/context.d.ts.map +1 -1
  361. package/dist/forms/Form/context.js +3 -1
  362. package/dist/forms/Form/context.js.map +1 -1
  363. package/dist/forms/Form/index.d.ts.map +1 -1
  364. package/dist/forms/Form/index.js +15 -7
  365. package/dist/forms/Form/index.js.map +1 -1
  366. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  367. package/dist/forms/NullifyField/index.js +2 -3
  368. package/dist/forms/NullifyField/index.js.map +1 -1
  369. package/dist/forms/RenderFields/index.css +1 -7
  370. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  371. package/dist/forms/fieldSchemasToFormState/renderField.js +3 -2
  372. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  373. package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.d.ts +12 -0
  374. package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.d.ts.map +1 -0
  375. package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.js +42 -0
  376. package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.js.map +1 -0
  377. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts +8 -6
  378. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +1 -1
  379. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +22 -9
  380. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
  381. package/dist/forms/fieldSchemasToFormState/types.d.ts +1 -0
  382. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  383. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  384. package/dist/hooks/useControllableState.js +3 -3
  385. package/dist/hooks/useControllableState.js.map +1 -1
  386. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  387. package/dist/hooks/usePayloadAPI.js +2 -3
  388. package/dist/hooks/usePayloadAPI.js.map +1 -1
  389. package/dist/layouts/Root/index.d.ts.map +1 -1
  390. package/dist/layouts/Root/index.js +19 -5
  391. package/dist/layouts/Root/index.js.map +1 -1
  392. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  393. package/dist/providers/DocumentInfo/index.js +32 -22
  394. package/dist/providers/DocumentInfo/index.js.map +1 -1
  395. package/dist/providers/Hierarchy/index.d.ts.map +1 -1
  396. package/dist/providers/Hierarchy/index.js +24 -53
  397. package/dist/providers/Hierarchy/index.js.map +1 -1
  398. package/dist/providers/Hierarchy/types.d.ts +0 -2
  399. package/dist/providers/Hierarchy/types.d.ts.map +1 -1
  400. package/dist/providers/Hierarchy/types.js.map +1 -1
  401. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  402. package/dist/providers/LivePreview/index.js +13 -6
  403. package/dist/providers/LivePreview/index.js.map +1 -1
  404. package/dist/providers/Locale/index.d.ts +1 -5
  405. package/dist/providers/Locale/index.d.ts.map +1 -1
  406. package/dist/providers/Locale/index.js +61 -140
  407. package/dist/providers/Locale/index.js.map +1 -1
  408. package/dist/providers/Root/index.d.ts +4 -1
  409. package/dist/providers/Root/index.d.ts.map +1 -1
  410. package/dist/providers/Root/index.js +25 -16
  411. package/dist/providers/Root/index.js.map +1 -1
  412. package/dist/providers/Selection/index.d.ts.map +1 -1
  413. package/dist/providers/Selection/index.js +2 -3
  414. package/dist/providers/Selection/index.js.map +1 -1
  415. package/dist/providers/ServerFunctions/index.d.ts +5 -1
  416. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  417. package/dist/providers/ServerFunctions/index.js +15 -0
  418. package/dist/providers/ServerFunctions/index.js.map +1 -1
  419. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  420. package/dist/providers/TableColumns/buildColumnState/index.js +0 -1
  421. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  422. package/dist/providers/Theme/index.d.ts +17 -1
  423. package/dist/providers/Theme/index.d.ts.map +1 -1
  424. package/dist/providers/Theme/index.js +253 -81
  425. package/dist/providers/Theme/index.js.map +1 -1
  426. package/dist/providers/Theme/shared.d.ts +8 -0
  427. package/dist/providers/Theme/shared.d.ts.map +1 -1
  428. package/dist/providers/Theme/shared.js +6 -0
  429. package/dist/providers/Theme/shared.js.map +1 -1
  430. package/dist/styles.css +182 -23
  431. package/dist/templates/Default/Wrapper/index.css +3 -2
  432. package/dist/templates/Default/Wrapper/index.d.ts +0 -2
  433. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  434. package/dist/templates/Default/Wrapper/index.js +6 -12
  435. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  436. package/dist/templates/Default/index.css +2 -3
  437. package/dist/templates/Default/index.d.ts.map +1 -1
  438. package/dist/templates/Default/index.js +15 -17
  439. package/dist/templates/Default/index.js.map +1 -1
  440. package/dist/utilities/buildFormState.d.ts.map +1 -1
  441. package/dist/utilities/buildFormState.js +6 -2
  442. package/dist/utilities/buildFormState.js.map +1 -1
  443. package/dist/utilities/formatAbsoluteURL.d.ts +1 -1
  444. package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
  445. package/dist/utilities/formatAbsoluteURL.js +18 -8
  446. package/dist/utilities/formatAbsoluteURL.js.map +1 -1
  447. package/dist/utilities/getHasScheduledPublish.d.ts +2 -3
  448. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  449. package/dist/utilities/getHasScheduledPublish.js +2 -5
  450. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  451. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  452. package/dist/utilities/handleAuthRedirect.js +4 -1
  453. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  454. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  455. package/dist/utilities/handleServerFunctions.js +4 -2
  456. package/dist/utilities/handleServerFunctions.js.map +1 -1
  457. package/dist/utilities/initReq.d.ts.map +1 -1
  458. package/dist/utilities/initReq.js +40 -5
  459. package/dist/utilities/initReq.js.map +1 -1
  460. package/dist/utilities/isAbsoluteURL.d.ts +3 -0
  461. package/dist/utilities/isAbsoluteURL.d.ts.map +1 -0
  462. package/dist/utilities/isAbsoluteURL.js +15 -0
  463. package/dist/utilities/isAbsoluteURL.js.map +1 -0
  464. package/dist/utilities/isHttpURL.d.ts +3 -0
  465. package/dist/utilities/isHttpURL.d.ts.map +1 -0
  466. package/dist/utilities/isHttpURL.js +12 -0
  467. package/dist/utilities/isHttpURL.js.map +1 -0
  468. package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
  469. package/dist/utilities/isPathMatchingRoute.js +7 -5
  470. package/dist/utilities/isPathMatchingRoute.js.map +1 -1
  471. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
  472. package/dist/utilities/isPublicAdminRoute.js +9 -6
  473. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  474. package/dist/utilities/schedulePublishHandler.d.ts +8 -1
  475. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  476. package/dist/utilities/schedulePublishHandler.js +72 -5
  477. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  478. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  479. package/dist/utilities/serverFunctionRegistry.js +2 -1
  480. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  481. package/dist/utilities/slugify.d.ts.map +1 -1
  482. package/dist/utilities/slugify.js +2 -0
  483. package/dist/utilities/slugify.js.map +1 -1
  484. package/dist/views/API/index.client.d.ts.map +1 -1
  485. package/dist/views/API/index.client.js +2 -3
  486. package/dist/views/API/index.client.js.map +1 -1
  487. package/dist/views/API/index.css +1 -0
  488. package/dist/views/Account/index.d.ts +1 -1
  489. package/dist/views/Account/index.d.ts.map +1 -1
  490. package/dist/views/Account/index.js +8 -5
  491. package/dist/views/Account/index.js.map +1 -1
  492. package/dist/views/Dashboard/Default/ModularDashboard/index.css +2 -0
  493. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts.map +1 -1
  494. package/dist/views/Dashboard/Default/ModularDashboard/index.js +1 -0
  495. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  496. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts.map +1 -1
  497. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +3 -1
  498. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
  499. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts.map +1 -1
  500. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +2 -0
  501. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  502. package/dist/views/Dashboard/index.d.ts.map +1 -1
  503. package/dist/views/Dashboard/index.js +2 -3
  504. package/dist/views/Dashboard/index.js.map +1 -1
  505. package/dist/views/Document/handleServerFunction.d.ts.map +1 -1
  506. package/dist/views/Document/handleServerFunction.js +2 -0
  507. package/dist/views/Document/handleServerFunction.js.map +1 -1
  508. package/dist/views/Document/index.d.ts +1 -1
  509. package/dist/views/Document/index.d.ts.map +1 -1
  510. package/dist/views/Document/index.js +10 -6
  511. package/dist/views/Document/index.js.map +1 -1
  512. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  513. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  514. package/dist/views/Document/renderDocumentSlots.js +7 -4
  515. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  516. package/dist/views/Edit/Auth/APIKey.d.ts +1 -1
  517. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  518. package/dist/views/Edit/Auth/APIKey.js +233 -59
  519. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  520. package/dist/views/Edit/Auth/APIKeyGenerationModal.d.ts +12 -0
  521. package/dist/views/Edit/Auth/APIKeyGenerationModal.d.ts.map +1 -0
  522. package/dist/views/Edit/Auth/APIKeyGenerationModal.js +117 -0
  523. package/dist/views/Edit/Auth/APIKeyGenerationModal.js.map +1 -0
  524. package/dist/views/Edit/Auth/index.css +91 -0
  525. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  526. package/dist/views/Edit/Auth/index.js +10 -28
  527. package/dist/views/Edit/Auth/index.js.map +1 -1
  528. package/dist/views/Edit/Auth/types.d.ts +3 -1
  529. package/dist/views/Edit/Auth/types.d.ts.map +1 -1
  530. package/dist/views/Edit/Auth/types.js.map +1 -1
  531. package/dist/views/Edit/index.css +44 -0
  532. package/dist/views/Edit/index.d.ts.map +1 -1
  533. package/dist/views/Edit/index.js +13 -0
  534. package/dist/views/Edit/index.js.map +1 -1
  535. package/dist/views/Edit/useEditViewWidth.d.ts +8 -0
  536. package/dist/views/Edit/useEditViewWidth.d.ts.map +1 -0
  537. package/dist/views/Edit/useEditViewWidth.js +56 -0
  538. package/dist/views/Edit/useEditViewWidth.js.map +1 -0
  539. package/dist/views/ForgotPassword/ForgotPasswordForm/index.css +14 -0
  540. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  541. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +209 -161
  542. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  543. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  544. package/dist/views/ForgotPassword/index.js +2 -11
  545. package/dist/views/ForgotPassword/index.js.map +1 -1
  546. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  547. package/dist/views/HierarchyList/DocumentListSelection/index.js +105 -100
  548. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  549. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +1 -6
  550. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
  551. package/dist/views/HierarchyList/HierarchyListHeader/index.js +8 -10
  552. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
  553. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
  554. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +10 -11
  555. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  556. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +1 -0
  557. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  558. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +6 -3
  559. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  560. package/dist/views/HierarchyList/HierarchyTable/index.css +0 -51
  561. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +1 -13
  562. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  563. package/dist/views/HierarchyList/HierarchyTable/index.js +38 -156
  564. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  565. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +0 -6
  566. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
  567. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
  568. package/dist/views/HierarchyList/index.css +1 -0
  569. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  570. package/dist/views/HierarchyList/index.js +20 -103
  571. package/dist/views/HierarchyList/index.js.map +1 -1
  572. package/dist/views/List/ListHeader/index.css +1 -0
  573. package/dist/views/List/ListHeader/index.d.ts +0 -1
  574. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  575. package/dist/views/List/ListHeader/index.js +2 -6
  576. package/dist/views/List/ListHeader/index.js.map +1 -1
  577. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  578. package/dist/views/List/ListSelection/index.js +122 -138
  579. package/dist/views/List/ListSelection/index.js.map +1 -1
  580. package/dist/views/List/handleHierarchy.d.ts +1 -6
  581. package/dist/views/List/handleHierarchy.d.ts.map +1 -1
  582. package/dist/views/List/handleHierarchy.js +3 -34
  583. package/dist/views/List/handleHierarchy.js.map +1 -1
  584. package/dist/views/List/handleServerFunction.d.ts.map +1 -1
  585. package/dist/views/List/handleServerFunction.js +3 -1
  586. package/dist/views/List/handleServerFunction.js.map +1 -1
  587. package/dist/views/List/index.client.d.ts.map +1 -1
  588. package/dist/views/List/index.client.js +6 -129
  589. package/dist/views/List/index.client.js.map +1 -1
  590. package/dist/views/List/index.css +2 -0
  591. package/dist/views/List/index.d.ts.map +1 -1
  592. package/dist/views/List/index.js +18 -28
  593. package/dist/views/List/index.js.map +1 -1
  594. package/dist/views/NotFound/client.d.ts +2 -0
  595. package/dist/views/NotFound/client.d.ts.map +1 -0
  596. package/dist/views/NotFound/client.js +4 -0
  597. package/dist/views/NotFound/client.js.map +1 -0
  598. package/dist/views/NotFound/page.d.ts.map +1 -1
  599. package/dist/views/NotFound/page.js +4 -3
  600. package/dist/views/NotFound/page.js.map +1 -1
  601. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  602. package/dist/views/Root/getRouteData.js +2 -8
  603. package/dist/views/Root/getRouteData.js.map +1 -1
  604. package/dist/views/Root/index.d.ts.map +1 -1
  605. package/dist/views/Root/index.js +31 -22
  606. package/dist/views/Root/index.js.map +1 -1
  607. package/dist/views/Verify/index.d.ts +1 -1
  608. package/dist/views/Verify/index.d.ts.map +1 -1
  609. package/dist/views/Verify/index.js +4 -4
  610. package/dist/views/Verify/index.js.map +1 -1
  611. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  612. package/dist/views/Version/Default/SetStepNav.js +10 -13
  613. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  614. package/dist/views/Version/Default/index.css +2 -0
  615. package/dist/views/Version/Default/index.d.ts.map +1 -1
  616. package/dist/views/Version/Default/index.js +12 -13
  617. package/dist/views/Version/Default/index.js.map +1 -1
  618. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +1 -0
  619. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
  620. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +56 -50
  621. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  622. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  623. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +41 -27
  624. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  625. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.css +8 -0
  626. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  627. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +10 -0
  628. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  629. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +1 -0
  630. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.css +1 -0
  631. package/dist/views/Version/RenderFieldsToDiff/index.css +2 -0
  632. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  633. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +33 -1
  634. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  635. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +8 -2
  636. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
  637. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +17 -19
  638. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  639. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  640. package/dist/views/Version/Restore/index.js +9 -6
  641. package/dist/views/Version/Restore/index.js.map +1 -1
  642. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
  643. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js +2 -3
  644. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
  645. package/dist/views/Versions/VersionPillLabel/index.css +1 -0
  646. package/dist/views/Versions/index.css +1 -0
  647. package/dist/widgets/CollectionCards/index.client.js +1 -1
  648. package/dist/widgets/CollectionCards/index.client.js.map +1 -1
  649. package/dist/widgets/CollectionCards/index.css +43 -33
  650. package/dist/widgets/CollectionCards/index.js +1 -1
  651. package/dist/widgets/CollectionCards/index.js.map +1 -1
  652. package/dist/widgets/RecentlyViewed/DocumentActivity/index.css +193 -0
  653. package/dist/widgets/RecentlyViewed/DocumentActivity/index.d.ts +5 -0
  654. package/dist/widgets/RecentlyViewed/DocumentActivity/index.d.ts.map +1 -0
  655. package/dist/widgets/RecentlyViewed/DocumentActivity/index.js +225 -0
  656. package/dist/widgets/RecentlyViewed/DocumentActivity/index.js.map +1 -0
  657. package/dist/widgets/RecentlyViewed/DocumentItem/index.css +181 -0
  658. package/dist/widgets/RecentlyViewed/DocumentItem/index.d.ts +11 -0
  659. package/dist/widgets/RecentlyViewed/DocumentItem/index.d.ts.map +1 -0
  660. package/dist/widgets/RecentlyViewed/DocumentItem/index.js +104 -0
  661. package/dist/widgets/RecentlyViewed/DocumentItem/index.js.map +1 -0
  662. package/dist/widgets/RecentlyViewed/getDocumentThumbnail.d.ts +10 -0
  663. package/dist/widgets/RecentlyViewed/getDocumentThumbnail.d.ts.map +1 -0
  664. package/dist/widgets/RecentlyViewed/getDocumentThumbnail.js +85 -0
  665. package/dist/widgets/RecentlyViewed/getDocumentThumbnail.js.map +1 -0
  666. package/dist/widgets/RecentlyViewed/getDocumentWidgetData.d.ts +7 -0
  667. package/dist/widgets/RecentlyViewed/getDocumentWidgetData.d.ts.map +1 -0
  668. package/dist/widgets/RecentlyViewed/getDocumentWidgetData.js +206 -0
  669. package/dist/widgets/RecentlyViewed/getDocumentWidgetData.js.map +1 -0
  670. package/dist/widgets/RecentlyViewed/index.d.ts +3 -5
  671. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -1
  672. package/dist/widgets/RecentlyViewed/index.js +10 -140
  673. package/dist/widgets/RecentlyViewed/index.js.map +1 -1
  674. package/dist/widgets/RecentlyViewed/shared.d.ts +38 -0
  675. package/dist/widgets/RecentlyViewed/shared.d.ts.map +1 -0
  676. package/dist/widgets/RecentlyViewed/shared.js +70 -0
  677. package/dist/widgets/RecentlyViewed/shared.js.map +1 -0
  678. package/dist/widgets/UploadDropzone/index.client.d.ts +7 -0
  679. package/dist/widgets/UploadDropzone/index.client.d.ts.map +1 -0
  680. package/dist/widgets/UploadDropzone/index.client.js +134 -0
  681. package/dist/widgets/UploadDropzone/index.client.js.map +1 -0
  682. package/dist/widgets/UploadDropzone/index.css +50 -0
  683. package/dist/widgets/UploadDropzone/index.d.ts +8 -0
  684. package/dist/widgets/UploadDropzone/index.d.ts.map +1 -0
  685. package/dist/widgets/UploadDropzone/index.js +29 -0
  686. package/dist/widgets/UploadDropzone/index.js.map +1 -0
  687. package/dist/widgets/Welcome/index.css +13 -0
  688. package/dist/widgets/Welcome/index.d.ts +5 -0
  689. package/dist/widgets/Welcome/index.d.ts.map +1 -0
  690. package/dist/widgets/Welcome/index.js +26 -0
  691. package/dist/widgets/Welcome/index.js.map +1 -0
  692. package/dist/widgets/WidgetIcon/assets/images.svg +3 -0
  693. package/dist/widgets/WidgetIcon/assets/pin-solid.svg +3 -0
  694. package/dist/widgets/WidgetIcon/assets/pin.svg +3 -0
  695. package/dist/widgets/WidgetIcon/assets/table.svg +3 -0
  696. package/dist/widgets/WidgetIcon/index.css +23 -0
  697. package/dist/widgets/WidgetIcon/index.d.ts +6 -0
  698. package/dist/widgets/WidgetIcon/index.d.ts.map +1 -0
  699. package/dist/widgets/WidgetIcon/index.js +10 -0
  700. package/dist/widgets/WidgetIcon/index.js.map +1 -0
  701. package/package.json +11 -5
  702. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +0 -120
  703. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +0 -1
  704. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +0 -144
  705. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +0 -1
  706. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +0 -885
  707. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +0 -1
  708. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js +0 -87
  709. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +0 -1
  710. package/dist/elements/CommandPalette/buildActions.spec.js +0 -158
  711. package/dist/elements/CommandPalette/buildActions.spec.js.map +0 -1
  712. package/dist/elements/CommandPalette/highlightLabel.spec.js +0 -78
  713. package/dist/elements/CommandPalette/highlightLabel.spec.js.map +0 -1
  714. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +0 -143
  715. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +0 -1
  716. package/dist/elements/Hierarchy/CreateNewButton/index.css +0 -9
  717. package/dist/elements/Hierarchy/CreateNewButton/index.d.ts +0 -9
  718. package/dist/elements/Hierarchy/CreateNewButton/index.d.ts.map +0 -1
  719. package/dist/elements/Hierarchy/CreateNewButton/index.js +0 -111
  720. package/dist/elements/Hierarchy/CreateNewButton/index.js.map +0 -1
  721. package/dist/elements/Hierarchy/Modal/Footer/index.css +0 -45
  722. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +0 -28
  723. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +0 -1
  724. package/dist/elements/Hierarchy/Modal/Footer/index.js +0 -166
  725. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +0 -1
  726. package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts +0 -22
  727. package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts.map +0 -1
  728. package/dist/elements/Hierarchy/getFolderHierarchySlug.js +0 -17
  729. package/dist/elements/Hierarchy/getFolderHierarchySlug.js.map +0 -1
  730. package/dist/elements/Hierarchy/move/moveDocuments.d.ts +0 -34
  731. package/dist/elements/Hierarchy/move/moveDocuments.d.ts.map +0 -1
  732. package/dist/elements/Hierarchy/move/moveDocuments.js +0 -94
  733. package/dist/elements/Hierarchy/move/moveDocuments.js.map +0 -1
  734. package/dist/elements/SegmentedControl/index.css +0 -58
  735. package/dist/elements/SegmentedControl/index.d.ts +0 -19
  736. package/dist/elements/SegmentedControl/index.d.ts.map +0 -1
  737. package/dist/elements/SegmentedControl/index.js +0 -104
  738. package/dist/elements/SegmentedControl/index.js.map +0 -1
  739. package/dist/elements/StepNav/DropTarget/index.css +0 -20
  740. package/dist/elements/StepNav/DropTarget/index.d.ts +0 -16
  741. package/dist/elements/StepNav/DropTarget/index.d.ts.map +0 -1
  742. package/dist/elements/StepNav/DropTarget/index.js +0 -71
  743. package/dist/elements/StepNav/DropTarget/index.js.map +0 -1
  744. package/dist/elements/Toasts/fieldErrors.spec.js +0 -46
  745. package/dist/elements/Toasts/fieldErrors.spec.js.map +0 -1
  746. package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts +0 -18
  747. package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts.map +0 -1
  748. package/dist/elements/UserMenu/HoverSubmenuGroup.js +0 -38
  749. package/dist/elements/UserMenu/HoverSubmenuGroup.js.map +0 -1
  750. package/dist/elements/UserMenu/useHoverSubmenu.d.ts +0 -21
  751. package/dist/elements/UserMenu/useHoverSubmenu.d.ts.map +0 -1
  752. package/dist/elements/UserMenu/useHoverSubmenu.js +0 -260
  753. package/dist/elements/UserMenu/useHoverSubmenu.js.map +0 -1
  754. package/dist/elements/ViewModeToggle/index.d.ts +0 -8
  755. package/dist/elements/ViewModeToggle/index.d.ts.map +0 -1
  756. package/dist/elements/ViewModeToggle/index.js +0 -29
  757. package/dist/elements/ViewModeToggle/index.js.map +0 -1
  758. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.spec.js +0 -152
  759. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.spec.js.map +0 -1
  760. package/dist/elements/WhereBuilder/conditionValue.spec.js +0 -65
  761. package/dist/elements/WhereBuilder/conditionValue.spec.js.map +0 -1
  762. package/dist/fields/Upload/Input.spec.js +0 -241
  763. package/dist/fields/Upload/Input.spec.js.map +0 -1
  764. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.d.ts +0 -2
  765. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.d.ts.map +0 -1
  766. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +0 -67
  767. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +0 -1
  768. package/dist/icons/CollapseLayers/index.d.ts +0 -7
  769. package/dist/icons/CollapseLayers/index.d.ts.map +0 -1
  770. package/dist/icons/CollapseLayers/index.js +0 -23
  771. package/dist/icons/CollapseLayers/index.js.map +0 -1
  772. package/dist/icons/Table/index.css +0 -5
  773. package/dist/icons/Table/index.d.ts +0 -7
  774. package/dist/icons/Table/index.d.ts.map +0 -1
  775. package/dist/icons/Table/index.js +0 -25
  776. package/dist/icons/Table/index.js.map +0 -1
  777. package/dist/layouts/Root/index.spec.js +0 -20
  778. package/dist/layouts/Root/index.spec.js.map +0 -1
  779. package/dist/providers/Auth/authSessionRequests.spec.js +0 -121
  780. package/dist/providers/Auth/authSessionRequests.spec.js.map +0 -1
  781. package/dist/providers/Auth/sessionActivity.spec.js +0 -44
  782. package/dist/providers/Auth/sessionActivity.spec.js.map +0 -1
  783. package/dist/providers/Auth/tabSessionSync/index.spec.js +0 -463
  784. package/dist/providers/Auth/tabSessionSync/index.spec.js.map +0 -1
  785. package/dist/providers/Auth/useAuthSessionTimers.spec.js +0 -311
  786. package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +0 -1
  787. package/dist/providers/HierarchyDnd/index.css +0 -51
  788. package/dist/providers/HierarchyDnd/index.d.ts +0 -21
  789. package/dist/providers/HierarchyDnd/index.d.ts.map +0 -1
  790. package/dist/providers/HierarchyDnd/index.js +0 -163
  791. package/dist/providers/HierarchyDnd/index.js.map +0 -1
  792. package/dist/providers/HierarchyDnd/types.d.ts +0 -56
  793. package/dist/providers/HierarchyDnd/types.d.ts.map +0 -1
  794. package/dist/providers/HierarchyDnd/types.js +0 -21
  795. package/dist/providers/HierarchyDnd/types.js.map +0 -1
  796. package/dist/providers/RouteTransition/ProgressBar/index.spec.js +0 -44
  797. package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +0 -1
  798. package/dist/providers/TableColumns/buildColumnState/index.spec.js +0 -40
  799. package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +0 -1
  800. package/dist/utilities/appendCacheTag.spec.js +0 -34
  801. package/dist/utilities/appendCacheTag.spec.js.map +0 -1
  802. package/dist/utilities/formatMetadata.spec.js +0 -83
  803. package/dist/utilities/formatMetadata.spec.js.map +0 -1
  804. package/dist/utilities/fuzzyMatch.spec.js +0 -38
  805. package/dist/utilities/fuzzyMatch.spec.js.map +0 -1
  806. package/dist/utilities/isCustomAdminView.spec.js +0 -90
  807. package/dist/utilities/isCustomAdminView.spec.js.map +0 -1
  808. package/dist/utilities/isPathMatchingRoute.spec.js +0 -178
  809. package/dist/utilities/isPathMatchingRoute.spec.js.map +0 -1
  810. package/dist/utilities/normalizeRelationshipValue.spec.js +0 -373
  811. package/dist/utilities/normalizeRelationshipValue.spec.js.map +0 -1
  812. package/dist/utilities/recentlyViewed.spec.js +0 -92
  813. package/dist/utilities/recentlyViewed.spec.js.map +0 -1
  814. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.css +0 -216
  815. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts +0 -20
  816. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts.map +0 -1
  817. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js +0 -182
  818. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js.map +0 -1
  819. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.css +0 -38
  820. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts +0 -15
  821. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts.map +0 -1
  822. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js +0 -85
  823. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js.map +0 -1
  824. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.css +0 -98
  825. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts +0 -27
  826. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts.map +0 -1
  827. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js +0 -84
  828. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js.map +0 -1
  829. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts +0 -19
  830. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts.map +0 -1
  831. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js +0 -100
  832. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js.map +0 -1
  833. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts +0 -53
  834. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts.map +0 -1
  835. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js +0 -145
  836. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js.map +0 -1
  837. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts +0 -8
  838. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts.map +0 -1
  839. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js +0 -21
  840. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js.map +0 -1
  841. package/dist/views/HierarchyList/HierarchyCards/index.css +0 -115
  842. package/dist/views/HierarchyList/HierarchyCards/index.d.ts +0 -80
  843. package/dist/views/HierarchyList/HierarchyCards/index.d.ts.map +0 -1
  844. package/dist/views/HierarchyList/HierarchyCards/index.js +0 -457
  845. package/dist/views/HierarchyList/HierarchyCards/index.js.map +0 -1
  846. package/dist/views/Root/getCustomCollectionViewByRoute.spec.js +0 -168
  847. package/dist/views/Root/getCustomCollectionViewByRoute.spec.js.map +0 -1
  848. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +0 -861
  849. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +0 -1
  850. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +0 -47
  851. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +0 -1
  852. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +0 -135
  853. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +0 -1
  854. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +0 -100
  855. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +0 -1
@@ -34,8 +34,7 @@ export const Auth = props => {
34
34
  verify
35
35
  } = props;
36
36
  const [changingPassword, setChangingPassword] = useState(requirePassword);
37
- const enableAPIKey = useFormFields(_temp);
38
- const dispatchFields = useFormFields(_temp2);
37
+ const dispatchFields = useFormFields(_temp);
39
38
  const modified = useFormModified();
40
39
  const {
41
40
  i18n,
@@ -114,10 +113,8 @@ export const Auth = props => {
114
113
  }
115
114
  const enableFields = (!disableLocalStrategy || typeof disableLocalStrategy === "object" && disableLocalStrategy.enableFields === true) && (showUnlock || showPasswordFields);
116
115
  const disabled = readOnly || isInitializing || isTrashed;
117
- const apiKeyPermissions = docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey;
118
- const apiKeyReadOnly = readOnly || apiKeyPermissions !== true && apiKeyPermissions && typeof apiKeyPermissions === "object" && !apiKeyPermissions?.update;
119
- const enableAPIKeyReadOnly = readOnly || apiKeyPermissions !== true && !apiKeyPermissions?.update;
120
- const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read;
116
+ const apiKeyPermissions = docPermissions?.fields === true ? true : docPermissions?.fields?.apiKey;
117
+ const canManageAPIKey = apiKeyPermissions === true || typeof apiKeyPermissions === "object" && Boolean(apiKeyPermissions?.[operation]);
121
118
  let t2;
122
119
  bb0: {
123
120
  if (docPermissions) {
@@ -221,7 +218,7 @@ export const Auth = props => {
221
218
  }
222
219
  useEffect(t5, t6);
223
220
  const showAuthBlock = enableFields;
224
- const showAPIKeyBlock = useAPIKey && canReadApiKey;
221
+ const showAPIKeyBlock = useAPIKey && canManageAPIKey;
225
222
  const showVerifyBlock = verify && isEditing;
226
223
  if (!(showAuthBlock || showAPIKeyBlock || showVerifyBlock)) {
227
224
  return null;
@@ -310,23 +307,12 @@ export const Auth = props => {
310
307
  disabled: readOnly || isTrashed
311
308
  })]
312
309
  })]
313
- }), showAPIKeyBlock && _jsxs("div", {
310
+ }), showAPIKeyBlock && _jsx("div", {
314
311
  className: `${baseClass}__api-key`,
315
- children: [_jsx(CheckboxField, {
316
- field: {
317
- name: "enableAPIKey",
318
- admin: {
319
- disabled,
320
- readOnly: enableAPIKeyReadOnly
321
- },
322
- label: t("authentication:enableAPIKey")
323
- },
324
- path: "enableAPIKey",
325
- schemaPath: `${collectionSlug}.enableAPIKey`
326
- }), _jsx(APIKey, {
327
- enabled: !!enableAPIKey?.value,
328
- readOnly: apiKeyReadOnly
329
- })]
312
+ children: _jsx(APIKey, {
313
+ readOnly: disabled,
314
+ reveal: typeof useAPIKey === "object" && useAPIKey.reveal === true
315
+ })
330
316
  }), showVerifyBlock && _jsx(CheckboxField, {
331
317
  field: {
332
318
  name: "_verified",
@@ -343,11 +329,7 @@ export const Auth = props => {
343
329
  })
344
330
  });
345
331
  };
346
- function _temp(t0) {
347
- const [fields] = t0;
348
- return fields && fields?.enableAPIKey || null;
349
- }
350
- function _temp2(reducer) {
332
+ function _temp(reducer) {
351
333
  return reducer[1];
352
334
  }
353
335
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","formatAdminURL","getFieldPermissions","React","Fragment","useCallback","useEffect","useMemo","useState","toast","Button","EmailAndUsernameFields","CheckboxField","ConfirmPasswordField","PasswordField","useFormFields","useFormModified","useConfig","useDocumentInfo","useTranslation","APIKey","baseClass","Auth","props","$","className","collectionSlug","disableLocalStrategy","email","loginWithUsername","operation","readOnly","requirePassword","setValidateBeforeSubmit","useAPIKey","username","verify","changingPassword","setChangingPassword","enableAPIKey","_temp","dispatchFields","_temp2","modified","i18n","t","docPermissions","isEditing","isInitializing","isTrashed","config","t0","routes","t1","api","showPasswordFields","showUnlock","hasPasswordFieldOverride","fields","hasLoginFieldOverride","permissions","passwordPermissions","field","name","type","parentName","create","update","hasEmailAndUsernameFields","requireEmail","allowEmailLogin","emailPermission","usernamePermission","enableFields","disabled","apiKeyPermissions","apiKeyReadOnly","enableAPIKeyReadOnly","canReadApiKey","read","t2","bb0","Boolean","unlock","undefined","hasPermissionToUnlock","t3","changingPassword_0","errorMessage","path","valid","handleChangePassword","t4","url","apiRoute","response","fetch","body","JSON","stringify","credentials","headers","language","method","status","success","error","t5","t6","showAuthBlock","showAPIKeyBlock","showVerifyBlock","t7","label","startsWith","charAt","slice","toLowerCase","formatHeaderButtonLabel","Controls","_jsxs","children","_jsx","buttonStyle","id","onClick","size","t8","filter","join","autoComplete","required","indexPath","parentPath","parentSchemaPath","schemaPath","admin","enabled","value","reducer"],"sources":["../../../../src/views/Edit/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SanitizedFieldPermissions } from 'payload'\n\nimport { formatAdminURL, getFieldPermissions } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { EmailAndUsernameFields } from '../../../elements/EmailAndUsername/index.js'\nimport { CheckboxField } from '../../../fields/Checkbox/index.js'\nimport { ConfirmPasswordField } from '../../../fields/ConfirmPassword/index.js'\nimport { PasswordField } from '../../../fields/Password/index.js'\nimport { useFormFields, useFormModified } from '../../../forms/Form/context.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.css'\nimport { APIKey } from './APIKey.js'\n\nconst baseClass = 'auth-fields'\n\nexport const Auth: React.FC<Props> = (props) => {\n const {\n className,\n collectionSlug,\n disableLocalStrategy,\n email,\n loginWithUsername,\n operation,\n readOnly,\n requirePassword,\n setValidateBeforeSubmit,\n useAPIKey,\n username,\n verify,\n } = props\n\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const enableAPIKey = useFormFields(([fields]) => (fields && fields?.enableAPIKey) || null)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n const { docPermissions, isEditing, isInitializing, isTrashed } = useDocumentInfo()\n\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n\n let showPasswordFields: SanitizedFieldPermissions = true\n let showUnlock = true\n const hasPasswordFieldOverride =\n typeof docPermissions.fields === 'object' && 'password' in docPermissions.fields\n const hasLoginFieldOverride =\n typeof docPermissions.fields === 'object' &&\n ('username' in docPermissions.fields || 'email' in docPermissions.fields)\n\n if (hasPasswordFieldOverride) {\n const { permissions: passwordPermissions } = getFieldPermissions({\n field: { name: 'password', type: 'text' },\n operation,\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n if (operation === 'create') {\n showPasswordFields =\n passwordPermissions === true ||\n ((typeof passwordPermissions === 'object' &&\n passwordPermissions.create) as SanitizedFieldPermissions)\n } else {\n showPasswordFields =\n passwordPermissions === true ||\n ((typeof passwordPermissions === 'object' &&\n passwordPermissions.update) as SanitizedFieldPermissions)\n }\n }\n\n if (hasLoginFieldOverride) {\n const hasEmailAndUsernameFields =\n loginWithUsername && (loginWithUsername.requireEmail || loginWithUsername.allowEmailLogin)\n\n const { operation: emailPermission } = getFieldPermissions({\n field: { name: 'email', type: 'text' },\n operation: 'read',\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n const { operation: usernamePermission } = getFieldPermissions({\n field: { name: 'username', type: 'text' },\n operation: 'read',\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n if (hasEmailAndUsernameFields) {\n showUnlock = usernamePermission || emailPermission\n } else if (loginWithUsername && !hasEmailAndUsernameFields) {\n showUnlock = usernamePermission\n } else {\n showUnlock = emailPermission\n }\n }\n\n const enableFields =\n (!disableLocalStrategy ||\n (typeof disableLocalStrategy === 'object' && disableLocalStrategy.enableFields === true)) &&\n (showUnlock || showPasswordFields)\n\n const disabled = readOnly || isInitializing || isTrashed\n\n const apiKeyPermissions =\n docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey\n\n const apiKeyReadOnly =\n readOnly ||\n (apiKeyPermissions !== true &&\n apiKeyPermissions &&\n typeof apiKeyPermissions === 'object' &&\n !apiKeyPermissions?.update)\n\n const enableAPIKeyReadOnly =\n readOnly || (apiKeyPermissions !== true && !apiKeyPermissions?.update)\n\n const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read\n\n const hasPermissionToUnlock: boolean = useMemo(() => {\n if (docPermissions) {\n return Boolean('unlock' in docPermissions ? docPermissions.unlock : undefined)\n }\n\n return false\n }, [docPermissions])\n\n const handleChangePassword = useCallback(\n (changingPassword: boolean) => {\n if (changingPassword) {\n setValidateBeforeSubmit(true)\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'password',\n valid: false,\n })\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'confirm-password',\n valid: false,\n })\n } else {\n setValidateBeforeSubmit(false)\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(changingPassword)\n },\n [dispatchFields, t, setValidateBeforeSubmit],\n )\n\n const unlock = useCallback(async () => {\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}/unlock`,\n })\n const response = await fetch(url, {\n body:\n loginWithUsername && username ? JSON.stringify({ username }) : JSON.stringify({ email }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n if (response.status === 200) {\n toast.success(t('authentication:successfullyUnlocked'))\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, api, collectionSlug, email, username, t, loginWithUsername])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n const showAuthBlock = enableFields\n const showAPIKeyBlock = useAPIKey && canReadApiKey\n const showVerifyBlock = verify && isEditing\n\n if (!(showAuthBlock || showAPIKeyBlock || showVerifyBlock)) {\n return null\n }\n\n const formatHeaderButtonLabel = (label: string): string => {\n if (!i18n?.language?.startsWith('en') || !label) {\n return label\n }\n\n return label.charAt(0) + label.slice(1).toLowerCase()\n }\n\n const Controls =\n enableFields &&\n (changingPassword ||\n (!changingPassword && !requirePassword && !disableLocalStrategy && showPasswordFields) ||\n (!changingPassword && operation === 'update' && hasPermissionToUnlock)) ? (\n <div className={`${baseClass}__controls`}>\n {changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"cancel-change-password\"\n onClick={() => handleChangePassword(false)}\n size=\"medium\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!changingPassword && !requirePassword && !disableLocalStrategy && showPasswordFields && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"medium\"\n >\n {formatHeaderButtonLabel(t('authentication:changePassword'))}\n </Button>\n )}\n {!changingPassword && operation === 'update' && hasPermissionToUnlock && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled || !showUnlock}\n id=\"force-unlock\"\n onClick={() => void unlock()}\n size=\"medium\"\n >\n {formatHeaderButtonLabel(t('authentication:forceUnlock'))}\n </Button>\n )}\n </div>\n ) : null\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__card`}>\n <div className={`${baseClass}__header`}>\n <div className={`${baseClass}__title`}>{t('authentication:account')}</div>\n {Controls}\n </div>\n <div className={`${baseClass}__body`}>\n {showAuthBlock && (\n <Fragment>\n <EmailAndUsernameFields\n loginWithUsername={loginWithUsername}\n operation={operation}\n permissions={docPermissions?.fields}\n readOnly={readOnly || isTrashed}\n t={t}\n />\n {(changingPassword || requirePassword) &&\n (!disableLocalStrategy || !enableFields) && (\n <div className={`${baseClass}__changing-password`}>\n <PasswordField\n autoComplete=\"new-password\"\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n indexPath=\"\"\n parentPath=\"\"\n parentSchemaPath=\"\"\n path=\"password\"\n schemaPath=\"password\"\n />\n <ConfirmPasswordField disabled={readOnly || isTrashed} />\n </div>\n )}\n </Fragment>\n )}\n {showAPIKeyBlock && (\n <div className={`${baseClass}__api-key`}>\n <CheckboxField\n field={{\n name: 'enableAPIKey',\n admin: { disabled, readOnly: enableAPIKeyReadOnly },\n label: t('authentication:enableAPIKey'),\n }}\n path=\"enableAPIKey\"\n schemaPath={`${collectionSlug}.enableAPIKey`}\n />\n <APIKey enabled={!!enableAPIKey?.value} readOnly={apiKeyReadOnly} />\n </div>\n )}\n {showVerifyBlock && (\n <CheckboxField\n field={{\n name: '_verified',\n admin: { disabled, readOnly },\n label: t('authentication:verified'),\n }}\n path=\"_verified\"\n schemaPath={`${collectionSlug}._verified`}\n />\n )}\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","formatAdminURL","getFieldPermissions","React","Fragment","useCallback","useEffect","useMemo","useState","toast","Button","EmailAndUsernameFields","CheckboxField","ConfirmPasswordField","PasswordField","useFormFields","useFormModified","useConfig","useDocumentInfo","useTranslation","APIKey","baseClass","Auth","props","$","className","collectionSlug","disableLocalStrategy","email","loginWithUsername","operation","readOnly","requirePassword","setValidateBeforeSubmit","useAPIKey","username","verify","changingPassword","setChangingPassword","dispatchFields","_temp","modified","i18n","t","docPermissions","isEditing","isInitializing","isTrashed","config","t0","routes","t1","api","showPasswordFields","showUnlock","hasPasswordFieldOverride","fields","hasLoginFieldOverride","permissions","passwordPermissions","field","name","type","parentName","create","update","hasEmailAndUsernameFields","requireEmail","allowEmailLogin","emailPermission","usernamePermission","enableFields","disabled","apiKeyPermissions","apiKey","canManageAPIKey","Boolean","t2","bb0","unlock","undefined","hasPermissionToUnlock","t3","changingPassword_0","errorMessage","path","valid","handleChangePassword","t4","url","apiRoute","response","fetch","body","JSON","stringify","credentials","headers","language","method","status","success","error","t5","t6","showAuthBlock","showAPIKeyBlock","showVerifyBlock","t7","label","startsWith","charAt","slice","toLowerCase","formatHeaderButtonLabel","Controls","_jsxs","children","_jsx","buttonStyle","id","onClick","size","t8","filter","join","autoComplete","required","indexPath","parentPath","parentSchemaPath","schemaPath","reveal","admin","reducer"],"sources":["../../../../src/views/Edit/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SanitizedFieldPermissions } from 'payload'\n\nimport { formatAdminURL, getFieldPermissions } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { EmailAndUsernameFields } from '../../../elements/EmailAndUsername/index.js'\nimport { CheckboxField } from '../../../fields/Checkbox/index.js'\nimport { ConfirmPasswordField } from '../../../fields/ConfirmPassword/index.js'\nimport { PasswordField } from '../../../fields/Password/index.js'\nimport { useFormFields, useFormModified } from '../../../forms/Form/context.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.css'\nimport { APIKey } from './APIKey.js'\n\nconst baseClass = 'auth-fields'\n\nexport const Auth: React.FC<Props> = (props) => {\n const {\n className,\n collectionSlug,\n disableLocalStrategy,\n email,\n loginWithUsername,\n operation,\n readOnly,\n requirePassword,\n setValidateBeforeSubmit,\n useAPIKey,\n username,\n verify,\n } = props\n\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n const { docPermissions, isEditing, isInitializing, isTrashed } = useDocumentInfo()\n\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n\n let showPasswordFields: SanitizedFieldPermissions = true\n let showUnlock = true\n const hasPasswordFieldOverride =\n typeof docPermissions.fields === 'object' && 'password' in docPermissions.fields\n const hasLoginFieldOverride =\n typeof docPermissions.fields === 'object' &&\n ('username' in docPermissions.fields || 'email' in docPermissions.fields)\n\n if (hasPasswordFieldOverride) {\n const { permissions: passwordPermissions } = getFieldPermissions({\n field: { name: 'password', type: 'text' },\n operation,\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n if (operation === 'create') {\n showPasswordFields =\n passwordPermissions === true ||\n ((typeof passwordPermissions === 'object' &&\n passwordPermissions.create) as SanitizedFieldPermissions)\n } else {\n showPasswordFields =\n passwordPermissions === true ||\n ((typeof passwordPermissions === 'object' &&\n passwordPermissions.update) as SanitizedFieldPermissions)\n }\n }\n\n if (hasLoginFieldOverride) {\n const hasEmailAndUsernameFields =\n loginWithUsername && (loginWithUsername.requireEmail || loginWithUsername.allowEmailLogin)\n\n const { operation: emailPermission } = getFieldPermissions({\n field: { name: 'email', type: 'text' },\n operation: 'read',\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n const { operation: usernamePermission } = getFieldPermissions({\n field: { name: 'username', type: 'text' },\n operation: 'read',\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n if (hasEmailAndUsernameFields) {\n showUnlock = usernamePermission || emailPermission\n } else if (loginWithUsername && !hasEmailAndUsernameFields) {\n showUnlock = usernamePermission\n } else {\n showUnlock = emailPermission\n }\n }\n\n const enableFields =\n (!disableLocalStrategy ||\n (typeof disableLocalStrategy === 'object' && disableLocalStrategy.enableFields === true)) &&\n (showUnlock || showPasswordFields)\n\n const disabled = readOnly || isInitializing || isTrashed\n\n const apiKeyPermissions = docPermissions?.fields === true ? true : docPermissions?.fields?.apiKey\n const canManageAPIKey =\n apiKeyPermissions === true ||\n (typeof apiKeyPermissions === 'object' && Boolean(apiKeyPermissions?.[operation]))\n\n const hasPermissionToUnlock: boolean = useMemo(() => {\n if (docPermissions) {\n return Boolean('unlock' in docPermissions ? docPermissions.unlock : undefined)\n }\n\n return false\n }, [docPermissions])\n\n const handleChangePassword = useCallback(\n (changingPassword: boolean) => {\n if (changingPassword) {\n setValidateBeforeSubmit(true)\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'password',\n valid: false,\n })\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'confirm-password',\n valid: false,\n })\n } else {\n setValidateBeforeSubmit(false)\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(changingPassword)\n },\n [dispatchFields, t, setValidateBeforeSubmit],\n )\n\n const unlock = useCallback(async () => {\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}/unlock`,\n })\n const response = await fetch(url, {\n body:\n loginWithUsername && username ? JSON.stringify({ username }) : JSON.stringify({ email }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n if (response.status === 200) {\n toast.success(t('authentication:successfullyUnlocked'))\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, api, collectionSlug, email, username, t, loginWithUsername])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n const showAuthBlock = enableFields\n const showAPIKeyBlock = useAPIKey && canManageAPIKey\n const showVerifyBlock = verify && isEditing\n\n if (!(showAuthBlock || showAPIKeyBlock || showVerifyBlock)) {\n return null\n }\n\n const formatHeaderButtonLabel = (label: string): string => {\n if (!i18n?.language?.startsWith('en') || !label) {\n return label\n }\n\n return label.charAt(0) + label.slice(1).toLowerCase()\n }\n\n const Controls =\n enableFields &&\n (changingPassword ||\n (!changingPassword && !requirePassword && !disableLocalStrategy && showPasswordFields) ||\n (!changingPassword && operation === 'update' && hasPermissionToUnlock)) ? (\n <div className={`${baseClass}__controls`}>\n {changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"cancel-change-password\"\n onClick={() => handleChangePassword(false)}\n size=\"medium\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!changingPassword && !requirePassword && !disableLocalStrategy && showPasswordFields && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"medium\"\n >\n {formatHeaderButtonLabel(t('authentication:changePassword'))}\n </Button>\n )}\n {!changingPassword && operation === 'update' && hasPermissionToUnlock && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled || !showUnlock}\n id=\"force-unlock\"\n onClick={() => void unlock()}\n size=\"medium\"\n >\n {formatHeaderButtonLabel(t('authentication:forceUnlock'))}\n </Button>\n )}\n </div>\n ) : null\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__card`}>\n <div className={`${baseClass}__header`}>\n <div className={`${baseClass}__title`}>{t('authentication:account')}</div>\n {Controls}\n </div>\n <div className={`${baseClass}__body`}>\n {showAuthBlock && (\n <Fragment>\n <EmailAndUsernameFields\n loginWithUsername={loginWithUsername}\n operation={operation}\n permissions={docPermissions?.fields}\n readOnly={readOnly || isTrashed}\n t={t}\n />\n {(changingPassword || requirePassword) &&\n (!disableLocalStrategy || !enableFields) && (\n <div className={`${baseClass}__changing-password`}>\n <PasswordField\n autoComplete=\"new-password\"\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n indexPath=\"\"\n parentPath=\"\"\n parentSchemaPath=\"\"\n path=\"password\"\n schemaPath=\"password\"\n />\n <ConfirmPasswordField disabled={readOnly || isTrashed} />\n </div>\n )}\n </Fragment>\n )}\n {showAPIKeyBlock && (\n <div className={`${baseClass}__api-key`}>\n <APIKey\n readOnly={disabled}\n reveal={typeof useAPIKey === 'object' && useAPIKey.reveal === true}\n />\n </div>\n )}\n {showVerifyBlock && (\n <CheckboxField\n field={{\n name: '_verified',\n admin: { disabled, readOnly },\n label: t('authentication:verified'),\n }}\n path=\"_verified\"\n schemaPath={`${collectionSlug}._verified`}\n />\n )}\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,9 @@ export type Props = {
9
9
  readOnly: boolean;
10
10
  requirePassword?: boolean;
11
11
  setValidateBeforeSubmit: (validate: boolean) => void;
12
- useAPIKey?: boolean;
12
+ useAPIKey?: {
13
+ reveal?: boolean;
14
+ } | boolean;
13
15
  username: string;
14
16
  verify?: boolean;
15
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACjD,oBAAoB,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAA;IAChF,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAA;IACzE,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,uBAAuB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;IACpD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACjD,oBAAoB,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAA;IAChF,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAA;IACzE,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,uBAAuB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;IACpD,SAAS,CAAC,EACN;QACE,MAAM,CAAC,EAAE,OAAO,CAAA;KACjB,GACD,OAAO,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/views/Edit/Auth/types.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from 'payload'\n\nexport type Props = {\n className?: string\n collectionSlug: SanitizedCollectionConfig['slug']\n disableLocalStrategy?: SanitizedCollectionConfig['auth']['disableLocalStrategy']\n email: string\n loginWithUsername: SanitizedCollectionConfig['auth']['loginWithUsername']\n operation: 'create' | 'update'\n readOnly: boolean\n requirePassword?: boolean\n setValidateBeforeSubmit: (validate: boolean) => void\n useAPIKey?: boolean\n username: string\n verify?: boolean\n}\n"],"mappings":"AAEA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/views/Edit/Auth/types.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from 'payload'\n\nexport type Props = {\n className?: string\n collectionSlug: SanitizedCollectionConfig['slug']\n disableLocalStrategy?: SanitizedCollectionConfig['auth']['disableLocalStrategy']\n email: string\n loginWithUsername: SanitizedCollectionConfig['auth']['loginWithUsername']\n operation: 'create' | 'update'\n readOnly: boolean\n requirePassword?: boolean\n setValidateBeforeSubmit: (validate: boolean) => void\n useAPIKey?:\n | {\n reveal?: boolean\n }\n | boolean\n username: string\n verify?: boolean\n}\n"],"mappings":"AAEA","ignoreList":[]}
@@ -6,6 +6,49 @@
6
6
  container-name: edit-main;
7
7
  }
8
8
 
9
+ .collection-edit__main > .document-fields {
10
+ --edit-view-sidebar-form-width: 400px;
11
+ --doc-sidebar-width: calc(var(--edit-view-sidebar-form-width) + var(--gutter-h) * 2);
12
+ --edit-view-sidebar-width: 0px;
13
+ /* With a sidebar, the cap includes the selected main width, 400px sidebar, and gutters. */
14
+ max-inline-size: calc(
15
+ var(--edit-view-max-width) + var(--gutter-h) * 2 + var(--edit-view-sidebar-width)
16
+ );
17
+ margin-inline: auto;
18
+ }
19
+
20
+ :root[data-edit-view-width='full'] .collection-edit__main > .document-fields,
21
+ .collection-edit__main[data-edit-view-full-width] > .document-fields {
22
+ max-inline-size: none;
23
+ }
24
+
25
+ @media (min-width: 1024px) {
26
+ .collection-edit__main
27
+ > .document-fields--has-sidebar:not(.document-fields--force-sidebar-wrap):has(
28
+ .document-fields__sidebar-fields > .render-fields:not(:empty)
29
+ ) {
30
+ --edit-view-sidebar-width: var(--doc-sidebar-width);
31
+ --sidebar-wrap-width: var(--doc-sidebar-width);
32
+ }
33
+ }
34
+
35
+ @container drawer (max-width: 768px) {
36
+ .collection-edit__main
37
+ > .document-fields--has-sidebar:not(.document-fields--force-sidebar-wrap):has(
38
+ .document-fields__sidebar-fields > .render-fields:not(:empty)
39
+ ) {
40
+ --edit-view-sidebar-width: 0px;
41
+ }
42
+ }
43
+
44
+ .doc-header[data-edit-view-aligned],
45
+ .doc-controls[data-edit-view-aligned] {
46
+ padding-inline: max(
47
+ var(--gutter-h),
48
+ calc((100% - var(--edit-view-content-width)) / 2 + var(--gutter-h))
49
+ );
50
+ }
51
+
9
52
  .collection-edit__main-wrapper {
10
53
  width: 100%;
11
54
  display: flex;
@@ -183,6 +226,7 @@
183
226
  border-radius: var(--radius-small);
184
227
  }
185
228
 
229
+ /* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
186
230
  @media (max-width: 768px) {
187
231
  .collection-edit__auth {
188
232
  margin-top: 0;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAQ,MAAM,SAAS,CAAA;AAG5D,OAAO,KAA4D,MAAM,OAAO,CAAA;AAsChF,OAAO,aAAa,CAAA;AAKpB,MAAM,MAAM,aAAa,GAAG;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAKD,wBAAgB,eAAe,CAAC,EAC9B,sBAAsB,EACtB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,WAAW,EAAE,iBAAiB,EAC9B,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,MAAM,EACN,eAAe,EACf,MAAM,EAAE,YAAY,EACpB,cAAc,EACd,iBAAiB,GAClB,EAAE,uBAAuB,qBAqxBzB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAQ,MAAM,SAAS,CAAA;AAG5D,OAAO,KAA4D,MAAM,OAAO,CAAA;AAwChF,OAAO,aAAa,CAAA;AAKpB,MAAM,MAAM,aAAa,GAAG;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAKD,wBAAgB,eAAe,CAAC,EAC9B,sBAAsB,EACtB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,WAAW,EAAE,iBAAiB,EAC9B,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,MAAM,EACN,eAAe,EACf,MAAM,EAAE,YAAY,EACpB,cAAc,EACd,iBAAiB,GAClB,EAAE,uBAAuB,qBA2xBzB"}
@@ -26,6 +26,7 @@ import { useRouteCache } from '../../providers/RouteCache/index.js';
26
26
  import { useRouter, useSearchParams } from '../../providers/RouterAdapter/index.js';
27
27
  import { useRouteTransition } from '../../providers/RouteTransition/index.js';
28
28
  import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
29
+ import { useTheme } from '../../providers/Theme/index.js';
29
30
  import { UploadControlsProvider } from '../../providers/UploadControls/index.js';
30
31
  import { useUploadEdits } from '../../providers/UploadEdits/index.js';
31
32
  import { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js';
@@ -35,6 +36,7 @@ import { handleTakeOver } from '../../utilities/handleTakeOver.js';
35
36
  import { Auth } from './Auth/index.js';
36
37
  import { SetDocumentStepNav } from './SetDocumentStepNav/index.js';
37
38
  import { SetDocumentTitle } from './SetDocumentTitle/index.js';
39
+ import { useEditViewWidth } from './useEditViewWidth.js';
38
40
  import './index.css';
39
41
  const baseClass = 'collection-edit';
40
42
  const PENDING_SUCCESS_TOAST_KEY = 'payload-pending-success-toast';
@@ -158,6 +160,16 @@ export function DefaultEditView({
158
160
  isPreviewEnabled,
159
161
  setPreviewURL
160
162
  } = usePreviewURL();
163
+ const mainRef = useRef(null);
164
+ const {
165
+ editViewWidth,
166
+ shouldAlignEditViewHeader
167
+ } = useTheme();
168
+ useEditViewWidth({
169
+ editViewWidth,
170
+ ref: mainRef,
171
+ shouldAlignHeader: shouldAlignEditViewHeader
172
+ });
161
173
  const abortOnChangeRef = useRef(null);
162
174
  const abortOnSaveRef = useRef(null);
163
175
  const locale = params.get('locale');
@@ -610,6 +622,7 @@ export function DefaultEditView({
610
622
  className: [`${baseClass}__main-wrapper`, shouldRenderUploadPanel && `${baseClass}__main-wrapper--has-upload-panel`, shouldScrollFieldsOnly && `${baseClass}__main-wrapper--scroll-fields-only`, isPopupOpen && `${baseClass}--detached`].filter(Boolean).join(' '),
611
623
  children: [/*#__PURE__*/_jsxs("div", {
612
624
  className: [`${baseClass}__main`, isPopupOpen && `${baseClass}__main--popup-open`].filter(Boolean).join(' '),
625
+ ref: mainRef,
613
626
  children: [/*#__PURE__*/_jsx(DocumentFields, {
614
627
  AfterFields: AfterFields,
615
628
  BeforeFields: renderAuth || BeforeFields ? /*#__PURE__*/_jsxs(_Fragment, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["formatAdminURL","hasAutosaveEnabled","React","useCallback","useEffect","useMemo","useRef","useState","toast","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentStaleData","DocumentTakeOver","FileManager","LeaveWithoutSaving","LivePreviewWindow","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useLivePreviewContext","usePreviewURL","OperationProvider","useRouteCache","useRouter","useSearchParams","useRouteTransition","useServerFunctions","UploadControlsProvider","useUploadEdits","abortAndIgnore","handleAbortRef","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","PENDING_SUCCESS_TOAST_KEY","DefaultEditView","BeforeDocumentControls","BeforeDocumentMeta","Description","EditMenuItems","LivePreview","CustomLivePreview","PreviewButton","PublishButton","SaveButton","SaveDraftButton","Status","UnpublishButton","Upload","CustomUpload","UploadControls","UploadFilePreview","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","data","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","documentLockState","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialState","isEditing","isInitializing","isLocked","isTrashed","lastUpdateTime","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","setCurrentEditor","setData","setDocumentIsLocked","setLastUpdateTime","unlockDocument","updateDocumentEditor","clearDoc","drawerSlug","onDelete","onDuplicate","onRestore","onSave","onSaveFromContext","isInDrawer","Boolean","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","serverURL","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","startRouteTransition","clearRouteCache","isLivePreviewEnabled","isLivePreviewing","isPopupOpen","setURL","setLivePreviewURL","typeofLivePreviewURL","url","livePreviewURL","isPreviewEnabled","setPreviewURL","abortOnChangeRef","abortOnSaveRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","showStaleDataModal","setShowStaleDataModal","editSessionStartTime","setEditSessionStartTime","Date","now","hasCheckedForStaleDataRef","originalUpdatedAtRef","updatedAt","saveCounterRef","isSavingRef","lockExpiryTime","isLockExpired","preventLeaveWithoutSaving","schemaPathSegments","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","nextHrefRef","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","hasShownLockedModal","lastEditedAt","getTime","handleStaleDataReload","refresh","handlePrevent","nextHref","handleLeaveConfirm","lockUser","isLockOwnedByCurrentUser","nextPath","URL","pathname","isInternalView","some","path","includes","err","console","error","json","ctx","context","formState","controller","document","doc","result","toISOString","message","window","sessionStorage","setItem","redirectRoute","push","docPreferences","previewURL","state","renderAllFields","returnLivePreviewURL","returnLockStatus","returnPreviewURL","schemaPath","join","signal","skipValidation","file","onChange","prevFormState","submitted","saveCounterAtStart","isSavingAtStart","currentTime","timeSinceLastUpdate","updateLastEdited","checkForStaleData","originalUpdatedAt","readOnly","staleDataState","isStale","abortOnChange","abortOnSave","pendingMessage","getItem","removeItem","success","shouldShowDocumentLockedModal","isFolderCollection","hierarchy","allowHasMany","documentControlsProps","customComponents","onDrawerCreateNew","onTakeOver","documentLockStateRef","isWithinDoc","permissions","readOnlyForIncomingUser","renderAuth","_jsx","className","email","loginWithUsername","requirePassword","useAPIKey","username","verify","shouldRenderUploadPanel","hideFileInputOnCreate","shouldScrollFieldsOnly","filter","_jsxs","disabled","disableSuccessStatus","disableValidationOnSubmit","isDocumentForm","method","onSubmit","onSuccess","actions","variant","AfterHeader","renderTitleAsLink","isActive","onReadOnly","onReload","modalSlug","onConfirm","onPrevent","pluralLabel","labels","plural","useAsTitle","fallback","toString","_Fragment","fields","forceSidebarWrap","uploadConfig"],"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DocumentViewClientProps, User } from 'payload'\n\nimport { formatAdminURL, hasAutosaveEnabled } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { FormOnSuccess } from '../../forms/Form/types.js'\nimport type { LockedState } from '../../utilities/buildFormState.js'\n\nimport { DocumentControls } from '../../elements/DocumentControls/index.js'\nimport { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js'\nimport { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../elements/DocumentFields/index.js'\nimport { DocumentLocked } from '../../elements/DocumentLocked/index.js'\nimport { DocumentStaleData } from '../../elements/DocumentStaleData/index.js'\nimport { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js'\nimport { FileManager } from '../../elements/FileManager/index.js'\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { LivePreviewWindow } from '../../elements/LivePreview/Window/index.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLivePreviewContext, usePreviewURL } from '../../providers/LivePreview/context.js'\nimport { OperationProvider } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouter, useSearchParams } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { UploadControlsProvider } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { handleBackToDashboard } from '../../utilities/handleBackToDashboard.js'\nimport { handleGoBack } from '../../utilities/handleGoBack.js'\nimport { handleTakeOver } from '../../utilities/handleTakeOver.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.css'\n\nconst baseClass = 'collection-edit'\nconst PENDING_SUCCESS_TOAST_KEY = 'payload-pending-success-toast'\n\nexport type OnSaveContext = {\n getDocPermissions?: boolean\n incrementVersionCount?: boolean\n}\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport function DefaultEditView({\n BeforeDocumentControls,\n BeforeDocumentMeta,\n Description,\n EditMenuItems,\n LivePreview: CustomLivePreview,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Status,\n UnpublishButton,\n Upload: CustomUpload,\n UploadControls,\n UploadFilePreview,\n}: DocumentViewClientProps) {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n data,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n documentLockState,\n getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialState,\n isEditing,\n isInitializing,\n isLocked,\n isTrashed,\n lastUpdateTime,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n setCurrentEditor,\n setData,\n setDocumentIsLocked,\n setLastUpdateTime,\n unlockDocument,\n updateDocumentEditor,\n } = useDocumentInfo()\n\n const {\n clearDoc,\n drawerSlug,\n onDelete,\n onDuplicate,\n onRestore,\n onSave: onSaveFromContext,\n } = useDocumentDrawerContext()\n\n const isInDrawer = Boolean(drawerSlug)\n\n const { refreshCookieAsync, user } = useAuth()\n\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const depth = useEditDepth()\n\n const router = useRouter()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n const { getFormState } = useServerFunctions()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n const {\n isLivePreviewEnabled,\n isLivePreviewing,\n isPopupOpen,\n setURL: setLivePreviewURL,\n typeofLivePreviewURL,\n url: livePreviewURL,\n } = useLivePreviewContext()\n const { isPreviewEnabled, setPreviewURL } = usePreviewURL()\n\n const abortOnChangeRef = useRef<AbortController>(null)\n const abortOnSaveRef = useRef<AbortController>(null)\n\n const locale = params.get('locale')\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const autosaveEnabled = hasAutosaveEnabled(docConfig)\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n const [showStaleDataModal, setShowStaleDataModal] = useState(false)\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const hasCheckedForStaleDataRef = useRef(false)\n const originalUpdatedAtRef = useRef(data?.updatedAt)\n const saveCounterRef = useRef(0)\n const isSavingRef = useRef(false)\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n const isLockExpired = Date.now() > lockExpiryTime\n\n const preventLeaveWithoutSaving =\n !isReadOnlyForIncomingUser &&\n (typeof disableLeaveWithoutSaving !== 'undefined'\n ? !disableLeaveWithoutSaving\n : !autosaveEnabled)\n\n const schemaPathSegments = useMemo(() => [entitySlug], [entitySlug])\n\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const nextHrefRef = React.useRef<null | string>(null)\n\n const handleDocumentLocking = useCallback(\n (lockedState: LockedState) => {\n setDocumentIsLocked(true)\n const previousOwnerID =\n typeof documentLockState.current?.user === 'object'\n ? documentLockState.current?.user?.id\n : documentLockState.current?.user\n\n if (lockedState && lockedState.user) {\n const lockedUserID =\n typeof lockedState.user === 'string' || typeof lockedState.user === 'number'\n ? lockedState.user\n : lockedState.user.id\n\n if (!documentLockState.current || lockedUserID !== previousOwnerID) {\n if (previousOwnerID === user.id && lockedUserID !== user.id) {\n setShowTakeOverModal(true)\n documentLockState.current.hasShownLockedModal = true\n }\n\n documentLockState.current = {\n hasShownLockedModal: documentLockState.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user as User,\n }\n setCurrentEditor(lockedState.user as User)\n }\n\n // Update lastUpdateTime when lock state changes\n if (lockedState.lastEditedAt) {\n setLastUpdateTime(new Date(lockedState.lastEditedAt).getTime())\n }\n }\n },\n [documentLockState, setCurrentEditor, setDocumentIsLocked, setLastUpdateTime, user?.id],\n )\n\n const handleStaleDataReload = useCallback(() => {\n // Reset modal state so it can appear again if needed\n setShowStaleDataModal(false)\n\n // Refresh to get the latest data\n router.refresh()\n }, [router])\n\n const handlePrevent = useCallback((nextHref: null | string) => {\n nextHrefRef.current = nextHref\n }, [])\n\n const handleLeaveConfirm = useCallback(async () => {\n const lockUser = documentLockState.current?.user\n\n const isLockOwnedByCurrentUser =\n typeof lockUser === 'object' ? lockUser?.id === user?.id : lockUser === user?.id\n\n if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {\n // Check where user is trying to go\n const nextPath = nextHrefRef.current ? new URL(nextHrefRef.current).pathname : ''\n const isInternalView = ['/preview', '/api', '/versions'].some((path) =>\n nextPath.includes(path),\n )\n\n // Remove the lock if the user is navigating away from the document view they have locked\n if (isLockOwnedByCurrentUser && !isInternalView) {\n try {\n await unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n } catch (err) {\n console.error('Failed to unlock before leave', err) // eslint-disable-line no-console\n }\n }\n }\n }, [\n collectionSlug,\n documentIsLocked,\n documentLockState,\n globalSlug,\n id,\n isLockingEnabled,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n user?.id,\n ])\n\n const onSave: FormOnSuccess<any, OnSaveContext> = useCallback(\n async (json, ctx) => {\n const { context, formState } = ctx || {}\n\n const controller = handleAbortRef(abortOnSaveRef)\n\n const document = json?.doc || json?.result\n\n const updatedAt = document?.updatedAt || new Date().toISOString()\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n setLastUpdateTime(new Date(updatedAt).getTime())\n\n // Update stale data check refs after successful save\n // This allows detecting if another user modifies the document after this save\n originalUpdatedAtRef.current = updatedAt\n hasCheckedForStaleDataRef.current = false\n isSavingRef.current = false\n\n if (context?.incrementVersionCount !== false) {\n incrementVersionCount()\n }\n\n if (typeof setData === 'function') {\n void setData(document || {})\n }\n\n if (typeof onSaveFromContext === 'function') {\n const operation = id ? 'update' : 'create'\n\n void onSaveFromContext({\n ...(json as Record<string, unknown>),\n context,\n operation,\n // @ts-expect-error todo: this is not right, should be under `doc`?\n updatedAt:\n operation === 'update'\n ? new Date().toISOString()\n : document?.updatedAt || new Date().toISOString(),\n })\n }\n\n if (!isEditing && depth < 2 && redirectAfterCreate !== false) {\n // Store success message to show after redirect\n if (json.message && typeof window !== 'undefined') {\n window.sessionStorage.setItem(PENDING_SUCCESS_TOAST_KEY, json.message)\n }\n\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n\n startRouteTransition(() => router.push(redirectRoute))\n } else {\n resetUploadEdits()\n }\n\n if (context?.getDocPermissions !== false) {\n await getDocPermissions(json)\n }\n\n if (id || globalSlug) {\n const docPreferences = await getDocPreferences()\n\n const { livePreviewURL, previewURL, state } = await getFormState({\n id,\n collectionSlug,\n data: document,\n docPermissions,\n docPreferences,\n formState,\n globalSlug,\n operation,\n renderAllFields: false,\n returnLivePreviewURL: isLivePreviewEnabled && typeofLivePreviewURL === 'function',\n returnLockStatus: false,\n returnPreviewURL: isPreviewEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: true,\n })\n\n // For upload collections, clear the file field from the returned state\n // to prevent the File object from persisting in form state after save\n if (upload && state) {\n delete state.file\n }\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n if (isLivePreviewEnabled && typeofLivePreviewURL === 'function') {\n setLivePreviewURL(livePreviewURL)\n }\n\n if (isPreviewEnabled) {\n setPreviewURL(previewURL)\n }\n\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'update',\n updatedAt,\n })\n\n abortOnSaveRef.current = null\n\n return state\n } else {\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'create',\n updatedAt,\n })\n }\n },\n [\n user,\n collectionSlug,\n userSlug,\n id,\n setLastUpdateTime,\n setData,\n onSaveFromContext,\n isEditing,\n depth,\n redirectAfterCreate,\n globalSlug,\n refreshCookieAsync,\n incrementVersionCount,\n adminRoute,\n locale,\n startRouteTransition,\n router,\n resetUploadEdits,\n getDocPermissions,\n getDocPreferences,\n getFormState,\n docPermissions,\n operation,\n isLivePreviewEnabled,\n typeofLivePreviewURL,\n isPreviewEnabled,\n schemaPathSegments,\n upload,\n isLockingEnabled,\n reportUpdate,\n drawerSlug,\n entitySlug,\n setDocumentIsLocked,\n setLivePreviewURL,\n setPreviewURL,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n // Capture save state before the async form-state request so we can detect\n // if a save was triggered while this request was in-flight\n const saveCounterAtStart = saveCounterRef.current\n const isSavingAtStart = isSavingRef.current\n\n // Sync originalUpdatedAt with current data if it's NEWER (e.g., after router.refresh())\n if (data?.updatedAt && data.updatedAt > originalUpdatedAtRef.current) {\n originalUpdatedAtRef.current = data.updatedAt\n // Reset check flag so we can detect new stale data\n hasCheckedForStaleDataRef.current = false\n }\n\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n // Check for stale data on first edit only\n // Skip this check entirely for autosave-enabled collections/globals to prevent\n // false positives from the user's own autosaves\n const checkForStaleData =\n !hasCheckedForStaleDataRef.current &&\n originalUpdatedAtRef.current &&\n operation === 'update' &&\n !isTrashed &&\n !autosaveEnabled\n\n if (checkForStaleData) {\n hasCheckedForStaleDataRef.current = true\n }\n\n const docPreferences = await getDocPreferences()\n\n const result = await getFormState({\n id,\n checkForStaleData,\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n originalUpdatedAt: checkForStaleData ? originalUpdatedAtRef.current : undefined,\n readOnly: isTrashed || isReadOnlyForIncomingUser,\n renderAllFields: false,\n returnLockStatus: isLockingEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: !submitted,\n updateLastEdited,\n })\n\n if (!result) {\n return\n }\n\n const { lockedState, staleDataState, state } = result\n\n if (isLockingEnabled) {\n handleDocumentLocking(lockedState)\n }\n\n // Handle stale data detection.\n // Skip if a save was in-flight when this request started, or if the save counter\n // has advanced — either way the newer updatedAt is from our OWN save.\n if (\n staleDataState?.isStale &&\n !isSavingAtStart &&\n saveCounterRef.current === saveCounterAtStart\n ) {\n setShowStaleDataModal(true)\n }\n\n abortOnChangeRef.current = null\n\n return state\n },\n [\n data?.updatedAt,\n editSessionStartTime,\n isLockingEnabled,\n getDocPreferences,\n getFormState,\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n operation,\n schemaPathSegments,\n handleDocumentLocking,\n autosaveEnabled,\n isTrashed,\n isReadOnlyForIncomingUser,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n setShowTakeOverModal(false)\n }\n }, [])\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n const abortOnSave = abortOnSaveRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n abortAndIgnore(abortOnSave)\n }\n }, [])\n\n // Show pending success toast after redirect from create\n useEffect(() => {\n if (!isInitializing && typeof window !== 'undefined') {\n const pendingMessage = window.sessionStorage.getItem(PENDING_SUCCESS_TOAST_KEY)\n\n if (pendingMessage) {\n window.sessionStorage.removeItem(PENDING_SUCCESS_TOAST_KEY)\n toast.success(pendingMessage)\n }\n }\n }, [isInitializing])\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n (typeof currentEditor === 'object'\n ? currentEditor.id !== user?.id\n : currentEditor !== user?.id) &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n !documentLockState.current?.hasShownLockedModal &&\n !isLockExpired\n\n const isFolderCollection = Boolean(\n collectionConfig?.hierarchy &&\n typeof collectionConfig.hierarchy === 'object' &&\n collectionConfig.hierarchy.allowHasMany === false,\n )\n\n const documentControlsProps: Omit<React.ComponentProps<typeof DocumentControls>, 'variant'> = {\n id,\n slug: collectionConfig?.slug || globalConfig?.slug,\n apiURL,\n BeforeDocumentControls,\n BeforeDocumentMeta,\n customComponents: {\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Status,\n UnpublishButton,\n },\n data,\n disableActions: disableActions || isTrashed,\n disableCreate,\n EditMenuItems,\n hasPublishPermission,\n hasSavePermission,\n isEditing,\n isInDrawer,\n isTrashed,\n onDelete,\n onDrawerCreateNew: clearDoc,\n onDuplicate,\n onRestore,\n onSave,\n onTakeOver: () => {\n void handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: true,\n setCurrentEditor,\n setIsReadOnlyForIncomingUser,\n updateDocumentEditor,\n user,\n })\n },\n permissions: docPermissions,\n readOnlyForIncomingUser: isReadOnlyForIncomingUser,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n user: currentEditor,\n }\n\n const renderAuth = auth ? (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n // eslint-disable-next-line react-compiler/react-compiler\n useAPIKey={auth.useAPIKey}\n username={data?.username}\n verify={auth.verify}\n />\n ) : undefined\n\n const shouldRenderUploadPanel =\n Boolean(upload) && !(operation === 'create' && upload.hideFileInputOnCreate)\n const shouldScrollFieldsOnly = shouldRenderUploadPanel\n\n return (\n <main\n className={[\n baseClass,\n (id || globalSlug) && `${baseClass}--is-editing`,\n globalSlug && `global-edit--${globalSlug}`,\n collectionSlug && `collection-edit--${collectionSlug}`,\n isLivePreviewing && `${baseClass}--is-live-previewing`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission || isTrashed}\n disableSuccessStatus={!isEditing && depth < 2 && redirectAfterCreate !== false}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isDocumentForm={true}\n isInitializing={isInitializing}\n key={`${isLocked}`}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSubmit={() => {\n saveCounterRef.current += 1\n isSavingRef.current = true\n }}\n onSuccess={onSave}\n >\n {isInDrawer && (\n <DocumentDrawerHeader\n actions={\n <DocumentControls {...documentControlsProps} variant=\"drawerHeaderActions\" />\n }\n AfterHeader={Description}\n BeforeDocumentMeta={BeforeDocumentMeta}\n drawerSlug={drawerSlug}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n renderTitleAsLink={!isFolderCollection}\n Status={Status}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && shouldShowDocumentLockedModal && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router, serverURL })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: false,\n setCurrentEditor,\n updateDocumentEditor,\n user,\n })\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router, serverURL })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {showStaleDataModal && (\n <DocumentStaleData isActive={showStaleDataModal} onReload={handleStaleDataReload} />\n )}\n {preventLeaveWithoutSaving && (\n <LeaveWithoutSaving\n modalSlug={drawerSlug ? `leave-without-saving-${drawerSlug}` : undefined}\n onConfirm={handleLeaveConfirm}\n onPrevent={handlePrevent}\n />\n )}\n {!isInDrawer && (\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n isTrashed={isTrashed}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n {!isInDrawer && <DocumentControls {...documentControlsProps} variant=\"default\" />}\n <div\n className={[\n `${baseClass}__main-wrapper`,\n shouldRenderUploadPanel && `${baseClass}__main-wrapper--has-upload-panel`,\n shouldScrollFieldsOnly && `${baseClass}__main-wrapper--scroll-fields-only`,\n isPopupOpen && `${baseClass}--detached`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[`${baseClass}__main`, isPopupOpen && `${baseClass}__main--popup-open`]\n .filter(Boolean)\n .join(' ')}\n >\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n renderAuth || BeforeFields ? (\n <>\n {renderAuth}\n {BeforeFields}\n </>\n ) : null\n }\n Description={Description}\n docPermissions={docPermissions}\n fields={docConfig.fields}\n forceSidebarWrap={shouldRenderUploadPanel || isLivePreviewing}\n isTrashed={isTrashed}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission || isTrashed}\n schemaPathSegments={schemaPathSegments}\n />\n {AfterDocument}\n </div>\n {shouldRenderUploadPanel && (\n <UploadControlsProvider>\n {CustomUpload || (\n <FileManager\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n UploadControls={UploadControls}\n UploadFilePreview={UploadFilePreview}\n />\n )}\n </UploadControlsProvider>\n )}\n {isLivePreviewEnabled && !isInDrawer && livePreviewURL && (\n <>\n {CustomLivePreview || (\n <LivePreviewWindow collectionSlug={collectionSlug} globalSlug={globalSlug} />\n )}\n </>\n )}\n </div>\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["formatAdminURL","hasAutosaveEnabled","React","useCallback","useEffect","useMemo","useRef","useState","toast","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentStaleData","DocumentTakeOver","FileManager","LeaveWithoutSaving","LivePreviewWindow","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useLivePreviewContext","usePreviewURL","OperationProvider","useRouteCache","useRouter","useSearchParams","useRouteTransition","useServerFunctions","useTheme","UploadControlsProvider","useUploadEdits","abortAndIgnore","handleAbortRef","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","useEditViewWidth","baseClass","PENDING_SUCCESS_TOAST_KEY","DefaultEditView","BeforeDocumentControls","BeforeDocumentMeta","Description","EditMenuItems","LivePreview","CustomLivePreview","PreviewButton","PublishButton","SaveButton","SaveDraftButton","Status","UnpublishButton","Upload","CustomUpload","UploadControls","UploadFilePreview","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","data","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","documentLockState","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialState","isEditing","isInitializing","isLocked","isTrashed","lastUpdateTime","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","setCurrentEditor","setData","setDocumentIsLocked","setLastUpdateTime","unlockDocument","updateDocumentEditor","clearDoc","drawerSlug","onDelete","onDuplicate","onRestore","onSave","onSaveFromContext","isInDrawer","Boolean","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","serverURL","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","startRouteTransition","clearRouteCache","isLivePreviewEnabled","isLivePreviewing","isPopupOpen","setURL","setLivePreviewURL","typeofLivePreviewURL","url","livePreviewURL","isPreviewEnabled","setPreviewURL","mainRef","editViewWidth","shouldAlignEditViewHeader","ref","shouldAlignHeader","abortOnChangeRef","abortOnSaveRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","showStaleDataModal","setShowStaleDataModal","editSessionStartTime","setEditSessionStartTime","Date","now","hasCheckedForStaleDataRef","originalUpdatedAtRef","updatedAt","saveCounterRef","isSavingRef","lockExpiryTime","isLockExpired","preventLeaveWithoutSaving","schemaPathSegments","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","nextHrefRef","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","hasShownLockedModal","lastEditedAt","getTime","handleStaleDataReload","refresh","handlePrevent","nextHref","handleLeaveConfirm","lockUser","isLockOwnedByCurrentUser","nextPath","URL","pathname","isInternalView","some","path","includes","err","console","error","json","ctx","context","formState","controller","document","doc","result","toISOString","message","window","sessionStorage","setItem","redirectRoute","push","docPreferences","previewURL","state","renderAllFields","returnLivePreviewURL","returnLockStatus","returnPreviewURL","schemaPath","join","signal","skipValidation","file","onChange","prevFormState","submitted","saveCounterAtStart","isSavingAtStart","currentTime","timeSinceLastUpdate","updateLastEdited","checkForStaleData","originalUpdatedAt","readOnly","staleDataState","isStale","abortOnChange","abortOnSave","pendingMessage","getItem","removeItem","success","shouldShowDocumentLockedModal","isFolderCollection","hierarchy","allowHasMany","documentControlsProps","customComponents","onDrawerCreateNew","onTakeOver","documentLockStateRef","isWithinDoc","permissions","readOnlyForIncomingUser","renderAuth","_jsx","className","email","loginWithUsername","requirePassword","useAPIKey","username","verify","shouldRenderUploadPanel","hideFileInputOnCreate","shouldScrollFieldsOnly","filter","_jsxs","disabled","disableSuccessStatus","disableValidationOnSubmit","isDocumentForm","method","onSubmit","onSuccess","actions","variant","AfterHeader","renderTitleAsLink","isActive","onReadOnly","onReload","modalSlug","onConfirm","onPrevent","pluralLabel","labels","plural","useAsTitle","fallback","toString","_Fragment","fields","forceSidebarWrap","uploadConfig"],"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DocumentViewClientProps, User } from 'payload'\n\nimport { formatAdminURL, hasAutosaveEnabled } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { FormOnSuccess } from '../../forms/Form/types.js'\nimport type { LockedState } from '../../utilities/buildFormState.js'\n\nimport { DocumentControls } from '../../elements/DocumentControls/index.js'\nimport { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js'\nimport { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../elements/DocumentFields/index.js'\nimport { DocumentLocked } from '../../elements/DocumentLocked/index.js'\nimport { DocumentStaleData } from '../../elements/DocumentStaleData/index.js'\nimport { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js'\nimport { FileManager } from '../../elements/FileManager/index.js'\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { LivePreviewWindow } from '../../elements/LivePreview/Window/index.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLivePreviewContext, usePreviewURL } from '../../providers/LivePreview/context.js'\nimport { OperationProvider } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouter, useSearchParams } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTheme } from '../../providers/Theme/index.js'\nimport { UploadControlsProvider } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { handleBackToDashboard } from '../../utilities/handleBackToDashboard.js'\nimport { handleGoBack } from '../../utilities/handleGoBack.js'\nimport { handleTakeOver } from '../../utilities/handleTakeOver.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport { useEditViewWidth } from './useEditViewWidth.js'\nimport './index.css'\n\nconst baseClass = 'collection-edit'\nconst PENDING_SUCCESS_TOAST_KEY = 'payload-pending-success-toast'\n\nexport type OnSaveContext = {\n getDocPermissions?: boolean\n incrementVersionCount?: boolean\n}\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport function DefaultEditView({\n BeforeDocumentControls,\n BeforeDocumentMeta,\n Description,\n EditMenuItems,\n LivePreview: CustomLivePreview,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Status,\n UnpublishButton,\n Upload: CustomUpload,\n UploadControls,\n UploadFilePreview,\n}: DocumentViewClientProps) {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n data,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n documentLockState,\n getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialState,\n isEditing,\n isInitializing,\n isLocked,\n isTrashed,\n lastUpdateTime,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n setCurrentEditor,\n setData,\n setDocumentIsLocked,\n setLastUpdateTime,\n unlockDocument,\n updateDocumentEditor,\n } = useDocumentInfo()\n\n const {\n clearDoc,\n drawerSlug,\n onDelete,\n onDuplicate,\n onRestore,\n onSave: onSaveFromContext,\n } = useDocumentDrawerContext()\n\n const isInDrawer = Boolean(drawerSlug)\n\n const { refreshCookieAsync, user } = useAuth()\n\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const depth = useEditDepth()\n\n const router = useRouter()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n const { getFormState } = useServerFunctions()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n const {\n isLivePreviewEnabled,\n isLivePreviewing,\n isPopupOpen,\n setURL: setLivePreviewURL,\n typeofLivePreviewURL,\n url: livePreviewURL,\n } = useLivePreviewContext()\n const { isPreviewEnabled, setPreviewURL } = usePreviewURL()\n\n const mainRef = useRef<HTMLDivElement>(null)\n const { editViewWidth, shouldAlignEditViewHeader } = useTheme()\n\n useEditViewWidth({ editViewWidth, ref: mainRef, shouldAlignHeader: shouldAlignEditViewHeader })\n\n const abortOnChangeRef = useRef<AbortController>(null)\n const abortOnSaveRef = useRef<AbortController>(null)\n\n const locale = params.get('locale')\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const autosaveEnabled = hasAutosaveEnabled(docConfig)\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n const [showStaleDataModal, setShowStaleDataModal] = useState(false)\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const hasCheckedForStaleDataRef = useRef(false)\n const originalUpdatedAtRef = useRef(data?.updatedAt)\n const saveCounterRef = useRef(0)\n const isSavingRef = useRef(false)\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n const isLockExpired = Date.now() > lockExpiryTime\n\n const preventLeaveWithoutSaving =\n !isReadOnlyForIncomingUser &&\n (typeof disableLeaveWithoutSaving !== 'undefined'\n ? !disableLeaveWithoutSaving\n : !autosaveEnabled)\n\n const schemaPathSegments = useMemo(() => [entitySlug], [entitySlug])\n\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const nextHrefRef = React.useRef<null | string>(null)\n\n const handleDocumentLocking = useCallback(\n (lockedState: LockedState) => {\n setDocumentIsLocked(true)\n const previousOwnerID =\n typeof documentLockState.current?.user === 'object'\n ? documentLockState.current?.user?.id\n : documentLockState.current?.user\n\n if (lockedState && lockedState.user) {\n const lockedUserID =\n typeof lockedState.user === 'string' || typeof lockedState.user === 'number'\n ? lockedState.user\n : lockedState.user.id\n\n if (!documentLockState.current || lockedUserID !== previousOwnerID) {\n if (previousOwnerID === user.id && lockedUserID !== user.id) {\n setShowTakeOverModal(true)\n documentLockState.current.hasShownLockedModal = true\n }\n\n documentLockState.current = {\n hasShownLockedModal: documentLockState.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user as User,\n }\n setCurrentEditor(lockedState.user as User)\n }\n\n // Update lastUpdateTime when lock state changes\n if (lockedState.lastEditedAt) {\n setLastUpdateTime(new Date(lockedState.lastEditedAt).getTime())\n }\n }\n },\n [documentLockState, setCurrentEditor, setDocumentIsLocked, setLastUpdateTime, user?.id],\n )\n\n const handleStaleDataReload = useCallback(() => {\n // Reset modal state so it can appear again if needed\n setShowStaleDataModal(false)\n\n // Refresh to get the latest data\n router.refresh()\n }, [router])\n\n const handlePrevent = useCallback((nextHref: null | string) => {\n nextHrefRef.current = nextHref\n }, [])\n\n const handleLeaveConfirm = useCallback(async () => {\n const lockUser = documentLockState.current?.user\n\n const isLockOwnedByCurrentUser =\n typeof lockUser === 'object' ? lockUser?.id === user?.id : lockUser === user?.id\n\n if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {\n // Check where user is trying to go\n const nextPath = nextHrefRef.current ? new URL(nextHrefRef.current).pathname : ''\n const isInternalView = ['/preview', '/api', '/versions'].some((path) =>\n nextPath.includes(path),\n )\n\n // Remove the lock if the user is navigating away from the document view they have locked\n if (isLockOwnedByCurrentUser && !isInternalView) {\n try {\n await unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n } catch (err) {\n console.error('Failed to unlock before leave', err) // eslint-disable-line no-console\n }\n }\n }\n }, [\n collectionSlug,\n documentIsLocked,\n documentLockState,\n globalSlug,\n id,\n isLockingEnabled,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n user?.id,\n ])\n\n const onSave: FormOnSuccess<any, OnSaveContext> = useCallback(\n async (json, ctx) => {\n const { context, formState } = ctx || {}\n\n const controller = handleAbortRef(abortOnSaveRef)\n\n const document = json?.doc || json?.result\n\n const updatedAt = document?.updatedAt || new Date().toISOString()\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n setLastUpdateTime(new Date(updatedAt).getTime())\n\n // Update stale data check refs after successful save\n // This allows detecting if another user modifies the document after this save\n originalUpdatedAtRef.current = updatedAt\n hasCheckedForStaleDataRef.current = false\n isSavingRef.current = false\n\n if (context?.incrementVersionCount !== false) {\n incrementVersionCount()\n }\n\n if (typeof setData === 'function') {\n void setData(document || {})\n }\n\n if (typeof onSaveFromContext === 'function') {\n const operation = id ? 'update' : 'create'\n\n void onSaveFromContext({\n ...(json as Record<string, unknown>),\n context,\n operation,\n // @ts-expect-error todo: this is not right, should be under `doc`?\n updatedAt:\n operation === 'update'\n ? new Date().toISOString()\n : document?.updatedAt || new Date().toISOString(),\n })\n }\n\n if (!isEditing && depth < 2 && redirectAfterCreate !== false) {\n // Store success message to show after redirect\n if (json.message && typeof window !== 'undefined') {\n window.sessionStorage.setItem(PENDING_SUCCESS_TOAST_KEY, json.message)\n }\n\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n\n startRouteTransition(() => router.push(redirectRoute))\n } else {\n resetUploadEdits()\n }\n\n if (context?.getDocPermissions !== false) {\n await getDocPermissions(json)\n }\n\n if (id || globalSlug) {\n const docPreferences = await getDocPreferences()\n\n const { livePreviewURL, previewURL, state } = await getFormState({\n id,\n collectionSlug,\n data: document,\n docPermissions,\n docPreferences,\n formState,\n globalSlug,\n operation,\n renderAllFields: false,\n returnLivePreviewURL: isLivePreviewEnabled && typeofLivePreviewURL === 'function',\n returnLockStatus: false,\n returnPreviewURL: isPreviewEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: true,\n })\n\n // For upload collections, clear the file field from the returned state\n // to prevent the File object from persisting in form state after save\n if (upload && state) {\n delete state.file\n }\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n if (isLivePreviewEnabled && typeofLivePreviewURL === 'function') {\n setLivePreviewURL(livePreviewURL)\n }\n\n if (isPreviewEnabled) {\n setPreviewURL(previewURL)\n }\n\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'update',\n updatedAt,\n })\n\n abortOnSaveRef.current = null\n\n return state\n } else {\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'create',\n updatedAt,\n })\n }\n },\n [\n user,\n collectionSlug,\n userSlug,\n id,\n setLastUpdateTime,\n setData,\n onSaveFromContext,\n isEditing,\n depth,\n redirectAfterCreate,\n globalSlug,\n refreshCookieAsync,\n incrementVersionCount,\n adminRoute,\n locale,\n startRouteTransition,\n router,\n resetUploadEdits,\n getDocPermissions,\n getDocPreferences,\n getFormState,\n docPermissions,\n operation,\n isLivePreviewEnabled,\n typeofLivePreviewURL,\n isPreviewEnabled,\n schemaPathSegments,\n upload,\n isLockingEnabled,\n reportUpdate,\n drawerSlug,\n entitySlug,\n setDocumentIsLocked,\n setLivePreviewURL,\n setPreviewURL,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n // Capture save state before the async form-state request so we can detect\n // if a save was triggered while this request was in-flight\n const saveCounterAtStart = saveCounterRef.current\n const isSavingAtStart = isSavingRef.current\n\n // Sync originalUpdatedAt with current data if it's NEWER (e.g., after router.refresh())\n if (data?.updatedAt && data.updatedAt > originalUpdatedAtRef.current) {\n originalUpdatedAtRef.current = data.updatedAt\n // Reset check flag so we can detect new stale data\n hasCheckedForStaleDataRef.current = false\n }\n\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n // Check for stale data on first edit only\n // Skip this check entirely for autosave-enabled collections/globals to prevent\n // false positives from the user's own autosaves\n const checkForStaleData =\n !hasCheckedForStaleDataRef.current &&\n originalUpdatedAtRef.current &&\n operation === 'update' &&\n !isTrashed &&\n !autosaveEnabled\n\n if (checkForStaleData) {\n hasCheckedForStaleDataRef.current = true\n }\n\n const docPreferences = await getDocPreferences()\n\n const result = await getFormState({\n id,\n checkForStaleData,\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n originalUpdatedAt: checkForStaleData ? originalUpdatedAtRef.current : undefined,\n readOnly: isTrashed || isReadOnlyForIncomingUser,\n renderAllFields: false,\n returnLockStatus: isLockingEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: !submitted,\n updateLastEdited,\n })\n\n if (!result) {\n return\n }\n\n const { lockedState, staleDataState, state } = result\n\n if (isLockingEnabled) {\n handleDocumentLocking(lockedState)\n }\n\n // Handle stale data detection.\n // Skip if a save was in-flight when this request started, or if the save counter\n // has advanced — either way the newer updatedAt is from our OWN save.\n if (\n staleDataState?.isStale &&\n !isSavingAtStart &&\n saveCounterRef.current === saveCounterAtStart\n ) {\n setShowStaleDataModal(true)\n }\n\n abortOnChangeRef.current = null\n\n return state\n },\n [\n data?.updatedAt,\n editSessionStartTime,\n isLockingEnabled,\n getDocPreferences,\n getFormState,\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n operation,\n schemaPathSegments,\n handleDocumentLocking,\n autosaveEnabled,\n isTrashed,\n isReadOnlyForIncomingUser,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n setShowTakeOverModal(false)\n }\n }, [])\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n const abortOnSave = abortOnSaveRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n abortAndIgnore(abortOnSave)\n }\n }, [])\n\n // Show pending success toast after redirect from create\n useEffect(() => {\n if (!isInitializing && typeof window !== 'undefined') {\n const pendingMessage = window.sessionStorage.getItem(PENDING_SUCCESS_TOAST_KEY)\n\n if (pendingMessage) {\n window.sessionStorage.removeItem(PENDING_SUCCESS_TOAST_KEY)\n toast.success(pendingMessage)\n }\n }\n }, [isInitializing])\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n (typeof currentEditor === 'object'\n ? currentEditor.id !== user?.id\n : currentEditor !== user?.id) &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n !documentLockState.current?.hasShownLockedModal &&\n !isLockExpired\n\n const isFolderCollection = Boolean(\n collectionConfig?.hierarchy &&\n typeof collectionConfig.hierarchy === 'object' &&\n collectionConfig.hierarchy.allowHasMany === false,\n )\n\n const documentControlsProps: Omit<React.ComponentProps<typeof DocumentControls>, 'variant'> = {\n id,\n slug: collectionConfig?.slug || globalConfig?.slug,\n apiURL,\n BeforeDocumentControls,\n BeforeDocumentMeta,\n customComponents: {\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Status,\n UnpublishButton,\n },\n data,\n disableActions: disableActions || isTrashed,\n disableCreate,\n EditMenuItems,\n hasPublishPermission,\n hasSavePermission,\n isEditing,\n isInDrawer,\n isTrashed,\n onDelete,\n onDrawerCreateNew: clearDoc,\n onDuplicate,\n onRestore,\n onSave,\n onTakeOver: () => {\n void handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: true,\n setCurrentEditor,\n setIsReadOnlyForIncomingUser,\n updateDocumentEditor,\n user,\n })\n },\n permissions: docPermissions,\n readOnlyForIncomingUser: isReadOnlyForIncomingUser,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n user: currentEditor,\n }\n\n const renderAuth = auth ? (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n // eslint-disable-next-line react-compiler/react-compiler\n useAPIKey={auth.useAPIKey}\n username={data?.username}\n verify={auth.verify}\n />\n ) : undefined\n\n const shouldRenderUploadPanel =\n Boolean(upload) && !(operation === 'create' && upload.hideFileInputOnCreate)\n const shouldScrollFieldsOnly = shouldRenderUploadPanel\n\n return (\n <main\n className={[\n baseClass,\n (id || globalSlug) && `${baseClass}--is-editing`,\n globalSlug && `global-edit--${globalSlug}`,\n collectionSlug && `collection-edit--${collectionSlug}`,\n isLivePreviewing && `${baseClass}--is-live-previewing`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission || isTrashed}\n disableSuccessStatus={!isEditing && depth < 2 && redirectAfterCreate !== false}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isDocumentForm={true}\n isInitializing={isInitializing}\n key={`${isLocked}`}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSubmit={() => {\n saveCounterRef.current += 1\n isSavingRef.current = true\n }}\n onSuccess={onSave}\n >\n {isInDrawer && (\n <DocumentDrawerHeader\n actions={\n <DocumentControls {...documentControlsProps} variant=\"drawerHeaderActions\" />\n }\n AfterHeader={Description}\n BeforeDocumentMeta={BeforeDocumentMeta}\n drawerSlug={drawerSlug}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n renderTitleAsLink={!isFolderCollection}\n Status={Status}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && shouldShowDocumentLockedModal && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router, serverURL })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: false,\n setCurrentEditor,\n updateDocumentEditor,\n user,\n })\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router, serverURL })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {showStaleDataModal && (\n <DocumentStaleData isActive={showStaleDataModal} onReload={handleStaleDataReload} />\n )}\n {preventLeaveWithoutSaving && (\n <LeaveWithoutSaving\n modalSlug={drawerSlug ? `leave-without-saving-${drawerSlug}` : undefined}\n onConfirm={handleLeaveConfirm}\n onPrevent={handlePrevent}\n />\n )}\n {!isInDrawer && (\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n isTrashed={isTrashed}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n {!isInDrawer && <DocumentControls {...documentControlsProps} variant=\"default\" />}\n <div\n className={[\n `${baseClass}__main-wrapper`,\n shouldRenderUploadPanel && `${baseClass}__main-wrapper--has-upload-panel`,\n shouldScrollFieldsOnly && `${baseClass}__main-wrapper--scroll-fields-only`,\n isPopupOpen && `${baseClass}--detached`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[`${baseClass}__main`, isPopupOpen && `${baseClass}__main--popup-open`]\n .filter(Boolean)\n .join(' ')}\n ref={mainRef}\n >\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n renderAuth || BeforeFields ? (\n <>\n {renderAuth}\n {BeforeFields}\n </>\n ) : null\n }\n Description={Description}\n docPermissions={docPermissions}\n fields={docConfig.fields}\n forceSidebarWrap={shouldRenderUploadPanel || isLivePreviewing}\n isTrashed={isTrashed}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission || isTrashed}\n schemaPathSegments={schemaPathSegments}\n />\n {AfterDocument}\n </div>\n {shouldRenderUploadPanel && (\n <UploadControlsProvider>\n {CustomUpload || (\n <FileManager\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n UploadControls={UploadControls}\n UploadFilePreview={UploadFilePreview}\n />\n )}\n </UploadControlsProvider>\n )}\n {isLivePreviewEnabled && !isInDrawer && livePreviewURL && (\n <>\n {CustomLivePreview || (\n <LivePreviewWindow collectionSlug={collectionSlug} globalSlug={globalSlug} />\n )}\n </>\n )}\n </div>\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import type { RefObject } from 'react';
2
+ import type { EditViewWidth } from '../../providers/Theme/shared.js';
3
+ export declare const useEditViewWidth: ({ editViewWidth, ref, shouldAlignHeader, }: {
4
+ editViewWidth: EditViewWidth;
5
+ ref: RefObject<HTMLDivElement | null>;
6
+ shouldAlignHeader?: boolean;
7
+ }) => void;
8
+ //# sourceMappingURL=useEditViewWidth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEditViewWidth.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/useEditViewWidth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAKpE,eAAO,MAAM,gBAAgB,+CAI1B;IACD,aAAa,EAAE,aAAa,CAAA;IAC5B,GAAG,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,KAAG,IA8DH,CAAA"}