@payloadcms/ui 4.0.0-internal.934870d → 4.0.0-internal.970009e

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 (867) hide show
  1. package/dist/css/app.css +2 -2
  2. package/dist/css/colors.css +65 -0
  3. package/dist/css/preflight.css +21 -2
  4. package/dist/elements/APIKeyInput/index.js +22 -23
  5. package/dist/elements/APIKeyInput/index.js.map +1 -1
  6. package/dist/elements/AddNewRelation/index.js +17 -19
  7. package/dist/elements/AddNewRelation/index.js.map +1 -1
  8. package/dist/elements/AppHeader/index.css +1 -1
  9. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  10. package/dist/elements/AppHeader/index.js +5 -1
  11. package/dist/elements/AppHeader/index.js.map +1 -1
  12. package/dist/elements/ArrayAction/index.js +39 -30
  13. package/dist/elements/ArrayAction/index.js.map +1 -1
  14. package/dist/elements/Autosave/index.js +234 -142
  15. package/dist/elements/Autosave/index.js.map +1 -1
  16. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  17. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  18. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  19. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  20. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/EditMany/index.js +29 -21
  22. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  25. package/dist/elements/BulkUpload/FormsManager/index.js +1 -34
  26. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  27. package/dist/elements/BulkUpload/index.js +63 -23
  28. package/dist/elements/BulkUpload/index.js.map +1 -1
  29. package/dist/elements/BulkUpload/useUploadCollectionOptions.js.map +1 -1
  30. package/dist/elements/Button/index.css +3 -3
  31. package/dist/elements/Button/index.d.ts.map +1 -1
  32. package/dist/elements/Button/index.js +2 -1
  33. package/dist/elements/Button/index.js.map +1 -1
  34. package/dist/elements/Button/types.d.ts +1 -0
  35. package/dist/elements/Button/types.d.ts.map +1 -1
  36. package/dist/elements/Button/types.js.map +1 -1
  37. package/dist/elements/CardGrid/index.css +0 -1
  38. package/dist/elements/Chip/index.js.map +1 -1
  39. package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
  40. package/dist/elements/ClipboardAction/index.js +213 -88
  41. package/dist/elements/ClipboardAction/index.js.map +1 -1
  42. package/dist/elements/CloseModalOnRouteChange/index.d.ts.map +1 -1
  43. package/dist/elements/CloseModalOnRouteChange/index.js +27 -19
  44. package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
  45. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  46. package/dist/elements/CodeEditor/CodeEditor.js +95 -56
  47. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  48. package/dist/elements/CollapseAllToggle/index.js +47 -32
  49. package/dist/elements/CollapseAllToggle/index.js.map +1 -1
  50. package/dist/elements/Collapsible/index.css +15 -4
  51. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  52. package/dist/elements/Collapsible/index.js +46 -38
  53. package/dist/elements/Collapsible/index.js.map +1 -1
  54. package/dist/elements/Collapsible/provider.js +37 -14
  55. package/dist/elements/Collapsible/provider.js.map +1 -1
  56. package/dist/elements/ColumnSelection/Popup.css +4 -0
  57. package/dist/elements/ColumnSelection/Popup.js +10 -2
  58. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  59. package/dist/elements/ColumnSelection/index.js.map +1 -1
  60. package/dist/elements/CommandPalette/index.css +8 -0
  61. package/dist/elements/ConfirmationModal/index.d.ts +3 -0
  62. package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
  63. package/dist/elements/ConfirmationModal/index.js +2 -0
  64. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  65. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  66. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  67. package/dist/elements/CreateDocumentButton/index.js +45 -43
  68. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  69. package/dist/elements/DatePicker/DatePicker.js +6 -2
  70. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  71. package/dist/elements/DatePicker/index.css +40 -25
  72. package/dist/elements/DatePicker/useDatePickerKeyboard.js.map +1 -1
  73. package/dist/elements/DefaultListViewTabs/index.css +4 -0
  74. package/dist/elements/DefaultListViewTabs/index.js +47 -37
  75. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  76. package/dist/elements/DelayedSpinner/index.js.map +1 -1
  77. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  78. package/dist/elements/DeleteDocument/index.js +1 -3
  79. package/dist/elements/DeleteDocument/index.js.map +1 -1
  80. package/dist/elements/Dialog/DialogCancel/index.js.map +1 -1
  81. package/dist/elements/Dialog/DialogConfirm/index.js.map +1 -1
  82. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
  83. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  84. package/dist/elements/DocumentCard/index.d.ts +2 -0
  85. package/dist/elements/DocumentCard/index.d.ts.map +1 -1
  86. package/dist/elements/DocumentCard/index.js +2 -0
  87. package/dist/elements/DocumentCard/index.js.map +1 -1
  88. package/dist/elements/DocumentControls/index.css +13 -10
  89. package/dist/elements/DocumentControls/index.js +1 -1
  90. package/dist/elements/DocumentControls/index.js.map +1 -1
  91. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  92. package/dist/elements/DocumentFields/index.css +7 -7
  93. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  94. package/dist/elements/DocumentFields/index.js +125 -65
  95. package/dist/elements/DocumentFields/index.js.map +1 -1
  96. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  97. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  98. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +80 -34
  99. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  100. package/dist/elements/DocumentHeader/Tabs/Tab/index.css +4 -0
  101. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  102. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  103. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  104. package/dist/elements/DocumentLocked/index.js +1 -0
  105. package/dist/elements/DocumentLocked/index.js.map +1 -1
  106. package/dist/elements/DocumentStaleData/index.js.map +1 -1
  107. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  108. package/dist/elements/DraggableSortable/DragOverlayPreview/index.js +2 -0
  109. package/dist/elements/DraggableSortable/DragOverlayPreview/index.js.map +1 -1
  110. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
  111. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +10 -7
  112. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  113. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +2 -0
  114. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
  115. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  116. package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
  117. package/dist/elements/DraggableSortable/index.js +104 -170
  118. package/dist/elements/DraggableSortable/index.js.map +1 -1
  119. package/dist/elements/DraggableSortable/types.d.ts +1 -0
  120. package/dist/elements/DraggableSortable/types.d.ts.map +1 -1
  121. package/dist/elements/DraggableSortable/types.js.map +1 -1
  122. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  123. package/dist/elements/DraggableSortable/useRowAccessibility.d.ts +14 -0
  124. package/dist/elements/DraggableSortable/useRowAccessibility.d.ts.map +1 -0
  125. package/dist/elements/DraggableSortable/useRowAccessibility.js +99 -0
  126. package/dist/elements/DraggableSortable/useRowAccessibility.js.map +1 -0
  127. package/dist/elements/Drawer/index.js +138 -81
  128. package/dist/elements/Drawer/index.js.map +1 -1
  129. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  130. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  131. package/dist/elements/DrawerHeader/index.js.map +1 -1
  132. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +177 -62
  133. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  134. package/dist/elements/EditMany/DrawerContent.js +1 -1
  135. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  136. package/dist/elements/EditMany/index.js.map +1 -1
  137. package/dist/elements/FieldDiffContainer/index.d.ts.map +1 -1
  138. package/dist/elements/FieldDiffContainer/index.js +7 -1
  139. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  140. package/dist/elements/FieldDiffLabel/index.d.ts +1 -0
  141. package/dist/elements/FieldDiffLabel/index.d.ts.map +1 -1
  142. package/dist/elements/FieldDiffLabel/index.js +2 -0
  143. package/dist/elements/FieldDiffLabel/index.js.map +1 -1
  144. package/dist/elements/FieldSelect/index.js +23 -14
  145. package/dist/elements/FieldSelect/index.js.map +1 -1
  146. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  147. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  148. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  149. package/dist/elements/FileManager/FilePreview/index.js.map +1 -1
  150. package/dist/elements/FileManager/index.js.map +1 -1
  151. package/dist/elements/FullscreenModal/index.js.map +1 -1
  152. package/dist/elements/GenerateConfirmation/index.js +21 -21
  153. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  154. package/dist/elements/GroupBy/Popup.js.map +1 -1
  155. package/dist/elements/GroupBy/index.js +120 -66
  156. package/dist/elements/GroupBy/index.js.map +1 -1
  157. package/dist/elements/HTMLDiff/colors.css +7 -0
  158. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  159. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +51 -42
  160. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  161. package/dist/elements/Hierarchy/DocHeaderButton/index.js +1 -1
  162. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  163. package/dist/elements/Hierarchy/EditButton/index.js.map +1 -1
  164. package/dist/elements/Hierarchy/HydrateProvider/index.js.map +1 -1
  165. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -1
  166. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js +25 -18
  167. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js.map +1 -1
  168. package/dist/elements/Hierarchy/Search/HierarchySearchResults.js.map +1 -1
  169. package/dist/elements/Hierarchy/Search/index.js.map +1 -1
  170. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  171. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  172. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  173. package/dist/elements/Hierarchy/Tree/index.js +10 -5
  174. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  175. package/dist/elements/HierarchyTypeField/index.d.ts.map +1 -1
  176. package/dist/elements/HierarchyTypeField/index.js.map +1 -1
  177. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  178. package/dist/elements/HydratePreferences/index.js.map +1 -1
  179. package/dist/elements/IDLabel/index.js.map +1 -1
  180. package/dist/elements/InputStepper/index.js.map +1 -1
  181. package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -1
  182. package/dist/elements/ItemsDrawer/index.js +186 -105
  183. package/dist/elements/ItemsDrawer/index.js.map +1 -1
  184. package/dist/elements/LLMInstructionsDescription/index.js.map +1 -1
  185. package/dist/elements/LLMInstructionsMenuItem/index.js.map +1 -1
  186. package/dist/elements/LayoutToggle/index.js.map +1 -1
  187. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  188. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +1 -1
  189. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  190. package/dist/elements/Link/index.js +1 -1
  191. package/dist/elements/Link/index.js.map +1 -1
  192. package/dist/elements/ListColumnSelectionButton/index.js.map +1 -1
  193. package/dist/elements/ListControls/index.js.map +1 -1
  194. package/dist/elements/ListDrawer/DrawerContent.js +1 -1
  195. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  196. package/dist/elements/ListDrawer/Provider.d.ts +3 -2
  197. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  198. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  199. package/dist/elements/ListDrawer/index.js.map +1 -1
  200. package/dist/elements/ListGroupByButton/index.js.map +1 -1
  201. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  202. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -1
  203. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  204. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  205. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +11 -12
  206. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
  207. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +1 -1
  208. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  209. package/dist/elements/ListSelection/index.js.map +1 -1
  210. package/dist/elements/ListWhereBuilder/index.js.map +1 -1
  211. package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
  212. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  213. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  214. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  215. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  216. package/dist/elements/LivePreview/Window/index.css +7 -1
  217. package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
  218. package/dist/elements/LivePreview/Window/index.js +6 -1
  219. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  220. package/dist/elements/LoadMoreRow/index.js.map +1 -1
  221. package/dist/elements/Loading/index.js +62 -18
  222. package/dist/elements/Loading/index.js.map +1 -1
  223. package/dist/elements/LoadingOverlay/index.js +93 -49
  224. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  225. package/dist/elements/Localizer/index.js +133 -108
  226. package/dist/elements/Localizer/index.js.map +1 -1
  227. package/dist/elements/Locked/index.js +54 -37
  228. package/dist/elements/Locked/index.js.map +1 -1
  229. package/dist/elements/Logout/index.js.map +1 -1
  230. package/dist/elements/MiniCarousel/index.js +102 -38
  231. package/dist/elements/MiniCarousel/index.js.map +1 -1
  232. package/dist/elements/Modal/index.d.ts.map +1 -1
  233. package/dist/elements/Modal/index.js +13 -1
  234. package/dist/elements/Modal/index.js.map +1 -1
  235. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
  236. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  237. package/dist/elements/Nav/NavWrapper/index.js +10 -6
  238. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  239. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  240. package/dist/elements/Nav/SidebarTabs/TabError/index.js.map +1 -1
  241. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  242. package/dist/elements/Nav/SidebarTabs/index.client.js +32 -21
  243. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  244. package/dist/elements/Nav/index.client.js.map +1 -1
  245. package/dist/elements/Nav/index.css +5 -0
  246. package/dist/elements/NavGroup/index.css +27 -3
  247. package/dist/elements/NavGroup/index.js +31 -38
  248. package/dist/elements/NavGroup/index.js.map +1 -1
  249. package/dist/elements/NoListResults/index.css +1 -0
  250. package/dist/elements/NoListResults/index.js +1 -1
  251. package/dist/elements/NoListResults/index.js.map +1 -1
  252. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  253. package/dist/elements/PageControls/index.js.map +1 -1
  254. package/dist/elements/Pagination/ClickableArrow/index.js +10 -11
  255. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  256. package/dist/elements/Pagination/SimplePagination/index.js.map +1 -1
  257. package/dist/elements/Pagination/index.js +36 -37
  258. package/dist/elements/Pagination/index.js.map +1 -1
  259. package/dist/elements/PerPage/index.js.map +1 -1
  260. package/dist/elements/Pill/index.js.map +1 -1
  261. package/dist/elements/Popup/index.d.ts.map +1 -1
  262. package/dist/elements/Popup/index.js +19 -3
  263. package/dist/elements/Popup/index.js.map +1 -1
  264. package/dist/elements/PreviewButton/index.js.map +1 -1
  265. package/dist/elements/PreviewSizes/index.js +141 -70
  266. package/dist/elements/PreviewSizes/index.js.map +1 -1
  267. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  268. package/dist/elements/PublishButton/ScheduleDrawer/index.js +16 -8
  269. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  270. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  271. package/dist/elements/PublishButton/index.js +1 -0
  272. package/dist/elements/PublishButton/index.js.map +1 -1
  273. package/dist/elements/PublishMany/DrawerContent.js +1 -1
  274. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  275. package/dist/elements/PublishMany/index.js +32 -24
  276. package/dist/elements/PublishMany/index.js.map +1 -1
  277. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +194 -100
  278. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  279. package/dist/elements/QueryPresets/fields/GroupByField/index.js +78 -29
  280. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  281. package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -1
  282. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  283. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  284. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -1
  285. package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -1
  286. package/dist/elements/ReactSelect/MultiValue/index.js +19 -9
  287. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  288. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  289. package/dist/elements/ReactSelect/MultiValueRemove/index.js +38 -29
  290. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  291. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  292. package/dist/elements/ReactSelect/index.css +4 -0
  293. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  294. package/dist/elements/RelationshipTable/AddNewButton.js +3 -0
  295. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  296. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  297. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  298. package/dist/elements/RelationshipTable/index.js +1 -1
  299. package/dist/elements/RelationshipTable/index.js.map +1 -1
  300. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  301. package/dist/elements/RenderTitle/index.js.map +1 -1
  302. package/dist/elements/RestoreMany/index.js +1 -1
  303. package/dist/elements/RestoreMany/index.js.map +1 -1
  304. package/dist/elements/SchedulePublishButton/index.js +111 -39
  305. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  306. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  307. package/dist/elements/SegmentedControl/index.css +50 -7
  308. package/dist/elements/SegmentedControl/index.js.map +1 -1
  309. package/dist/elements/SelectAll/index.js.map +1 -1
  310. package/dist/elements/SelectRow/index.js +31 -21
  311. package/dist/elements/SelectRow/index.js.map +1 -1
  312. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  313. package/dist/elements/SidebarToggle/index.js.map +1 -1
  314. package/dist/elements/SkipToContent/index.js.map +1 -1
  315. package/dist/elements/SortHeader/index.js.map +1 -1
  316. package/dist/elements/SortRow/index.js.map +1 -1
  317. package/dist/elements/Spinner/index.js.map +1 -1
  318. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  319. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  320. package/dist/elements/StepNav/context.js.map +1 -1
  321. package/dist/elements/Switch/index.css +2 -2
  322. package/dist/elements/Switch/index.js.map +1 -1
  323. package/dist/elements/Table/DefaultCell/fields/Array/index.js +28 -9
  324. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  325. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +80 -27
  326. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  327. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +9 -10
  328. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  329. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  330. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  331. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  332. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
  333. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +21 -32
  334. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  335. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  336. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  337. package/dist/elements/Table/DefaultCell/fields/Status/index.js.map +1 -1
  338. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  339. package/dist/elements/Table/DefaultCell/index.js +6 -1
  340. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  341. package/dist/elements/Table/GridNavigation/useGridNavigation.js.map +1 -1
  342. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  343. package/dist/elements/Table/TableIdentity.js +32 -16
  344. package/dist/elements/Table/TableIdentity.js.map +1 -1
  345. package/dist/elements/Table/index.js.map +1 -1
  346. package/dist/elements/Table/useAriaSort.js.map +1 -1
  347. package/dist/elements/Tabs/index.css +4 -3
  348. package/dist/elements/Thumbnail/index.js +133 -53
  349. package/dist/elements/Thumbnail/index.js.map +1 -1
  350. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  351. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  352. package/dist/elements/TimezonePicker/index.js +113 -54
  353. package/dist/elements/TimezonePicker/index.js.map +1 -1
  354. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  355. package/dist/elements/Tooltip/index.js.map +1 -1
  356. package/dist/elements/Translation/index.js +1 -1
  357. package/dist/elements/Translation/index.js.map +1 -1
  358. package/dist/elements/TrashBanner/index.js.map +1 -1
  359. package/dist/elements/UnpublishMany/DrawerContent.js +1 -1
  360. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  361. package/dist/elements/UnpublishMany/index.js +32 -24
  362. package/dist/elements/UnpublishMany/index.js.map +1 -1
  363. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
  364. package/dist/elements/Upload/index.js.map +1 -1
  365. package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -1
  366. package/dist/elements/Upload/useUploadFromUrl.js.map +1 -1
  367. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  368. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  369. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  370. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  371. package/dist/elements/UserMenu/index.js +2 -1
  372. package/dist/elements/UserMenu/index.js.map +1 -1
  373. package/dist/elements/ViewDescription/index.js.map +1 -1
  374. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  375. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  376. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  377. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  378. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  379. package/dist/elements/WhereBuilder/Condition/index.js +1 -0
  380. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  381. package/dist/exports/client/{CodeEditor-S7MOGZSR.js → CodeEditor-23ZGBN6S.js} +2 -2
  382. package/dist/exports/client/{DatePicker-POZJVQP4.js → DatePicker-AZBZPMY6.js} +2 -2
  383. package/dist/exports/client/chunk-EXVR6BZK.js +27 -0
  384. package/dist/exports/client/chunk-EXVR6BZK.js.map +7 -0
  385. package/dist/exports/client/{chunk-AVJIZPR3.js → chunk-SMBFG6XU.js} +1 -1
  386. package/dist/exports/client/{chunk-AVJIZPR3.js.map → chunk-SMBFG6XU.js.map} +1 -1
  387. package/dist/exports/client/{chunk-2AY67NFV.js → chunk-ZP2PB6M4.js} +2 -2
  388. package/dist/exports/client/chunk-ZP2PB6M4.js.map +7 -0
  389. package/dist/exports/client/index.d.ts +2 -2
  390. package/dist/exports/client/index.d.ts.map +1 -1
  391. package/dist/exports/client/index.js +27 -27
  392. package/dist/exports/client/index.js.map +4 -4
  393. package/dist/exports/rsc/index.d.ts +1 -1
  394. package/dist/exports/rsc/index.d.ts.map +1 -1
  395. package/dist/exports/rsc/index.js +1 -1
  396. package/dist/exports/rsc/index.js.map +1 -1
  397. package/dist/exports/shared/index.js +2 -2
  398. package/dist/exports/shared/index.js.map +3 -3
  399. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  400. package/dist/fields/Array/ArrayRow.js +207 -99
  401. package/dist/fields/Array/ArrayRow.js.map +1 -1
  402. package/dist/fields/Array/index.d.ts.map +1 -1
  403. package/dist/fields/Array/index.js +521 -308
  404. package/dist/fields/Array/index.js.map +1 -1
  405. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  406. package/dist/fields/Blocks/BlockRow.js +224 -136
  407. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  408. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  409. package/dist/fields/Blocks/BlockSelector/index.js +114 -74
  410. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  411. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  412. package/dist/fields/Blocks/RowActions.js +75 -55
  413. package/dist/fields/Blocks/RowActions.js.map +1 -1
  414. package/dist/fields/Blocks/SectionTitle/index.css +4 -0
  415. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  416. package/dist/fields/Blocks/index.d.ts.map +1 -1
  417. package/dist/fields/Blocks/index.js +1 -0
  418. package/dist/fields/Blocks/index.js.map +1 -1
  419. package/dist/fields/Checkbox/index.css +3 -3
  420. package/dist/fields/Checkbox/index.js.map +1 -1
  421. package/dist/fields/Code/index.d.ts.map +1 -1
  422. package/dist/fields/Code/index.js +3 -2
  423. package/dist/fields/Code/index.js.map +1 -1
  424. package/dist/fields/Collapsible/index.js +114 -73
  425. package/dist/fields/Collapsible/index.js.map +1 -1
  426. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  427. package/dist/fields/DateTime/index.js +215 -121
  428. package/dist/fields/DateTime/index.js.map +1 -1
  429. package/dist/fields/Email/index.d.ts.map +1 -1
  430. package/dist/fields/Email/index.js.map +1 -1
  431. package/dist/fields/FieldDescription/index.js +29 -21
  432. package/dist/fields/FieldDescription/index.js.map +1 -1
  433. package/dist/fields/FieldError/index.js.map +1 -1
  434. package/dist/fields/FieldLabel/index.js.map +1 -1
  435. package/dist/fields/Group/index.css +3 -5
  436. package/dist/fields/Group/index.js +75 -46
  437. package/dist/fields/Group/index.js.map +1 -1
  438. package/dist/fields/Hidden/index.js +23 -15
  439. package/dist/fields/Hidden/index.js.map +1 -1
  440. package/dist/fields/JSON/index.d.ts.map +1 -1
  441. package/dist/fields/JSON/index.js +3 -2
  442. package/dist/fields/JSON/index.js.map +1 -1
  443. package/dist/fields/Number/Input.js.map +1 -1
  444. package/dist/fields/Number/index.d.ts.map +1 -1
  445. package/dist/fields/Number/index.js.map +1 -1
  446. package/dist/fields/Password/index.d.ts.map +1 -1
  447. package/dist/fields/Password/index.js.map +1 -1
  448. package/dist/fields/Password/input.js +46 -27
  449. package/dist/fields/Password/input.js.map +1 -1
  450. package/dist/fields/RadioGroup/Radio/index.js +35 -35
  451. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  452. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  453. package/dist/fields/RadioGroup/index.js.map +1 -1
  454. package/dist/fields/Relationship/Input.js +14 -14
  455. package/dist/fields/Relationship/Input.js.map +1 -1
  456. package/dist/fields/Relationship/index.js +216 -111
  457. package/dist/fields/Relationship/index.js.map +1 -1
  458. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  459. package/dist/fields/Relationship/select-components/SingleValue/index.js +9 -11
  460. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  461. package/dist/fields/Select/Input.js +26 -10
  462. package/dist/fields/Select/Input.js.map +1 -1
  463. package/dist/fields/Select/index.d.ts.map +1 -1
  464. package/dist/fields/Select/index.js +158 -77
  465. package/dist/fields/Select/index.js.map +1 -1
  466. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  467. package/dist/fields/Tabs/index.css +17 -21
  468. package/dist/fields/Tabs/index.js +120 -112
  469. package/dist/fields/Tabs/index.js.map +1 -1
  470. package/dist/fields/Text/Input.d.ts.map +1 -1
  471. package/dist/fields/Text/Input.js +2 -2
  472. package/dist/fields/Text/Input.js.map +1 -1
  473. package/dist/fields/Text/index.js +172 -95
  474. package/dist/fields/Text/index.js.map +1 -1
  475. package/dist/fields/Text/types.d.ts +2 -1
  476. package/dist/fields/Text/types.d.ts.map +1 -1
  477. package/dist/fields/Text/types.js.map +1 -1
  478. package/dist/fields/Textarea/Input.js +58 -28
  479. package/dist/fields/Textarea/Input.js.map +1 -1
  480. package/dist/fields/Textarea/index.js +97 -55
  481. package/dist/fields/Textarea/index.js.map +1 -1
  482. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  483. package/dist/fields/Upload/Input.d.ts.map +1 -1
  484. package/dist/fields/Upload/Input.js +19 -8
  485. package/dist/fields/Upload/Input.js.map +1 -1
  486. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  487. package/dist/fields/Upload/index.css +9 -0
  488. package/dist/fields/Upload/index.js +101 -63
  489. package/dist/fields/Upload/index.js.map +1 -1
  490. package/dist/fields/shared/useRowFocus.js.map +1 -1
  491. package/dist/forms/Form/context.js.map +1 -1
  492. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  493. package/dist/forms/Form/fieldReducer.js.map +1 -1
  494. package/dist/forms/Form/index.d.ts.map +1 -1
  495. package/dist/forms/Form/index.js +27 -8
  496. package/dist/forms/Form/index.js.map +1 -1
  497. package/dist/forms/Form/reduceToSerializableFields.d.ts +9 -4
  498. package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -1
  499. package/dist/forms/Form/reduceToSerializableFields.js +34 -7
  500. package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
  501. package/dist/forms/Form/types.d.ts +1 -1
  502. package/dist/forms/Form/types.d.ts.map +1 -1
  503. package/dist/forms/Form/types.js.map +1 -1
  504. package/dist/forms/NullifyField/index.js.map +1 -1
  505. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  506. package/dist/forms/RenderFields/context.js +3 -2
  507. package/dist/forms/RenderFields/context.js.map +1 -1
  508. package/dist/forms/RenderFields/index.css +2 -2
  509. package/dist/forms/RenderFields/index.js.map +1 -1
  510. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  511. package/dist/forms/RowLabel/Context/index.js +58 -18
  512. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  513. package/dist/forms/Submit/index.js +12 -13
  514. package/dist/forms/Submit/index.js.map +1 -1
  515. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  516. package/dist/forms/useField/index.js +1 -1
  517. package/dist/forms/useField/index.js.map +1 -1
  518. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  519. package/dist/graphics/Account/Gravatar/index.js +32 -17
  520. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  521. package/dist/graphics/Account/index.js +27 -18
  522. package/dist/graphics/Account/index.js.map +1 -1
  523. package/dist/hooks/useControllableState.js.map +1 -1
  524. package/dist/hooks/useDebounce.js.map +1 -1
  525. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  526. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  527. package/dist/hooks/useDelay.js.map +1 -1
  528. package/dist/hooks/useDelayedRender.js.map +1 -1
  529. package/dist/hooks/useElementHeightVariable.js.map +1 -1
  530. package/dist/hooks/useHotkey.js.map +1 -1
  531. package/dist/hooks/useIntersect.js.map +1 -1
  532. package/dist/hooks/usePayloadAPI.js.map +1 -1
  533. package/dist/hooks/usePopupWindow.js.map +1 -1
  534. package/dist/hooks/useRelatedCollections.js.map +1 -1
  535. package/dist/hooks/useResize.js.map +1 -1
  536. package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
  537. package/dist/hooks/useThrottledEffect.js +21 -24
  538. package/dist/hooks/useThrottledEffect.js.map +1 -1
  539. package/dist/hooks/useUseAsTitle.js.map +1 -1
  540. package/dist/icons/Sidebar/index.d.ts.map +1 -1
  541. package/dist/icons/Sidebar/index.js +2 -0
  542. package/dist/icons/Sidebar/index.js.map +1 -1
  543. package/dist/icons/Table/index.css +5 -1
  544. package/dist/layouts/Root/RootProviders.d.ts.map +1 -1
  545. package/dist/layouts/Root/RootProviders.js +31 -28
  546. package/dist/layouts/Root/RootProviders.js.map +1 -1
  547. package/dist/layouts/Root/index.d.ts +1 -1
  548. package/dist/layouts/Root/index.d.ts.map +1 -1
  549. package/dist/layouts/Root/index.js +4 -15
  550. package/dist/layouts/Root/index.js.map +1 -1
  551. package/dist/providers/Actions/index.js.map +1 -1
  552. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -1
  553. package/dist/providers/Auth/index.js +2 -2
  554. package/dist/providers/Auth/index.js.map +1 -1
  555. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -1
  556. package/dist/providers/ClientFunction/index.js.map +1 -1
  557. package/dist/providers/Config/index.js +65 -32
  558. package/dist/providers/Config/index.js.map +1 -1
  559. package/dist/providers/DocumentEvents/index.js.map +1 -1
  560. package/dist/providers/EditDepth/index.js.map +1 -1
  561. package/dist/providers/Embed/index.js.map +1 -1
  562. package/dist/providers/EntityVisibility/index.js.map +1 -1
  563. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  564. package/dist/providers/ListQuery/index.js +5 -5
  565. package/dist/providers/ListQuery/index.js.map +1 -1
  566. package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
  567. package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
  568. package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
  569. package/dist/providers/ListQuery/types.d.ts +6 -1
  570. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  571. package/dist/providers/ListQuery/types.js.map +1 -1
  572. package/dist/providers/ModalAccessibility/index.js.map +1 -1
  573. package/dist/providers/ModalFocus/index.d.ts +15 -0
  574. package/dist/providers/ModalFocus/index.d.ts.map +1 -0
  575. package/dist/providers/ModalFocus/index.js +70 -0
  576. package/dist/providers/ModalFocus/index.js.map +1 -0
  577. package/dist/providers/RouteCache/index.d.ts.map +1 -1
  578. package/dist/providers/RouteCache/index.js +37 -25
  579. package/dist/providers/RouteCache/index.js.map +1 -1
  580. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  581. package/dist/providers/RouteTransition/index.d.ts +3 -2
  582. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  583. package/dist/providers/RouteTransition/index.js +78 -105
  584. package/dist/providers/RouteTransition/index.js.map +1 -1
  585. package/dist/providers/RouterAdapter/index.js.map +1 -1
  586. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  587. package/dist/providers/ServerFunctions/index.js +34 -23
  588. package/dist/providers/ServerFunctions/index.js.map +1 -1
  589. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  590. package/dist/providers/TableColumns/index.d.ts.map +1 -1
  591. package/dist/providers/TableColumns/index.js +18 -35
  592. package/dist/providers/TableColumns/index.js.map +1 -1
  593. package/dist/providers/Theme/index.js.map +1 -1
  594. package/dist/providers/ToastContainer/index.js.map +1 -1
  595. package/dist/providers/Translation/index.js.map +1 -1
  596. package/dist/providers/UploadControls/index.js.map +1 -1
  597. package/dist/providers/UploadEdits/index.js.map +1 -1
  598. package/dist/providers/UploadHandlers/index.js.map +1 -1
  599. package/dist/styles.css +87 -3
  600. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  601. package/dist/templates/Default/index.css +0 -1
  602. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
  603. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +32 -6
  604. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  605. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -1
  606. package/dist/utilities/getDisplayedFieldValue.d.ts +8 -2
  607. package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
  608. package/dist/utilities/getDisplayedFieldValue.js +11 -1
  609. package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
  610. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  611. package/dist/utilities/groupNavItems.js.map +1 -1
  612. package/dist/utilities/handleLivePreview.js.map +1 -1
  613. package/dist/utilities/handleServerFunctions.d.ts +2 -10
  614. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  615. package/dist/utilities/handleServerFunctions.js +3 -7
  616. package/dist/utilities/handleServerFunctions.js.map +1 -1
  617. package/dist/utilities/hasSavePermission.js.map +1 -1
  618. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  619. package/dist/utilities/serverFunctionRegistry.d.ts +2 -7
  620. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  621. package/dist/utilities/serverFunctionRegistry.js +4 -9
  622. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  623. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  624. package/dist/views/API/index.client.d.ts.map +1 -1
  625. package/dist/views/API/index.client.js +1 -0
  626. package/dist/views/API/index.client.js.map +1 -1
  627. package/dist/views/Account/ResetPreferences/index.js +17 -17
  628. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  629. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  630. package/dist/views/Account/ToggleHighContrast/index.js.map +1 -1
  631. package/dist/views/Account/ToggleTheme/index.js +106 -27
  632. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  633. package/dist/views/Account/index.client.js.map +1 -1
  634. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  635. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +30 -21
  636. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  637. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  638. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  639. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +373 -151
  640. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  641. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  642. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts +1 -1
  643. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
  644. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +18 -5
  645. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  646. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.js.map +1 -1
  647. package/dist/views/Document/generateEditViewMetadata.js.map +1 -1
  648. package/dist/views/Document/index.js +1 -1
  649. package/dist/views/Document/index.js.map +1 -1
  650. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  651. package/dist/views/Edit/Auth/APIKeyGenerationModal.js.map +1 -1
  652. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  653. package/dist/views/Edit/Auth/index.js +13 -11
  654. package/dist/views/Edit/Auth/index.js.map +1 -1
  655. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  656. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  657. package/dist/views/Edit/index.css +26 -0
  658. package/dist/views/Edit/index.d.ts.map +1 -1
  659. package/dist/views/Edit/index.js +28 -17
  660. package/dist/views/Edit/index.js.map +1 -1
  661. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  662. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +45 -41
  663. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  664. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  665. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
  666. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  667. package/dist/views/HierarchyList/HierarchyTable/DateCell.js +8 -9
  668. package/dist/views/HierarchyList/HierarchyTable/DateCell.js.map +1 -1
  669. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -1
  670. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
  671. package/dist/views/HierarchyList/index.js +2 -2
  672. package/dist/views/HierarchyList/index.js.map +1 -1
  673. package/dist/views/List/DocumentGrid/index.js.map +1 -1
  674. package/dist/views/List/GroupedDocumentGrid/index.js.map +1 -1
  675. package/dist/views/List/ListSelection/index.js.map +1 -1
  676. package/dist/views/Login/LoginField/index.js.map +1 -1
  677. package/dist/views/Login/LoginForm/index.js.map +1 -1
  678. package/dist/views/Logout/LogoutClient.js.map +1 -1
  679. package/dist/views/Logout/index.js.map +1 -1
  680. package/dist/views/NotFound/index.client.js.map +1 -1
  681. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  682. package/dist/views/Verify/index.client.js.map +1 -1
  683. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  684. package/dist/views/Version/Default/index.js +321 -181
  685. package/dist/views/Version/Default/index.js.map +1 -1
  686. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  687. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  688. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +9 -11
  689. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  690. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  691. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +41 -29
  692. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  693. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  694. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  695. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +19 -19
  696. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  697. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  698. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  699. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  700. package/dist/views/Version/Restore/index.js +176 -77
  701. package/dist/views/Version/Restore/index.js.map +1 -1
  702. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  703. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  704. package/dist/views/Version/SelectComparison/index.js +113 -33
  705. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  706. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  707. package/dist/views/Version/index.js.map +1 -1
  708. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
  709. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  710. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  711. package/dist/views/Versions/cells/VersionDrawerCreatedAtCell/index.js.map +1 -1
  712. package/dist/views/Versions/index.client.js +9 -11
  713. package/dist/views/Versions/index.client.js.map +1 -1
  714. package/dist/views/Versions/index.js +2 -2
  715. package/dist/views/Versions/index.js.map +1 -1
  716. package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.css +28 -0
  717. package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.d.ts +16 -0
  718. package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.d.ts.map +1 -0
  719. package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.js +98 -0
  720. package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.js.map +1 -0
  721. package/dist/widgets/Activity/Tabs/PinnedDocuments/index.css +70 -0
  722. package/dist/widgets/Activity/Tabs/PinnedDocuments/index.d.ts +13 -0
  723. package/dist/widgets/Activity/Tabs/PinnedDocuments/index.d.ts.map +1 -0
  724. package/dist/widgets/Activity/Tabs/PinnedDocuments/index.js +81 -0
  725. package/dist/widgets/Activity/Tabs/PinnedDocuments/index.js.map +1 -0
  726. package/dist/widgets/{RecentlyViewed/pinnedPreferences.d.ts → Activity/Tabs/PinnedDocuments/preferences.d.ts} +6 -9
  727. package/dist/widgets/Activity/Tabs/PinnedDocuments/preferences.d.ts.map +1 -0
  728. package/dist/widgets/{RecentlyViewed/pinnedPreferences.js → Activity/Tabs/PinnedDocuments/preferences.js} +3 -22
  729. package/dist/widgets/Activity/Tabs/PinnedDocuments/preferences.js.map +1 -0
  730. package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.d.ts +39 -0
  731. package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.d.ts.map +1 -0
  732. package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.js +83 -0
  733. package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.js.map +1 -0
  734. package/dist/widgets/Activity/Tabs/RecentDocuments/index.d.ts +9 -0
  735. package/dist/widgets/Activity/Tabs/RecentDocuments/index.d.ts.map +1 -0
  736. package/dist/widgets/Activity/Tabs/RecentDocuments/index.js +23 -0
  737. package/dist/widgets/Activity/Tabs/RecentDocuments/index.js.map +1 -0
  738. package/dist/widgets/Activity/components/DocumentList/index.css +61 -0
  739. package/dist/widgets/Activity/components/DocumentList/index.d.ts +15 -0
  740. package/dist/widgets/Activity/components/DocumentList/index.d.ts.map +1 -0
  741. package/dist/widgets/Activity/components/DocumentList/index.js +56 -0
  742. package/dist/widgets/Activity/components/DocumentList/index.js.map +1 -0
  743. package/dist/widgets/Activity/components/EmptyState/index.css +47 -0
  744. package/dist/widgets/Activity/components/EmptyState/index.d.ts +12 -0
  745. package/dist/widgets/Activity/components/EmptyState/index.d.ts.map +1 -0
  746. package/dist/widgets/Activity/components/EmptyState/index.js +37 -0
  747. package/dist/widgets/Activity/components/EmptyState/index.js.map +1 -0
  748. package/dist/widgets/Activity/components/Pagination/index.css +42 -0
  749. package/dist/widgets/Activity/components/Pagination/index.d.ts +20 -0
  750. package/dist/widgets/Activity/components/Pagination/index.d.ts.map +1 -0
  751. package/dist/widgets/Activity/components/Pagination/index.js +125 -0
  752. package/dist/widgets/Activity/components/Pagination/index.js.map +1 -0
  753. package/dist/widgets/Activity/components/StatusPill/index.css +24 -0
  754. package/dist/widgets/Activity/components/StatusPill/index.d.ts +8 -0
  755. package/dist/widgets/Activity/components/StatusPill/index.d.ts.map +1 -0
  756. package/dist/widgets/Activity/components/StatusPill/index.js +18 -0
  757. package/dist/widgets/Activity/components/StatusPill/index.js.map +1 -0
  758. package/dist/widgets/Activity/index.client.d.ts +15 -0
  759. package/dist/widgets/Activity/index.client.d.ts.map +1 -0
  760. package/dist/widgets/Activity/index.client.js +186 -0
  761. package/dist/widgets/Activity/index.client.js.map +1 -0
  762. package/dist/widgets/Activity/index.css +320 -0
  763. package/dist/widgets/Activity/index.d.ts +13 -0
  764. package/dist/widgets/Activity/index.d.ts.map +1 -0
  765. package/dist/widgets/Activity/index.js +100 -0
  766. package/dist/widgets/Activity/index.js.map +1 -0
  767. package/dist/widgets/{RecentlyViewed/index.client.d.ts → Activity/types.d.ts} +6 -13
  768. package/dist/widgets/Activity/types.d.ts.map +1 -0
  769. package/dist/widgets/Activity/types.js +2 -0
  770. package/dist/widgets/Activity/types.js.map +1 -0
  771. package/dist/widgets/Activity/utils/cache.d.ts +33 -0
  772. package/dist/widgets/Activity/utils/cache.d.ts.map +1 -0
  773. package/dist/widgets/Activity/utils/cache.js +72 -0
  774. package/dist/widgets/Activity/utils/cache.js.map +1 -0
  775. package/dist/widgets/Activity/utils/constants.d.ts +5 -0
  776. package/dist/widgets/Activity/utils/constants.d.ts.map +1 -0
  777. package/dist/widgets/Activity/utils/constants.js +4 -0
  778. package/dist/widgets/Activity/utils/constants.js.map +1 -0
  779. package/dist/widgets/Activity/utils/documents.d.ts +11 -0
  780. package/dist/widgets/Activity/utils/documents.d.ts.map +1 -0
  781. package/dist/widgets/Activity/utils/documents.js +38 -0
  782. package/dist/widgets/Activity/utils/documents.js.map +1 -0
  783. package/dist/widgets/Activity/utils/getActivityWidgetDocs.d.ts +20 -0
  784. package/dist/widgets/Activity/utils/getActivityWidgetDocs.d.ts.map +1 -0
  785. package/dist/widgets/{RecentlyViewed/getDocuments.js → Activity/utils/getActivityWidgetDocs.js} +24 -21
  786. package/dist/widgets/Activity/utils/getActivityWidgetDocs.js.map +1 -0
  787. package/dist/widgets/Activity/utils/state.d.ts +44 -0
  788. package/dist/widgets/Activity/utils/state.d.ts.map +1 -0
  789. package/dist/widgets/Activity/utils/state.js +80 -0
  790. package/dist/widgets/Activity/utils/state.js.map +1 -0
  791. package/dist/widgets/Activity/utils/useActivityDocuments.d.ts +35 -0
  792. package/dist/widgets/Activity/utils/useActivityDocuments.d.ts.map +1 -0
  793. package/dist/widgets/Activity/utils/useActivityDocuments.js +141 -0
  794. package/dist/widgets/Activity/utils/useActivityDocuments.js.map +1 -0
  795. package/dist/widgets/Activity/utils/usePageSize.d.ts +11 -0
  796. package/dist/widgets/Activity/utils/usePageSize.d.ts.map +1 -0
  797. package/dist/widgets/Activity/utils/usePageSize.js +35 -0
  798. package/dist/widgets/Activity/utils/usePageSize.js.map +1 -0
  799. package/dist/widgets/CollectionCards/index.client.d.ts +3 -0
  800. package/dist/widgets/CollectionCards/index.client.d.ts.map +1 -1
  801. package/dist/widgets/CollectionCards/index.client.js +3 -0
  802. package/dist/widgets/CollectionCards/index.client.js.map +1 -1
  803. package/dist/widgets/CollectionCards/index.d.ts +3 -0
  804. package/dist/widgets/CollectionCards/index.d.ts.map +1 -1
  805. package/dist/widgets/CollectionCards/index.js +3 -0
  806. package/dist/widgets/CollectionCards/index.js.map +1 -1
  807. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  808. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -1
  809. package/dist/widgets/CollectionQuery/SortField/index.js +181 -73
  810. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -1
  811. package/dist/widgets/CollectionQuery/index.d.ts +3 -0
  812. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -1
  813. package/dist/widgets/CollectionQuery/index.js +3 -0
  814. package/dist/widgets/CollectionQuery/index.js.map +1 -1
  815. package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts +3 -0
  816. package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts.map +1 -1
  817. package/dist/widgets/UploadDropzone/CollectionsField/index.js +65 -14
  818. package/dist/widgets/UploadDropzone/CollectionsField/index.js.map +1 -1
  819. package/dist/widgets/UploadDropzone/index.client.d.ts +3 -0
  820. package/dist/widgets/UploadDropzone/index.client.d.ts.map +1 -1
  821. package/dist/widgets/UploadDropzone/index.client.js +3 -0
  822. package/dist/widgets/UploadDropzone/index.client.js.map +1 -1
  823. package/dist/widgets/UploadDropzone/index.d.ts +3 -0
  824. package/dist/widgets/UploadDropzone/index.d.ts.map +1 -1
  825. package/dist/widgets/UploadDropzone/index.js +3 -0
  826. package/dist/widgets/UploadDropzone/index.js.map +1 -1
  827. package/dist/widgets/Welcome/index.d.ts +3 -0
  828. package/dist/widgets/Welcome/index.d.ts.map +1 -1
  829. package/dist/widgets/Welcome/index.js +3 -0
  830. package/dist/widgets/Welcome/index.js.map +1 -1
  831. package/dist/widgets/WidgetCard/index.css +0 -20
  832. package/dist/widgets/{RecentlyViewed/CollectionsField → shared/CollectionFilter}/index.css +2 -2
  833. package/dist/widgets/{RecentlyViewed/CollectionsField → shared/CollectionFilter}/index.d.ts +3 -1
  834. package/dist/widgets/shared/CollectionFilter/index.d.ts.map +1 -0
  835. package/dist/widgets/shared/CollectionFilter/index.js +170 -0
  836. package/dist/widgets/shared/CollectionFilter/index.js.map +1 -0
  837. package/package.json +21 -23
  838. package/dist/exports/client/chunk-2AY67NFV.js.map +0 -7
  839. package/dist/exports/client/chunk-Z42OBP5U.js +0 -27
  840. package/dist/exports/client/chunk-Z42OBP5U.js.map +0 -7
  841. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +0 -1
  842. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +0 -102
  843. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +0 -1
  844. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.css +0 -73
  845. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts +0 -19
  846. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts.map +0 -1
  847. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js +0 -122
  848. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js.map +0 -1
  849. package/dist/widgets/RecentlyViewed/getDocuments.d.ts +0 -20
  850. package/dist/widgets/RecentlyViewed/getDocuments.d.ts.map +0 -1
  851. package/dist/widgets/RecentlyViewed/getDocuments.js.map +0 -1
  852. package/dist/widgets/RecentlyViewed/index.client.d.ts.map +0 -1
  853. package/dist/widgets/RecentlyViewed/index.client.js +0 -401
  854. package/dist/widgets/RecentlyViewed/index.client.js.map +0 -1
  855. package/dist/widgets/RecentlyViewed/index.css +0 -318
  856. package/dist/widgets/RecentlyViewed/index.d.ts +0 -10
  857. package/dist/widgets/RecentlyViewed/index.d.ts.map +0 -1
  858. package/dist/widgets/RecentlyViewed/index.js +0 -45
  859. package/dist/widgets/RecentlyViewed/index.js.map +0 -1
  860. package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts.map +0 -1
  861. package/dist/widgets/RecentlyViewed/pinnedPreferences.js.map +0 -1
  862. package/dist/widgets/RecentlyViewed/recents.d.ts +0 -8
  863. package/dist/widgets/RecentlyViewed/recents.d.ts.map +0 -1
  864. package/dist/widgets/RecentlyViewed/recents.js +0 -19
  865. package/dist/widgets/RecentlyViewed/recents.js.map +0 -1
  866. /package/dist/exports/client/{CodeEditor-S7MOGZSR.js.map → CodeEditor-23ZGBN6S.js.map} +0 -0
  867. /package/dist/exports/client/{DatePicker-POZJVQP4.js.map → DatePicker-AZBZPMY6.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"renderDocumentSlots.js","names":["hasDraftsEnabled","matchMimeType","RenderServerComponent","ViewDescription","filterLLMInstructionsMenuItems","getDocumentPermissions","renderDocumentSlots","args","id","collectionConfig","doc","globalConfig","hasSavePermission","locale","permissions","req","user","components","unsavedDraftWithValidations","undefined","isPreviewEnabled","admin","preview","serverProps","i18n","payload","server","BeforeDocumentControls","edit","beforeDocumentControls","Component","importMap","BeforeDocumentMeta","EditMenuItems","collectionSlug","slug","globalSlug","menuItems","editMenuItems","length","CustomPreviewButton","PreviewButton","LivePreview","views","livePreview","descriptionFromConfig","description","staticDescription","t","CustomDescription","Description","hasDescription","clientProps","Fallback","versions","drafts","CustomStatus","Status","CustomPublishButton","PublishButton","CustomUnpublishButton","UnpublishButton","CustomSaveDraftButton","SaveDraftButton","draftsEnabled","CustomSaveButton","SaveButton","upload","Upload","controls","UploadControls","filePreviewConfig","filePreview","mimeType","filePreviewComponent","UploadFilePreview","filename","filesize","fileSrc","url","height","width","renderDocumentSlotsHandler","collections","config","Error","data","result","findByID","collection","depth","overrideAccess","select"],"sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"sourcesContent":["import type {\n BeforeDocumentControlsServerPropsOnly,\n DocumentSlots,\n EditMenuItemsServerPropsOnly,\n Locale,\n PayloadComponent,\n PayloadRequest,\n PreviewButtonServerPropsOnly,\n PublishButtonServerPropsOnly,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n SanitizedPermissions,\n SaveButtonServerPropsOnly,\n SaveDraftButtonServerPropsOnly,\n ServerFunction,\n ServerProps,\n StaticDescription,\n UnpublishButtonServerPropsOnly,\n UploadFilePreviewClientProps,\n ViewDescriptionClientProps,\n ViewDescriptionServerPropsOnly,\n} from 'payload'\n\nimport { hasDraftsEnabled, matchMimeType } from 'payload/shared'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds\nimport { ViewDescription } from '../../exports/client/index.js'\nimport { filterLLMInstructionsMenuItems } from '../../utilities/filterLLMInstructionsMenuItems.js'\nimport { getDocumentPermissions } from '../../utilities/getDocumentPermissions.js'\n\nexport const renderDocumentSlots: (args: {\n collectionConfig?: SanitizedCollectionConfig\n doc?: Record<string, unknown>\n globalConfig?: SanitizedGlobalConfig\n hasSavePermission: boolean\n id?: number | string\n locale: Locale\n permissions: SanitizedPermissions\n req: PayloadRequest\n user?: PayloadRequest['user']\n}) => Promise<DocumentSlots> = async (args) => {\n const {\n id,\n collectionConfig,\n doc,\n globalConfig,\n hasSavePermission,\n locale,\n permissions,\n req,\n user,\n } = args\n\n const components: DocumentSlots = {} as DocumentSlots\n\n const unsavedDraftWithValidations = undefined\n\n const isPreviewEnabled = collectionConfig?.admin?.preview || globalConfig?.admin?.preview\n\n const serverProps: ServerProps = {\n id,\n i18n: req.i18n,\n locale,\n payload: req.payload,\n permissions,\n server: req.server,\n user,\n // TODO: Add remaining serverProps\n }\n\n const BeforeDocumentControls =\n collectionConfig?.admin?.components?.edit?.beforeDocumentControls ||\n globalConfig?.admin?.components?.edit?.beforeDocumentControls\n\n if (BeforeDocumentControls) {\n components.BeforeDocumentControls = RenderServerComponent({\n Component: BeforeDocumentControls,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies BeforeDocumentControlsServerPropsOnly,\n })\n }\n\n const BeforeDocumentMeta =\n collectionConfig?.admin?.components?.edit?.BeforeDocumentMeta ||\n globalConfig?.admin?.components?.edit?.BeforeDocumentMeta\n\n if (BeforeDocumentMeta) {\n components.BeforeDocumentMeta = RenderServerComponent({\n Component: BeforeDocumentMeta,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n const EditMenuItems = await filterLLMInstructionsMenuItems({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n menuItems:\n collectionConfig?.admin?.components?.edit?.editMenuItems ||\n globalConfig?.admin?.components?.edit?.editMenuItems,\n permissions,\n req,\n })\n\n if (EditMenuItems?.length) {\n components.EditMenuItems = RenderServerComponent({\n Component: EditMenuItems,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies EditMenuItemsServerPropsOnly,\n })\n }\n\n const CustomPreviewButton =\n collectionConfig?.admin?.components?.edit?.PreviewButton ||\n globalConfig?.admin?.components?.edit?.PreviewButton\n\n if (isPreviewEnabled && CustomPreviewButton) {\n components.PreviewButton = RenderServerComponent({\n Component: CustomPreviewButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies PreviewButtonServerPropsOnly,\n })\n }\n\n const LivePreview =\n collectionConfig?.admin?.components?.views?.edit?.livePreview ||\n globalConfig?.admin?.components?.views?.edit?.livePreview\n\n if (LivePreview?.Component) {\n components.LivePreview = RenderServerComponent({\n Component: LivePreview.Component,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n const descriptionFromConfig =\n collectionConfig?.admin?.description || globalConfig?.admin?.description\n\n const staticDescription: StaticDescription =\n typeof descriptionFromConfig === 'function'\n ? descriptionFromConfig({ t: req.i18n.t })\n : descriptionFromConfig\n\n const CustomDescription =\n collectionConfig?.admin?.components?.Description || globalConfig?.admin?.components?.Description\n\n const hasDescription = CustomDescription || staticDescription\n\n if (hasDescription) {\n components.Description = RenderServerComponent({\n clientProps: {\n collectionSlug: collectionConfig?.slug,\n description: staticDescription,\n } satisfies ViewDescriptionClientProps,\n Component: CustomDescription,\n Fallback: ViewDescription,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies ViewDescriptionServerPropsOnly,\n })\n }\n\n if (collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) {\n const CustomStatus =\n collectionConfig?.admin?.components?.edit?.Status ||\n globalConfig?.admin?.components?.edit?.Status\n\n if (CustomStatus) {\n components.Status = RenderServerComponent({\n Component: CustomStatus,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n }\n\n if (hasSavePermission) {\n if (hasDraftsEnabled(collectionConfig || globalConfig)) {\n const CustomPublishButton =\n collectionConfig?.admin?.components?.edit?.PublishButton ||\n globalConfig?.admin?.components?.edit?.PublishButton\n\n if (CustomPublishButton) {\n components.PublishButton = RenderServerComponent({\n Component: CustomPublishButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies PublishButtonServerPropsOnly,\n })\n }\n\n const CustomUnpublishButton =\n collectionConfig?.admin?.components?.edit?.UnpublishButton ||\n globalConfig?.admin?.components?.edit?.UnpublishButton\n\n if (CustomUnpublishButton) {\n components.UnpublishButton = RenderServerComponent({\n Component: CustomUnpublishButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies UnpublishButtonServerPropsOnly,\n })\n }\n\n const CustomSaveDraftButton =\n collectionConfig?.admin?.components?.edit?.SaveDraftButton ||\n globalConfig?.admin?.components?.edit?.SaveDraftButton\n\n const draftsEnabled = hasDraftsEnabled(collectionConfig || globalConfig)\n\n if ((draftsEnabled || unsavedDraftWithValidations) && CustomSaveDraftButton) {\n components.SaveDraftButton = RenderServerComponent({\n Component: CustomSaveDraftButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies SaveDraftButtonServerPropsOnly,\n })\n }\n } else {\n const CustomSaveButton =\n collectionConfig?.admin?.components?.edit?.SaveButton ||\n globalConfig?.admin?.components?.edit?.SaveButton\n\n if (CustomSaveButton) {\n components.SaveButton = RenderServerComponent({\n Component: CustomSaveButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies SaveButtonServerPropsOnly,\n })\n }\n }\n }\n\n if (collectionConfig?.upload && collectionConfig?.admin?.components?.edit?.Upload) {\n components.Upload = RenderServerComponent({\n Component: collectionConfig.admin.components.edit.Upload,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n if (collectionConfig?.upload && collectionConfig.upload.admin?.components?.controls) {\n components.UploadControls = RenderServerComponent({\n Component: collectionConfig.upload.admin.components.controls,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n const filePreviewConfig = collectionConfig?.upload?.admin?.components?.filePreview\n if (collectionConfig?.upload && filePreviewConfig) {\n const mimeType = (doc?.mimeType as string) ?? ''\n let filePreviewComponent: PayloadComponent | undefined\n\n if (\n typeof filePreviewConfig === 'string' ||\n (typeof filePreviewConfig === 'object' && 'path' in filePreviewConfig)\n ) {\n filePreviewComponent = filePreviewConfig as PayloadComponent\n } else {\n filePreviewComponent = matchMimeType(\n filePreviewConfig as Record<string, PayloadComponent>,\n mimeType,\n )\n }\n\n if (filePreviewComponent) {\n components.UploadFilePreview = RenderServerComponent({\n clientProps: {\n filename: doc?.filename,\n filesize: doc?.filesize,\n fileSrc: doc?.url,\n height: doc?.height,\n mimeType,\n width: doc?.width,\n } as UploadFilePreviewClientProps,\n Component: filePreviewComponent,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n }\n\n return components\n}\n\nexport const renderDocumentSlotsHandler: ServerFunction<{\n collectionSlug: string\n id?: number | string\n}> = async (args) => {\n const { id, collectionSlug, locale, permissions, req, user } = args\n\n const collectionConfig = req.payload.collections[collectionSlug]?.config\n\n if (!collectionConfig) {\n throw new Error(req.t('error:incorrectCollection'))\n }\n\n const { hasSavePermission } = await getDocumentPermissions({\n id,\n collectionConfig,\n data: {},\n req,\n })\n\n let doc: Record<string, unknown> | undefined\n if (id && collectionConfig.upload) {\n const result = await req.payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n overrideAccess: false,\n req,\n select: {\n filename: true,\n filesize: true,\n height: true,\n mimeType: true,\n url: true,\n width: true,\n },\n })\n doc = result as Record<string, unknown>\n }\n\n return renderDocumentSlots({\n id,\n collectionConfig,\n doc,\n hasSavePermission,\n locale,\n permissions,\n req,\n user,\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"renderDocumentSlots.js","names":["hasDraftsEnabled","matchMimeType","RenderServerComponent","ViewDescription","filterLLMInstructionsMenuItems","getDocumentPermissions","renderDocumentSlots","args","id","collectionConfig","doc","globalConfig","hasSavePermission","locale","permissions","req","user","components","unsavedDraftWithValidations","undefined","isPreviewEnabled","admin","preview","serverProps","i18n","payload","server","BeforeDocumentControls","edit","beforeDocumentControls","Component","importMap","BeforeDocumentMeta","EditMenuItems","collectionSlug","slug","globalSlug","menuItems","editMenuItems","length","CustomPreviewButton","PreviewButton","LivePreview","views","livePreview","descriptionFromConfig","description","staticDescription","t","CustomDescription","Description","hasDescription","clientProps","Fallback","versions","drafts","CustomStatus","Status","CustomPublishButton","PublishButton","CustomUnpublishButton","UnpublishButton","CustomSaveDraftButton","SaveDraftButton","draftsEnabled","CustomSaveButton","SaveButton","upload","Upload","controls","UploadControls","filePreviewConfig","filePreview","mimeType","filePreviewComponent","UploadFilePreview","filename","filesize","fileSrc","url","height","width","renderDocumentSlotsHandler","collections","config","Error","data","result","findByID","collection","depth","overrideAccess","select"],"sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"sourcesContent":["import type {\n BeforeDocumentControlsServerPropsOnly,\n DocumentSlots,\n EditMenuItemsServerPropsOnly,\n Locale,\n PayloadComponent,\n PayloadRequest,\n PreviewButtonServerPropsOnly,\n PublishButtonServerPropsOnly,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n SanitizedPermissions,\n SaveButtonServerPropsOnly,\n SaveDraftButtonServerPropsOnly,\n ServerFunction,\n ServerProps,\n StaticDescription,\n UnpublishButtonServerPropsOnly,\n UploadFilePreviewClientProps,\n ViewDescriptionClientProps,\n ViewDescriptionServerPropsOnly,\n} from 'payload'\n\nimport { hasDraftsEnabled, matchMimeType } from 'payload/shared'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds\nimport { ViewDescription } from '../../exports/client/index.js'\nimport { filterLLMInstructionsMenuItems } from '../../utilities/filterLLMInstructionsMenuItems.js'\nimport { getDocumentPermissions } from '../../utilities/getDocumentPermissions.js'\n\nexport const renderDocumentSlots: (args: {\n collectionConfig?: SanitizedCollectionConfig\n doc?: Record<string, unknown>\n globalConfig?: SanitizedGlobalConfig\n hasSavePermission: boolean\n id?: number | string\n locale: Locale\n permissions: SanitizedPermissions\n req: PayloadRequest\n user?: PayloadRequest['user']\n}) => Promise<DocumentSlots> = async (args) => {\n const {\n id,\n collectionConfig,\n doc,\n globalConfig,\n hasSavePermission,\n locale,\n permissions,\n req,\n user,\n } = args\n\n const components: DocumentSlots = {}\n\n const unsavedDraftWithValidations = undefined\n\n const isPreviewEnabled = collectionConfig?.admin?.preview || globalConfig?.admin?.preview\n\n const serverProps: ServerProps = {\n id,\n i18n: req.i18n,\n locale,\n payload: req.payload,\n permissions,\n server: req.server,\n user,\n // TODO: Add remaining serverProps\n }\n\n const BeforeDocumentControls =\n collectionConfig?.admin?.components?.edit?.beforeDocumentControls ||\n globalConfig?.admin?.components?.edit?.beforeDocumentControls\n\n if (BeforeDocumentControls) {\n components.BeforeDocumentControls = RenderServerComponent({\n Component: BeforeDocumentControls,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies BeforeDocumentControlsServerPropsOnly,\n })\n }\n\n const BeforeDocumentMeta =\n collectionConfig?.admin?.components?.edit?.BeforeDocumentMeta ||\n globalConfig?.admin?.components?.edit?.BeforeDocumentMeta\n\n if (BeforeDocumentMeta) {\n components.BeforeDocumentMeta = RenderServerComponent({\n Component: BeforeDocumentMeta,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n const EditMenuItems = await filterLLMInstructionsMenuItems({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n menuItems:\n collectionConfig?.admin?.components?.edit?.editMenuItems ||\n globalConfig?.admin?.components?.edit?.editMenuItems,\n permissions,\n req,\n })\n\n if (EditMenuItems?.length) {\n components.EditMenuItems = RenderServerComponent({\n Component: EditMenuItems,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies EditMenuItemsServerPropsOnly,\n })\n }\n\n const CustomPreviewButton =\n collectionConfig?.admin?.components?.edit?.PreviewButton ||\n globalConfig?.admin?.components?.edit?.PreviewButton\n\n if (isPreviewEnabled && CustomPreviewButton) {\n components.PreviewButton = RenderServerComponent({\n Component: CustomPreviewButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies PreviewButtonServerPropsOnly,\n })\n }\n\n const LivePreview =\n collectionConfig?.admin?.components?.views?.edit?.livePreview ||\n globalConfig?.admin?.components?.views?.edit?.livePreview\n\n if (LivePreview?.Component) {\n components.LivePreview = RenderServerComponent({\n Component: LivePreview.Component,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n const descriptionFromConfig =\n collectionConfig?.admin?.description || globalConfig?.admin?.description\n\n const staticDescription: StaticDescription =\n typeof descriptionFromConfig === 'function'\n ? descriptionFromConfig({ t: req.i18n.t })\n : descriptionFromConfig\n\n const CustomDescription =\n collectionConfig?.admin?.components?.Description || globalConfig?.admin?.components?.Description\n\n const hasDescription = CustomDescription || staticDescription\n\n if (hasDescription) {\n components.Description = RenderServerComponent({\n clientProps: {\n collectionSlug: collectionConfig?.slug,\n description: staticDescription,\n } satisfies ViewDescriptionClientProps,\n Component: CustomDescription,\n Fallback: ViewDescription,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies ViewDescriptionServerPropsOnly,\n })\n }\n\n if (collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) {\n const CustomStatus =\n collectionConfig?.admin?.components?.edit?.Status ||\n globalConfig?.admin?.components?.edit?.Status\n\n if (CustomStatus) {\n components.Status = RenderServerComponent({\n Component: CustomStatus,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n }\n\n if (hasSavePermission) {\n if (hasDraftsEnabled(collectionConfig || globalConfig)) {\n const CustomPublishButton =\n collectionConfig?.admin?.components?.edit?.PublishButton ||\n globalConfig?.admin?.components?.edit?.PublishButton\n\n if (CustomPublishButton) {\n components.PublishButton = RenderServerComponent({\n Component: CustomPublishButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies PublishButtonServerPropsOnly,\n })\n }\n\n const CustomUnpublishButton =\n collectionConfig?.admin?.components?.edit?.UnpublishButton ||\n globalConfig?.admin?.components?.edit?.UnpublishButton\n\n if (CustomUnpublishButton) {\n components.UnpublishButton = RenderServerComponent({\n Component: CustomUnpublishButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies UnpublishButtonServerPropsOnly,\n })\n }\n\n const CustomSaveDraftButton =\n collectionConfig?.admin?.components?.edit?.SaveDraftButton ||\n globalConfig?.admin?.components?.edit?.SaveDraftButton\n\n const draftsEnabled = hasDraftsEnabled(collectionConfig || globalConfig)\n\n if ((draftsEnabled || unsavedDraftWithValidations) && CustomSaveDraftButton) {\n components.SaveDraftButton = RenderServerComponent({\n Component: CustomSaveDraftButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies SaveDraftButtonServerPropsOnly,\n })\n }\n } else {\n const CustomSaveButton =\n collectionConfig?.admin?.components?.edit?.SaveButton ||\n globalConfig?.admin?.components?.edit?.SaveButton\n\n if (CustomSaveButton) {\n components.SaveButton = RenderServerComponent({\n Component: CustomSaveButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies SaveButtonServerPropsOnly,\n })\n }\n }\n }\n\n if (collectionConfig?.upload && collectionConfig?.admin?.components?.edit?.Upload) {\n components.Upload = RenderServerComponent({\n Component: collectionConfig.admin.components.edit.Upload,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n if (collectionConfig?.upload && collectionConfig.upload.admin?.components?.controls) {\n components.UploadControls = RenderServerComponent({\n Component: collectionConfig.upload.admin.components.controls,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n const filePreviewConfig = collectionConfig?.upload?.admin?.components?.filePreview\n if (collectionConfig?.upload && filePreviewConfig) {\n const mimeType = (doc?.mimeType as string) ?? ''\n let filePreviewComponent: PayloadComponent | undefined\n\n if (\n typeof filePreviewConfig === 'string' ||\n (typeof filePreviewConfig === 'object' && 'path' in filePreviewConfig)\n ) {\n filePreviewComponent = filePreviewConfig as PayloadComponent\n } else {\n filePreviewComponent = matchMimeType(\n filePreviewConfig as Record<string, PayloadComponent>,\n mimeType,\n )\n }\n\n if (filePreviewComponent) {\n components.UploadFilePreview = RenderServerComponent({\n clientProps: {\n filename: doc?.filename,\n filesize: doc?.filesize,\n fileSrc: doc?.url,\n height: doc?.height,\n mimeType,\n width: doc?.width,\n },\n Component: filePreviewComponent,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n }\n\n return components\n}\n\nexport const renderDocumentSlotsHandler: ServerFunction<{\n collectionSlug: string\n id?: number | string\n}> = async (args) => {\n const { id, collectionSlug, locale, permissions, req, user } = args\n\n const collectionConfig = req.payload.collections[collectionSlug]?.config\n\n if (!collectionConfig) {\n throw new Error(req.t('error:incorrectCollection'))\n }\n\n const { hasSavePermission } = await getDocumentPermissions({\n id,\n collectionConfig,\n data: {},\n req,\n })\n\n let doc: Record<string, unknown> | undefined\n if (id && collectionConfig.upload) {\n const result = await req.payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n overrideAccess: false,\n req,\n select: {\n filename: true,\n filesize: true,\n height: true,\n mimeType: true,\n url: true,\n width: true,\n },\n })\n doc = result\n }\n\n return renderDocumentSlots({\n id,\n collectionConfig,\n doc,\n hasSavePermission,\n locale,\n permissions,\n req,\n user,\n })\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"APIKeyGenerationModal.js","names":["c","_c","useModal","React","useCallback","toast","Button","ConfirmationModal","Translation","useDocumentInfo","useTranslation","APIKeyGenerationModal","t0","$","id","apiKeyLast4","highlightField","icon","setKey","willInvalidateExistingKey","t1","undefined","documentID","toggleModal","t","modalSlug","t2","success","handleGenerate","t3","t4","_jsxs","Fragment","children","_jsx","buttonStyle","className","onClick","size","body","elements","1","_temp","i18nKey","heading","onConfirm"],"sources":["../../../../src/views/Edit/Auth/APIKeyGenerationModal.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { ConfirmationModal } from '../../../elements/ConfirmationModal/index.js'\nimport { Translation } from '../../../elements/Translation/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\ntype APIKeyGenerationModalProps = {\n apiKeyLast4?: string\n highlightField: () => void\n icon?: React.ReactNode\n id?: string\n setKey: () => boolean | Promise<boolean | void> | void\n willInvalidateExistingKey?: boolean\n}\n\nexport function APIKeyGenerationModal({\n id,\n apiKeyLast4,\n highlightField,\n icon,\n setKey,\n willInvalidateExistingKey = true,\n}: APIKeyGenerationModalProps) {\n const { id: documentID } = useDocumentInfo()\n const { toggleModal } = useModal()\n const { t } = useTranslation()\n const modalSlug = `generate-confirmation-${documentID}`\n const handleGenerate = useCallback(async () => {\n if ((await setKey()) === false) {\n return\n }\n toast.success(t('authentication:newAPIKeyGenerated'))\n highlightField()\n }, [highlightField, setKey, t])\n\n return (\n <React.Fragment>\n <Button\n aria-label={icon ? t('authentication:generateNewAPIKey') : undefined}\n buttonStyle={icon ? 'ghost' : 'secondary'}\n className={icon ? 'api-key__regenerate-button' : undefined}\n icon={icon}\n id={id}\n onClick={() => toggleModal(modalSlug)}\n size=\"medium\"\n >\n {!icon && t('authentication:generateNewAPIKey')}\n </Button>\n <ConfirmationModal\n body={\n willInvalidateExistingKey && apiKeyLast4 ? (\n <span>\n Generating a new API key will invalidate the key ending in{' '}\n <strong>{apiKeyLast4}</strong>. This will take effect immediately.\n </span>\n ) : willInvalidateExistingKey ? (\n <Translation\n elements={{ 1: ({ children }) => <strong>{children}</strong> }}\n i18nKey=\"authentication:generatingNewAPIKeyWillInvalidate\"\n t={t}\n />\n ) : (\n <span>\n Are you sure you want to generate an API key for user <strong>{documentID}</strong>?\n This will take effect immediately.\n </span>\n )\n }\n confirmLabel={t('authentication:generate')}\n heading={t('authentication:confirmGeneration')}\n modalSlug={modalSlug}\n onConfirm={handleGenerate}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"APIKeyGenerationModal.js","names":["c","_c","useModal","React","useCallback","toast","Button","ConfirmationModal","Translation","useDocumentInfo","useTranslation","APIKeyGenerationModal","t0","$","id","apiKeyLast4","highlightField","icon","setKey","willInvalidateExistingKey","t1","undefined","documentID","toggleModal","t","modalSlug","t2","success","handleGenerate","t3","t4","_jsxs","Fragment","children","_jsx","buttonStyle","className","onClick","size","body","elements","1","_temp","i18nKey","heading","onConfirm"],"sources":["../../../../src/views/Edit/Auth/APIKeyGenerationModal.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { ConfirmationModal } from '../../../elements/ConfirmationModal/index.js'\nimport { Translation } from '../../../elements/Translation/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\ntype APIKeyGenerationModalProps = {\n apiKeyLast4?: string\n highlightField: () => void\n icon?: React.ReactNode\n id?: string\n setKey: () => boolean | Promise<boolean | void> | void\n willInvalidateExistingKey?: boolean\n}\n\nexport function APIKeyGenerationModal({\n id,\n apiKeyLast4,\n highlightField,\n icon,\n setKey,\n willInvalidateExistingKey = true,\n}: APIKeyGenerationModalProps) {\n const { id: documentID } = useDocumentInfo()\n const { toggleModal } = useModal()\n const { t } = useTranslation()\n const modalSlug = `generate-confirmation-${documentID}`\n const handleGenerate = useCallback(async () => {\n if ((await setKey()) === false) {\n return\n }\n toast.success(t('authentication:newAPIKeyGenerated'))\n highlightField()\n }, [highlightField, setKey, t])\n\n return (\n <React.Fragment>\n <Button\n aria-label={icon ? t('authentication:generateNewAPIKey') : undefined}\n buttonStyle={icon ? 'ghost' : 'secondary'}\n className={icon ? 'api-key__regenerate-button' : undefined}\n icon={icon}\n id={id}\n onClick={() => toggleModal(modalSlug)}\n size=\"medium\"\n >\n {!icon && t('authentication:generateNewAPIKey')}\n </Button>\n <ConfirmationModal\n body={\n willInvalidateExistingKey && apiKeyLast4 ? (\n <span>\n Generating a new API key will invalidate the key ending in{' '}\n <strong>{apiKeyLast4}</strong>. This will take effect immediately.\n </span>\n ) : willInvalidateExistingKey ? (\n <Translation\n elements={{ 1: ({ children }) => <strong>{children}</strong> }}\n i18nKey=\"authentication:generatingNewAPIKeyWillInvalidate\"\n t={t}\n />\n ) : (\n <span>\n Are you sure you want to generate an API key for user <strong>{documentID}</strong>?\n This will take effect immediately.\n </span>\n )\n }\n confirmLabel={t('authentication:generate')}\n heading={t('authentication:confirmGeneration')}\n modalSlug={modalSlug}\n onConfirm={handleGenerate}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,IAASC,WAAW,QAAQ;AACnC,SAASC,KAAK,QAAQ;AAEtB,SAASC,MAAM,QAAQ;AACvB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,WAAW,QAAQ;AAC5B,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAW/B,OAAO,SAAAC,sBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAA+B;IAAAa,EAAA;IAAAC,WAAA;IAAAC,cAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,yBAAA,EAAAC;EAAA,IAAAR,EAOT;EAD3B,MAAAO,yBAAA,GAAAC,EAAgC,KAAhCC,SAAgC,GAAhC,IAAgC,GAAhCD,EAAgC;EAEhC;IAAAN,EAAA,EAAAQ;EAAA,IAA2Bb,eAAA;EAC3B;IAAAc;EAAA,IAAwBrB,QAAA;EACxB;IAAAsB;EAAA,IAAcd,cAAA;EACd,MAAAe,SAAA,GAAkB,yBAAyBH,UAAA,EAAY;EAAA,IAAAI,EAAA;EAAA,IAAAb,CAAA,QAAAG,cAAA,IAAAH,CAAA,QAAAK,MAAA,IAAAL,CAAA,QAAAW,CAAA;IACpBE,EAAA,SAAAA,CAAA;MACjC,IAAI,OAAOR,MAAA,QAAc;QAAA;MAAA;MAGzBb,KAAA,CAAAsB,OAAa,CAACH,CAAA,CAAE;MAChBR,cAAA;IAAA,CACF;IAAAH,CAAA,MAAAG,cAAA;IAAAH,CAAA,MAAAK,MAAA;IAAAL,CAAA,MAAAW,CAAA;IAAAX,CAAA,MAAAa,EAAA;EAAA;IAAAA,EAAA,GAAAb,CAAA;EAAA;EANA,MAAAe,cAAA,GAAuBF,EAMO;EAAA,IAAAG,EAAA;EAAA,IAAAhB,CAAA,QAAAE,WAAA,IAAAF,CAAA,QAAAS,UAAA,IAAAT,CAAA,QAAAe,cAAA,IAAAf,CAAA,QAAAI,IAAA,IAAAJ,CAAA,QAAAC,EAAA,IAAAD,CAAA,QAAAY,SAAA,IAAAZ,CAAA,SAAAW,CAAA,IAAAX,CAAA,SAAAU,WAAA,IAAAV,CAAA,SAAAM,yBAAA;IAAA,IAAAW,EAAA;IAAA,IAAAjB,CAAA,SAAAY,SAAA,IAAAZ,CAAA,SAAAU,WAAA;MAUfO,EAAA,GAAAA,CAAA,KAAMP,WAAA,CAAYE,SAAA;MAAAZ,CAAA,OAAAY,SAAA;MAAAZ,CAAA,OAAAU,WAAA;MAAAV,CAAA,OAAAiB,EAAA;IAAA;MAAAA,EAAA,GAAAjB,CAAA;IAAA;IAP/BgB,EAAA,GAAAE,KAAA,CAAC5B,KAAA,CAAA6B,QAAc;MAAAC,QAAA,E,CACbC,IAAA,CAAC5B,MAAA;QAAA,cACaW,IAAA,GAAOO,CAAA,CAAE,kCAAsC,IAA/CH,SAA+C;QAAAc,WAAA,EAC9ClB,IAAA,UAAiB,GAAjB,WAAiB;QAAAmB,SAAA,EACnBnB,IAAA,+BAAsC,GAAtCI,SAAsC;QAAAJ,IAAA;QAAAH,EAAA;QAAAuB,OAAA,EAGxCP,EAAkB;QAAAQ,IAAA,EACtB;QAAAL,QAAA,EAEJ,CAAChB,IAAU,IAAFO,CAAA,CAAE;UAEdU,IAAA,CAAC3B,iBAAA;QAAAgC,IAAA,EAEGpB,yBAA6B,IAA7BJ,W,GACEgB,KAAA,CAAC;UAAAE,QAAA,E,CAAK,8DACuD,KAC3DC,IAAA,CAAC;YAAAD,QAAA,EAAQlB;cAAqB;aAE9BI,yBAAA,GACFe,IAAA,CAAC1B,WAAA;UAAAgC,QAAA,EACW;YAAAC,CAAA,EAAKC;UAA8C;UAAAC,OAAA,EACrD;UAAAnB;aAIVO,KAAA,CAAC;UAAAE,QAAA,E,CAAK,0DACkDC,IAAA,CAAC;YAAAD,QAAA,EAAQX;cAAoB;;sBAK3EE,CAAA,CAAE;QAAAoB,OAAA,EACPpB,CAAA,CAAE;QAAAC,SAAA;QAAAoB,SAAA,EAEAjB;;;;;;;;;;;;;;;;SAnCfC,E;;AArBG,SAAAa,MAAA9B,EAAA;EA0CuB;IAAAqB;EAAA,IAAArB,EAAY;EAAA,OAAKsB,IAAA,CAAC;IAAAD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA8D,MAAM,OAAO,CAAA;AAGlF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAWvC,OAAO,aAAa,CAAA;AAKpB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAyRhC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA8D,MAAM,OAAO,CAAA;AAGlF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAWvC,OAAO,aAAa,CAAA;AAKpB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAsRhC,CAAA"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import { formatAdminURL, getFieldPermissions } from 'payload/shared';
5
+ import { flattenTopLevelFields, formatAdminURL, getFieldPermissions } from 'payload/shared';
6
6
  import React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react';
7
7
  import { toast } from 'sonner';
8
8
  import { Button } from '../../../elements/Button/index.js';
@@ -47,7 +47,8 @@ export const Auth = props => {
47
47
  isTrashed
48
48
  } = useDocumentInfo();
49
49
  const {
50
- config: t0
50
+ config: t0,
51
+ getEntityConfig
51
52
  } = useConfig();
52
53
  const {
53
54
  routes: t1
@@ -55,13 +56,15 @@ export const Auth = props => {
55
56
  const {
56
57
  api
57
58
  } = t1;
58
- let showPasswordFields = true;
59
+ const hasPasswordField = flattenTopLevelFields(getEntityConfig({
60
+ collectionSlug
61
+ }).fields).some(_temp2);
62
+ let showPasswordFields = Boolean(docPermissions[operation]);
59
63
  let showUnlock = true;
60
- const hasPasswordFieldOverride = typeof docPermissions.fields === "object" && "password" in docPermissions.fields;
61
64
  const hasLoginFieldOverride = typeof docPermissions.fields === "object" && ("username" in docPermissions.fields || "email" in docPermissions.fields);
62
- if (hasPasswordFieldOverride) {
65
+ if (hasPasswordField) {
63
66
  const {
64
- permissions: passwordPermissions
67
+ operation: passwordPermission
65
68
  } = getFieldPermissions({
66
69
  field: {
67
70
  name: "password",
@@ -71,11 +74,7 @@ export const Auth = props => {
71
74
  parentName: "",
72
75
  permissions: docPermissions?.fields
73
76
  });
74
- if (operation === "create") {
75
- showPasswordFields = passwordPermissions === true || typeof passwordPermissions === "object" && passwordPermissions.create;
76
- } else {
77
- showPasswordFields = passwordPermissions === true || typeof passwordPermissions === "object" && passwordPermissions.update;
78
- }
77
+ showPasswordFields = passwordPermission;
79
78
  }
80
79
  if (hasLoginFieldOverride) {
81
80
  const hasEmailAndUsernameFields = loginWithUsername && (loginWithUsername.requireEmail || loginWithUsername.allowEmailLogin);
@@ -332,4 +331,7 @@ export const Auth = props => {
332
331
  function _temp(reducer) {
333
332
  return reducer[1];
334
333
  }
334
+ function _temp2(field) {
335
+ return field.name === "password";
336
+ }
335
337
  //# 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","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":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","flattenTopLevelFields","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","getEntityConfig","routes","t1","api","hasPasswordField","fields","some","_temp2","showPasswordFields","Boolean","showUnlock","hasLoginFieldOverride","passwordPermission","field","name","type","parentName","permissions","hasEmailAndUsernameFields","requireEmail","allowEmailLogin","emailPermission","usernamePermission","enableFields","disabled","apiKeyPermissions","apiKey","canManageAPIKey","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 { flattenTopLevelFields, 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 getEntityConfig,\n } = useConfig()\n\n const hasPasswordField = useMemo(\n () =>\n flattenTopLevelFields(getEntityConfig({ collectionSlug }).fields).some(\n (field) => field.name === 'password',\n ),\n [collectionSlug, getEntityConfig],\n )\n\n let showPasswordFields = Boolean(docPermissions[operation])\n let showUnlock = true\n const hasLoginFieldOverride =\n typeof docPermissions.fields === 'object' &&\n ('username' in docPermissions.fields || 'email' in docPermissions.fields)\n\n if (hasPasswordField) {\n const { operation: passwordPermission } = getFieldPermissions({\n field: { name: 'password', type: 'text' },\n operation,\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n showPasswordFields = passwordPermission\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":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","formatAdminURL","useEffect","useStepNav","useConfig","useDocumentInfo","useDocumentTitle","useEntityVisibility","useTranslation","SetDocumentStepNav","props","$","id","collectionSlug","globalSlug","isTrashed","pluralLabel","useAsTitle","view","undefined","isEditing","isInitializing","title","isEntityVisible","t0","isVisible","setStepNav","i18n","t","config","t1","routes","t2","serverURL","admin","adminRoute","t3","nav","push","label","url","path","t4"],"sources":["../../../../src/views/Edit/SetDocumentStepNav/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport { useEffect } from 'react'\n\nimport type { StepNavItem } from '../../../elements/StepNav/index.js'\n\nimport { useStepNav } from '../../../elements/StepNav/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useEntityVisibility } from '../../../providers/EntityVisibility/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nexport const SetDocumentStepNav: React.FC<{\n collectionSlug?: SanitizedCollectionConfig['slug']\n globalLabel?: SanitizedGlobalConfig['label']\n globalSlug?: SanitizedGlobalConfig['slug']\n id?: number | string\n isTrashed?: boolean\n pluralLabel?: SanitizedCollectionConfig['labels']['plural']\n useAsTitle?: SanitizedCollectionConfig['admin']['useAsTitle']\n view?: string\n}> = (props) => {\n const { id, collectionSlug, globalSlug, isTrashed, pluralLabel, useAsTitle } = props\n\n const view: string | undefined = props?.view || undefined\n\n const { isEditing, isInitializing } = useDocumentInfo()\n const { title } = useDocumentTitle()\n\n const { isEntityVisible } = useEntityVisibility()\n const isVisible = isEntityVisible({ collectionSlug, globalSlug })\n\n const { setStepNav } = useStepNav()\n\n const { i18n, t } = useTranslation()\n\n const {\n config: {\n routes: { admin: adminRoute },\n serverURL,\n },\n } = useConfig()\n\n useEffect(() => {\n const nav: StepNavItem[] = []\n\n if (!isInitializing) {\n if (collectionSlug) {\n // Collection label\n nav.push({\n label: getTranslation(pluralLabel, i18n),\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n })\n : undefined,\n })\n\n // Trash breadcrumb (if in trash view)\n if (isTrashed) {\n nav.push({\n label: t('general:trash'),\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/trash`,\n })\n : undefined,\n })\n }\n\n // Document label\n if (isEditing) {\n nav.push({\n label: (useAsTitle && useAsTitle !== 'id' && title) || `${id}`,\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: isTrashed\n ? `/collections/${collectionSlug}/trash/${id}`\n : `/collections/${collectionSlug}/${id}`,\n })\n : undefined,\n })\n } else {\n nav.push({\n label: t('general:createNew'),\n })\n }\n } else if (globalSlug) {\n nav.push({\n label: title,\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n })\n : undefined,\n })\n }\n\n // Fallback view (used for versions, previews, etc.)\n if (view) {\n nav.push({\n label: view,\n })\n }\n\n setStepNav(nav)\n }\n }, [\n setStepNav,\n isInitializing,\n isEditing,\n pluralLabel,\n id,\n isTrashed,\n useAsTitle,\n adminRoute,\n t,\n i18n,\n title,\n collectionSlug,\n globalSlug,\n serverURL,\n view,\n isVisible,\n ])\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","formatAdminURL","useEffect","useStepNav","useConfig","useDocumentInfo","useDocumentTitle","useEntityVisibility","useTranslation","SetDocumentStepNav","props","$","id","collectionSlug","globalSlug","isTrashed","pluralLabel","useAsTitle","view","undefined","isEditing","isInitializing","title","isEntityVisible","t0","isVisible","setStepNav","i18n","t","config","t1","routes","t2","serverURL","admin","adminRoute","t3","nav","push","label","url","path","t4"],"sources":["../../../../src/views/Edit/SetDocumentStepNav/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport { useEffect } from 'react'\n\nimport type { StepNavItem } from '../../../elements/StepNav/index.js'\n\nimport { useStepNav } from '../../../elements/StepNav/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useEntityVisibility } from '../../../providers/EntityVisibility/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nexport const SetDocumentStepNav: React.FC<{\n collectionSlug?: SanitizedCollectionConfig['slug']\n globalLabel?: SanitizedGlobalConfig['label']\n globalSlug?: SanitizedGlobalConfig['slug']\n id?: number | string\n isTrashed?: boolean\n pluralLabel?: SanitizedCollectionConfig['labels']['plural']\n useAsTitle?: SanitizedCollectionConfig['admin']['useAsTitle']\n view?: string\n}> = (props) => {\n const { id, collectionSlug, globalSlug, isTrashed, pluralLabel, useAsTitle } = props\n\n const view: string | undefined = props?.view || undefined\n\n const { isEditing, isInitializing } = useDocumentInfo()\n const { title } = useDocumentTitle()\n\n const { isEntityVisible } = useEntityVisibility()\n const isVisible = isEntityVisible({ collectionSlug, globalSlug })\n\n const { setStepNav } = useStepNav()\n\n const { i18n, t } = useTranslation()\n\n const {\n config: {\n routes: { admin: adminRoute },\n serverURL,\n },\n } = useConfig()\n\n useEffect(() => {\n const nav: StepNavItem[] = []\n\n if (!isInitializing) {\n if (collectionSlug) {\n // Collection label\n nav.push({\n label: getTranslation(pluralLabel, i18n),\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n })\n : undefined,\n })\n\n // Trash breadcrumb (if in trash view)\n if (isTrashed) {\n nav.push({\n label: t('general:trash'),\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/trash`,\n })\n : undefined,\n })\n }\n\n // Document label\n if (isEditing) {\n nav.push({\n label: (useAsTitle && useAsTitle !== 'id' && title) || `${id}`,\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: isTrashed\n ? `/collections/${collectionSlug}/trash/${id}`\n : `/collections/${collectionSlug}/${id}`,\n })\n : undefined,\n })\n } else {\n nav.push({\n label: t('general:createNew'),\n })\n }\n } else if (globalSlug) {\n nav.push({\n label: title,\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n })\n : undefined,\n })\n }\n\n // Fallback view (used for versions, previews, etc.)\n if (view) {\n nav.push({\n label: view,\n })\n }\n\n setStepNav(nav)\n }\n }, [\n setStepNav,\n isInitializing,\n isEditing,\n pluralLabel,\n id,\n isTrashed,\n useAsTitle,\n adminRoute,\n t,\n i18n,\n title,\n collectionSlug,\n globalSlug,\n serverURL,\n view,\n isVisible,\n ])\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useEffect","useRef","useFormFields","useDocumentTitle","useTranslation","formatDocTitle","SetDocumentTitle","props","$","collectionConfig","config","fallback","globalConfig","useAsTitle","admin","t0","t1","fields","field","hasInitialized","i18n","setDocumentTitle","dateFormatFromConfig","dateFormat","value","t2","data","id","title","t3","t4","current","animationFrame","requestAnimationFrame","cancelAnimationFrame"],"sources":["../../../../src/views/Edit/SetDocumentTitle/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientConfig, ClientGlobalConfig } from 'payload'\n\nimport { useEffect, useRef } from 'react'\n\nimport { useFormFields } from '../../../forms/Form/context.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { formatDocTitle } from '../../../utilities/formatDocTitle/index.js'\n\nexport const SetDocumentTitle: React.FC<{\n collectionConfig?: ClientCollectionConfig\n config?: ClientConfig\n fallback: string\n globalConfig?: ClientGlobalConfig\n}> = (props) => {\n const { collectionConfig, config, fallback, globalConfig } = props\n\n const useAsTitle = collectionConfig?.admin?.useAsTitle\n\n const field = useFormFields(([fields]) => (useAsTitle && fields && fields?.[useAsTitle]) || null)\n\n const hasInitialized = useRef(false)\n\n const { i18n } = useTranslation()\n\n const { setDocumentTitle } = useDocumentTitle()\n\n const dateFormatFromConfig = config?.admin?.dateFormat\n\n const title = formatDocTitle({\n collectionConfig,\n data: { id: '', [useAsTitle]: field?.value || '' },\n dateFormat: dateFormatFromConfig,\n fallback,\n globalConfig,\n i18n,\n })\n\n useEffect(() => {\n if (!hasInitialized.current) {\n hasInitialized.current = true\n return\n }\n\n // Coalesce rapid field changes before updating the title and step navigation contexts.\n const animationFrame = requestAnimationFrame(() => {\n setDocumentTitle(title)\n })\n\n return () => cancelAnimationFrame(animationFrame)\n }, [setDocumentTitle, title])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAGA,SAASC,SAAS,EAAEC,MAAM,QAAQ;AAElC,SAASC,aAAa,QAAQ;AAC9B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,gBAAA,GAKRC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACH;IAAAU,gBAAA;IAAAC,MAAA;IAAAC,QAAA;IAAAC;EAAA,IAA6DL,KAAA;EAE7D,MAAAM,UAAA,GAAmBJ,gBAAA,EAAAK,KAAA,EAAAD,UAAA;EAAyB,IAAAE,EAAA;EAAA,IAAAP,CAAA,QAAAK,UAAA;IAEhBE,EAAA,GAAAC,EAAA;MAAC,OAAAC,MAAA,IAAAD,EAAQ;MAAA,OAAKH,UAAC,IAAcI,MAAA,IAAUA,MAAA,GAASJ,UAAA,CAAW,QAAK;IAAA;IAAAL,CAAA,MAAAK,UAAA;IAAAL,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAA5F,MAAAU,KAAA,GAAchB,aAAA,CAAca,EAAgE;EAE5F,MAAAI,cAAA,GAAuBlB,MAAA,MAAO;EAE9B;IAAAmB;EAAA,IAAiBhB,cAAA;EAEjB;IAAAiB;EAAA,IAA6BlB,gBAAA;EAE7B,MAAAmB,oBAAA,GAA6BZ,MAAA,EAAAI,KAAA,EAAAS,UAAA;EAIG,MAAAP,EAAA,GAAAE,KAAA,EAAAM,KAAA,IAAgB;EAAA,IAAAC,EAAA;EAAA,IAAAjB,CAAA,QAAAC,gBAAA,IAAAD,CAAA,QAAAc,oBAAA,IAAAd,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAI,YAAA,IAAAJ,CAAA,QAAAY,IAAA,IAAAZ,CAAA,QAAAQ,EAAA,IAAAR,CAAA,QAAAK,UAAA;IAFlCY,EAAA,GAAApB,cAAA;MAAAI,gBAAA;MAAAiB,IAAA;QAAAC,EAAA,EAEA;QAAA,CAAKd,UAAA,GAAaG;MAAgB;MAAAO,UAAA,EAClCD,oBAAA;MAAAX,QAAA;MAAAC,YAAA;MAAAQ;IAAA,CAId;IAAAZ,CAAA,MAAAC,gBAAA;IAAAD,CAAA,MAAAc,oBAAA;IAAAd,CAAA,MAAAG,QAAA;IAAAH,CAAA,MAAAI,YAAA;IAAAJ,CAAA,MAAAY,IAAA;IAAAZ,CAAA,MAAAQ,EAAA;IAAAR,CAAA,MAAAK,UAAA;IAAAL,CAAA,MAAAiB,EAAA;EAAA;IAAAA,EAAA,GAAAjB,CAAA;EAAA;EAPA,MAAAoB,KAAA,GAAcH,EAOd;EAAA,IAAAI,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAtB,CAAA,SAAAa,gBAAA,IAAAb,CAAA,SAAAoB,KAAA;IAEUC,EAAA,GAAAA,CAAA;MAAA,KACHV,cAAA,CAAAY,OAAA;QACHZ,cAAA,CAAAY,OAAA;QAAA;MAAA;MAKF,MAAAC,cAAA,GAAuBC,qBAAA;QACrBZ,gBAAA,CAAiBO,KAAA;MAAA,CACnB;MAAA,aAEaM,oBAAA,CAAqBF,cAAA;IAAA;IACjCF,EAAA,IAACT,gBAAA,EAAkBO,KAAA;IAAMpB,CAAA,OAAAa,gBAAA;IAAAb,CAAA,OAAAoB,KAAA;IAAApB,CAAA,OAAAqB,EAAA;IAAArB,CAAA,OAAAsB,EAAA;EAAA;IAAAD,EAAA,GAAArB,CAAA;IAAAsB,EAAA,GAAAtB,CAAA;EAAA;EAZ5BR,SAAA,CAAU6B,EAYV,EAAGC,EAAyB;EAAA;AAAA,CAG9B","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useEffect","useRef","useFormFields","useDocumentTitle","useTranslation","formatDocTitle","SetDocumentTitle","props","$","collectionConfig","config","fallback","globalConfig","useAsTitle","admin","t0","t1","fields","field","hasInitialized","i18n","setDocumentTitle","dateFormatFromConfig","dateFormat","value","t2","data","id","title","t3","t4","current","animationFrame","requestAnimationFrame","cancelAnimationFrame"],"sources":["../../../../src/views/Edit/SetDocumentTitle/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientConfig, ClientGlobalConfig } from 'payload'\n\nimport { useEffect, useRef } from 'react'\n\nimport { useFormFields } from '../../../forms/Form/context.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { formatDocTitle } from '../../../utilities/formatDocTitle/index.js'\n\nexport const SetDocumentTitle: React.FC<{\n collectionConfig?: ClientCollectionConfig\n config?: ClientConfig\n fallback: string\n globalConfig?: ClientGlobalConfig\n}> = (props) => {\n const { collectionConfig, config, fallback, globalConfig } = props\n\n const useAsTitle = collectionConfig?.admin?.useAsTitle\n\n const field = useFormFields(([fields]) => (useAsTitle && fields && fields?.[useAsTitle]) || null)\n\n const hasInitialized = useRef(false)\n\n const { i18n } = useTranslation()\n\n const { setDocumentTitle } = useDocumentTitle()\n\n const dateFormatFromConfig = config?.admin?.dateFormat\n\n const title = formatDocTitle({\n collectionConfig,\n data: { id: '', [useAsTitle]: field?.value || '' },\n dateFormat: dateFormatFromConfig,\n fallback,\n globalConfig,\n i18n,\n })\n\n useEffect(() => {\n if (!hasInitialized.current) {\n hasInitialized.current = true\n return\n }\n\n // Coalesce rapid field changes before updating the title and step navigation contexts.\n const animationFrame = requestAnimationFrame(() => {\n setDocumentTitle(title)\n })\n\n return () => cancelAnimationFrame(animationFrame)\n }, [setDocumentTitle, title])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAGA,SAASC,SAAS,EAAEC,MAAM,QAAQ;AAElC,SAASC,aAAa,QAAQ;AAC9B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,gBAAA,GAKRC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACH;IAAAU,gBAAA;IAAAC,MAAA;IAAAC,QAAA;IAAAC;EAAA,IAA6DL,KAAA;EAE7D,MAAAM,UAAA,GAAmBJ,gBAAA,EAAAK,KAAyB,EAAAD,UAAA;EAAA,IAAAE,EAAA;EAAA,IAAAP,CAAA,QAAAK,UAAA;IAEhBE,EAAA,GAAAC,EAAA;MAAC,OAAAC,MAAA,IAAAD,EAAQ;MAAA,OAAKH,UAAe,IAAfI,MAA6C,IAApBA,MAAA,GAASJ,UAAA,CAAgB,IAAlD,IAAkD;IAAA;IAAAL,CAAA,MAAAK,UAAA;IAAAL,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAA5F,MAAAU,KAAA,GAAchB,aAAA,CAAca,EAAgE;EAE5F,MAAAI,cAAA,GAAuBlB,MAAA,CAAO;EAE9B;IAAAmB;EAAA,IAAiBhB,cAAA;EAEjB;IAAAiB;EAAA,IAA6BlB,gBAAA;EAE7B,MAAAmB,oBAAA,GAA6BZ,MAAA,EAAAI,KAAe,EAAAS,UAAA;EAIZ,MAAAP,EAAA,GAAAE,KAAA,EAAAM,KAAgB,IAAhB,EAAgB;EAAA,IAAAC,EAAA;EAAA,IAAAjB,CAAA,QAAAC,gBAAA,IAAAD,CAAA,QAAAc,oBAAA,IAAAd,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAI,YAAA,IAAAJ,CAAA,QAAAY,IAAA,IAAAZ,CAAA,QAAAQ,EAAA,IAAAR,CAAA,QAAAK,UAAA;IAFlCY,EAAA,GAAApB,cAAA,CAAe;MAAAI,gBAAA;MAAAiB,IAAA,EAErB;QAAAC,EAAA,EAAM;QAAA,CAAKd,UAAA,GAAaG;MAAmB;MAAAO,UAAA,EACrCD,oBAAA;MAAAX,QAAA;MAAAC,YAAA;MAAAQ;IAId;IAAAZ,CAAA,MAAAC,gBAAA;IAAAD,CAAA,MAAAc,oBAAA;IAAAd,CAAA,MAAAG,QAAA;IAAAH,CAAA,MAAAI,YAAA;IAAAJ,CAAA,MAAAY,IAAA;IAAAZ,CAAA,MAAAQ,EAAA;IAAAR,CAAA,MAAAK,UAAA;IAAAL,CAAA,MAAAiB,EAAA;EAAA;IAAAA,EAAA,GAAAjB,CAAA;EAAA;EAPA,MAAAoB,KAAA,GAAcH,EAOd;EAAA,IAAAI,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAtB,CAAA,SAAAa,gBAAA,IAAAb,CAAA,SAAAoB,KAAA;IAEUC,EAAA,GAAAA,CAAA;MACR,IAAI,CAACV,cAAA,CAAAY,OAAsB;QACzBZ,cAAA,CAAAY,OAAA,GAAyB,IAAH;QAAA;MAAA;MAKxB,MAAAC,cAAA,GAAuBC,qBAAA,CAAsB;QAC3CZ,gBAAA,CAAiBO,KAAA;MAAA,CACnB;MAAA,OAEO,MAAMM,oBAAA,CAAqBF,cAAA;IAAA,CACpC;IAAGF,EAAA,IAACT,gBAAA,EAAkBO,KAAA,CAAM;IAAApB,CAAA,OAAAa,gBAAA;IAAAb,CAAA,OAAAoB,KAAA;IAAApB,CAAA,OAAAqB,EAAA;IAAArB,CAAA,OAAAsB,EAAA;EAAA;IAAAD,EAAA,GAAArB,CAAA;IAAAsB,EAAA,GAAAtB,CAAA;EAAA;EAZ5BR,SAAA,CAAU6B,EAYV,EAAGC,EAAyB;EAAA,OAErB;AAAA,CACT","ignoreList":[]}
@@ -68,6 +68,32 @@
68
68
  width: 100%;
69
69
  }
70
70
 
71
+ .collection-edit .collection-edit__main > .document-fields {
72
+ width: 100%;
73
+ max-width: 100%;
74
+ margin-inline: auto;
75
+ }
76
+
77
+ @media (min-width: 1024px) {
78
+ .collection-edit--constrain-document-width
79
+ .collection-edit__main
80
+ > .document-fields:not(.document-fields--force-sidebar-wrap) {
81
+ --field-border-bleed: 0;
82
+ --field-tabs-edge-display: none;
83
+ max-width: calc(var(--spacer-6) * 27);
84
+ }
85
+ }
86
+
87
+ @container drawer (width <= 768px) {
88
+ .collection-edit--constrain-document-width
89
+ .collection-edit__main
90
+ > .document-fields:not(.document-fields--force-sidebar-wrap) {
91
+ --field-border-bleed: 1;
92
+ --field-tabs-edge-display: block;
93
+ max-width: 100%;
94
+ }
95
+ }
96
+
71
97
  .collection-edit__main--popup-open {
72
98
  width: 100%;
73
99
  }
@@ -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;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,qBAmyBzB"}
@@ -72,7 +72,7 @@ export function DefaultEditView({
72
72
  disableLeaveWithoutSaving,
73
73
  docPermissions,
74
74
  documentIsLocked,
75
- documentLockState,
75
+ documentLockState: documentLockStateRef,
76
76
  getDocPermissions,
77
77
  getDocPreferences,
78
78
  globalSlug,
@@ -176,13 +176,24 @@ export function DefaultEditView({
176
176
  const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false);
177
177
  const [showTakeOverModal, setShowTakeOverModal] = useState(false);
178
178
  const [showStaleDataModal, setShowStaleDataModal] = useState(false);
179
- const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now());
179
+ const [editSessionStartTime, setEditSessionStartTime] = useState(() => Date.now());
180
180
  const hasCheckedForStaleDataRef = useRef(false);
181
181
  const originalUpdatedAtRef = useRef(data?.updatedAt);
182
182
  const saveCounterRef = useRef(0);
183
183
  const isSavingRef = useRef(false);
184
184
  const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds;
185
- const isLockExpired = Date.now() > lockExpiryTime;
185
+ // Render can't read the current time, so check for expiry when the lock changes and expires
186
+ const [isLockExpired, setIsLockExpired] = useState(() => Date.now() > lockExpiryTime);
187
+ useEffect(() => {
188
+ const msUntilExpiry = lockExpiryTime - Date.now();
189
+ setIsLockExpired(msUntilExpiry < 0);
190
+ // Start a timer that marks the lock as expired at the moment it expires, which
191
+ // hides the "document locked" modal
192
+ if (msUntilExpiry >= 0 && msUntilExpiry <= 2_147_483_647) {
193
+ const timeout = setTimeout(() => setIsLockExpired(true), msUntilExpiry);
194
+ return () => clearTimeout(timeout);
195
+ }
196
+ }, [lockExpiryTime]);
186
197
  const preventLeaveWithoutSaving = !isReadOnlyForIncomingUser && (typeof disableLeaveWithoutSaving !== 'undefined' ? !disableLeaveWithoutSaving : !autosaveEnabled);
187
198
  const schemaPathSegments = useMemo(() => [entitySlug], [entitySlug]);
188
199
  const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {
@@ -194,16 +205,16 @@ export function DefaultEditView({
194
205
  const nextHrefRef = React.useRef(null);
195
206
  const handleDocumentLocking = useCallback(lockedState => {
196
207
  setDocumentIsLocked(true);
197
- const previousOwnerID = typeof documentLockState.current?.user === 'object' ? documentLockState.current?.user?.id : documentLockState.current?.user;
208
+ const previousOwnerID = typeof documentLockStateRef.current?.user === 'object' ? documentLockStateRef.current?.user?.id : documentLockStateRef.current?.user;
198
209
  if (lockedState && lockedState.user) {
199
210
  const lockedUserID = typeof lockedState.user === 'string' || typeof lockedState.user === 'number' ? lockedState.user : lockedState.user.id;
200
- if (!documentLockState.current || lockedUserID !== previousOwnerID) {
211
+ if (!documentLockStateRef.current || lockedUserID !== previousOwnerID) {
201
212
  if (previousOwnerID === user.id && lockedUserID !== user.id) {
202
213
  setShowTakeOverModal(true);
203
- documentLockState.current.hasShownLockedModal = true;
214
+ documentLockStateRef.current.hasShownLockedModal = true;
204
215
  }
205
- documentLockState.current = {
206
- hasShownLockedModal: documentLockState.current?.hasShownLockedModal || false,
216
+ documentLockStateRef.current = {
217
+ hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal || false,
207
218
  isLocked: true,
208
219
  user: lockedState.user
209
220
  };
@@ -214,7 +225,7 @@ export function DefaultEditView({
214
225
  setLastUpdateTime(new Date(lockedState.lastEditedAt).getTime());
215
226
  }
216
227
  }
217
- }, [documentLockState, setCurrentEditor, setDocumentIsLocked, setLastUpdateTime, user?.id]);
228
+ }, [documentLockStateRef, setCurrentEditor, setDocumentIsLocked, setLastUpdateTime, user?.id]);
218
229
  const handleStaleDataReload = useCallback(() => {
219
230
  // Reset modal state so it can appear again if needed
220
231
  setShowStaleDataModal(false);
@@ -225,7 +236,7 @@ export function DefaultEditView({
225
236
  nextHrefRef.current = nextHref;
226
237
  }, []);
227
238
  const handleLeaveConfirm = useCallback(async () => {
228
- const lockUser = documentLockState.current?.user;
239
+ const lockUser = documentLockStateRef.current?.user;
229
240
  const isLockOwnedByCurrentUser = typeof lockUser === 'object' ? lockUser?.id === user?.id : lockUser === user?.id;
230
241
  if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {
231
242
  // Check where user is trying to go
@@ -242,7 +253,7 @@ export function DefaultEditView({
242
253
  }
243
254
  }
244
255
  }
245
- }, [collectionSlug, documentIsLocked, documentLockState, globalSlug, id, isLockingEnabled, setCurrentEditor, setDocumentIsLocked, unlockDocument, user?.id]);
256
+ }, [collectionSlug, documentIsLocked, documentLockStateRef, globalSlug, id, isLockingEnabled, setCurrentEditor, setDocumentIsLocked, unlockDocument, user?.id]);
246
257
  const onSave = useCallback(async (json, ctx) => {
247
258
  const {
248
259
  context,
@@ -288,7 +299,7 @@ export function DefaultEditView({
288
299
  adminRoute,
289
300
  path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`
290
301
  });
291
- startRouteTransition(() => router.push(redirectRoute));
302
+ void startRouteTransition(() => router.push(redirectRoute));
292
303
  } else {
293
304
  resetUploadEdits();
294
305
  }
@@ -446,7 +457,7 @@ export function DefaultEditView({
446
457
  }
447
458
  }
448
459
  }, [isInitializing]);
449
- const shouldShowDocumentLockedModal = documentIsLocked && currentEditor && (typeof currentEditor === 'object' ? currentEditor.id !== user?.id : currentEditor !== user?.id) && !isReadOnlyForIncomingUser && !showTakeOverModal && !documentLockState.current?.hasShownLockedModal && !isLockExpired;
460
+ const shouldShowDocumentLockedModal = documentIsLocked && currentEditor && (typeof currentEditor === 'object' ? currentEditor.id !== user?.id : currentEditor !== user?.id) && !isReadOnlyForIncomingUser && !showTakeOverModal && !documentLockStateRef.current?.hasShownLockedModal && !isLockExpired;
450
461
  const isFolderCollection = Boolean(collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object' && collectionConfig.hierarchy.allowHasMany === false);
451
462
  const documentControlsProps = {
452
463
  id,
@@ -481,7 +492,7 @@ export function DefaultEditView({
481
492
  id,
482
493
  clearRouteCache,
483
494
  collectionSlug,
484
- documentLockStateRef: documentLockState,
495
+ documentLockStateRef,
485
496
  globalSlug,
486
497
  isLockingEnabled,
487
498
  isWithinDoc: true,
@@ -508,7 +519,7 @@ export function DefaultEditView({
508
519
  readOnly: !hasSavePermission,
509
520
  requirePassword: !id,
510
521
  setValidateBeforeSubmit: setValidateBeforeSubmit,
511
- // eslint-disable-next-line react-compiler/react-compiler
522
+ // eslint-disable-next-line react-hooks/hooks
512
523
  useAPIKey: auth.useAPIKey,
513
524
  username: data?.username,
514
525
  verify: auth.verify
@@ -516,7 +527,7 @@ export function DefaultEditView({
516
527
  const shouldRenderUploadPanel = Boolean(upload) && !(operation === 'create' && upload.hideFileInputOnCreate);
517
528
  const shouldScrollFieldsOnly = shouldRenderUploadPanel;
518
529
  return /*#__PURE__*/_jsx("main", {
519
- className: [baseClass, (id || globalSlug) && `${baseClass}--is-editing`, globalSlug && `global-edit--${globalSlug}`, collectionSlug && `collection-edit--${collectionSlug}`, isLivePreviewing && `${baseClass}--is-live-previewing`].filter(Boolean).join(' '),
530
+ className: [baseClass, config.admin.constrainWidth && `${baseClass}--constrain-document-width`, (id || globalSlug) && `${baseClass}--is-editing`, globalSlug && `global-edit--${globalSlug}`, collectionSlug && `collection-edit--${collectionSlug}`, isLivePreviewing && `${baseClass}--is-live-previewing`].filter(Boolean).join(' '),
520
531
  children: /*#__PURE__*/_jsx(OperationProvider, {
521
532
  operation: operation,
522
533
  children: /*#__PURE__*/_jsxs(Form, {
@@ -563,7 +574,7 @@ export function DefaultEditView({
563
574
  id,
564
575
  clearRouteCache,
565
576
  collectionSlug,
566
- documentLockStateRef: documentLockState,
577
+ documentLockStateRef,
567
578
  globalSlug,
568
579
  isLockingEnabled,
569
580
  isWithinDoc: false,