@payloadcms/ui 4.0.0-internal.543da65 → 4.0.0-internal.567a487

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 (1042) hide show
  1. package/dist/css/app.css +121 -0
  2. package/dist/css/forms.css +0 -6
  3. package/dist/css/spacing.css +11 -3
  4. package/dist/css/z-index.css +10 -0
  5. package/dist/elements/APIKeyInput/index.css +4 -4
  6. package/dist/elements/AddNewRelation/index.css +0 -1
  7. package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -1
  8. package/dist/elements/AppHeader/index.css +7 -18
  9. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  10. package/dist/elements/AppHeader/index.js +12 -9
  11. package/dist/elements/AppHeader/index.js.map +1 -1
  12. package/dist/elements/ArrayAction/index.d.ts +3 -0
  13. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  14. package/dist/elements/ArrayAction/index.js +83 -29
  15. package/dist/elements/ArrayAction/index.js.map +1 -1
  16. package/dist/elements/Autosave/index.d.ts.map +1 -1
  17. package/dist/elements/Autosave/index.js +3 -0
  18. package/dist/elements/Autosave/index.js.map +1 -1
  19. package/dist/elements/BranchSelector/NewBranchModal/index.css +46 -0
  20. package/dist/elements/BranchSelector/NewBranchModal/index.d.ts +12 -0
  21. package/dist/elements/BranchSelector/NewBranchModal/index.d.ts.map +1 -0
  22. package/dist/elements/BranchSelector/NewBranchModal/index.js +174 -0
  23. package/dist/elements/BranchSelector/NewBranchModal/index.js.map +1 -0
  24. package/dist/elements/BranchSelector/index.css +172 -0
  25. package/dist/elements/BranchSelector/index.d.ts +13 -0
  26. package/dist/elements/BranchSelector/index.d.ts.map +1 -0
  27. package/dist/elements/BranchSelector/index.js +255 -0
  28. package/dist/elements/BranchSelector/index.js.map +1 -0
  29. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +2 -2
  30. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  31. package/dist/elements/BulkUpload/FileSidebar/index.css +4 -0
  32. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +2 -2
  33. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
  34. package/dist/elements/BulkUpload/FormsManager/createFormData.js +4 -15
  35. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  36. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  37. package/dist/elements/BulkUpload/FormsManager/index.js +7 -3
  38. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  39. package/dist/elements/Button/index.css +2 -2
  40. package/dist/elements/Button/index.d.ts.map +1 -1
  41. package/dist/elements/ChangeSummary/index.css +18 -0
  42. package/dist/elements/ChangeSummary/index.d.ts +28 -0
  43. package/dist/elements/ChangeSummary/index.d.ts.map +1 -0
  44. package/dist/elements/ChangeSummary/index.js +147 -0
  45. package/dist/elements/ChangeSummary/index.js.map +1 -0
  46. package/dist/elements/ClipboardAction/ClipboardActionLabel.d.ts.map +1 -1
  47. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts +8 -1
  48. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts.map +1 -1
  49. package/dist/elements/ClipboardAction/clipboardUtilities.js +40 -8
  50. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  51. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +120 -0
  52. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +1 -0
  53. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  54. package/dist/elements/ClipboardAction/index.js +17 -1
  55. package/dist/elements/ClipboardAction/index.js.map +1 -1
  56. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +144 -0
  57. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +1 -0
  58. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
  59. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  60. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +55 -0
  61. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  62. package/dist/elements/ClipboardAction/types.d.ts +3 -0
  63. package/dist/elements/ClipboardAction/types.d.ts.map +1 -1
  64. package/dist/elements/ClipboardAction/types.js.map +1 -1
  65. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts +10 -0
  66. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts.map +1 -0
  67. package/dist/elements/ClipboardAction/useCanPasteClipboard.js +21 -0
  68. package/dist/elements/ClipboardAction/useCanPasteClipboard.js.map +1 -0
  69. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  70. package/dist/elements/CodeEditor/index.css +5 -5
  71. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
  72. package/dist/elements/ColumnSelection/Popup.js +5 -1
  73. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  74. package/dist/elements/Combobox/index.css +84 -23
  75. package/dist/elements/Combobox/index.d.ts +21 -0
  76. package/dist/elements/Combobox/index.d.ts.map +1 -1
  77. package/dist/elements/Combobox/index.js +66 -21
  78. package/dist/elements/Combobox/index.js.map +1 -1
  79. package/dist/elements/CommandPalette/index.css +0 -7
  80. package/dist/elements/CopyToClipboard/index.d.ts +1 -0
  81. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  82. package/dist/elements/CopyToClipboard/index.js +10 -8
  83. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  84. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  85. package/dist/elements/CreateDocumentButton/index.js +4 -1
  86. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  87. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  88. package/dist/elements/DatePicker/DatePicker.js +1 -0
  89. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  90. package/dist/elements/DatePicker/getFormattedLocale.d.ts.map +1 -1
  91. package/dist/elements/DatePicker/index.css +1 -1
  92. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  93. package/dist/elements/DeleteDocument/index.js +24 -2
  94. package/dist/elements/DeleteDocument/index.js.map +1 -1
  95. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  96. package/dist/elements/DeleteMany/index.js +4 -1
  97. package/dist/elements/DeleteMany/index.js.map +1 -1
  98. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -1
  99. package/dist/elements/DocumentControls/index.css +0 -2
  100. package/dist/elements/DocumentControls/index.d.ts +2 -2
  101. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  102. package/dist/elements/DocumentControls/index.js.map +1 -1
  103. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +2 -2
  104. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  105. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  106. package/dist/elements/DocumentHeader/Tabs/Tab/index.css +5 -3
  107. package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.css +12 -0
  108. package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.d.ts +12 -0
  109. package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.d.ts.map +1 -0
  110. package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.js +83 -0
  111. package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.js.map +1 -0
  112. package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.d.ts +14 -0
  113. package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.d.ts.map +1 -0
  114. package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.js +28 -0
  115. package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.js.map +1 -0
  116. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  117. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +32 -1
  118. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  119. package/dist/elements/DocumentLocked/index.d.ts +2 -2
  120. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  121. package/dist/elements/DocumentLocked/index.js.map +1 -1
  122. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  123. package/dist/elements/Drawer/index.css +10 -4
  124. package/dist/elements/Drawer/index.d.ts.map +1 -1
  125. package/dist/elements/Drawer/index.js +1 -0
  126. package/dist/elements/Drawer/index.js.map +1 -1
  127. package/dist/elements/Drawer/useDrawerSlug.d.ts.map +1 -1
  128. package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
  129. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
  130. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  131. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  132. package/dist/elements/DuplicateDocument/index.js +6 -1
  133. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  134. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  135. package/dist/elements/EditMany/DrawerContent.js +6 -3
  136. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  137. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  138. package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
  139. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  140. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
  141. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
  142. package/dist/elements/FileDetails/StaticFileDetails/index.css +8 -9
  143. package/dist/elements/FileManager/FilePreview/index.css +3 -3
  144. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
  145. package/dist/elements/FileManager/FileToolbar/index.js +3 -0
  146. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
  147. package/dist/elements/FileManager/index.css +36 -23
  148. package/dist/elements/FileManager/index.d.ts +1 -1
  149. package/dist/elements/FileManager/index.d.ts.map +1 -1
  150. package/dist/elements/FileManager/index.js +15 -4
  151. package/dist/elements/FileManager/index.js.map +1 -1
  152. package/dist/elements/HTMLDiff/diff/index.d.ts.map +1 -1
  153. package/dist/elements/HTMLDiff/index.d.ts.map +1 -1
  154. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +0 -1
  155. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  156. package/dist/elements/Hierarchy/ColumnBrowser/index.js +4 -1
  157. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  158. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
  159. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +4 -1
  160. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
  161. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +2 -1
  162. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  163. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +2 -0
  164. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  165. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  166. package/dist/elements/Hierarchy/Modal/index.js +3 -0
  167. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  168. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -1
  169. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  170. package/dist/elements/Hierarchy/MoveMany/index.js +4 -1
  171. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  172. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  173. package/dist/elements/Hierarchy/Search/useHierarchySearch.js +3 -0
  174. package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
  175. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  176. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +109 -89
  177. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  178. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  179. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +2 -0
  180. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  181. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +1 -1
  182. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  183. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +0 -1
  184. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  185. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  186. package/dist/elements/Hierarchy/Tree/useChildren.js +4 -1
  187. package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
  188. package/dist/elements/IDLabel/index.css +6 -0
  189. package/dist/elements/IDLabel/index.d.ts +1 -1
  190. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  191. package/dist/elements/IDLabel/index.js +16 -21
  192. package/dist/elements/IDLabel/index.js.map +1 -1
  193. package/dist/elements/InputStepper/index.css +0 -1
  194. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  195. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  196. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  197. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
  198. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
  199. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
  200. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  201. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
  202. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +6 -2
  203. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  204. package/dist/elements/LoadingOverlay/reducer.d.ts.map +1 -1
  205. package/dist/elements/Locked/index.css +0 -5
  206. package/dist/elements/Locked/index.d.ts +2 -2
  207. package/dist/elements/Locked/index.d.ts.map +1 -1
  208. package/dist/elements/Locked/index.js +38 -19
  209. package/dist/elements/Locked/index.js.map +1 -1
  210. package/dist/elements/MergeBranch/context.d.ts +67 -0
  211. package/dist/elements/MergeBranch/context.d.ts.map +1 -0
  212. package/dist/elements/MergeBranch/context.js +47 -0
  213. package/dist/elements/MergeBranch/context.js.map +1 -0
  214. package/dist/elements/MergeBranch/index.css +136 -0
  215. package/dist/elements/MergeBranch/index.d.ts +15 -0
  216. package/dist/elements/MergeBranch/index.d.ts.map +1 -0
  217. package/dist/elements/MergeBranch/index.js +545 -0
  218. package/dist/elements/MergeBranch/index.js.map +1 -0
  219. package/dist/elements/MergeBranch/provider.d.ts +12 -0
  220. package/dist/elements/MergeBranch/provider.d.ts.map +1 -0
  221. package/dist/elements/MergeBranch/provider.js +19 -0
  222. package/dist/elements/MergeBranch/provider.js.map +1 -0
  223. package/dist/elements/MergeBranch/slug.d.ts +9 -0
  224. package/dist/elements/MergeBranch/slug.d.ts.map +1 -0
  225. package/dist/elements/MergeBranch/slug.js +8 -0
  226. package/dist/elements/MergeBranch/slug.js.map +1 -0
  227. package/dist/elements/MiniCarousel/index.css +39 -37
  228. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  229. package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
  230. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  231. package/dist/elements/Nav/SidebarTabs/index.css +0 -5
  232. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
  233. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
  234. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
  235. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
  236. package/dist/elements/Nav/context.js +2 -2
  237. package/dist/elements/Nav/context.js.map +1 -1
  238. package/dist/elements/Nav/getNavPrefs.d.ts +6 -0
  239. package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -1
  240. package/dist/elements/Nav/getNavPrefs.js +14 -46
  241. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  242. package/dist/elements/Nav/index.css +0 -5
  243. package/dist/elements/NavGroup/index.css +0 -1
  244. package/dist/elements/NavGroup/index.js +1 -1
  245. package/dist/elements/NavGroup/index.js.map +1 -1
  246. package/dist/elements/Pagination/index.css +5 -0
  247. package/dist/elements/Pagination/index.d.ts.map +1 -1
  248. package/dist/elements/Pagination/index.js +21 -21
  249. package/dist/elements/Pagination/index.js.map +1 -1
  250. package/dist/elements/PermanentlyDeleteButton/index.d.ts.map +1 -1
  251. package/dist/elements/PermanentlyDeleteButton/index.js +4 -1
  252. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  253. package/dist/elements/Popup/PopupButtonList/index.css +1 -1
  254. package/dist/elements/Popup/index.js +1 -1
  255. package/dist/elements/Popup/index.js.map +1 -1
  256. package/dist/elements/PreviewButton/index.d.ts +1 -2
  257. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  258. package/dist/elements/PreviewButton/index.js +11 -5
  259. package/dist/elements/PreviewButton/index.js.map +1 -1
  260. package/dist/elements/PreviewSizes/index.css +8 -9
  261. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  262. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -1
  263. package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
  264. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  265. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  266. package/dist/elements/PublishButton/index.js +6 -2
  267. package/dist/elements/PublishButton/index.js.map +1 -1
  268. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  269. package/dist/elements/PublishMany/DrawerContent.js +4 -1
  270. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  271. package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
  272. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  273. package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
  274. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts +7 -0
  275. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -0
  276. package/dist/elements/ReactSelect/DefaultMenuPortal.js +120 -0
  277. package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -0
  278. package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
  279. package/dist/elements/ReactSelect/MultiValueLabel/index.css +2 -2
  280. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -1
  281. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +1 -1
  282. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -1
  283. package/dist/elements/ReactSelect/getMenuListStyles.js +13 -5
  284. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -1
  285. package/dist/elements/ReactSelect/getMenuStyles.d.ts +10 -0
  286. package/dist/elements/ReactSelect/getMenuStyles.d.ts.map +1 -0
  287. package/dist/elements/ReactSelect/getMenuStyles.js +21 -0
  288. package/dist/elements/ReactSelect/getMenuStyles.js.map +1 -0
  289. package/dist/elements/ReactSelect/index.css +8 -4
  290. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  291. package/dist/elements/ReactSelect/index.js +24 -101
  292. package/dist/elements/ReactSelect/index.js.map +1 -1
  293. package/dist/elements/ReactSelect/types.d.ts +1 -2
  294. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  295. package/dist/elements/ReactSelect/types.js.map +1 -1
  296. package/dist/elements/RelationshipTable/AddNewButton.d.ts +2 -2
  297. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  298. package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
  299. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
  300. package/dist/elements/RelationshipTable/Pagination.js +27 -77
  301. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  302. package/dist/elements/RelationshipTable/index.css +0 -2
  303. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  304. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  305. package/dist/elements/RelationshipTable/index.js +41 -5
  306. package/dist/elements/RelationshipTable/index.js.map +1 -1
  307. package/dist/elements/RenderTitle/index.css +4 -0
  308. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  309. package/dist/elements/RenderTitle/index.js +18 -13
  310. package/dist/elements/RenderTitle/index.js.map +1 -1
  311. package/dist/elements/RestoreButton/index.d.ts.map +1 -1
  312. package/dist/elements/RestoreButton/index.js +4 -1
  313. package/dist/elements/RestoreButton/index.js.map +1 -1
  314. package/dist/elements/RestoreMany/index.d.ts.map +1 -1
  315. package/dist/elements/RestoreMany/index.js +3 -0
  316. package/dist/elements/RestoreMany/index.js.map +1 -1
  317. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  318. package/dist/elements/SaveDraftButton/index.js +15 -2
  319. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  320. package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
  321. package/dist/elements/SchedulePublishButton/index.js +7 -1
  322. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  323. package/dist/elements/Search/ListSearchFilter/index.d.ts.map +1 -1
  324. package/dist/elements/Search/ListSearchFilter/index.js +1 -0
  325. package/dist/elements/Search/ListSearchFilter/index.js.map +1 -1
  326. package/dist/elements/Search/SearchInput/index.d.ts +2 -0
  327. package/dist/elements/Search/SearchInput/index.d.ts.map +1 -1
  328. package/dist/elements/Search/SearchInput/index.js +21 -18
  329. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  330. package/dist/elements/SelectAll/index.css +3 -1
  331. package/dist/elements/SelectRow/index.d.ts +5 -4
  332. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  333. package/dist/elements/SelectRow/index.js +10 -7
  334. package/dist/elements/SelectRow/index.js.map +1 -1
  335. package/dist/elements/SidebarToggle/index.css +0 -17
  336. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  337. package/dist/elements/SortColumn/index.js +42 -38
  338. package/dist/elements/SortColumn/index.js.map +1 -1
  339. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  340. package/dist/elements/SortHeader/index.js +29 -26
  341. package/dist/elements/SortHeader/index.js.map +1 -1
  342. package/dist/elements/Status/index.d.ts.map +1 -1
  343. package/dist/elements/Status/index.js +16 -3
  344. package/dist/elements/Status/index.js.map +1 -1
  345. package/dist/elements/StepNav/index.css +71 -14
  346. package/dist/elements/StepNav/index.d.ts.map +1 -1
  347. package/dist/elements/StepNav/index.js +135 -69
  348. package/dist/elements/StepNav/index.js.map +1 -1
  349. package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.css +34 -0
  350. package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.d.ts +13 -0
  351. package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.d.ts.map +1 -0
  352. package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.js +51 -0
  353. package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.js.map +1 -0
  354. package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -1
  355. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  356. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  357. package/dist/elements/Table/DefaultCell/index.js +3 -11
  358. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  359. package/dist/elements/Table/OrderableRow.d.ts +3 -1
  360. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  361. package/dist/elements/Table/OrderableRow.js +17 -1
  362. package/dist/elements/Table/OrderableRow.js.map +1 -1
  363. package/dist/elements/Table/OrderableRowDragPreview.d.ts.map +1 -1
  364. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  365. package/dist/elements/Table/OrderableTable.js +22 -3
  366. package/dist/elements/Table/OrderableTable.js.map +1 -1
  367. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  368. package/dist/elements/Table/RelationshipProvider/index.js +29 -23
  369. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  370. package/dist/elements/Table/index.css +19 -0
  371. package/dist/elements/TableSection/index.css +0 -1
  372. package/dist/elements/Tabs/index.d.ts.map +1 -1
  373. package/dist/elements/Thumbnail/createThumbnail.d.ts.map +1 -1
  374. package/dist/elements/Thumbnail/index.d.ts +1 -1
  375. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  376. package/dist/elements/Thumbnail/index.js.map +1 -1
  377. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  378. package/dist/elements/TimezonePicker/index.js +5 -1
  379. package/dist/elements/TimezonePicker/index.js.map +1 -1
  380. package/dist/elements/Tooltip/index.css +15 -34
  381. package/dist/elements/Tooltip/index.d.ts +11 -3
  382. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  383. package/dist/elements/Tooltip/index.js +151 -85
  384. package/dist/elements/Tooltip/index.js.map +1 -1
  385. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  386. package/dist/elements/UnpublishButton/index.js +4 -1
  387. package/dist/elements/UnpublishButton/index.js.map +1 -1
  388. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  389. package/dist/elements/UnpublishMany/DrawerContent.js +4 -1
  390. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  391. package/dist/elements/Upload/index.css +0 -5
  392. package/dist/elements/Upload/index.d.ts.map +1 -1
  393. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -1
  394. package/dist/elements/UserMenu/SubMenuHeader/index.js +8 -9
  395. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -1
  396. package/dist/elements/UserMenu/index.css +26 -1
  397. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  398. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +3 -0
  399. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  400. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.d.ts.map +1 -1
  401. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.d.ts.map +1 -1
  402. package/dist/elements/WhereBuilder/Condition/validOperators.d.ts.map +1 -1
  403. package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
  404. package/dist/exports/client/index.d.ts +22 -2
  405. package/dist/exports/client/index.d.ts.map +1 -1
  406. package/dist/exports/client/index.js +1 -1
  407. package/dist/exports/client/index.js.map +3 -3
  408. package/dist/exports/layouts.d.ts +1 -0
  409. package/dist/exports/layouts.d.ts.map +1 -1
  410. package/dist/exports/layouts.js +1 -0
  411. package/dist/exports/layouts.js.map +1 -1
  412. package/dist/exports/shared/index.d.ts +1 -0
  413. package/dist/exports/shared/index.d.ts.map +1 -1
  414. package/dist/exports/shared/index.js +2 -2
  415. package/dist/exports/shared/index.js.map +4 -4
  416. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  417. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  418. package/dist/fields/Array/ArrayRow.js +99 -160
  419. package/dist/fields/Array/ArrayRow.js.map +1 -1
  420. package/dist/fields/Array/index.d.ts +1 -1
  421. package/dist/fields/Array/index.d.ts.map +1 -1
  422. package/dist/fields/Array/index.js +45 -14
  423. package/dist/fields/Array/index.js.map +1 -1
  424. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  425. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  426. package/dist/fields/Blocks/BlockRow.js +136 -195
  427. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  428. package/dist/fields/Blocks/RowActions.d.ts +3 -0
  429. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  430. package/dist/fields/Blocks/RowActions.js +26 -20
  431. package/dist/fields/Blocks/RowActions.js.map +1 -1
  432. package/dist/fields/Blocks/index.d.ts +1 -1
  433. package/dist/fields/Blocks/index.d.ts.map +1 -1
  434. package/dist/fields/Blocks/index.js +44 -13
  435. package/dist/fields/Blocks/index.js.map +1 -1
  436. package/dist/fields/Checkbox/Input.d.ts +2 -0
  437. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  438. package/dist/fields/Checkbox/Input.js +32 -26
  439. package/dist/fields/Checkbox/Input.js.map +1 -1
  440. package/dist/fields/Checkbox/index.css +37 -73
  441. package/dist/fields/Checkbox/index.d.ts +1 -1
  442. package/dist/fields/Code/index.css +1 -1
  443. package/dist/fields/Code/index.d.ts +2 -2
  444. package/dist/fields/Collapsible/index.d.ts +1 -1
  445. package/dist/fields/DateTime/index.d.ts +1 -1
  446. package/dist/fields/Email/index.d.ts +1 -1
  447. package/dist/fields/FieldError/index.css +0 -9
  448. package/dist/fields/FieldError/index.d.ts.map +1 -1
  449. package/dist/fields/FieldError/index.js +19 -9
  450. package/dist/fields/FieldError/index.js.map +1 -1
  451. package/dist/fields/Group/index.d.ts +2 -2
  452. package/dist/fields/JSON/index.d.ts +1 -1
  453. package/dist/fields/Join/index.css +9 -0
  454. package/dist/fields/Join/index.d.ts +1 -1
  455. package/dist/fields/Join/index.d.ts.map +1 -1
  456. package/dist/fields/Join/index.js +13 -9
  457. package/dist/fields/Join/index.js.map +1 -1
  458. package/dist/fields/Number/index.d.ts +1 -1
  459. package/dist/fields/Password/types.d.ts +3 -3
  460. package/dist/fields/Password/types.d.ts.map +1 -1
  461. package/dist/fields/Password/types.js.map +1 -1
  462. package/dist/fields/Point/index.d.ts +1 -1
  463. package/dist/fields/RadioGroup/index.css +0 -7
  464. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  465. package/dist/fields/Relationship/Input.js +37 -15
  466. package/dist/fields/Relationship/Input.js.map +1 -1
  467. package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
  468. package/dist/fields/Relationship/index.d.ts +1 -1
  469. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  470. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  471. package/dist/fields/Row/index.d.ts +1 -1
  472. package/dist/fields/Select/index.d.ts +1 -1
  473. package/dist/fields/Select/index.d.ts.map +1 -1
  474. package/dist/fields/Slug/index.css +0 -1
  475. package/dist/fields/Slug/index.d.ts.map +1 -1
  476. package/dist/fields/Slug/index.js +75 -111
  477. package/dist/fields/Slug/index.js.map +1 -1
  478. package/dist/fields/Tabs/index.d.ts +1 -1
  479. package/dist/fields/Text/index.d.ts +1 -1
  480. package/dist/fields/Text/types.d.ts +2 -2
  481. package/dist/fields/Text/types.d.ts.map +1 -1
  482. package/dist/fields/Text/types.js.map +1 -1
  483. package/dist/fields/Textarea/index.d.ts +1 -1
  484. package/dist/fields/Upload/Input.d.ts.map +1 -1
  485. package/dist/fields/Upload/Input.js +4 -1
  486. package/dist/fields/Upload/Input.js.map +1 -1
  487. package/dist/fields/Upload/index.css +19 -4
  488. package/dist/fields/mergeFieldStyles.d.ts +1 -1
  489. package/dist/fields/mergeFieldStyles.d.ts.map +1 -1
  490. package/dist/forms/Form/context.d.ts.map +1 -1
  491. package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -1
  492. package/dist/forms/Form/errorMessages.d.ts.map +1 -1
  493. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  494. package/dist/forms/Form/fieldReducer.js +3 -1
  495. package/dist/forms/Form/fieldReducer.js.map +1 -1
  496. package/dist/forms/Form/index.d.ts.map +1 -1
  497. package/dist/forms/Form/index.js +12 -15
  498. package/dist/forms/Form/index.js.map +1 -1
  499. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  500. package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -1
  501. package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
  502. package/dist/forms/Form/rows.d.ts.map +1 -1
  503. package/dist/forms/Form/types.d.ts +1 -1
  504. package/dist/forms/Form/types.d.ts.map +1 -1
  505. package/dist/forms/Form/types.js.map +1 -1
  506. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  507. package/dist/forms/RenderFields/index.css +16 -2
  508. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  509. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  510. package/dist/forms/WatchChildErrors/index.js +2 -2
  511. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  512. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  513. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -1
  514. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  515. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  516. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  517. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  518. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  519. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  520. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  521. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
  522. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  523. package/dist/forms/useField/index.d.ts.map +1 -1
  524. package/dist/forms/withCondition/index.d.ts +1 -1
  525. package/dist/forms/withCondition/index.d.ts.map +1 -1
  526. package/dist/hooks/useDebouncedCallback.d.ts.map +1 -1
  527. package/dist/hooks/useDelay.d.ts.map +1 -1
  528. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -1
  529. package/dist/hooks/useHotkey.d.ts.map +1 -1
  530. package/dist/hooks/useIntersect.d.ts.map +1 -1
  531. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  532. package/dist/hooks/usePayloadAPI.js +44 -40
  533. package/dist/hooks/usePayloadAPI.js.map +1 -1
  534. package/dist/hooks/usePopupWindow.d.ts +1 -1
  535. package/dist/hooks/usePopupWindow.d.ts.map +1 -1
  536. package/dist/hooks/useRelatedCollections.d.ts.map +1 -1
  537. package/dist/hooks/useResize.d.ts.map +1 -1
  538. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  539. package/dist/icons/Branch/index.css +5 -0
  540. package/dist/icons/Branch/index.d.ts +7 -0
  541. package/dist/icons/Branch/index.d.ts.map +1 -0
  542. package/dist/icons/Branch/index.js +25 -0
  543. package/dist/icons/Branch/index.js.map +1 -0
  544. package/dist/icons/Edit/index.d.ts +0 -1
  545. package/dist/icons/Edit/index.d.ts.map +1 -1
  546. package/dist/icons/Edit/index.js +4 -4
  547. package/dist/icons/Edit/index.js.map +1 -1
  548. package/dist/layouts/Root/index.d.ts +1 -1
  549. package/dist/layouts/Root/index.d.ts.map +1 -1
  550. package/dist/layouts/Root/index.js +15 -5
  551. package/dist/layouts/Root/index.js.map +1 -1
  552. package/dist/layouts/Root/index.spec.js +20 -0
  553. package/dist/layouts/Root/index.spec.js.map +1 -0
  554. package/dist/layouts/Root/viewport.d.ts +5 -0
  555. package/dist/layouts/Root/viewport.d.ts.map +1 -0
  556. package/dist/layouts/Root/viewport.js +17 -0
  557. package/dist/layouts/Root/viewport.js.map +1 -0
  558. package/dist/providers/Actions/index.d.ts +1 -0
  559. package/dist/providers/Actions/index.d.ts.map +1 -1
  560. package/dist/providers/Actions/index.js +43 -11
  561. package/dist/providers/Actions/index.js.map +1 -1
  562. package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
  563. package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
  564. package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
  565. package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
  566. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
  567. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
  568. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
  569. package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
  570. package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
  571. package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
  572. package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
  573. package/dist/providers/Auth/authSessionRequests.js +119 -0
  574. package/dist/providers/Auth/authSessionRequests.js.map +1 -0
  575. package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
  576. package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
  577. package/dist/providers/Auth/index.d.ts +5 -59
  578. package/dist/providers/Auth/index.d.ts.map +1 -1
  579. package/dist/providers/Auth/index.js +283 -135
  580. package/dist/providers/Auth/index.js.map +1 -1
  581. package/dist/providers/Auth/sessionActivity.d.ts +23 -0
  582. package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
  583. package/dist/providers/Auth/sessionActivity.js +49 -0
  584. package/dist/providers/Auth/sessionActivity.js.map +1 -0
  585. package/dist/providers/Auth/sessionActivity.spec.js +44 -0
  586. package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
  587. package/dist/providers/Auth/sessionTiming.d.ts +11 -0
  588. package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
  589. package/dist/providers/Auth/sessionTiming.js +18 -0
  590. package/dist/providers/Auth/sessionTiming.js.map +1 -0
  591. package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
  592. package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
  593. package/dist/providers/Auth/tabSessionSync/index.js +263 -0
  594. package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
  595. package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
  596. package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
  597. package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
  598. package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
  599. package/dist/providers/Auth/tabSessionSync/types.js +6 -0
  600. package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
  601. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
  602. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
  603. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
  604. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
  605. package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
  606. package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
  607. package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
  608. package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
  609. package/dist/providers/Auth/types.d.ts +65 -0
  610. package/dist/providers/Auth/types.d.ts.map +1 -0
  611. package/dist/providers/Auth/types.js +2 -0
  612. package/dist/providers/Auth/types.js.map +1 -0
  613. package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
  614. package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
  615. package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
  616. package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
  617. package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
  618. package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
  619. package/dist/providers/Branch/index.d.ts +68 -0
  620. package/dist/providers/Branch/index.d.ts.map +1 -0
  621. package/dist/providers/Branch/index.js +193 -0
  622. package/dist/providers/Branch/index.js.map +1 -0
  623. package/dist/providers/Branch/index.server.d.ts +14 -0
  624. package/dist/providers/Branch/index.server.d.ts.map +1 -0
  625. package/dist/providers/Branch/index.server.js +125 -0
  626. package/dist/providers/Branch/index.server.js.map +1 -0
  627. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  628. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  629. package/dist/providers/DocumentInfo/index.js +5 -1
  630. package/dist/providers/DocumentInfo/index.js.map +1 -1
  631. package/dist/providers/DocumentInfo/types.d.ts +5 -5
  632. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  633. package/dist/providers/DocumentInfo/types.js.map +1 -1
  634. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts +2 -1
  635. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
  636. package/dist/providers/DocumentInfo/useGetDocPermissions.js +3 -1
  637. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
  638. package/dist/providers/DocumentTitle/index.d.ts +1 -0
  639. package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
  640. package/dist/providers/DocumentTitle/index.js +2 -0
  641. package/dist/providers/DocumentTitle/index.js.map +1 -1
  642. package/dist/providers/Embed/index.d.ts +24 -0
  643. package/dist/providers/Embed/index.d.ts.map +1 -0
  644. package/dist/providers/Embed/index.js +105 -0
  645. package/dist/providers/Embed/index.js.map +1 -0
  646. package/dist/providers/FormErrorHandler/index.d.ts +24 -0
  647. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
  648. package/dist/providers/FormErrorHandler/index.js +6 -0
  649. package/dist/providers/FormErrorHandler/index.js.map +1 -0
  650. package/dist/providers/Hierarchy/index.d.ts.map +1 -1
  651. package/dist/providers/Hierarchy/index.js +4 -1
  652. package/dist/providers/Hierarchy/index.js.map +1 -1
  653. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  654. package/dist/providers/ListQuery/index.js +8 -1
  655. package/dist/providers/ListQuery/index.js.map +1 -1
  656. package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
  657. package/dist/providers/ListQuery/sanitizeQuery.d.ts.map +1 -1
  658. package/dist/providers/LivePreview/sizeReducer.d.ts +1 -1
  659. package/dist/providers/LivePreview/sizeReducer.d.ts.map +1 -1
  660. package/dist/providers/Locale/index.d.ts.map +1 -1
  661. package/dist/providers/Locale/index.js +41 -36
  662. package/dist/providers/Locale/index.js.map +1 -1
  663. package/dist/providers/Preferences/index.d.ts +3 -1
  664. package/dist/providers/Preferences/index.d.ts.map +1 -1
  665. package/dist/providers/Preferences/index.js +9 -3
  666. package/dist/providers/Preferences/index.js.map +1 -1
  667. package/dist/providers/Root/index.d.ts +1 -0
  668. package/dist/providers/Root/index.d.ts.map +1 -1
  669. package/dist/providers/Root/index.js +37 -31
  670. package/dist/providers/Root/index.js.map +1 -1
  671. package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
  672. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  673. package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
  674. package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
  675. package/dist/providers/RouteTransition/index.d.ts +2 -0
  676. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  677. package/dist/providers/RouteTransition/index.js +42 -14
  678. package/dist/providers/RouteTransition/index.js.map +1 -1
  679. package/dist/providers/SidebarTabs/index.d.ts +3 -2
  680. package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
  681. package/dist/providers/SidebarTabs/index.js.map +1 -1
  682. package/dist/providers/TableColumns/buildColumnState/filterFields.d.ts.map +1 -1
  683. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.d.ts.map +1 -1
  684. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts.map +1 -1
  685. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  686. package/dist/providers/TableColumns/buildColumnState/index.js +1 -1
  687. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  688. package/dist/providers/TableColumns/buildColumnState/index.spec.js +40 -0
  689. package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +1 -0
  690. package/dist/providers/TableColumns/getInitialColumns.d.ts +1 -1
  691. package/dist/providers/TableColumns/getInitialColumns.d.ts.map +1 -1
  692. package/dist/providers/Theme/index.d.ts +5 -2
  693. package/dist/providers/Theme/index.d.ts.map +1 -1
  694. package/dist/providers/Theme/index.js +109 -96
  695. package/dist/providers/Theme/index.js.map +1 -1
  696. package/dist/providers/Theme/shared.d.ts +3 -0
  697. package/dist/providers/Theme/shared.d.ts.map +1 -0
  698. package/dist/providers/Theme/shared.js +2 -0
  699. package/dist/providers/Theme/shared.js.map +1 -0
  700. package/dist/providers/UploadEdits/index.d.ts.map +1 -1
  701. package/dist/providers/UploadHandlers/index.d.ts +2 -7
  702. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  703. package/dist/providers/UploadHandlers/index.js +102 -42
  704. package/dist/providers/UploadHandlers/index.js.map +1 -1
  705. package/dist/styles.css +23 -10
  706. package/dist/templates/Default/index.d.ts +1 -0
  707. package/dist/templates/Default/index.d.ts.map +1 -1
  708. package/dist/templates/Default/index.js +44 -36
  709. package/dist/templates/Default/index.js.map +1 -1
  710. package/dist/utilities/api.d.ts.map +1 -1
  711. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
  712. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
  713. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  714. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  715. package/dist/utilities/buildFormState.d.ts +2 -2
  716. package/dist/utilities/buildFormState.d.ts.map +1 -1
  717. package/dist/utilities/buildFormState.js.map +1 -1
  718. package/dist/utilities/checkDependencies.d.ts.map +1 -1
  719. package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
  720. package/dist/utilities/combineFieldLabel.js +5 -1
  721. package/dist/utilities/combineFieldLabel.js.map +1 -1
  722. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  723. package/dist/utilities/filterOutUploadFields.d.ts.map +1 -1
  724. package/dist/utilities/findLocaleFromCode.d.ts.map +1 -1
  725. package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
  726. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  727. package/dist/utilities/formatDocTitle/formatRelationshipTitle.d.ts.map +1 -1
  728. package/dist/utilities/formatDocTitle/index.d.ts +1 -1
  729. package/dist/utilities/formatDocTitle/index.d.ts.map +1 -1
  730. package/dist/utilities/formatDocTitle/index.js +1 -1
  731. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  732. package/dist/utilities/formatFields.d.ts.map +1 -1
  733. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  734. package/dist/utilities/generateFieldID.d.ts +1 -1
  735. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  736. package/dist/utilities/generateFieldID.js +2 -2
  737. package/dist/utilities/generateFieldID.js.map +1 -1
  738. package/dist/utilities/getAdminPreferences.d.ts +14 -0
  739. package/dist/utilities/getAdminPreferences.d.ts.map +1 -0
  740. package/dist/utilities/getAdminPreferences.js +22 -0
  741. package/dist/utilities/getAdminPreferences.js.map +1 -0
  742. package/dist/utilities/getColumns.d.ts.map +1 -1
  743. package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
  744. package/dist/utilities/getDocPreferences.d.ts.map +1 -1
  745. package/dist/utilities/getDocumentData.d.ts.map +1 -1
  746. package/dist/utilities/getDocumentPermissions.d.ts.map +1 -1
  747. package/dist/utilities/getGlobalData.d.ts +2 -2
  748. package/dist/utilities/getGlobalData.d.ts.map +1 -1
  749. package/dist/utilities/getGlobalData.js.map +1 -1
  750. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  751. package/dist/utilities/getIsLocked.d.ts.map +1 -1
  752. package/dist/utilities/getLanguageDir.d.ts +12 -0
  753. package/dist/utilities/getLanguageDir.d.ts.map +1 -0
  754. package/dist/utilities/getLanguageDir.js +12 -0
  755. package/dist/utilities/getLanguageDir.js.map +1 -0
  756. package/dist/utilities/getOffsetTop.d.ts.map +1 -1
  757. package/dist/utilities/getRequestBranch.d.ts +20 -0
  758. package/dist/utilities/getRequestBranch.d.ts.map +1 -0
  759. package/dist/utilities/getRequestBranch.js +35 -0
  760. package/dist/utilities/getRequestBranch.js.map +1 -0
  761. package/dist/utilities/getRequestEmbed.d.ts +14 -0
  762. package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
  763. package/dist/utilities/getRequestEmbed.js +10 -0
  764. package/dist/utilities/getRequestEmbed.js.map +1 -0
  765. package/dist/utilities/getRequestHighContrast.d.ts.map +1 -1
  766. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  767. package/dist/utilities/getRequestTheme.d.ts +1 -1
  768. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  769. package/dist/utilities/getRequestTheme.js +1 -1
  770. package/dist/utilities/getRequestTheme.js.map +1 -1
  771. package/dist/utilities/getRouteWithoutAdmin.d.ts.map +1 -1
  772. package/dist/utilities/getSupportedMonacoLocale.d.ts.map +1 -1
  773. package/dist/utilities/getVersions.d.ts +6 -1
  774. package/dist/utilities/getVersions.d.ts.map +1 -1
  775. package/dist/utilities/getVersions.js +5 -0
  776. package/dist/utilities/getVersions.js.map +1 -1
  777. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  778. package/dist/utilities/handleBackToDashboard.d.ts.map +1 -1
  779. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  780. package/dist/utilities/handleGoBack.d.ts.map +1 -1
  781. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  782. package/dist/utilities/handlePreview.d.ts.map +1 -1
  783. package/dist/utilities/handleServerFunctions.d.ts +32 -8
  784. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  785. package/dist/utilities/handleServerFunctions.js +17 -37
  786. package/dist/utilities/handleServerFunctions.js.map +1 -1
  787. package/dist/utilities/handleStaleDataCheck.d.ts.map +1 -1
  788. package/dist/utilities/handleTakeOver.d.ts +5 -5
  789. package/dist/utilities/handleTakeOver.d.ts.map +1 -1
  790. package/dist/utilities/handleTakeOver.js.map +1 -1
  791. package/dist/utilities/hasOptionLabelJSXElement.d.ts.map +1 -1
  792. package/dist/utilities/hasSavePermission.d.ts.map +1 -1
  793. package/dist/utilities/initReq.d.ts.map +1 -1
  794. package/dist/utilities/initReq.js +8 -0
  795. package/dist/utilities/initReq.js.map +1 -1
  796. package/dist/utilities/isClientUserObject.d.ts +2 -2
  797. package/dist/utilities/isClientUserObject.d.ts.map +1 -1
  798. package/dist/utilities/isClientUserObject.js.map +1 -1
  799. package/dist/utilities/isCustomAdminView.d.ts.map +1 -1
  800. package/dist/utilities/isEditing.d.ts.map +1 -1
  801. package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
  802. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
  803. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  804. package/dist/utilities/matchesSearchQuery.d.ts +12 -0
  805. package/dist/utilities/matchesSearchQuery.d.ts.map +1 -0
  806. package/dist/utilities/matchesSearchQuery.js +23 -0
  807. package/dist/utilities/matchesSearchQuery.js.map +1 -0
  808. package/dist/utilities/matchesSearchQuery.spec.js +87 -0
  809. package/dist/utilities/matchesSearchQuery.spec.js.map +1 -0
  810. package/dist/utilities/recentlyViewed.d.ts.map +1 -1
  811. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
  812. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  813. package/dist/utilities/renderTable.d.ts +2 -2
  814. package/dist/utilities/renderTable.d.ts.map +1 -1
  815. package/dist/utilities/renderTable.js +18 -2
  816. package/dist/utilities/renderTable.js.map +1 -1
  817. package/dist/utilities/resolveFilterOptions.d.ts +1 -1
  818. package/dist/utilities/resolveFilterOptions.d.ts.map +1 -1
  819. package/dist/utilities/sanitizeFilterOptionsQuery.d.ts.map +1 -1
  820. package/dist/utilities/scheduleMergeHandler.d.ts +33 -0
  821. package/dist/utilities/scheduleMergeHandler.d.ts.map +1 -0
  822. package/dist/utilities/scheduleMergeHandler.js +119 -0
  823. package/dist/utilities/scheduleMergeHandler.js.map +1 -0
  824. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  825. package/dist/utilities/schedulePublishHandler.js +10 -0
  826. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  827. package/dist/utilities/scrollToID.d.ts.map +1 -1
  828. package/dist/utilities/selectiveCache.d.ts.map +1 -1
  829. package/dist/utilities/serverFunctionRegistry.d.ts +12 -7
  830. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  831. package/dist/utilities/serverFunctionRegistry.js +31 -7
  832. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  833. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  834. package/dist/utilities/slugify.d.ts.map +1 -1
  835. package/dist/utilities/slugify.js +49 -6
  836. package/dist/utilities/slugify.js.map +1 -1
  837. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  838. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  839. package/dist/views/API/index.client.d.ts.map +1 -1
  840. package/dist/views/API/index.client.js +10 -2
  841. package/dist/views/API/index.client.js.map +1 -1
  842. package/dist/views/Branch/BranchChanges/index.d.ts +23 -0
  843. package/dist/views/Branch/BranchChanges/index.d.ts.map +1 -0
  844. package/dist/views/Branch/BranchChanges/index.js +150 -0
  845. package/dist/views/Branch/BranchChanges/index.js.map +1 -0
  846. package/dist/views/Branch/ChangedDocuments/index.css +118 -0
  847. package/dist/views/Branch/ChangedDocuments/index.d.ts +34 -0
  848. package/dist/views/Branch/ChangedDocuments/index.d.ts.map +1 -0
  849. package/dist/views/Branch/ChangedDocuments/index.js +233 -0
  850. package/dist/views/Branch/ChangedDocuments/index.js.map +1 -0
  851. package/dist/views/Branch/DiscardChangesButton/index.d.ts +16 -0
  852. package/dist/views/Branch/DiscardChangesButton/index.d.ts.map +1 -0
  853. package/dist/views/Branch/DiscardChangesButton/index.js +106 -0
  854. package/dist/views/Branch/DiscardChangesButton/index.js.map +1 -0
  855. package/dist/views/Branch/Manage/index.d.ts +11 -0
  856. package/dist/views/Branch/Manage/index.d.ts.map +1 -0
  857. package/dist/views/Branch/Manage/index.js +71 -0
  858. package/dist/views/Branch/Manage/index.js.map +1 -0
  859. package/dist/views/Branch/MergeChangesButton/index.d.ts +14 -0
  860. package/dist/views/Branch/MergeChangesButton/index.d.ts.map +1 -0
  861. package/dist/views/Branch/MergeChangesButton/index.js +55 -0
  862. package/dist/views/Branch/MergeChangesButton/index.js.map +1 -0
  863. package/dist/views/Branch/MergeLedger/index.css +137 -0
  864. package/dist/views/Branch/MergeLedger/index.d.ts +31 -0
  865. package/dist/views/Branch/MergeLedger/index.d.ts.map +1 -0
  866. package/dist/views/Branch/MergeLedger/index.js +211 -0
  867. package/dist/views/Branch/MergeLedger/index.js.map +1 -0
  868. package/dist/views/Branch/ScheduledMerges/index.css +83 -0
  869. package/dist/views/Branch/ScheduledMerges/index.d.ts +32 -0
  870. package/dist/views/Branch/ScheduledMerges/index.d.ts.map +1 -0
  871. package/dist/views/Branch/ScheduledMerges/index.js +183 -0
  872. package/dist/views/Branch/ScheduledMerges/index.js.map +1 -0
  873. package/dist/views/Branch/index.css +77 -0
  874. package/dist/views/Branch/index.d.ts +17 -0
  875. package/dist/views/Branch/index.d.ts.map +1 -0
  876. package/dist/views/Branch/index.js +188 -0
  877. package/dist/views/Branch/index.js.map +1 -0
  878. package/dist/views/Branch/renderBranchDiff.d.ts +29 -0
  879. package/dist/views/Branch/renderBranchDiff.d.ts.map +1 -0
  880. package/dist/views/Branch/renderBranchDiff.js +151 -0
  881. package/dist/views/Branch/renderBranchDiff.js.map +1 -0
  882. package/dist/views/Branch/renderMergeDiff.d.ts +24 -0
  883. package/dist/views/Branch/renderMergeDiff.d.ts.map +1 -0
  884. package/dist/views/Branch/renderMergeDiff.js +94 -0
  885. package/dist/views/Branch/renderMergeDiff.js.map +1 -0
  886. package/dist/views/Branches/index.d.ts +16 -0
  887. package/dist/views/Branches/index.d.ts.map +1 -0
  888. package/dist/views/Branches/index.js +54 -0
  889. package/dist/views/Branches/index.js.map +1 -0
  890. package/dist/views/CollectionTrash/generateCollectionTrashMetadata.d.ts.map +1 -1
  891. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  892. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
  893. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  894. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  895. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
  896. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  897. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  898. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
  899. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  900. package/dist/views/Dashboard/Default/ModularDashboard/index.css +29 -144
  901. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +4 -4
  902. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  903. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
  904. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  905. package/dist/views/Dashboard/Default/index.d.ts +2 -2
  906. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  907. package/dist/views/Dashboard/Default/index.js.map +1 -1
  908. package/dist/views/Document/getCustomDocumentViewByKey.d.ts +1 -1
  909. package/dist/views/Document/getCustomDocumentViewByKey.d.ts.map +1 -1
  910. package/dist/views/Document/getCustomViewByRoute.d.ts +1 -1
  911. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  912. package/dist/views/Document/getDocumentView.d.ts.map +1 -1
  913. package/dist/views/Document/getDocumentView.js +21 -2
  914. package/dist/views/Document/getDocumentView.js.map +1 -1
  915. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  916. package/dist/views/Document/getMetaBySegment.js +9 -0
  917. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  918. package/dist/views/Document/index.d.ts +3 -1
  919. package/dist/views/Document/index.d.ts.map +1 -1
  920. package/dist/views/Document/index.js +8 -1
  921. package/dist/views/Document/index.js.map +1 -1
  922. package/dist/views/Document/recordRecentlyViewed.d.ts.map +1 -1
  923. package/dist/views/Edit/index.css +61 -53
  924. package/dist/views/Edit/index.d.ts.map +1 -1
  925. package/dist/views/Edit/index.js.map +1 -1
  926. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +2 -2
  927. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  928. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  929. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  930. package/dist/views/HierarchyList/HierarchyTable/index.js +6 -2
  931. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  932. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +2 -2
  933. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
  934. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
  935. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -1
  936. package/dist/views/HierarchyList/TypeFilter/index.js +3 -0
  937. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
  938. package/dist/views/HierarchyList/index.css +1 -1
  939. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  940. package/dist/views/HierarchyList/index.js +2 -6
  941. package/dist/views/HierarchyList/index.js.map +1 -1
  942. package/dist/views/List/ListHeader/index.d.ts +1 -10
  943. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  944. package/dist/views/List/ListHeader/index.js +1 -3
  945. package/dist/views/List/ListHeader/index.js.map +1 -1
  946. package/dist/views/List/createSerializableValue.d.ts.map +1 -1
  947. package/dist/views/List/extractRelationshipDisplayValue.d.ts.map +1 -1
  948. package/dist/views/List/extractValueOrRelationshipID.d.ts.map +1 -1
  949. package/dist/views/List/generateListViewMetadata.d.ts.map +1 -1
  950. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  951. package/dist/views/List/handleHierarchy.d.ts +1 -1
  952. package/dist/views/List/handleHierarchy.d.ts.map +1 -1
  953. package/dist/views/List/index.client.d.ts.map +1 -1
  954. package/dist/views/List/index.client.js +0 -14
  955. package/dist/views/List/index.client.js.map +1 -1
  956. package/dist/views/List/index.css +6 -1
  957. package/dist/views/List/index.d.ts.map +1 -1
  958. package/dist/views/List/index.js +4 -0
  959. package/dist/views/List/index.js.map +1 -1
  960. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  961. package/dist/views/List/resolveAllFilterOptions.d.ts.map +1 -1
  962. package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -1
  963. package/dist/views/Logout/index.d.ts.map +1 -1
  964. package/dist/views/Logout/index.js +11 -0
  965. package/dist/views/Logout/index.js.map +1 -1
  966. package/dist/views/NotFound/page.d.ts.map +1 -1
  967. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -1
  968. package/dist/views/Root/generatePageMetadata.d.ts.map +1 -1
  969. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts +1 -1
  970. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  971. package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
  972. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts +1 -1
  973. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  974. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
  975. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  976. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  977. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  978. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  979. package/dist/views/Root/getRouteData.js +12 -4
  980. package/dist/views/Root/getRouteData.js.map +1 -1
  981. package/dist/views/Root/index.d.ts +12 -1
  982. package/dist/views/Root/index.d.ts.map +1 -1
  983. package/dist/views/Root/index.js +11 -3
  984. package/dist/views/Root/index.js.map +1 -1
  985. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  986. package/dist/views/Version/Default/index.css +26 -2
  987. package/dist/views/Version/Default/index.d.ts.map +1 -1
  988. package/dist/views/Version/Default/index.js +18 -6
  989. package/dist/views/Version/Default/index.js.map +1 -1
  990. package/dist/views/Version/Default/types.d.ts +9 -0
  991. package/dist/views/Version/Default/types.d.ts.map +1 -1
  992. package/dist/views/Version/Default/types.js.map +1 -1
  993. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
  994. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  995. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +8 -0
  996. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  997. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
  998. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  999. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  1000. package/dist/views/Version/Restore/index.js +6 -3
  1001. package/dist/views/Version/Restore/index.js.map +1 -1
  1002. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  1003. package/dist/views/Version/index.d.ts.map +1 -1
  1004. package/dist/views/Version/index.js +4 -0
  1005. package/dist/views/Version/index.js.map +1 -1
  1006. package/dist/views/Versions/buildColumns.d.ts +3 -2
  1007. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  1008. package/dist/views/Versions/buildColumns.js +21 -1
  1009. package/dist/views/Versions/buildColumns.js.map +1 -1
  1010. package/dist/views/Versions/cells/Branch/index.d.ts +12 -0
  1011. package/dist/views/Versions/cells/Branch/index.d.ts.map +1 -0
  1012. package/dist/views/Versions/cells/Branch/index.js +27 -0
  1013. package/dist/views/Versions/cells/Branch/index.js.map +1 -0
  1014. package/dist/views/Versions/fetchVersions.d.ts +4 -4
  1015. package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
  1016. package/dist/views/Versions/index.client.d.ts +0 -1
  1017. package/dist/views/Versions/index.client.d.ts.map +1 -1
  1018. package/dist/views/Versions/index.client.js.map +1 -1
  1019. package/dist/views/Versions/index.d.ts.map +1 -1
  1020. package/dist/views/Versions/index.js +2 -14
  1021. package/dist/views/Versions/index.js.map +1 -1
  1022. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts +2 -2
  1023. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts.map +1 -1
  1024. package/dist/widgets/CollectionCards/getCollectionCardsData.js.map +1 -1
  1025. package/dist/widgets/CollectionCards/index.client.js.map +1 -1
  1026. package/dist/widgets/WidgetCard/index.css +1 -1
  1027. package/package.json +6 -10
  1028. package/dist/elements/Nav/NavToggler/index.css +0 -12
  1029. package/dist/elements/Nav/NavToggler/index.d.ts +0 -9
  1030. package/dist/elements/Nav/NavToggler/index.d.ts.map +0 -1
  1031. package/dist/elements/Nav/NavToggler/index.js +0 -91
  1032. package/dist/elements/Nav/NavToggler/index.js.map +0 -1
  1033. package/dist/elements/RelationshipTable/Pagination.css +0 -39
  1034. package/dist/scss/app.scss +0 -183
  1035. package/dist/scss/colors.scss +0 -191
  1036. package/dist/scss/custom.css +0 -1
  1037. package/dist/scss/queries.scss +0 -27
  1038. package/dist/scss/styles.scss +0 -9
  1039. package/dist/scss/svg.scss +0 -10
  1040. package/dist/scss/toastify.scss +0 -61
  1041. package/dist/scss/vars.scss +0 -192
  1042. package/dist/scss/z-index.scss +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["formatAdminURL","hasAutosaveEnabled","React","useCallback","useEffect","useMemo","useRef","useState","toast","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentStaleData","DocumentTakeOver","FileManager","LeaveWithoutSaving","LivePreviewWindow","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useLivePreviewContext","usePreviewURL","OperationProvider","useRouteCache","useRouter","useSearchParams","useRouteTransition","useServerFunctions","UploadControlsProvider","useUploadEdits","abortAndIgnore","handleAbortRef","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","PENDING_SUCCESS_TOAST_KEY","DefaultEditView","BeforeDocumentControls","BeforeDocumentMeta","Description","EditMenuItems","LivePreview","CustomLivePreview","PreviewButton","PublishButton","SaveButton","SaveDraftButton","Status","UnpublishButton","Upload","CustomUpload","UploadControls","UploadFilePreview","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","data","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","documentLockState","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialState","isEditing","isInitializing","isLocked","isTrashed","lastUpdateTime","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","setCurrentEditor","setData","setDocumentIsLocked","setLastUpdateTime","unlockDocument","updateDocumentEditor","clearDoc","drawerSlug","onDelete","onDuplicate","onRestore","onSave","onSaveFromContext","isInDrawer","Boolean","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","serverURL","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","startRouteTransition","clearRouteCache","isLivePreviewEnabled","isLivePreviewing","isPopupOpen","setURL","setLivePreviewURL","typeofLivePreviewURL","url","livePreviewURL","isPreviewEnabled","setPreviewURL","abortOnChangeRef","abortOnSaveRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","showStaleDataModal","setShowStaleDataModal","editSessionStartTime","setEditSessionStartTime","Date","now","hasCheckedForStaleDataRef","originalUpdatedAtRef","updatedAt","saveCounterRef","isSavingRef","lockExpiryTime","isLockExpired","preventLeaveWithoutSaving","schemaPathSegments","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","nextHrefRef","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","hasShownLockedModal","lastEditedAt","getTime","handleStaleDataReload","refresh","handlePrevent","nextHref","handleLeaveConfirm","lockUser","isLockOwnedByCurrentUser","nextPath","URL","pathname","isInternalView","some","path","includes","err","console","error","json","ctx","context","formState","controller","document","doc","result","toISOString","message","window","sessionStorage","setItem","redirectRoute","push","docPreferences","previewURL","state","renderAllFields","returnLivePreviewURL","returnLockStatus","returnPreviewURL","schemaPath","join","signal","skipValidation","file","onChange","prevFormState","submitted","saveCounterAtStart","isSavingAtStart","currentTime","timeSinceLastUpdate","updateLastEdited","checkForStaleData","originalUpdatedAt","staleDataState","isStale","abortOnChange","abortOnSave","pendingMessage","getItem","removeItem","success","shouldShowDocumentLockedModal","isFolderCollection","hierarchy","allowHasMany","documentControlsProps","customComponents","onDrawerCreateNew","onTakeOver","documentLockStateRef","isWithinDoc","permissions","readOnlyForIncomingUser","renderAuth","_jsx","className","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","shouldRenderUploadPanel","hideFileInputOnCreate","shouldScrollFieldsOnly","filter","_jsxs","disabled","disableSuccessStatus","disableValidationOnSubmit","isDocumentForm","method","onSubmit","onSuccess","actions","variant","AfterHeader","renderTitleAsLink","isActive","onReadOnly","onReload","modalSlug","onConfirm","onPrevent","pluralLabel","labels","plural","useAsTitle","fallback","toString","_Fragment","fields","forceSidebarWrap","uploadConfig"],"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientUser, DocumentViewClientProps } from 'payload'\n\nimport { formatAdminURL, hasAutosaveEnabled } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { FormOnSuccess } from '../../forms/Form/types.js'\nimport type { LockedState } from '../../utilities/buildFormState.js'\n\nimport { DocumentControls } from '../../elements/DocumentControls/index.js'\nimport { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js'\nimport { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../elements/DocumentFields/index.js'\nimport { DocumentLocked } from '../../elements/DocumentLocked/index.js'\nimport { DocumentStaleData } from '../../elements/DocumentStaleData/index.js'\nimport { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js'\nimport { FileManager } from '../../elements/FileManager/index.js'\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { LivePreviewWindow } from '../../elements/LivePreview/Window/index.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLivePreviewContext, usePreviewURL } from '../../providers/LivePreview/context.js'\nimport { OperationProvider } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouter, useSearchParams } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { UploadControlsProvider } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { handleBackToDashboard } from '../../utilities/handleBackToDashboard.js'\nimport { handleGoBack } from '../../utilities/handleGoBack.js'\nimport { handleTakeOver } from '../../utilities/handleTakeOver.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.css'\n\nconst baseClass = 'collection-edit'\nconst PENDING_SUCCESS_TOAST_KEY = 'payload-pending-success-toast'\n\nexport type OnSaveContext = {\n getDocPermissions?: boolean\n incrementVersionCount?: boolean\n}\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport function DefaultEditView({\n BeforeDocumentControls,\n BeforeDocumentMeta,\n Description,\n EditMenuItems,\n LivePreview: CustomLivePreview,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Status,\n UnpublishButton,\n Upload: CustomUpload,\n UploadControls,\n UploadFilePreview,\n}: DocumentViewClientProps) {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n data,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n documentLockState,\n getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialState,\n isEditing,\n isInitializing,\n isLocked,\n isTrashed,\n lastUpdateTime,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n setCurrentEditor,\n setData,\n setDocumentIsLocked,\n setLastUpdateTime,\n unlockDocument,\n updateDocumentEditor,\n } = useDocumentInfo()\n\n const {\n clearDoc,\n drawerSlug,\n onDelete,\n onDuplicate,\n onRestore,\n onSave: onSaveFromContext,\n } = useDocumentDrawerContext()\n\n const isInDrawer = Boolean(drawerSlug)\n\n const { refreshCookieAsync, user } = useAuth()\n\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const depth = useEditDepth()\n\n const router = useRouter()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n const { getFormState } = useServerFunctions()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n const {\n isLivePreviewEnabled,\n isLivePreviewing,\n isPopupOpen,\n setURL: setLivePreviewURL,\n typeofLivePreviewURL,\n url: livePreviewURL,\n } = useLivePreviewContext()\n const { isPreviewEnabled, setPreviewURL } = usePreviewURL()\n\n const abortOnChangeRef = useRef<AbortController>(null)\n const abortOnSaveRef = useRef<AbortController>(null)\n\n const locale = params.get('locale')\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const autosaveEnabled = hasAutosaveEnabled(docConfig)\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n const [showStaleDataModal, setShowStaleDataModal] = useState(false)\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const hasCheckedForStaleDataRef = useRef(false)\n const originalUpdatedAtRef = useRef(data?.updatedAt)\n const saveCounterRef = useRef(0)\n const isSavingRef = useRef(false)\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n const isLockExpired = Date.now() > lockExpiryTime\n\n const preventLeaveWithoutSaving =\n !isReadOnlyForIncomingUser &&\n (typeof disableLeaveWithoutSaving !== 'undefined'\n ? !disableLeaveWithoutSaving\n : !autosaveEnabled)\n\n const schemaPathSegments = useMemo(() => [entitySlug], [entitySlug])\n\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const nextHrefRef = React.useRef<null | string>(null)\n\n const handleDocumentLocking = useCallback(\n (lockedState: LockedState) => {\n setDocumentIsLocked(true)\n const previousOwnerID =\n typeof documentLockState.current?.user === 'object'\n ? documentLockState.current?.user?.id\n : documentLockState.current?.user\n\n if (lockedState && lockedState.user) {\n const lockedUserID =\n typeof lockedState.user === 'string' || typeof lockedState.user === 'number'\n ? lockedState.user\n : lockedState.user.id\n\n if (!documentLockState.current || lockedUserID !== previousOwnerID) {\n if (previousOwnerID === user.id && lockedUserID !== user.id) {\n setShowTakeOverModal(true)\n documentLockState.current.hasShownLockedModal = true\n }\n\n documentLockState.current = {\n hasShownLockedModal: documentLockState.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user as ClientUser,\n }\n setCurrentEditor(lockedState.user as ClientUser)\n }\n\n // Update lastUpdateTime when lock state changes\n if (lockedState.lastEditedAt) {\n setLastUpdateTime(new Date(lockedState.lastEditedAt).getTime())\n }\n }\n },\n [documentLockState, setCurrentEditor, setDocumentIsLocked, setLastUpdateTime, user?.id],\n )\n\n const handleStaleDataReload = useCallback(() => {\n // Reset modal state so it can appear again if needed\n setShowStaleDataModal(false)\n\n // Refresh to get the latest data\n router.refresh()\n }, [router])\n\n const handlePrevent = useCallback((nextHref: null | string) => {\n nextHrefRef.current = nextHref\n }, [])\n\n const handleLeaveConfirm = useCallback(async () => {\n const lockUser = documentLockState.current?.user\n\n const isLockOwnedByCurrentUser =\n typeof lockUser === 'object' ? lockUser?.id === user?.id : lockUser === user?.id\n\n if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {\n // Check where user is trying to go\n const nextPath = nextHrefRef.current ? new URL(nextHrefRef.current).pathname : ''\n const isInternalView = ['/preview', '/api', '/versions'].some((path) =>\n nextPath.includes(path),\n )\n\n // Remove the lock if the user is navigating away from the document view they have locked\n if (isLockOwnedByCurrentUser && !isInternalView) {\n try {\n await unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n } catch (err) {\n console.error('Failed to unlock before leave', err) // eslint-disable-line no-console\n }\n }\n }\n }, [\n collectionSlug,\n documentIsLocked,\n documentLockState,\n globalSlug,\n id,\n isLockingEnabled,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n user?.id,\n ])\n\n const onSave: FormOnSuccess<any, OnSaveContext> = useCallback(\n async (json, ctx) => {\n const { context, formState } = ctx || {}\n\n const controller = handleAbortRef(abortOnSaveRef)\n\n const document = json?.doc || json?.result\n\n const updatedAt = document?.updatedAt || new Date().toISOString()\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n setLastUpdateTime(new Date(updatedAt).getTime())\n\n // Update stale data check refs after successful save\n // This allows detecting if another user modifies the document after this save\n originalUpdatedAtRef.current = updatedAt\n hasCheckedForStaleDataRef.current = false\n isSavingRef.current = false\n\n if (context?.incrementVersionCount !== false) {\n incrementVersionCount()\n }\n\n if (typeof setData === 'function') {\n void setData(document || {})\n }\n\n if (typeof onSaveFromContext === 'function') {\n const operation = id ? 'update' : 'create'\n\n void onSaveFromContext({\n ...(json as Record<string, unknown>),\n context,\n operation,\n // @ts-expect-error todo: this is not right, should be under `doc`?\n updatedAt:\n operation === 'update'\n ? new Date().toISOString()\n : document?.updatedAt || new Date().toISOString(),\n })\n }\n\n if (!isEditing && depth < 2 && redirectAfterCreate !== false) {\n // Store success message to show after redirect\n if (json.message && typeof window !== 'undefined') {\n window.sessionStorage.setItem(PENDING_SUCCESS_TOAST_KEY, json.message)\n }\n\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n\n startRouteTransition(() => router.push(redirectRoute))\n } else {\n resetUploadEdits()\n }\n\n if (context?.getDocPermissions !== false) {\n await getDocPermissions(json)\n }\n\n if (id || globalSlug) {\n const docPreferences = await getDocPreferences()\n\n const { livePreviewURL, previewURL, state } = await getFormState({\n id,\n collectionSlug,\n data: document,\n docPermissions,\n docPreferences,\n formState,\n globalSlug,\n operation,\n renderAllFields: false,\n returnLivePreviewURL: isLivePreviewEnabled && typeofLivePreviewURL === 'function',\n returnLockStatus: false,\n returnPreviewURL: isPreviewEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: true,\n })\n\n // For upload collections, clear the file field from the returned state\n // to prevent the File object from persisting in form state after save\n if (upload && state) {\n delete state.file\n }\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n if (isLivePreviewEnabled && typeofLivePreviewURL === 'function') {\n setLivePreviewURL(livePreviewURL)\n }\n\n if (isPreviewEnabled) {\n setPreviewURL(previewURL)\n }\n\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'update',\n updatedAt,\n })\n\n abortOnSaveRef.current = null\n\n return state\n } else {\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'create',\n updatedAt,\n })\n }\n },\n [\n user,\n collectionSlug,\n userSlug,\n id,\n setLastUpdateTime,\n setData,\n onSaveFromContext,\n isEditing,\n depth,\n redirectAfterCreate,\n globalSlug,\n refreshCookieAsync,\n incrementVersionCount,\n adminRoute,\n locale,\n startRouteTransition,\n router,\n resetUploadEdits,\n getDocPermissions,\n getDocPreferences,\n getFormState,\n docPermissions,\n operation,\n isLivePreviewEnabled,\n typeofLivePreviewURL,\n isPreviewEnabled,\n schemaPathSegments,\n upload,\n isLockingEnabled,\n reportUpdate,\n drawerSlug,\n entitySlug,\n setDocumentIsLocked,\n setLivePreviewURL,\n setPreviewURL,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n // Capture save state before the async form-state request so we can detect\n // if a save was triggered while this request was in-flight\n const saveCounterAtStart = saveCounterRef.current\n const isSavingAtStart = isSavingRef.current\n\n // Sync originalUpdatedAt with current data if it's NEWER (e.g., after router.refresh())\n if (data?.updatedAt && data.updatedAt > originalUpdatedAtRef.current) {\n originalUpdatedAtRef.current = data.updatedAt\n // Reset check flag so we can detect new stale data\n hasCheckedForStaleDataRef.current = false\n }\n\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n // Check for stale data on first edit only\n // Skip this check entirely for autosave-enabled collections/globals to prevent\n // false positives from the user's own autosaves\n const checkForStaleData =\n !hasCheckedForStaleDataRef.current &&\n originalUpdatedAtRef.current &&\n operation === 'update' &&\n !autosaveEnabled\n\n if (checkForStaleData) {\n hasCheckedForStaleDataRef.current = true\n }\n\n const docPreferences = await getDocPreferences()\n\n const result = await getFormState({\n id,\n checkForStaleData,\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n originalUpdatedAt: checkForStaleData ? originalUpdatedAtRef.current : undefined,\n renderAllFields: false,\n returnLockStatus: isLockingEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: !submitted,\n updateLastEdited,\n })\n\n if (!result) {\n return\n }\n\n const { lockedState, staleDataState, state } = result\n\n if (isLockingEnabled) {\n handleDocumentLocking(lockedState)\n }\n\n // Handle stale data detection.\n // Skip if a save was in-flight when this request started, or if the save counter\n // has advanced — either way the newer updatedAt is from our OWN save.\n if (\n staleDataState?.isStale &&\n !isSavingAtStart &&\n saveCounterRef.current === saveCounterAtStart\n ) {\n setShowStaleDataModal(true)\n }\n\n abortOnChangeRef.current = null\n\n return state\n },\n [\n data?.updatedAt,\n editSessionStartTime,\n isLockingEnabled,\n getDocPreferences,\n getFormState,\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n operation,\n schemaPathSegments,\n handleDocumentLocking,\n autosaveEnabled,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n setShowTakeOverModal(false)\n }\n }, [])\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n const abortOnSave = abortOnSaveRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n abortAndIgnore(abortOnSave)\n }\n }, [])\n\n // Show pending success toast after redirect from create\n useEffect(() => {\n if (!isInitializing && typeof window !== 'undefined') {\n const pendingMessage = window.sessionStorage.getItem(PENDING_SUCCESS_TOAST_KEY)\n\n if (pendingMessage) {\n window.sessionStorage.removeItem(PENDING_SUCCESS_TOAST_KEY)\n toast.success(pendingMessage)\n }\n }\n }, [isInitializing])\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n (typeof currentEditor === 'object'\n ? currentEditor.id !== user?.id\n : currentEditor !== user?.id) &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n !documentLockState.current?.hasShownLockedModal &&\n !isLockExpired\n\n const isFolderCollection = Boolean(\n collectionConfig?.hierarchy &&\n typeof collectionConfig.hierarchy === 'object' &&\n collectionConfig.hierarchy.allowHasMany === false,\n )\n\n const documentControlsProps: Omit<React.ComponentProps<typeof DocumentControls>, 'variant'> = {\n id,\n slug: collectionConfig?.slug || globalConfig?.slug,\n apiURL,\n BeforeDocumentControls,\n BeforeDocumentMeta,\n customComponents: {\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Status,\n UnpublishButton,\n },\n data,\n disableActions: disableActions || isTrashed,\n disableCreate,\n EditMenuItems,\n hasPublishPermission,\n hasSavePermission,\n isEditing,\n isInDrawer,\n isTrashed,\n onDelete,\n onDrawerCreateNew: clearDoc,\n onDuplicate,\n onRestore,\n onSave,\n onTakeOver: () => {\n void handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: true,\n setCurrentEditor,\n setIsReadOnlyForIncomingUser,\n updateDocumentEditor,\n user,\n })\n },\n permissions: docPermissions,\n readOnlyForIncomingUser: isReadOnlyForIncomingUser,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n user: currentEditor,\n }\n\n const renderAuth = auth ? (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n // eslint-disable-next-line react-compiler/react-compiler\n useAPIKey={auth.useAPIKey}\n username={data?.username}\n verify={auth.verify}\n />\n ) : undefined\n\n const shouldRenderUploadPanel =\n Boolean(upload) && !(operation === 'create' && upload.hideFileInputOnCreate)\n const shouldScrollFieldsOnly = shouldRenderUploadPanel\n\n return (\n <main\n className={[\n baseClass,\n (id || globalSlug) && `${baseClass}--is-editing`,\n globalSlug && `global-edit--${globalSlug}`,\n collectionSlug && `collection-edit--${collectionSlug}`,\n isLivePreviewing && `${baseClass}--is-live-previewing`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission || isTrashed}\n disableSuccessStatus={!isEditing && depth < 2 && redirectAfterCreate !== false}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isDocumentForm={true}\n isInitializing={isInitializing}\n key={`${isLocked}`}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSubmit={() => {\n saveCounterRef.current += 1\n isSavingRef.current = true\n }}\n onSuccess={onSave}\n >\n {isInDrawer && (\n <DocumentDrawerHeader\n actions={\n <DocumentControls {...documentControlsProps} variant=\"drawerHeaderActions\" />\n }\n AfterHeader={Description}\n BeforeDocumentMeta={BeforeDocumentMeta}\n drawerSlug={drawerSlug}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n renderTitleAsLink={!isFolderCollection}\n Status={Status}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && shouldShowDocumentLockedModal && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router, serverURL })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: false,\n setCurrentEditor,\n updateDocumentEditor,\n user,\n })\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router, serverURL })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {showStaleDataModal && (\n <DocumentStaleData isActive={showStaleDataModal} onReload={handleStaleDataReload} />\n )}\n {preventLeaveWithoutSaving && (\n <LeaveWithoutSaving\n modalSlug={drawerSlug ? `leave-without-saving-${drawerSlug}` : undefined}\n onConfirm={handleLeaveConfirm}\n onPrevent={handlePrevent}\n />\n )}\n {!isInDrawer && (\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n isTrashed={isTrashed}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n {!isInDrawer && <DocumentControls {...documentControlsProps} variant=\"default\" />}\n <div\n className={[\n `${baseClass}__main-wrapper`,\n shouldRenderUploadPanel && `${baseClass}__main-wrapper--has-upload-panel`,\n shouldScrollFieldsOnly && `${baseClass}__main-wrapper--scroll-fields-only`,\n isPopupOpen && `${baseClass}--detached`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[`${baseClass}__main`, isPopupOpen && `${baseClass}__main--popup-open`]\n .filter(Boolean)\n .join(' ')}\n >\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n renderAuth || BeforeFields ? (\n <>\n {renderAuth}\n {BeforeFields}\n </>\n ) : null\n }\n Description={Description}\n docPermissions={docPermissions}\n fields={docConfig.fields}\n forceSidebarWrap={shouldRenderUploadPanel || isLivePreviewing}\n isTrashed={isTrashed}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission || isTrashed}\n schemaPathSegments={schemaPathSegments}\n />\n {AfterDocument}\n </div>\n {shouldRenderUploadPanel && (\n <UploadControlsProvider>\n {CustomUpload || (\n <FileManager\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n UploadControls={UploadControls}\n UploadFilePreview={UploadFilePreview}\n />\n )}\n </UploadControlsProvider>\n )}\n {isLivePreviewEnabled && !isInDrawer && livePreviewURL && (\n <>\n {CustomLivePreview || (\n <LivePreviewWindow collectionSlug={collectionSlug} globalSlug={globalSlug} />\n )}\n </>\n )}\n </div>\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,cAAc,EAAEC,kBAAkB,QAAQ;AACnD,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AACzE,SAASC,KAAK,QAAQ;AAMtB,SAASC,gBAAgB,QAAQ;AACjC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,wBAAwB,QAAQ;AACzC,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,WAAW,QAAQ;AAC5B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,IAAI,QAAQ;AACrB,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,eAAe,QAAQ;AAChC,SAASC,YAAY,QAAQ;AAC7B,SAASC,qBAAqB,EAAEC,aAAa,QAAQ;AACrD,SAASC,iBAAiB,QAAQ;AAClC,SAASC,aAAa,QAAQ;AAC9B,SAASC,SAAS,EAAEC,eAAe,QAAQ;AAC3C,SAASC,kBAAkB,QAAQ;AACnC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,sBAAsB,QAAQ;AACvC,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,EAAEC,cAAc,QAAQ;AAC/C,SAASC,qBAAqB,QAAQ;AACtC,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAC/B,SAASC,IAAI,QAAQ;AACrB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,gBAAgB,QAAQ;AACjC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAClB,MAAMC,yBAAA,GAA4B;AAOlC;AACA;AACA;AACA,OAAO,SAASC,gBAAgB;EAC9BC,sBAAsB;EACtBC,kBAAkB;EAClBC,WAAW;EACXC,aAAa;EACbC,WAAA,EAAaC,iBAAiB;EAC9BC,aAAa;EACbC,aAAa;EACbC,UAAU;EACVC,eAAe;EACfC,MAAM;EACNC,eAAe;EACfC,MAAA,EAAQC,YAAY;EACpBC,cAAc;EACdC;AAAiB,CACO;EACxB,MAAM;IACJC,EAAE;IACFC,MAAM;IACNC,aAAa;IACbC,WAAW;IACXC,MAAM;IACNC,YAAY;IACZC,cAAc;IACdC,aAAa;IACbC,IAAI;IACJC,cAAc;IACdC,aAAa;IACbC,yBAAyB;IACzBC,cAAc;IACdC,gBAAgB;IAChBC,iBAAiB;IACjBC,iBAAiB;IACjBC,iBAAiB;IACjBC,UAAU;IACVC,oBAAoB;IACpBC,iBAAiB;IACjBC,qBAAqB;IACrBC,YAAY;IACZC,SAAS;IACTC,cAAc;IACdC,QAAQ;IACRC,SAAS;IACTC,cAAc;IACdC,mBAAmB;IACnBC,mBAAmB;IACnBC,sBAAsB;IACtBC,oBAAoB;IACpBC,gBAAgB;IAChBC,OAAO;IACPC,mBAAmB;IACnBC,iBAAiB;IACjBC,cAAc;IACdC;EAAoB,CACrB,GAAG3E,eAAA;EAEJ,MAAM;IACJ4E,QAAQ;IACRC,UAAU;IACVC,QAAQ;IACRC,WAAW;IACXC,SAAS;IACTC,MAAA,EAAQC;EAAiB,CAC1B,GAAG9F,wBAAA;EAEJ,MAAM+F,UAAA,GAAaC,OAAA,CAAQP,UAAA;EAE3B,MAAM;IAAEQ,kBAAkB;IAAEC;EAAI,CAAE,GAAGzF,OAAA;EAErC,MAAM;IACJ0F,MAAM;IACNA,MAAA,EAAQ;MACNC,KAAA,EAAO;QAAEF,IAAA,EAAMG;MAAQ,CAAE;MACzBC,MAAA,EAAQ;QAAEF,KAAA,EAAOG;MAAU,CAAE;MAC7BC;IAAS,CACV;IACDC;EAAe,CAChB,GAAG/F,SAAA;EAEJ,MAAMgG,gBAAA,GAAmBD,eAAA,CAAgB;IAAEhD;EAAe;EAC1D,MAAMkD,YAAA,GAAeF,eAAA,CAAgB;IAAErC;EAAW;EAElD,MAAMwC,KAAA,GAAQ/F,YAAA;EAEd,MAAMgG,MAAA,GAAS3F,SAAA;EACf,MAAM4F,MAAA,GAAS3F,eAAA;EACf,MAAM;IAAE4F;EAAY,CAAE,GAAGpG,iBAAA;EACzB,MAAM;IAAEqG;EAAgB,CAAE,GAAGzF,cAAA;EAC7B,MAAM;IAAE0F;EAAY,CAAE,GAAG5F,kBAAA;EACzB,MAAM;IAAE6F;EAAoB,CAAE,GAAG9F,kBAAA;EACjC,MAAM;IAAE+F;EAAe,CAAE,GAAGlG,aAAA;EAC5B,MAAM;IACJmG,oBAAoB;IACpBC,gBAAgB;IAChBC,WAAW;IACXC,MAAA,EAAQC,iBAAiB;IACzBC,oBAAoB;IACpBC,GAAA,EAAKC;EAAc,CACpB,GAAG7G,qBAAA;EACJ,MAAM;IAAE8G,gBAAgB;IAAEC;EAAa,CAAE,GAAG9G,aAAA;EAE5C,MAAM+G,gBAAA,GAAmBnI,MAAA,CAAwB;EACjD,MAAMoI,cAAA,GAAiBpI,MAAA,CAAwB;EAE/C,MAAMqI,MAAA,GAASlB,MAAA,CAAOmB,GAAG,CAAC;EAE1B,MAAMC,UAAA,GAAaxB,gBAAA,EAAkByB,IAAA,IAAQxB,YAAA,EAAcwB,IAAA;EAE3D,MAAMC,SAAA,GAAY3E,cAAA,IAAkB,CAACN,EAAA,GAAK,WAAW;EAErD,MAAMkF,IAAA,GAAO3B,gBAAA,GAAmBA,gBAAA,CAAiB2B,IAAI,GAAGC,SAAA;EACxD,MAAMC,MAAA,GAAS7B,gBAAA,GAAmBA,gBAAA,CAAiB6B,MAAM,GAAGD,SAAA;EAE5D,MAAME,SAAA,GAAY9B,gBAAA,IAAoBC,YAAA;EAEtC,MAAM8B,iBAAA,GAAoBD,SAAA,EAAWE,aAAA,KAAkBJ,SAAA,GAAYE,SAAA,EAAWE,aAAA,GAAgB;EAC9F,MAAMC,gBAAA,GAAmBF,iBAAA,KAAsB;EAE/C,MAAMG,mBAAA,GAAsB,IAAI;AAAA;EAChC,MAAMC,YAAA,GACJ,OAAOJ,iBAAA,KAAsB,WAAWA,iBAAA,CAAkBK,QAAQ,GAAGF,mBAAA;EACvE,MAAMG,0BAAA,GAA6BF,YAAA,GAAe;EAElD,MAAMG,eAAA,GAAkB1J,kBAAA,CAAmBkJ,SAAA;EAE3C,MAAM,CAACS,yBAAA,EAA2BC,4BAAA,CAA6B,GAAGtJ,QAAA,CAAS;EAC3E,MAAM,CAACuJ,iBAAA,EAAmBC,oBAAA,CAAqB,GAAGxJ,QAAA,CAAS;EAC3D,MAAM,CAACyJ,kBAAA,EAAoBC,qBAAA,CAAsB,GAAG1J,QAAA,CAAS;EAE7D,MAAM,CAAC2J,oBAAA,EAAsBC,uBAAA,CAAwB,GAAG5J,QAAA,CAAS6J,IAAA,CAAKC,GAAG;EAEzE,MAAMC,yBAAA,GAA4BhK,MAAA,CAAO;EACzC,MAAMiK,oBAAA,GAAuBjK,MAAA,CAAOgE,IAAA,EAAMkG,SAAA;EAC1C,MAAMC,cAAA,GAAiBnK,MAAA,CAAO;EAC9B,MAAMoK,WAAA,GAAcpK,MAAA,CAAO;EAE3B,MAAMqK,cAAA,GAAiBnF,cAAA,GAAiBkE,0BAAA;EACxC,MAAMkB,aAAA,GAAgBR,IAAA,CAAKC,GAAG,KAAKM,cAAA;EAEnC,MAAME,yBAAA,GACJ,CAACjB,yBAAA,KACA,OAAOnF,yBAAA,KAA8B,cAClC,CAACA,yBAAA,GACD,CAACkF,eAAc;EAErB,MAAMmB,kBAAA,GAAqBzK,OAAA,CAAQ,MAAM,CAACwI,UAAA,CAAW,EAAE,CAACA,UAAA,CAAW;EAEnE,MAAM,CAACkC,oBAAA,EAAsBC,uBAAA,CAAwB,GAAGzK,QAAA,CAAS;IAC/D,IAAIwI,SAAA,KAAc,YAAYC,IAAA,IAAQ,CAACA,IAAA,CAAKiC,oBAAoB,EAAE;MAChE,OAAO;IACT;IAEA,OAAO;EACT;EAEA,MAAMC,WAAA,GAAchL,KAAA,CAAMI,MAAM,CAAgB;EAEhD,MAAM6K,qBAAA,GAAwBhL,WAAA,CAC3BiL,WAAA;IACCrF,mBAAA,CAAoB;IACpB,MAAMsF,eAAA,GACJ,OAAOzG,iBAAA,CAAkB0G,OAAO,EAAEzE,IAAA,KAAS,WACvCjC,iBAAA,CAAkB0G,OAAO,EAAEzE,IAAA,EAAM/C,EAAA,GACjCc,iBAAA,CAAkB0G,OAAO,EAAEzE,IAAA;IAEjC,IAAIuE,WAAA,IAAeA,WAAA,CAAYvE,IAAI,EAAE;MACnC,MAAM0E,YAAA,GACJ,OAAOH,WAAA,CAAYvE,IAAI,KAAK,YAAY,OAAOuE,WAAA,CAAYvE,IAAI,KAAK,WAChEuE,WAAA,CAAYvE,IAAI,GAChBuE,WAAA,CAAYvE,IAAI,CAAC/C,EAAE;MAEzB,IAAI,CAACc,iBAAA,CAAkB0G,OAAO,IAAIC,YAAA,KAAiBF,eAAA,EAAiB;QAClE,IAAIA,eAAA,KAAoBxE,IAAA,CAAK/C,EAAE,IAAIyH,YAAA,KAAiB1E,IAAA,CAAK/C,EAAE,EAAE;UAC3DiG,oBAAA,CAAqB;UACrBnF,iBAAA,CAAkB0G,OAAO,CAACE,mBAAmB,GAAG;QAClD;QAEA5G,iBAAA,CAAkB0G,OAAO,GAAG;UAC1BE,mBAAA,EAAqB5G,iBAAA,CAAkB0G,OAAO,EAAEE,mBAAA,IAAuB;UACvElG,QAAA,EAAU;UACVuB,IAAA,EAAMuE,WAAA,CAAYvE;QACpB;QACAhB,gBAAA,CAAiBuF,WAAA,CAAYvE,IAAI;MACnC;MAEA;MACA,IAAIuE,WAAA,CAAYK,YAAY,EAAE;QAC5BzF,iBAAA,CAAkB,IAAIoE,IAAA,CAAKgB,WAAA,CAAYK,YAAY,EAAEC,OAAO;MAC9D;IACF;EACF,GACA,CAAC9G,iBAAA,EAAmBiB,gBAAA,EAAkBE,mBAAA,EAAqBC,iBAAA,EAAmBa,IAAA,EAAM/C,EAAA,CAAG;EAGzF,MAAM6H,qBAAA,GAAwBxL,WAAA,CAAY;IACxC;IACA8J,qBAAA,CAAsB;IAEtB;IACAzC,MAAA,CAAOoE,OAAO;EAChB,GAAG,CAACpE,MAAA,CAAO;EAEX,MAAMqE,aAAA,GAAgB1L,WAAA,CAAa2L,QAAA;IACjCZ,WAAA,CAAYI,OAAO,GAAGQ,QAAA;EACxB,GAAG,EAAE;EAEL,MAAMC,kBAAA,GAAqB5L,WAAA,CAAY;IACrC,MAAM6L,QAAA,GAAWpH,iBAAA,CAAkB0G,OAAO,EAAEzE,IAAA;IAE5C,MAAMoF,wBAAA,GACJ,OAAOD,QAAA,KAAa,WAAWA,QAAA,EAAUlI,EAAA,KAAO+C,IAAA,EAAM/C,EAAA,GAAKkI,QAAA,KAAanF,IAAA,EAAM/C,EAAA;IAEhF,IAAIwF,gBAAA,IAAoB3E,gBAAA,KAAqBb,EAAA,IAAMiB,UAAS,GAAI;MAC9D;MACA,MAAMmH,QAAA,GAAWhB,WAAA,CAAYI,OAAO,GAAG,IAAIa,GAAA,CAAIjB,WAAA,CAAYI,OAAO,EAAEc,QAAQ,GAAG;MAC/E,MAAMC,cAAA,GAAiB,CAAC,YAAY,QAAQ,YAAY,CAACC,IAAI,CAAEC,IAAA,IAC7DL,QAAA,CAASM,QAAQ,CAACD,IAAA;MAGpB;MACA,IAAIN,wBAAA,IAA4B,CAACI,cAAA,EAAgB;QAC/C,IAAI;UACF,MAAMpG,cAAA,CAAenC,EAAA,EAAIM,cAAA,IAAkBW,UAAA;UAC3CgB,mBAAA,CAAoB;UACpBF,gBAAA,CAAiB;QACnB,EAAE,OAAO4G,GAAA,EAAK;UACZC,OAAA,CAAQC,KAAK,CAAC,iCAAiCF,GAAA,GAAK;QACtD;MACF;IACF;EACF,GAAG,CACDrI,cAAA,EACAO,gBAAA,EACAC,iBAAA,EACAG,UAAA,EACAjB,EAAA,EACAwF,gBAAA,EACAzD,gBAAA,EACAE,mBAAA,EACAE,cAAA,EACAY,IAAA,EAAM/C,EAAA,CACP;EAED,MAAM0C,MAAA,GAA4CrG,WAAA,CAChD,OAAOyM,IAAA,EAAMC,GAAA;IACX,MAAM;MAAEC,OAAO;MAAEC;IAAS,CAAE,GAAGF,GAAA,IAAO,CAAC;IAEvC,MAAMG,UAAA,GAAa5K,cAAA,CAAesG,cAAA;IAElC,MAAMuE,QAAA,GAAWL,IAAA,EAAMM,GAAA,IAAON,IAAA,EAAMO,MAAA;IAEpC,MAAM3C,SAAA,GAAYyC,QAAA,EAAUzC,SAAA,IAAa,IAAIJ,IAAA,GAAOgD,WAAW;IAE/D;IACA;IACA,IAAIvG,IAAA,IAAQzC,cAAA,KAAmB4C,QAAA,IAAYlD,EAAA,KAAO+C,IAAA,CAAK/C,EAAE,EAAE;MACzD,KAAK8C,kBAAA;IACP;IAEAZ,iBAAA,CAAkB,IAAIoE,IAAA,CAAKI,SAAA,EAAWkB,OAAO;IAE7C;IACA;IACAnB,oBAAA,CAAqBe,OAAO,GAAGd,SAAA;IAC/BF,yBAAA,CAA0BgB,OAAO,GAAG;IACpCZ,WAAA,CAAYY,OAAO,GAAG;IAEtB,IAAIwB,OAAA,EAAS5H,qBAAA,KAA0B,OAAO;MAC5CA,qBAAA;IACF;IAEA,IAAI,OAAOY,OAAA,KAAY,YAAY;MACjC,KAAKA,OAAA,CAAQmH,QAAA,IAAY,CAAC;IAC5B;IAEA,IAAI,OAAOxG,iBAAA,KAAsB,YAAY;MAC3C,MAAMsC,WAAA,GAAYjF,EAAA,GAAK,WAAW;MAElC,KAAK2C,iBAAA,CAAkB;QACrB,GAAImG,IAAI;QACRE,OAAA;QACA/D,SAAA,EAAAA,WAAA;QACA;QACAyB,SAAA,EACEzB,WAAA,KAAc,WACV,IAAIqB,IAAA,GAAOgD,WAAW,KACtBH,QAAA,EAAUzC,SAAA,IAAa,IAAIJ,IAAA,GAAOgD,WAAW;MACrD;IACF;IAEA,IAAI,CAAChI,SAAA,IAAamC,KAAA,GAAQ,KAAK9B,mBAAA,KAAwB,OAAO;MAC5D;MACA,IAAImH,IAAA,CAAKS,OAAO,IAAI,OAAOC,MAAA,KAAW,aAAa;QACjDA,MAAA,CAAOC,cAAc,CAACC,OAAO,CAAC5K,yBAAA,EAA2BgK,IAAA,CAAKS,OAAO;MACvE;MAEA;MACA,MAAMI,aAAA,GAAgBzN,cAAA,CAAe;QACnCkH,UAAA;QACAqF,IAAA,EAAM,gBAAgBnI,cAAA,IAAkB6I,QAAA,EAAUnJ,EAAA,GAAK6E,MAAA,GAAS,WAAWA,MAAA,EAAQ,GAAG;MACxF;MAEAd,oBAAA,CAAqB,MAAML,MAAA,CAAOkG,IAAI,CAACD,aAAA;IACzC,OAAO;MACL9F,gBAAA;IACF;IAEA,IAAImF,OAAA,EAASjI,iBAAA,KAAsB,OAAO;MACxC,MAAMA,iBAAA,CAAkB+H,IAAA;IAC1B;IAEA,IAAI9I,EAAA,IAAMiB,UAAA,EAAY;MACpB,MAAM4I,cAAA,GAAiB,MAAM7I,iBAAA;MAE7B,MAAM;QAAEwD,cAAc,EAAdA,gBAAc;QAAEsF,UAAU;QAAEC;MAAK,CAAE,GAAG,MAAMjG,YAAA,CAAa;QAC/D9D,EAAA;QACAM,cAAA;QACAE,IAAA,EAAM2I,QAAA;QACNvI,cAAA;QACAiJ,cAAA;QACAZ,SAAA;QACAhI,UAAA;QACAgE,SAAA;QACA+E,eAAA,EAAiB;QACjBC,oBAAA,EAAsBhG,oBAAA,IAAwBK,oBAAA,KAAyB;QACvE4F,gBAAA,EAAkB;QAClBC,gBAAA,EAAkB1F,gBAAA;QAClB2F,UAAA,EAAYpD,kBAAA,CAAmBqD,IAAI,CAAC;QACpCC,MAAA,EAAQpB,UAAA,CAAWoB,MAAM;QACzBC,cAAA,EAAgB;MAClB;MAEA;MACA;MACA,IAAInF,MAAA,IAAU2E,KAAA,EAAO;QACnB,OAAOA,KAAA,CAAMS,IAAI;MACnB;MAEA;MACA,IAAIhF,gBAAA,EAAkB;QACpBvD,mBAAA,CAAoB;MACtB;MAEA,IAAIgC,oBAAA,IAAwBK,oBAAA,KAAyB,YAAY;QAC/DD,iBAAA,CAAkBG,gBAAA;MACpB;MAEA,IAAIC,gBAAA,EAAkB;QACpBC,aAAA,CAAcoF,UAAA;MAChB;MAEAlG,YAAA,CAAa;QACX5D,EAAA;QACAoJ,GAAA,EAAKD,QAAA;QACL7G,UAAA;QACAyC,UAAA;QACAE,SAAA,EAAW;QACXyB;MACF;MAEA9B,cAAA,CAAe4C,OAAO,GAAG;MAEzB,OAAOuC,KAAA;IACT,OAAO;MACLnG,YAAA,CAAa;QACX5D,EAAA;QACAoJ,GAAA,EAAKD,QAAA;QACL7G,UAAA;QACAyC,UAAA;QACAE,SAAA,EAAW;QACXyB;MACF;IACF;EACF,GACA,CACE3D,IAAA,EACAzC,cAAA,EACA4C,QAAA,EACAlD,EAAA,EACAkC,iBAAA,EACAF,OAAA,EACAW,iBAAA,EACArB,SAAA,EACAmC,KAAA,EACA9B,mBAAA,EACAV,UAAA,EACA6B,kBAAA,EACA1B,qBAAA,EACAgC,UAAA,EACAyB,MAAA,EACAd,oBAAA,EACAL,MAAA,EACAG,gBAAA,EACA9C,iBAAA,EACAC,iBAAA,EACA8C,YAAA,EACAlD,cAAA,EACAqE,SAAA,EACAhB,oBAAA,EACAK,oBAAA,EACAG,gBAAA,EACAuC,kBAAA,EACA5B,MAAA,EACAI,gBAAA,EACA5B,YAAA,EACAtB,UAAA,EACAyC,UAAA,EACA9C,mBAAA,EACAoC,iBAAA,EACAK,aAAA,CACD;EAGH,MAAM+F,QAAA,GAAqCpO,WAAA,CACzC,OAAO;IAAE4M,SAAA,EAAWyB,aAAa;IAAEC;EAAS,CAAE;IAC5C,MAAMzB,YAAA,GAAa5K,cAAA,CAAeqG,gBAAA;IAElC;IACA;IACA,MAAMiG,kBAAA,GAAqBjE,cAAA,CAAea,OAAO;IACjD,MAAMqD,eAAA,GAAkBjE,WAAA,CAAYY,OAAO;IAE3C;IACA,IAAIhH,IAAA,EAAMkG,SAAA,IAAalG,IAAA,CAAKkG,SAAS,GAAGD,oBAAA,CAAqBe,OAAO,EAAE;MACpEf,oBAAA,CAAqBe,OAAO,GAAGhH,IAAA,CAAKkG,SAAS;MAC7C;MACAF,yBAAA,CAA0BgB,OAAO,GAAG;IACtC;IAEA,MAAMsD,WAAA,GAAcxE,IAAA,CAAKC,GAAG;IAC5B,MAAMwE,mBAAA,GAAsBD,WAAA,GAAc1E,oBAAA;IAE1C,MAAM4E,gBAAA,GAAmBxF,gBAAA,IAAoBuF,mBAAA,IAAuB,MAAM;AAAA;IAE1E,IAAIC,gBAAA,EAAkB;MACpB3E,uBAAA,CAAwByE,WAAA;IAC1B;IAEA;IACA;IACA;IACA,MAAMG,iBAAA,GACJ,CAACzE,yBAAA,CAA0BgB,OAAO,IAClCf,oBAAA,CAAqBe,OAAO,IAC5BvC,SAAA,KAAc,YACd,CAACY,eAAA;IAEH,IAAIoF,iBAAA,EAAmB;MACrBzE,yBAAA,CAA0BgB,OAAO,GAAG;IACtC;IAEA,MAAMqC,gBAAA,GAAiB,MAAM7I,iBAAA;IAE7B,MAAMqI,MAAA,GAAS,MAAMvF,YAAA,CAAa;MAChC9D,EAAA;MACAiL,iBAAA;MACA3K,cAAA;MACAM,cAAA;MACAiJ,cAAA,EAAAA,gBAAA;MACAZ,SAAA,EAAWyB,aAAA;MACXzJ,UAAA;MACAgE,SAAA;MACAiG,iBAAA,EAAmBD,iBAAA,GAAoBxE,oBAAA,CAAqBe,OAAO,GAAGrC,SAAA;MACtE6E,eAAA,EAAiB;MACjBE,gBAAA,EAAkB1E,gBAAA;MAClB4E,UAAA,EAAYpD,kBAAA,CAAmBqD,IAAI,CAAC;MACpCC,MAAA,EAAQpB,YAAA,CAAWoB,MAAM;MACzBC,cAAA,EAAgB,CAACI,SAAA;MACjBK;IACF;IAEA,IAAI,CAAC3B,MAAA,EAAQ;MACX;IACF;IAEA,MAAM;MAAE/B,WAAW,EAAXA,aAAW;MAAE6D,cAAc;MAAEpB,KAAK,EAALA;IAAK,CAAE,GAAGV,MAAA;IAE/C,IAAI7D,gBAAA,EAAkB;MACpB6B,qBAAA,CAAsBC,aAAA;IACxB;IAEA;IACA;IACA;IACA,IACE6D,cAAA,EAAgBC,OAAA,IAChB,CAACP,eAAA,IACDlE,cAAA,CAAea,OAAO,KAAKoD,kBAAA,EAC3B;MACAzE,qBAAA,CAAsB;IACxB;IAEAxB,gBAAA,CAAiB6C,OAAO,GAAG;IAE3B,OAAOuC,OAAA;EACT,GACA,CACEvJ,IAAA,EAAMkG,SAAA,EACNN,oBAAA,EACAZ,gBAAA,EACAxE,iBAAA,EACA8C,YAAA,EACA9D,EAAA,EACAM,cAAA,EACAM,cAAA,EACAK,UAAA,EACAgE,SAAA,EACA+B,kBAAA,EACAK,qBAAA,EACAxB,eAAA,CACD;EAGH;EACAvJ,SAAA,CAAU;IACR,OAAO;MACL2J,oBAAA,CAAqB;IACvB;EACF,GAAG,EAAE;EAEL3J,SAAA,CAAU;IACR,MAAM+O,aAAA,GAAgB1G,gBAAA,CAAiB6C,OAAO;IAC9C,MAAM8D,WAAA,GAAc1G,cAAA,CAAe4C,OAAO;IAE1C,OAAO;MACLnJ,cAAA,CAAegN,aAAA;MACfhN,cAAA,CAAeiN,WAAA;IACjB;EACF,GAAG,EAAE;EAEL;EACAhP,SAAA,CAAU;IACR,IAAI,CAACiF,cAAA,IAAkB,OAAOiI,MAAA,KAAW,aAAa;MACpD,MAAM+B,cAAA,GAAiB/B,MAAA,CAAOC,cAAc,CAAC+B,OAAO,CAAC1M,yBAAA;MAErD,IAAIyM,cAAA,EAAgB;QAClB/B,MAAA,CAAOC,cAAc,CAACgC,UAAU,CAAC3M,yBAAA;QACjCpC,KAAA,CAAMgP,OAAO,CAACH,cAAA;MAChB;IACF;EACF,GAAG,CAAChK,cAAA,CAAe;EAEnB,MAAMoK,6BAAA,GACJ9K,gBAAA,IACAN,aAAA,KACC,OAAOA,aAAA,KAAkB,WACtBA,aAAA,CAAcP,EAAE,KAAK+C,IAAA,EAAM/C,EAAA,GAC3BO,aAAA,KAAkBwC,IAAA,EAAM/C,EAAC,KAC7B,CAAC8F,yBAAA,IACD,CAACE,iBAAA,IACD,CAAClF,iBAAA,CAAkB0G,OAAO,EAAEE,mBAAA,IAC5B,CAACZ,aAAA;EAEH,MAAM8E,kBAAA,GAAqB/I,OAAA,CACzBU,gBAAA,EAAkBsI,SAAA,IAChB,OAAOtI,gBAAA,CAAiBsI,SAAS,KAAK,YACtCtI,gBAAA,CAAiBsI,SAAS,CAACC,YAAY,KAAK;EAGhD,MAAMC,qBAAA,GAAwF;IAC5F/L,EAAA;IACAgF,IAAA,EAAMzB,gBAAA,EAAkByB,IAAA,IAAQxB,YAAA,EAAcwB,IAAA;IAC9C5E,MAAA;IACApB,sBAAA;IACAC,kBAAA;IACA+M,gBAAA,EAAkB;MAChB1M,aAAA;MACAC,aAAA;MACAC,UAAA;MACAC,eAAA;MACAC,MAAA;MACAC;IACF;IACAa,IAAA;IACAC,cAAA,EAAgBA,cAAA,IAAkBgB,SAAA;IAClCf,aAAA;IACAvB,aAAA;IACA+B,oBAAA;IACAC,iBAAA;IACAG,SAAA;IACAsB,UAAA;IACAnB,SAAA;IACAc,QAAA;IACA0J,iBAAA,EAAmB5J,QAAA;IACnBG,WAAA;IACAC,SAAA;IACAC,MAAA;IACAwJ,UAAA,EAAYA,CAAA;MACV,KAAKzN,cAAA,CAAe;QAClBuB,EAAA;QACAgE,eAAA;QACA1D,cAAA;QACA6L,oBAAA,EAAsBrL,iBAAA;QACtBG,UAAA;QACAuE,gBAAA;QACA4G,WAAA,EAAa;QACbrK,gBAAA;QACAgE,4BAAA;QACA3D,oBAAA;QACAW;MACF;IACF;IACAsJ,WAAA,EAAazL,cAAA;IACb0L,uBAAA,EAAyBxG,yBAAA;IACzBlE,mBAAA;IACAC,sBAAA;IACAC,oBAAA;IACAiB,IAAA,EAAMxC;EACR;EAEA,MAAMgM,UAAA,GAAarH,IAAA,gBACjBsH,IAAA,CAAC9N,IAAA;IACC+N,SAAA,EAAW,GAAG5N,SAAA,QAAiB;IAC/ByB,cAAA,EAAgBiD,gBAAA,CAAiByB,IAAI;IACrCmC,oBAAA,EAAsB5D,gBAAA,CAAiB2B,IAAI,EAAEiC,oBAAA;IAC7CuF,KAAA,EAAOlM,IAAA,EAAMkM,KAAA;IACbC,iBAAA,EAAmBzH,IAAA,EAAMyH,iBAAA;IACzB1H,SAAA,EAAWA,SAAA;IACX2H,QAAA,EAAU,CAACzL,iBAAA;IACX0L,eAAA,EAAiB,CAAC7M,EAAA;IAClBkH,uBAAA,EAAyBA,uBAAA;IACzB;IACA4F,SAAA,EAAW5H,IAAA,CAAK4H,SAAS;IACzBC,QAAA,EAAUvM,IAAA,EAAMuM,QAAA;IAChBC,MAAA,EAAQ9H,IAAA,CAAK8H;OAEb7H,SAAA;EAEJ,MAAM8H,uBAAA,GACJpK,OAAA,CAAQuC,MAAA,KAAW,EAAEH,SAAA,KAAc,YAAYG,MAAA,CAAO8H,qBAAqB,CAAD;EAC5E,MAAMC,sBAAA,GAAyBF,uBAAA;EAE/B,oBACET,IAAA,CAAC;IACCC,SAAA,EAAW,CACT5N,SAAA,EACC,CAAAmB,EAAA,IAAMiB,UAAS,KAAM,GAAGpC,SAAA,cAAuB,EAChDoC,UAAA,IAAc,gBAAgBA,UAAA,EAAY,EAC1CX,cAAA,IAAkB,oBAAoBA,cAAA,EAAgB,EACtD4D,gBAAA,IAAoB,GAAGrF,SAAA,sBAA+B,CACvD,CACEuO,MAAM,CAACvK,OAAA,EACPwH,IAAI,CAAC;cAER,aAAAmC,IAAA,CAAC3O,iBAAA;MAAkBoH,SAAA,EAAWA,SAAA;gBAC5B,aAAAoI,KAAA,CAAChQ,IAAA;QACC4C,MAAA,EAAQA,MAAA;QACRwM,SAAA,EAAW,GAAG5N,SAAA,QAAiB;QAC/ByO,QAAA,EAAUxH,yBAAA,IAA6BvE,cAAA,IAAkB,CAACJ,iBAAA,IAAqBM,SAAA;QAC/E8L,oBAAA,EAAsB,CAACjM,SAAA,IAAamC,KAAA,GAAQ,KAAK9B,mBAAA,KAAwB;QACzE6L,yBAAA,EAA2B,CAACvG,oBAAA;QAC5B5F,YAAA,EAAc,CAACE,cAAA,IAAkBF,YAAA;QACjCoM,cAAA,EAAgB;QAChBlM,cAAA,EAAgBA,cAAA;QAEhBmM,MAAA,EAAQ1N,EAAA,GAAK,UAAU;QACvByK,QAAA,EAAU,CAACA,QAAA,CAAS;QACpBkD,QAAA,EAAUA,CAAA;UACRhH,cAAA,CAAea,OAAO,IAAI;UAC1BZ,WAAA,CAAYY,OAAO,GAAG;QACxB;QACAoG,SAAA,EAAWlL,MAAA;mBAEVE,UAAA,iBACC4J,IAAA,CAAC5P,oBAAA;UACCiR,OAAA,eACErB,IAAA,CAAC7P,gBAAA;YAAkB,GAAGoP,qBAAqB;YAAE+B,OAAA,EAAQ;;UAEvDC,WAAA,EAAa7O,WAAA;UACbD,kBAAA,EAAoBA,kBAAA;UACpBqD,UAAA,EAAYA,UAAA;UACZgK,uBAAA,EAAyBxG,yBAAA;UACzBkI,iBAAA,EAAmB,CAACpC,kBAAA;UACpBlM,MAAA,EAAQA,MAAA;UACRqD,IAAA,EAAMxC;YAGTiF,gBAAA,IAAoBmG,6BAAA,iBACnBa,IAAA,CAACzP,cAAA;UACCyB,YAAA,EAAcA,CAAA,KAAMA,YAAA,CAAa;YAAE4E,UAAA;YAAY9C,cAAA;YAAgBoD,MAAA;YAAQL;UAAU;UACjF4K,QAAA,EAAUtC,6BAAA;UACVuC,UAAA,EAAYA,CAAA;YACVnI,4BAAA,CAA6B;YAC7BE,oBAAA,CAAqB;UACvB;UACAiG,UAAA,EAAYA,CAAA,KACVzN,cAAA,CAAe;YACbuB,EAAA;YACAgE,eAAA;YACA1D,cAAA;YACA6L,oBAAA,EAAsBrL,iBAAA;YACtBG,UAAA;YACAuE,gBAAA;YACA4G,WAAA,EAAa;YACbrK,gBAAA;YACAK,oBAAA;YACAW;UACF;UAEF2D,SAAA,EAAWhF,cAAA;UACXqB,IAAA,EAAMxC;YAGTiF,gBAAA,IAAoBQ,iBAAA,iBACnBwG,IAAA,CAACvP,gBAAA;UACCsB,qBAAA,EAAuBA,CAAA,KAAMA,qBAAA,CAAsB;YAAE6E,UAAA;YAAYM,MAAA;YAAQL;UAAU;UACnF4K,QAAA,EAAUjI,iBAAA;UACVkI,UAAA,EAAYA,CAAA;YACVnI,4BAAA,CAA6B;YAC7BE,oBAAA,CAAqB;UACvB;YAGHC,kBAAA,iBACCsG,IAAA,CAACxP,iBAAA;UAAkBiR,QAAA,EAAU/H,kBAAA;UAAoBiI,QAAA,EAAUtG;YAE5Dd,yBAAA,iBACCyF,IAAA,CAACrP,kBAAA;UACCiR,SAAA,EAAW9L,UAAA,GAAa,wBAAwBA,UAAA,EAAY,GAAG6C,SAAA;UAC/DkJ,SAAA,EAAWpG,kBAAA;UACXqG,SAAA,EAAWvG;YAGd,CAACnF,UAAA,iBACA4J,IAAA,CAAC7N,kBAAA;UACC2B,cAAA,EAAgBiD,gBAAA,EAAkByB,IAAA;UAClC/D,UAAA,EAAYuC,YAAA,EAAcwB,IAAA;UAC1BhF,EAAA,EAAIA,EAAA;UACJyB,SAAA,EAAWA,SAAA;UACX8M,WAAA,EAAahL,gBAAA,EAAkBiL,MAAA,EAAQC,MAAA;UACvCC,UAAA,EAAYnL,gBAAA,EAAkBN,KAAA,EAAOyL;yBAGzClC,IAAA,CAAC5N,gBAAA;UACC2E,gBAAA,EAAkBA,gBAAA;UAClBP,MAAA,EAAQA,MAAA;UACR2L,QAAA,EAAUlL,KAAA,IAAS,IAAIzD,EAAA,EAAI4O,QAAA,KAAazJ,SAAA;UACxC3B,YAAA,EAAcA;YAEf,CAACZ,UAAA,iBAAc4J,IAAA,CAAC7P,gBAAA;UAAkB,GAAGoP,qBAAqB;UAAE+B,OAAA,EAAQ;yBACrET,KAAA,CAAC;UACCZ,SAAA,EAAW,CACT,GAAG5N,SAAA,gBAAyB,EAC5BoO,uBAAA,IAA2B,GAAGpO,SAAA,kCAA2C,EACzEsO,sBAAA,IAA0B,GAAGtO,SAAA,oCAA6C,EAC1EsF,WAAA,IAAe,GAAGtF,SAAA,YAAqB,CACxC,CACEuO,MAAM,CAACvK,OAAA,EACPwH,IAAI,CAAC;kCAERgD,KAAA,CAAC;YACCZ,SAAA,EAAW,CAAC,GAAG5N,SAAA,QAAiB,EAAEsF,WAAA,IAAe,GAAGtF,SAAA,oBAA6B,CAAC,CAC/EuO,MAAM,CAACvK,OAAA,EACPwH,IAAI,CAAC;oCAERmC,IAAA,CAAC1P,cAAA;cACCqD,WAAA,EAAaA,WAAA;cACbE,YAAA,EACEkM,UAAA,IAAclM,YAAA,gBACZgN,KAAA,CAAAwB,SAAA;2BACGtC,UAAA,EACAlM,YAAA;mBAED;cAENnB,WAAA,EAAaA,WAAA;cACb0B,cAAA,EAAgBA,cAAA;cAChBkO,MAAA,EAAQzJ,SAAA,CAAUyJ,MAAM;cACxBC,gBAAA,EAAkB9B,uBAAA,IAA2B/I,gBAAA;cAC7CzC,SAAA,EAAWA,SAAA;cACXmL,QAAA,EAAU9G,yBAAA,IAA6B,CAAC3E,iBAAA,IAAqBM,SAAA;cAC7DuF,kBAAA,EAAoBA;gBAErB9G,aAAA;cAEF+M,uBAAA,iBACCT,IAAA,CAACrO,sBAAA;sBACE0B,YAAA,iBACC2M,IAAA,CAACtP,WAAA;cACCoD,cAAA,EAAgBiD,gBAAA,CAAiByB,IAAI;cACrC3D,YAAA,EAAcA,YAAA;cACd2N,YAAA,EAAc5J,MAAA;cACdtF,cAAA,EAAgBA,cAAA;cAChBC,iBAAA,EAAmBA;;cAK1BkE,oBAAA,IAAwB,CAACrB,UAAA,IAAc4B,cAAA,iBACtCgI,IAAA,CAAAqC,SAAA;sBACGxP,iBAAA,iBACCmN,IAAA,CAACpP,iBAAA;cAAkBkD,cAAA,EAAgBA,cAAA;cAAgBW,UAAA,EAAYA;;;;SAzIlE,GAAGO,QAAA,EAAU;;;AAkJ5B","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["formatAdminURL","hasAutosaveEnabled","React","useCallback","useEffect","useMemo","useRef","useState","toast","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentStaleData","DocumentTakeOver","FileManager","LeaveWithoutSaving","LivePreviewWindow","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useLivePreviewContext","usePreviewURL","OperationProvider","useRouteCache","useRouter","useSearchParams","useRouteTransition","useServerFunctions","UploadControlsProvider","useUploadEdits","abortAndIgnore","handleAbortRef","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","PENDING_SUCCESS_TOAST_KEY","DefaultEditView","BeforeDocumentControls","BeforeDocumentMeta","Description","EditMenuItems","LivePreview","CustomLivePreview","PreviewButton","PublishButton","SaveButton","SaveDraftButton","Status","UnpublishButton","Upload","CustomUpload","UploadControls","UploadFilePreview","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","data","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","documentLockState","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialState","isEditing","isInitializing","isLocked","isTrashed","lastUpdateTime","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","setCurrentEditor","setData","setDocumentIsLocked","setLastUpdateTime","unlockDocument","updateDocumentEditor","clearDoc","drawerSlug","onDelete","onDuplicate","onRestore","onSave","onSaveFromContext","isInDrawer","Boolean","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","serverURL","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","startRouteTransition","clearRouteCache","isLivePreviewEnabled","isLivePreviewing","isPopupOpen","setURL","setLivePreviewURL","typeofLivePreviewURL","url","livePreviewURL","isPreviewEnabled","setPreviewURL","abortOnChangeRef","abortOnSaveRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","showStaleDataModal","setShowStaleDataModal","editSessionStartTime","setEditSessionStartTime","Date","now","hasCheckedForStaleDataRef","originalUpdatedAtRef","updatedAt","saveCounterRef","isSavingRef","lockExpiryTime","isLockExpired","preventLeaveWithoutSaving","schemaPathSegments","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","nextHrefRef","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","hasShownLockedModal","lastEditedAt","getTime","handleStaleDataReload","refresh","handlePrevent","nextHref","handleLeaveConfirm","lockUser","isLockOwnedByCurrentUser","nextPath","URL","pathname","isInternalView","some","path","includes","err","console","error","json","ctx","context","formState","controller","document","doc","result","toISOString","message","window","sessionStorage","setItem","redirectRoute","push","docPreferences","previewURL","state","renderAllFields","returnLivePreviewURL","returnLockStatus","returnPreviewURL","schemaPath","join","signal","skipValidation","file","onChange","prevFormState","submitted","saveCounterAtStart","isSavingAtStart","currentTime","timeSinceLastUpdate","updateLastEdited","checkForStaleData","originalUpdatedAt","staleDataState","isStale","abortOnChange","abortOnSave","pendingMessage","getItem","removeItem","success","shouldShowDocumentLockedModal","isFolderCollection","hierarchy","allowHasMany","documentControlsProps","customComponents","onDrawerCreateNew","onTakeOver","documentLockStateRef","isWithinDoc","permissions","readOnlyForIncomingUser","renderAuth","_jsx","className","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","shouldRenderUploadPanel","hideFileInputOnCreate","shouldScrollFieldsOnly","filter","_jsxs","disabled","disableSuccessStatus","disableValidationOnSubmit","isDocumentForm","method","onSubmit","onSuccess","actions","variant","AfterHeader","renderTitleAsLink","isActive","onReadOnly","onReload","modalSlug","onConfirm","onPrevent","pluralLabel","labels","plural","useAsTitle","fallback","toString","_Fragment","fields","forceSidebarWrap","uploadConfig"],"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DocumentViewClientProps, User } from 'payload'\n\nimport { formatAdminURL, hasAutosaveEnabled } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { FormOnSuccess } from '../../forms/Form/types.js'\nimport type { LockedState } from '../../utilities/buildFormState.js'\n\nimport { DocumentControls } from '../../elements/DocumentControls/index.js'\nimport { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js'\nimport { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../elements/DocumentFields/index.js'\nimport { DocumentLocked } from '../../elements/DocumentLocked/index.js'\nimport { DocumentStaleData } from '../../elements/DocumentStaleData/index.js'\nimport { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js'\nimport { FileManager } from '../../elements/FileManager/index.js'\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { LivePreviewWindow } from '../../elements/LivePreview/Window/index.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLivePreviewContext, usePreviewURL } from '../../providers/LivePreview/context.js'\nimport { OperationProvider } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouter, useSearchParams } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { UploadControlsProvider } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { handleBackToDashboard } from '../../utilities/handleBackToDashboard.js'\nimport { handleGoBack } from '../../utilities/handleGoBack.js'\nimport { handleTakeOver } from '../../utilities/handleTakeOver.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.css'\n\nconst baseClass = 'collection-edit'\nconst PENDING_SUCCESS_TOAST_KEY = 'payload-pending-success-toast'\n\nexport type OnSaveContext = {\n getDocPermissions?: boolean\n incrementVersionCount?: boolean\n}\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport function DefaultEditView({\n BeforeDocumentControls,\n BeforeDocumentMeta,\n Description,\n EditMenuItems,\n LivePreview: CustomLivePreview,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Status,\n UnpublishButton,\n Upload: CustomUpload,\n UploadControls,\n UploadFilePreview,\n}: DocumentViewClientProps) {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n data,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n documentLockState,\n getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialState,\n isEditing,\n isInitializing,\n isLocked,\n isTrashed,\n lastUpdateTime,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n setCurrentEditor,\n setData,\n setDocumentIsLocked,\n setLastUpdateTime,\n unlockDocument,\n updateDocumentEditor,\n } = useDocumentInfo()\n\n const {\n clearDoc,\n drawerSlug,\n onDelete,\n onDuplicate,\n onRestore,\n onSave: onSaveFromContext,\n } = useDocumentDrawerContext()\n\n const isInDrawer = Boolean(drawerSlug)\n\n const { refreshCookieAsync, user } = useAuth()\n\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const depth = useEditDepth()\n\n const router = useRouter()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n const { getFormState } = useServerFunctions()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n const {\n isLivePreviewEnabled,\n isLivePreviewing,\n isPopupOpen,\n setURL: setLivePreviewURL,\n typeofLivePreviewURL,\n url: livePreviewURL,\n } = useLivePreviewContext()\n const { isPreviewEnabled, setPreviewURL } = usePreviewURL()\n\n const abortOnChangeRef = useRef<AbortController>(null)\n const abortOnSaveRef = useRef<AbortController>(null)\n\n const locale = params.get('locale')\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const autosaveEnabled = hasAutosaveEnabled(docConfig)\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n const [showStaleDataModal, setShowStaleDataModal] = useState(false)\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const hasCheckedForStaleDataRef = useRef(false)\n const originalUpdatedAtRef = useRef(data?.updatedAt)\n const saveCounterRef = useRef(0)\n const isSavingRef = useRef(false)\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n const isLockExpired = Date.now() > lockExpiryTime\n\n const preventLeaveWithoutSaving =\n !isReadOnlyForIncomingUser &&\n (typeof disableLeaveWithoutSaving !== 'undefined'\n ? !disableLeaveWithoutSaving\n : !autosaveEnabled)\n\n const schemaPathSegments = useMemo(() => [entitySlug], [entitySlug])\n\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const nextHrefRef = React.useRef<null | string>(null)\n\n const handleDocumentLocking = useCallback(\n (lockedState: LockedState) => {\n setDocumentIsLocked(true)\n const previousOwnerID =\n typeof documentLockState.current?.user === 'object'\n ? documentLockState.current?.user?.id\n : documentLockState.current?.user\n\n if (lockedState && lockedState.user) {\n const lockedUserID =\n typeof lockedState.user === 'string' || typeof lockedState.user === 'number'\n ? lockedState.user\n : lockedState.user.id\n\n if (!documentLockState.current || lockedUserID !== previousOwnerID) {\n if (previousOwnerID === user.id && lockedUserID !== user.id) {\n setShowTakeOverModal(true)\n documentLockState.current.hasShownLockedModal = true\n }\n\n documentLockState.current = {\n hasShownLockedModal: documentLockState.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user as User,\n }\n setCurrentEditor(lockedState.user as User)\n }\n\n // Update lastUpdateTime when lock state changes\n if (lockedState.lastEditedAt) {\n setLastUpdateTime(new Date(lockedState.lastEditedAt).getTime())\n }\n }\n },\n [documentLockState, setCurrentEditor, setDocumentIsLocked, setLastUpdateTime, user?.id],\n )\n\n const handleStaleDataReload = useCallback(() => {\n // Reset modal state so it can appear again if needed\n setShowStaleDataModal(false)\n\n // Refresh to get the latest data\n router.refresh()\n }, [router])\n\n const handlePrevent = useCallback((nextHref: null | string) => {\n nextHrefRef.current = nextHref\n }, [])\n\n const handleLeaveConfirm = useCallback(async () => {\n const lockUser = documentLockState.current?.user\n\n const isLockOwnedByCurrentUser =\n typeof lockUser === 'object' ? lockUser?.id === user?.id : lockUser === user?.id\n\n if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {\n // Check where user is trying to go\n const nextPath = nextHrefRef.current ? new URL(nextHrefRef.current).pathname : ''\n const isInternalView = ['/preview', '/api', '/versions'].some((path) =>\n nextPath.includes(path),\n )\n\n // Remove the lock if the user is navigating away from the document view they have locked\n if (isLockOwnedByCurrentUser && !isInternalView) {\n try {\n await unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n } catch (err) {\n console.error('Failed to unlock before leave', err) // eslint-disable-line no-console\n }\n }\n }\n }, [\n collectionSlug,\n documentIsLocked,\n documentLockState,\n globalSlug,\n id,\n isLockingEnabled,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n user?.id,\n ])\n\n const onSave: FormOnSuccess<any, OnSaveContext> = useCallback(\n async (json, ctx) => {\n const { context, formState } = ctx || {}\n\n const controller = handleAbortRef(abortOnSaveRef)\n\n const document = json?.doc || json?.result\n\n const updatedAt = document?.updatedAt || new Date().toISOString()\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n setLastUpdateTime(new Date(updatedAt).getTime())\n\n // Update stale data check refs after successful save\n // This allows detecting if another user modifies the document after this save\n originalUpdatedAtRef.current = updatedAt\n hasCheckedForStaleDataRef.current = false\n isSavingRef.current = false\n\n if (context?.incrementVersionCount !== false) {\n incrementVersionCount()\n }\n\n if (typeof setData === 'function') {\n void setData(document || {})\n }\n\n if (typeof onSaveFromContext === 'function') {\n const operation = id ? 'update' : 'create'\n\n void onSaveFromContext({\n ...(json as Record<string, unknown>),\n context,\n operation,\n // @ts-expect-error todo: this is not right, should be under `doc`?\n updatedAt:\n operation === 'update'\n ? new Date().toISOString()\n : document?.updatedAt || new Date().toISOString(),\n })\n }\n\n if (!isEditing && depth < 2 && redirectAfterCreate !== false) {\n // Store success message to show after redirect\n if (json.message && typeof window !== 'undefined') {\n window.sessionStorage.setItem(PENDING_SUCCESS_TOAST_KEY, json.message)\n }\n\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n\n startRouteTransition(() => router.push(redirectRoute))\n } else {\n resetUploadEdits()\n }\n\n if (context?.getDocPermissions !== false) {\n await getDocPermissions(json)\n }\n\n if (id || globalSlug) {\n const docPreferences = await getDocPreferences()\n\n const { livePreviewURL, previewURL, state } = await getFormState({\n id,\n collectionSlug,\n data: document,\n docPermissions,\n docPreferences,\n formState,\n globalSlug,\n operation,\n renderAllFields: false,\n returnLivePreviewURL: isLivePreviewEnabled && typeofLivePreviewURL === 'function',\n returnLockStatus: false,\n returnPreviewURL: isPreviewEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: true,\n })\n\n // For upload collections, clear the file field from the returned state\n // to prevent the File object from persisting in form state after save\n if (upload && state) {\n delete state.file\n }\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n if (isLivePreviewEnabled && typeofLivePreviewURL === 'function') {\n setLivePreviewURL(livePreviewURL)\n }\n\n if (isPreviewEnabled) {\n setPreviewURL(previewURL)\n }\n\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'update',\n updatedAt,\n })\n\n abortOnSaveRef.current = null\n\n return state\n } else {\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'create',\n updatedAt,\n })\n }\n },\n [\n user,\n collectionSlug,\n userSlug,\n id,\n setLastUpdateTime,\n setData,\n onSaveFromContext,\n isEditing,\n depth,\n redirectAfterCreate,\n globalSlug,\n refreshCookieAsync,\n incrementVersionCount,\n adminRoute,\n locale,\n startRouteTransition,\n router,\n resetUploadEdits,\n getDocPermissions,\n getDocPreferences,\n getFormState,\n docPermissions,\n operation,\n isLivePreviewEnabled,\n typeofLivePreviewURL,\n isPreviewEnabled,\n schemaPathSegments,\n upload,\n isLockingEnabled,\n reportUpdate,\n drawerSlug,\n entitySlug,\n setDocumentIsLocked,\n setLivePreviewURL,\n setPreviewURL,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n // Capture save state before the async form-state request so we can detect\n // if a save was triggered while this request was in-flight\n const saveCounterAtStart = saveCounterRef.current\n const isSavingAtStart = isSavingRef.current\n\n // Sync originalUpdatedAt with current data if it's NEWER (e.g., after router.refresh())\n if (data?.updatedAt && data.updatedAt > originalUpdatedAtRef.current) {\n originalUpdatedAtRef.current = data.updatedAt\n // Reset check flag so we can detect new stale data\n hasCheckedForStaleDataRef.current = false\n }\n\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n // Check for stale data on first edit only\n // Skip this check entirely for autosave-enabled collections/globals to prevent\n // false positives from the user's own autosaves\n const checkForStaleData =\n !hasCheckedForStaleDataRef.current &&\n originalUpdatedAtRef.current &&\n operation === 'update' &&\n !autosaveEnabled\n\n if (checkForStaleData) {\n hasCheckedForStaleDataRef.current = true\n }\n\n const docPreferences = await getDocPreferences()\n\n const result = await getFormState({\n id,\n checkForStaleData,\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n originalUpdatedAt: checkForStaleData ? originalUpdatedAtRef.current : undefined,\n renderAllFields: false,\n returnLockStatus: isLockingEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: !submitted,\n updateLastEdited,\n })\n\n if (!result) {\n return\n }\n\n const { lockedState, staleDataState, state } = result\n\n if (isLockingEnabled) {\n handleDocumentLocking(lockedState)\n }\n\n // Handle stale data detection.\n // Skip if a save was in-flight when this request started, or if the save counter\n // has advanced — either way the newer updatedAt is from our OWN save.\n if (\n staleDataState?.isStale &&\n !isSavingAtStart &&\n saveCounterRef.current === saveCounterAtStart\n ) {\n setShowStaleDataModal(true)\n }\n\n abortOnChangeRef.current = null\n\n return state\n },\n [\n data?.updatedAt,\n editSessionStartTime,\n isLockingEnabled,\n getDocPreferences,\n getFormState,\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n operation,\n schemaPathSegments,\n handleDocumentLocking,\n autosaveEnabled,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n setShowTakeOverModal(false)\n }\n }, [])\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n const abortOnSave = abortOnSaveRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n abortAndIgnore(abortOnSave)\n }\n }, [])\n\n // Show pending success toast after redirect from create\n useEffect(() => {\n if (!isInitializing && typeof window !== 'undefined') {\n const pendingMessage = window.sessionStorage.getItem(PENDING_SUCCESS_TOAST_KEY)\n\n if (pendingMessage) {\n window.sessionStorage.removeItem(PENDING_SUCCESS_TOAST_KEY)\n toast.success(pendingMessage)\n }\n }\n }, [isInitializing])\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n (typeof currentEditor === 'object'\n ? currentEditor.id !== user?.id\n : currentEditor !== user?.id) &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n !documentLockState.current?.hasShownLockedModal &&\n !isLockExpired\n\n const isFolderCollection = Boolean(\n collectionConfig?.hierarchy &&\n typeof collectionConfig.hierarchy === 'object' &&\n collectionConfig.hierarchy.allowHasMany === false,\n )\n\n const documentControlsProps: Omit<React.ComponentProps<typeof DocumentControls>, 'variant'> = {\n id,\n slug: collectionConfig?.slug || globalConfig?.slug,\n apiURL,\n BeforeDocumentControls,\n BeforeDocumentMeta,\n customComponents: {\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Status,\n UnpublishButton,\n },\n data,\n disableActions: disableActions || isTrashed,\n disableCreate,\n EditMenuItems,\n hasPublishPermission,\n hasSavePermission,\n isEditing,\n isInDrawer,\n isTrashed,\n onDelete,\n onDrawerCreateNew: clearDoc,\n onDuplicate,\n onRestore,\n onSave,\n onTakeOver: () => {\n void handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: true,\n setCurrentEditor,\n setIsReadOnlyForIncomingUser,\n updateDocumentEditor,\n user,\n })\n },\n permissions: docPermissions,\n readOnlyForIncomingUser: isReadOnlyForIncomingUser,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n user: currentEditor,\n }\n\n const renderAuth = auth ? (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n // eslint-disable-next-line react-compiler/react-compiler\n useAPIKey={auth.useAPIKey}\n username={data?.username}\n verify={auth.verify}\n />\n ) : undefined\n\n const shouldRenderUploadPanel =\n Boolean(upload) && !(operation === 'create' && upload.hideFileInputOnCreate)\n const shouldScrollFieldsOnly = shouldRenderUploadPanel\n\n return (\n <main\n className={[\n baseClass,\n (id || globalSlug) && `${baseClass}--is-editing`,\n globalSlug && `global-edit--${globalSlug}`,\n collectionSlug && `collection-edit--${collectionSlug}`,\n isLivePreviewing && `${baseClass}--is-live-previewing`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission || isTrashed}\n disableSuccessStatus={!isEditing && depth < 2 && redirectAfterCreate !== false}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isDocumentForm={true}\n isInitializing={isInitializing}\n key={`${isLocked}`}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSubmit={() => {\n saveCounterRef.current += 1\n isSavingRef.current = true\n }}\n onSuccess={onSave}\n >\n {isInDrawer && (\n <DocumentDrawerHeader\n actions={\n <DocumentControls {...documentControlsProps} variant=\"drawerHeaderActions\" />\n }\n AfterHeader={Description}\n BeforeDocumentMeta={BeforeDocumentMeta}\n drawerSlug={drawerSlug}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n renderTitleAsLink={!isFolderCollection}\n Status={Status}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && shouldShowDocumentLockedModal && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router, serverURL })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: false,\n setCurrentEditor,\n updateDocumentEditor,\n user,\n })\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router, serverURL })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {showStaleDataModal && (\n <DocumentStaleData isActive={showStaleDataModal} onReload={handleStaleDataReload} />\n )}\n {preventLeaveWithoutSaving && (\n <LeaveWithoutSaving\n modalSlug={drawerSlug ? `leave-without-saving-${drawerSlug}` : undefined}\n onConfirm={handleLeaveConfirm}\n onPrevent={handlePrevent}\n />\n )}\n {!isInDrawer && (\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n isTrashed={isTrashed}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n {!isInDrawer && <DocumentControls {...documentControlsProps} variant=\"default\" />}\n <div\n className={[\n `${baseClass}__main-wrapper`,\n shouldRenderUploadPanel && `${baseClass}__main-wrapper--has-upload-panel`,\n shouldScrollFieldsOnly && `${baseClass}__main-wrapper--scroll-fields-only`,\n isPopupOpen && `${baseClass}--detached`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[`${baseClass}__main`, isPopupOpen && `${baseClass}__main--popup-open`]\n .filter(Boolean)\n .join(' ')}\n >\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n renderAuth || BeforeFields ? (\n <>\n {renderAuth}\n {BeforeFields}\n </>\n ) : null\n }\n Description={Description}\n docPermissions={docPermissions}\n fields={docConfig.fields}\n forceSidebarWrap={shouldRenderUploadPanel || isLivePreviewing}\n isTrashed={isTrashed}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission || isTrashed}\n schemaPathSegments={schemaPathSegments}\n />\n {AfterDocument}\n </div>\n {shouldRenderUploadPanel && (\n <UploadControlsProvider>\n {CustomUpload || (\n <FileManager\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n UploadControls={UploadControls}\n UploadFilePreview={UploadFilePreview}\n />\n )}\n </UploadControlsProvider>\n )}\n {isLivePreviewEnabled && !isInDrawer && livePreviewURL && (\n <>\n {CustomLivePreview || (\n <LivePreviewWindow collectionSlug={collectionSlug} globalSlug={globalSlug} />\n )}\n </>\n )}\n </div>\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { ClientUser } from 'payload';
1
+ import type { User } from 'payload';
2
2
  import React from 'react';
3
3
  import './SlotTable.css';
4
4
  export type SlotColumn<TRow = Record<string, unknown>> = {
@@ -68,7 +68,7 @@ export type SlotTableProps<TRow = Record<string, unknown>> = {
68
68
  * Returns the user who is editing/locking a row, or undefined if not locked.
69
69
  * When a user is returned, a lock icon replaces the checkbox for that row.
70
70
  */
71
- getRowLockedUser?: (row: TRow, index: number) => ClientUser | undefined;
71
+ getRowLockedUser?: (row: TRow, index: number) => undefined | User;
72
72
  /**
73
73
  * Merge checkbox header with first column header using colspan (default: false)
74
74
  * The first column header will span both checkbox and content cells
@@ -1 +1 @@
1
- {"version":3,"file":"SlotTable.d.ts","sourceRoot":"","sources":["../../../../src/views/HierarchyList/HierarchyTable/SlotTable.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,iBAAiB,CAAA;AAIxB,MAAM,MAAM,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACvD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAAC,GAAG,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACzE;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IAC3D;;OAEG;IACH,UAAU,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IACpC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;OAEG;IACH,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAA;IAC3B;;OAEG;IACH,IAAI,EAAE,IAAI,EAAE,CAAA;IACZ;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAA;IACxD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,CAAA;IACvE;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvE;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/C;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IAC9C;;OAEG;IACH,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IACjC;;OAEG;IACH,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;CACnC,CAAA;AAED,wBAAgB,SAAS,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACxF,UAAsB,EACtB,SAAS,EACT,cAAc,EACd,OAAO,EACP,IAAI,EACJ,cAAqB,EACrB,gBAAuB,EACvB,YAAmB,EACnB,eAAsB,EACtB,QAA+D,EAC/D,gBAAgB,EAChB,mBAA2B,EAC3B,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,WAAuB,GACxB,EAAE,cAAc,CAAC,IAAI,CAAC,qBAiJtB"}
1
+ {"version":3,"file":"SlotTable.d.ts","sourceRoot":"","sources":["../../../../src/views/HierarchyList/HierarchyTable/SlotTable.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEnC,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,iBAAiB,CAAA;AAIxB,MAAM,MAAM,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACvD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAAC,GAAG,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACzE;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IAC3D;;OAEG;IACH,UAAU,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IACpC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;OAEG;IACH,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAA;IAC3B;;OAEG;IACH,IAAI,EAAE,IAAI,EAAE,CAAA;IACZ;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAA;IACxD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,GAAG,IAAI,CAAA;IACjE;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvE;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/C;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IAC9C;;OAEG;IACH,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IACjC;;OAEG;IACH,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;CACnC,CAAA;AAED,wBAAgB,SAAS,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACxF,UAAsB,EACtB,SAAS,EACT,cAAc,EACd,OAAO,EACP,IAAI,EACJ,cAAqB,EACrB,gBAAuB,EACvB,YAAmB,EACnB,eAAsB,EACtB,QAA+D,EAC/D,gBAAgB,EAChB,mBAA2B,EAC3B,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,WAAuB,GACxB,EAAE,cAAc,CAAC,IAAI,CAAC,qBAiJtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SlotTable.js","names":["React","Locked","CheckboxInput","AlignJustifiedIcon","baseClass","SlotTable","appearance","className","collectionSlug","columns","data","enableCheckbox","enableDragHandle","enableHeader","enableSelectAll","getRowId","row","index","id","getRowLockedUser","mergeCheckboxHeader","onCheckboxChange","onRowClick","onSelectAllChange","parentId","selectedIds","Set","allSelected","length","every","i","has","someSelected","some","handleSelectAll","handleRowCheckbox","isSelected","handleRowClick","handleRowKeyDown","e","key","preventDefault","_jsx","filter","Boolean","join","_jsxs","cellPadding","cellSpacing","checked","onToggle","partialChecked","variant","map","col","colIndex","isMergedCheckboxColumn","colSpan","undefined","heading","accessor","rowIndex","rowId","isClickable","onClick","onKeyDown","tabIndex","lockedUser","user","Cell","column"],"sources":["../../../../src/views/HierarchyList/HierarchyTable/SlotTable.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientUser } from 'payload'\n\nimport React from 'react'\n\nimport { Locked } from '../../../elements/Locked/index.js'\nimport { CheckboxInput } from '../../../fields/Checkbox/Input.js'\nimport { AlignJustifiedIcon } from '../../../icons/AlignJustified/index.js'\nimport './SlotTable.css'\n\nconst baseClass = 'slot-table'\n\nexport type SlotColumn<TRow = Record<string, unknown>> = {\n /**\n * Unique identifier for the column\n */\n accessor: string\n /**\n * Cell component that receives the row data\n */\n Cell: React.FC<{ column: SlotColumn<TRow>; row: TRow; rowIndex: number }>\n /**\n * Optional class name for the column cells\n */\n className?: string\n /**\n * Column header content\n */\n heading: React.ReactNode\n}\n\nexport type SlotTableProps<TRow = Record<string, unknown>> = {\n /**\n * Table appearance\n */\n appearance?: 'condensed' | 'default'\n /**\n * Additional class name\n */\n className?: string\n /**\n * Collection slug for the table\n */\n collectionSlug?: string\n /**\n * Column definitions with Cell components\n */\n columns: SlotColumn<TRow>[]\n /**\n * Data array - table loops over this\n */\n data: TRow[]\n /**\n * Show checkbox column (default: true)\n */\n enableCheckbox?: boolean\n /**\n * Show drag handle column (default: true)\n */\n enableDragHandle?: boolean\n /**\n * Show header row with column headings (default: true)\n */\n enableHeader?: boolean\n /**\n * Show select-all checkbox in header (default: true, requires enableCheckbox and enableHeader)\n */\n enableSelectAll?: boolean\n /**\n * Get unique ID for each row\n */\n getRowId?: (row: TRow, index: number) => number | string\n /**\n * Returns the user who is editing/locking a row, or undefined if not locked.\n * When a user is returned, a lock icon replaces the checkbox for that row.\n */\n getRowLockedUser?: (row: TRow, index: number) => ClientUser | undefined\n /**\n * Merge checkbox header with first column header using colspan (default: false)\n * The first column header will span both checkbox and content cells\n */\n mergeCheckboxHeader?: boolean\n /**\n * Callback when checkbox is toggled\n */\n onCheckboxChange?: (row: TRow, checked: boolean, index: number) => void\n /**\n * Row click handler (for navigation)\n */\n onRowClick?: (row: TRow, index: number) => void\n /**\n * Callback when \"select all\" checkbox is toggled\n */\n onSelectAllChange?: (checked: boolean) => void\n /**\n * Parent ID for the table\n */\n parentId?: null | number | string\n /**\n * Currently selected row IDs\n */\n selectedIds?: Set<number | string>\n}\n\nexport function SlotTable<TRow extends Record<string, unknown> = Record<string, unknown>>({\n appearance = 'default',\n className,\n collectionSlug,\n columns,\n data,\n enableCheckbox = true,\n enableDragHandle = true,\n enableHeader = true,\n enableSelectAll = true,\n getRowId = (row, index) => (row.id as number | string) ?? index,\n getRowLockedUser,\n mergeCheckboxHeader = false,\n onCheckboxChange,\n onRowClick,\n onSelectAllChange,\n parentId,\n selectedIds = new Set(),\n}: SlotTableProps<TRow>) {\n const allSelected = data.length > 0 && data.every((row, i) => selectedIds.has(getRowId(row, i)))\n const someSelected = data.some((row, i) => selectedIds.has(getRowId(row, i)))\n\n const handleSelectAll = () => {\n onSelectAllChange?.(!allSelected)\n }\n\n const handleRowCheckbox = (row: TRow, index: number, isSelected: boolean) => {\n onCheckboxChange?.(row, !isSelected, index)\n }\n\n const handleRowClick = (row: TRow, index: number) => {\n onRowClick?.(row, index)\n }\n\n const handleRowKeyDown = (row: TRow, index: number, e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onRowClick?.(row, index)\n }\n }\n\n return (\n <div\n className={[baseClass, appearance && `${baseClass}--appearance-${appearance}`, className]\n .filter(Boolean)\n .join(' ')}\n key={`${collectionSlug}-${parentId}`}\n >\n <table cellPadding=\"0\" cellSpacing=\"0\">\n {enableHeader && (\n <thead>\n <tr>\n {enableCheckbox && !mergeCheckboxHeader && (\n <th className={`${baseClass}__th ${baseClass}__th--checkbox`}>\n {enableSelectAll && (\n <CheckboxInput\n checked={allSelected}\n className={`${baseClass}__checkbox`}\n onToggle={handleSelectAll}\n partialChecked={someSelected && !allSelected}\n variant=\"muted\"\n />\n )}\n </th>\n )}\n {enableDragHandle && (\n <th className={`${baseClass}__th ${baseClass}__th--drag`}>\n <span className={`${baseClass}__drag-header`} />\n </th>\n )}\n {columns.map((col, colIndex) => {\n const isMergedCheckboxColumn =\n colIndex === 0 && enableCheckbox && mergeCheckboxHeader\n\n return (\n <th\n className={[`${baseClass}__th`, col.className].filter(Boolean).join(' ')}\n colSpan={isMergedCheckboxColumn ? 2 : undefined}\n key={col.accessor}\n >\n {isMergedCheckboxColumn && enableSelectAll ? (\n <span className={`${baseClass}__th-merged`}>\n <CheckboxInput\n checked={allSelected}\n className={`${baseClass}__checkbox`}\n onToggle={handleSelectAll}\n partialChecked={someSelected && !allSelected}\n variant=\"muted\"\n />\n {col.heading}\n </span>\n ) : (\n col.heading\n )}\n </th>\n )\n })}\n </tr>\n </thead>\n )}\n <tbody>\n {data.map((row, rowIndex) => {\n const rowId = getRowId(row, rowIndex)\n const isSelected = selectedIds.has(rowId)\n const isClickable = Boolean(onRowClick)\n\n return (\n <tr\n className={[\n `${baseClass}__tr`,\n isSelected && `${baseClass}__tr--selected`,\n isClickable && `${baseClass}__tr--clickable`,\n ]\n .filter(Boolean)\n .join(' ')}\n data-id={rowId}\n key={rowId}\n onClick={isClickable ? () => handleRowClick(row, rowIndex) : undefined}\n onKeyDown={isClickable ? (e) => handleRowKeyDown(row, rowIndex, e) : undefined}\n tabIndex={isClickable ? 0 : undefined}\n >\n {enableCheckbox && (\n <td className={`${baseClass}__td ${baseClass}__td--checkbox`}>\n {(() => {\n const lockedUser = getRowLockedUser?.(row, rowIndex)\n\n if (lockedUser) {\n return <Locked user={lockedUser} />\n }\n\n return (\n <CheckboxInput\n checked={isSelected}\n className={`${baseClass}__checkbox`}\n onToggle={() => handleRowCheckbox(row, rowIndex, isSelected)}\n variant=\"muted\"\n />\n )\n })()}\n </td>\n )}\n {enableDragHandle && (\n <td className={`${baseClass}__td ${baseClass}__td--drag`}>\n <span className={`${baseClass}__drag-handle`}>\n <AlignJustifiedIcon />\n </span>\n </td>\n )}\n {columns.map((col) => (\n <td\n className={[`${baseClass}__td`, col.className].filter(Boolean).join(' ')}\n key={col.accessor}\n >\n <col.Cell column={col} row={row} rowIndex={rowIndex} />\n </td>\n ))}\n </tr>\n )\n })}\n </tbody>\n </table>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SlotTable.js","names":["React","Locked","CheckboxInput","AlignJustifiedIcon","baseClass","SlotTable","appearance","className","collectionSlug","columns","data","enableCheckbox","enableDragHandle","enableHeader","enableSelectAll","getRowId","row","index","id","getRowLockedUser","mergeCheckboxHeader","onCheckboxChange","onRowClick","onSelectAllChange","parentId","selectedIds","Set","allSelected","length","every","i","has","someSelected","some","handleSelectAll","handleRowCheckbox","isSelected","handleRowClick","handleRowKeyDown","e","key","preventDefault","_jsx","filter","Boolean","join","_jsxs","cellPadding","cellSpacing","checked","onToggle","partialChecked","variant","map","col","colIndex","isMergedCheckboxColumn","colSpan","undefined","heading","accessor","rowIndex","rowId","isClickable","onClick","onKeyDown","tabIndex","lockedUser","user","Cell","column"],"sources":["../../../../src/views/HierarchyList/HierarchyTable/SlotTable.tsx"],"sourcesContent":["'use client'\n\nimport type { User } from 'payload'\n\nimport React from 'react'\n\nimport { Locked } from '../../../elements/Locked/index.js'\nimport { CheckboxInput } from '../../../fields/Checkbox/Input.js'\nimport { AlignJustifiedIcon } from '../../../icons/AlignJustified/index.js'\nimport './SlotTable.css'\n\nconst baseClass = 'slot-table'\n\nexport type SlotColumn<TRow = Record<string, unknown>> = {\n /**\n * Unique identifier for the column\n */\n accessor: string\n /**\n * Cell component that receives the row data\n */\n Cell: React.FC<{ column: SlotColumn<TRow>; row: TRow; rowIndex: number }>\n /**\n * Optional class name for the column cells\n */\n className?: string\n /**\n * Column header content\n */\n heading: React.ReactNode\n}\n\nexport type SlotTableProps<TRow = Record<string, unknown>> = {\n /**\n * Table appearance\n */\n appearance?: 'condensed' | 'default'\n /**\n * Additional class name\n */\n className?: string\n /**\n * Collection slug for the table\n */\n collectionSlug?: string\n /**\n * Column definitions with Cell components\n */\n columns: SlotColumn<TRow>[]\n /**\n * Data array - table loops over this\n */\n data: TRow[]\n /**\n * Show checkbox column (default: true)\n */\n enableCheckbox?: boolean\n /**\n * Show drag handle column (default: true)\n */\n enableDragHandle?: boolean\n /**\n * Show header row with column headings (default: true)\n */\n enableHeader?: boolean\n /**\n * Show select-all checkbox in header (default: true, requires enableCheckbox and enableHeader)\n */\n enableSelectAll?: boolean\n /**\n * Get unique ID for each row\n */\n getRowId?: (row: TRow, index: number) => number | string\n /**\n * Returns the user who is editing/locking a row, or undefined if not locked.\n * When a user is returned, a lock icon replaces the checkbox for that row.\n */\n getRowLockedUser?: (row: TRow, index: number) => undefined | User\n /**\n * Merge checkbox header with first column header using colspan (default: false)\n * The first column header will span both checkbox and content cells\n */\n mergeCheckboxHeader?: boolean\n /**\n * Callback when checkbox is toggled\n */\n onCheckboxChange?: (row: TRow, checked: boolean, index: number) => void\n /**\n * Row click handler (for navigation)\n */\n onRowClick?: (row: TRow, index: number) => void\n /**\n * Callback when \"select all\" checkbox is toggled\n */\n onSelectAllChange?: (checked: boolean) => void\n /**\n * Parent ID for the table\n */\n parentId?: null | number | string\n /**\n * Currently selected row IDs\n */\n selectedIds?: Set<number | string>\n}\n\nexport function SlotTable<TRow extends Record<string, unknown> = Record<string, unknown>>({\n appearance = 'default',\n className,\n collectionSlug,\n columns,\n data,\n enableCheckbox = true,\n enableDragHandle = true,\n enableHeader = true,\n enableSelectAll = true,\n getRowId = (row, index) => (row.id as number | string) ?? index,\n getRowLockedUser,\n mergeCheckboxHeader = false,\n onCheckboxChange,\n onRowClick,\n onSelectAllChange,\n parentId,\n selectedIds = new Set(),\n}: SlotTableProps<TRow>) {\n const allSelected = data.length > 0 && data.every((row, i) => selectedIds.has(getRowId(row, i)))\n const someSelected = data.some((row, i) => selectedIds.has(getRowId(row, i)))\n\n const handleSelectAll = () => {\n onSelectAllChange?.(!allSelected)\n }\n\n const handleRowCheckbox = (row: TRow, index: number, isSelected: boolean) => {\n onCheckboxChange?.(row, !isSelected, index)\n }\n\n const handleRowClick = (row: TRow, index: number) => {\n onRowClick?.(row, index)\n }\n\n const handleRowKeyDown = (row: TRow, index: number, e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onRowClick?.(row, index)\n }\n }\n\n return (\n <div\n className={[baseClass, appearance && `${baseClass}--appearance-${appearance}`, className]\n .filter(Boolean)\n .join(' ')}\n key={`${collectionSlug}-${parentId}`}\n >\n <table cellPadding=\"0\" cellSpacing=\"0\">\n {enableHeader && (\n <thead>\n <tr>\n {enableCheckbox && !mergeCheckboxHeader && (\n <th className={`${baseClass}__th ${baseClass}__th--checkbox`}>\n {enableSelectAll && (\n <CheckboxInput\n checked={allSelected}\n className={`${baseClass}__checkbox`}\n onToggle={handleSelectAll}\n partialChecked={someSelected && !allSelected}\n variant=\"muted\"\n />\n )}\n </th>\n )}\n {enableDragHandle && (\n <th className={`${baseClass}__th ${baseClass}__th--drag`}>\n <span className={`${baseClass}__drag-header`} />\n </th>\n )}\n {columns.map((col, colIndex) => {\n const isMergedCheckboxColumn =\n colIndex === 0 && enableCheckbox && mergeCheckboxHeader\n\n return (\n <th\n className={[`${baseClass}__th`, col.className].filter(Boolean).join(' ')}\n colSpan={isMergedCheckboxColumn ? 2 : undefined}\n key={col.accessor}\n >\n {isMergedCheckboxColumn && enableSelectAll ? (\n <span className={`${baseClass}__th-merged`}>\n <CheckboxInput\n checked={allSelected}\n className={`${baseClass}__checkbox`}\n onToggle={handleSelectAll}\n partialChecked={someSelected && !allSelected}\n variant=\"muted\"\n />\n {col.heading}\n </span>\n ) : (\n col.heading\n )}\n </th>\n )\n })}\n </tr>\n </thead>\n )}\n <tbody>\n {data.map((row, rowIndex) => {\n const rowId = getRowId(row, rowIndex)\n const isSelected = selectedIds.has(rowId)\n const isClickable = Boolean(onRowClick)\n\n return (\n <tr\n className={[\n `${baseClass}__tr`,\n isSelected && `${baseClass}__tr--selected`,\n isClickable && `${baseClass}__tr--clickable`,\n ]\n .filter(Boolean)\n .join(' ')}\n data-id={rowId}\n key={rowId}\n onClick={isClickable ? () => handleRowClick(row, rowIndex) : undefined}\n onKeyDown={isClickable ? (e) => handleRowKeyDown(row, rowIndex, e) : undefined}\n tabIndex={isClickable ? 0 : undefined}\n >\n {enableCheckbox && (\n <td className={`${baseClass}__td ${baseClass}__td--checkbox`}>\n {(() => {\n const lockedUser = getRowLockedUser?.(row, rowIndex)\n\n if (lockedUser) {\n return <Locked user={lockedUser} />\n }\n\n return (\n <CheckboxInput\n checked={isSelected}\n className={`${baseClass}__checkbox`}\n onToggle={() => handleRowCheckbox(row, rowIndex, isSelected)}\n variant=\"muted\"\n />\n )\n })()}\n </td>\n )}\n {enableDragHandle && (\n <td className={`${baseClass}__td ${baseClass}__td--drag`}>\n <span className={`${baseClass}__drag-handle`}>\n <AlignJustifiedIcon />\n </span>\n </td>\n )}\n {columns.map((col) => (\n <td\n className={[`${baseClass}__td`, col.className].filter(Boolean).join(' ')}\n key={col.accessor}\n >\n <col.Cell column={col} row={row} rowIndex={rowIndex} />\n </td>\n ))}\n </tr>\n )\n })}\n </tbody>\n </table>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/HierarchyList/HierarchyTable/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AASnD,OAAO,KAAyC,MAAM,OAAO,CAAA;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAA;AACvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AAElF,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,YAAY,CAAA;AAexD,OAAO,aAAa,CAAA;AAcpB,MAAM,MAAM,mBAAmB,GAAG;IAChC,gFAAgF;IAChF,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,YAAY,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAC/C,2DAA2D;IAC3D,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAChC,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,wCAAwC;IACxC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IAChC,sEAAsE;IACtE,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC1C,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,YAAY,EACZ,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,eAAe,EACf,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACb,MAAM,EACN,UAAU,GACX,EAAE,mBAAmB,qBAydrB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/HierarchyList/HierarchyTable/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AASnD,OAAO,KAAyC,MAAM,OAAO,CAAA;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAA;AACvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AAElF,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,YAAY,CAAA;AAgBxD,OAAO,aAAa,CAAA;AAcpB,MAAM,MAAM,mBAAmB,GAAG;IAChC,gFAAgF;IAChF,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,YAAY,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAC/C,2DAA2D;IAC3D,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAChC,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,wCAAwC;IACxC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IAChC,sEAAsE;IACtE,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC1C,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,YAAY,EACZ,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,eAAe,EACf,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACb,MAAM,EACN,UAAU,GACX,EAAE,mBAAmB,qBA6drB"}
@@ -9,6 +9,7 @@ import { CreateDocumentButton } from '../../../elements/CreateDocumentButton/ind
9
9
  import { NoListResults } from '../../../elements/NoListResults/index.js';
10
10
  import { SimplePagination } from '../../../elements/Pagination/SimplePagination/index.js';
11
11
  import { TableSection } from '../../../elements/TableSection/index.js';
12
+ import { useBranchParam } from '../../../providers/Branch/index.js';
12
13
  import { useConfig } from '../../../providers/Config/index.js';
13
14
  import { useDocumentSelection } from '../../../providers/DocumentSelection/index.js';
14
15
  import { useRouteCache } from '../../../providers/RouteCache/index.js';
@@ -61,6 +62,7 @@ export function HierarchyTable({
61
62
  },
62
63
  getEntityConfig
63
64
  } = useConfig();
65
+ const branch = useBranchParam();
64
66
  // Children pagination state
65
67
  const [childDocs, setChildDocs] = useState(childrenData?.docs || []);
66
68
  const [childPaginationData, setChildPaginationData] = useState({
@@ -135,6 +137,7 @@ export function HierarchyTable({
135
137
  } : undefined;
136
138
  const where = combineWhereConstraints([parentCondition, searchCondition, baseFilter]);
137
139
  const queryString = qs.stringify({
140
+ branch,
138
141
  limit: DEFAULT_HIERARCHY_LIST_LIMIT,
139
142
  page,
140
143
  where
@@ -168,7 +171,7 @@ export function HierarchyTable({
168
171
  } finally {
169
172
  setChildLoading(false);
170
173
  }
171
- }, [apiRoute, baseFilter, childLoading, collectionSlug, parentFieldName, parentId, search, serverURL, useAsTitle]);
174
+ }, [branch, apiRoute, baseFilter, childLoading, collectionSlug, parentFieldName, parentId, search, serverURL, useAsTitle]);
172
175
  // Page change for a related collection
173
176
  const handlePageChangeRelated = useCallback(async (relatedSlug, page_0) => {
174
177
  const state = relatedState[relatedSlug];
@@ -233,6 +236,7 @@ export function HierarchyTable({
233
236
  const relatedBaseFilter = relatedBaseFilters?.[relatedSlug];
234
237
  const where_0 = combineWhereConstraints([relationshipCondition, searchCondition_0, relatedBaseFilter]);
235
238
  const queryString_0 = qs.stringify({
239
+ branch,
236
240
  limit: DEFAULT_HIERARCHY_LIST_LIMIT,
237
241
  page: page_0,
238
242
  where: where_0
@@ -274,7 +278,7 @@ export function HierarchyTable({
274
278
  }
275
279
  }));
276
280
  }
277
- }, [apiRoute, getEntityConfig, parentFieldName, parentId, relatedBaseFilters, relatedGroups, relatedState, search, serverURL]);
281
+ }, [branch, apiRoute, getEntityConfig, parentFieldName, parentId, relatedBaseFilters, relatedGroups, relatedState, search, serverURL]);
278
282
  // Get allowedCollections field name from hierarchy config
279
283
  const allowedCollectionsFieldName = useMemo(() => {
280
284
  const config = getEntityConfig({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","combineWhereConstraints","DEFAULT_HIERARCHY_LIST_LIMIT","formatAdminURL","qs","React","useCallback","useMemo","useState","CreateDocumentButton","NoListResults","SimplePagination","TableSection","useConfig","useDocumentSelection","useRouteCache","useTranslation","ChildNameCell","DateCell","RelatedNameCell","SlotTable","baseClass","NameCell","props","row","_hasChildren","undefined","_jsx","CollectionCell","_collectionLabel","HierarchyTable","baseFilter","childrenData","collections","collectionSlug","hasCreatePermission","HierarchyIcon","hierarchyLabel","parentFieldName","parentId","relatedBaseFilters","relatedGroups","search","useAsTitle","i18n","t","clearRouteCache","config","routes","api","apiRoute","serverURL","getEntityConfig","childDocs","setChildDocs","docs","childPaginationData","setChildPaginationData","hasNextPage","hasPrevPage","limit","page","pagingCounter","totalDocs","totalPages","childLoading","setChildLoading","relatedState","setRelatedState","initial","group","data","isLoading","isLocked","isSelected","toggleAllInCollection","toggleSelection","getRowLockedUser","locked","id","_collectionSlug","_userEditing","handlePageChangeChildren","parentCondition","equals","or","exists","searchCondition","like","where","queryString","stringify","addQueryPrefix","url","path","response","fetch","credentials","ok","Error","result","json","_error","handlePageChangeRelated","relatedSlug","state","find","g","prev","relationshipCondition","fieldName","in","conditions","hasMany","push","relatedConfig","relatedUseAsTitle","admin","relatedBaseFilter","allowedCollectionsFieldName","hierarchy","collectionSpecific","childrenLabel","labels","plural","childTableData","map","doc","_allowedCollections","Boolean","_hierarchyIcon","hasChildren","hasRelated","some","allGroups","groups","slug","isChildren","isHierarchyEnabled","label","onCheckboxChange","metadata","allowedCollections","onPageChange","onSelectAllChange","paginationData","relatedLabel","relatedTableData","columns","accessor","Cell","className","heading","canShowCreateButton","length","Actions","drawerSlug","onSave","description","title","withMargin","_jsxs","Header","onChange","Content","enableCheckbox","enableDragHandle","enableHeader","enableSelectAll","mergeCheckboxHeader","selectedIds","Set","filter"],"sources":["../../../../src/views/HierarchyList/HierarchyTable/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n combineWhereConstraints,\n DEFAULT_HIERARCHY_LIST_LIMIT,\n formatAdminURL,\n} from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo, useState } from 'react'\n\nimport type { CollectionOption } from '../../../elements/CreateDocumentButton/index.js'\nimport type { HierarchyDocument } from '../../../elements/Hierarchy/Tree/types.js'\nimport type { SlotColumn } from './SlotTable.js'\nimport type { RelatedGroup, TableRow } from './types.js'\n\nimport { CreateDocumentButton } from '../../../elements/CreateDocumentButton/index.js'\nimport { NoListResults } from '../../../elements/NoListResults/index.js'\nimport { SimplePagination } from '../../../elements/Pagination/SimplePagination/index.js'\nimport { TableSection } from '../../../elements/TableSection/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentSelection } from '../../../providers/DocumentSelection/index.js'\nimport { useRouteCache } from '../../../providers/RouteCache/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { ChildNameCell } from './ChildNameCell.js'\nimport { DateCell } from './DateCell.js'\nimport { RelatedNameCell } from './RelatedNameCell.js'\nimport { SlotTable } from './SlotTable.js'\nimport { baseClass } from './types.js'\nimport './index.css'\n\n// Top-level cell components to avoid nested component eslint errors\nconst NameCell: SlotColumn<TableRow>['Cell'] = (props) =>\n props.row._hasChildren !== undefined ? (\n <ChildNameCell {...props} />\n ) : (\n <RelatedNameCell {...props} />\n )\n\nconst CollectionCell: SlotColumn<TableRow>['Cell'] = ({ row }) => (\n <span>{row._collectionLabel}</span>\n)\n\nexport type HierarchyTableProps = {\n /** Base filter applied to hierarchy collection queries (e.g., tenant filter) */\n baseFilter?: Where\n childrenData?: PaginatedDocs<HierarchyDocument>\n /** Collections available for creation (for empty state) */\n collections?: CollectionOption[]\n collectionSlug: string\n hasCreatePermission?: boolean\n /** Resolved hierarchy icon component */\n HierarchyIcon?: React.ReactNode\n hierarchyLabel: string\n parentFieldName?: string\n parentId: null | number | string\n /** Base filters for related collections (keyed by collection slug) */\n relatedBaseFilters?: Record<string, Where>\n relatedGroups: RelatedGroup[]\n search?: string\n useAsTitle: string\n}\n\nexport function HierarchyTable({\n baseFilter,\n childrenData,\n collections,\n collectionSlug,\n hasCreatePermission,\n HierarchyIcon,\n hierarchyLabel,\n parentFieldName,\n parentId,\n relatedBaseFilters,\n relatedGroups,\n search,\n useAsTitle,\n}: HierarchyTableProps) {\n const { i18n, t } = useTranslation()\n const { clearRouteCache } = useRouteCache()\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n // Children pagination state\n const [childDocs, setChildDocs] = useState(childrenData?.docs || [])\n const [childPaginationData, setChildPaginationData] = useState<Partial<PaginatedDocs>>({\n hasNextPage: childrenData?.hasNextPage || false,\n hasPrevPage: childrenData?.hasPrevPage || false,\n limit: childrenData?.limit || DEFAULT_HIERARCHY_LIST_LIMIT,\n page: childrenData?.page || 1,\n pagingCounter: childrenData?.pagingCounter || 1,\n totalDocs: childrenData?.totalDocs || 0,\n totalPages: childrenData?.totalPages || 1,\n })\n const [childLoading, setChildLoading] = useState(false)\n\n // Related groups pagination state (per collection)\n const [relatedState, setRelatedState] = useState<\n Record<\n string,\n {\n isLoading: boolean\n } & Partial<PaginatedDocs>\n >\n >(() => {\n const initial: Record<\n string,\n {\n isLoading: boolean\n } & Partial<PaginatedDocs>\n > = {}\n for (const group of relatedGroups) {\n initial[group.collectionSlug] = {\n docs: group.data.docs,\n hasNextPage: group.data.hasNextPage,\n hasPrevPage: group.data.hasPrevPage || false,\n isLoading: false,\n limit: group.data.limit || DEFAULT_HIERARCHY_LIST_LIMIT,\n page: group.data.page || 1,\n pagingCounter: group.data.pagingCounter || 1,\n totalDocs: group.data.totalDocs,\n totalPages: group.data.totalPages || 1,\n }\n }\n return initial\n })\n\n // Get selection functions from context\n const { isLocked, isSelected, toggleAllInCollection, toggleSelection } = useDocumentSelection()\n\n // Get the user who is locking a row (for SlotTable to show lock icon instead of checkbox)\n const getRowLockedUser = useCallback(\n (row: TableRow) => {\n const locked = isLocked({ id: row.id, collectionSlug: row._collectionSlug })\n return locked ? row._userEditing : undefined\n },\n [isLocked],\n )\n\n // Page change for children\n const handlePageChangeChildren = useCallback(\n async (page: number) => {\n if (childLoading) {\n return\n }\n\n setChildLoading(true)\n\n try {\n const parentCondition = parentId\n ? { [parentFieldName]: { equals: parentId } }\n : {\n or: [\n { [parentFieldName]: { exists: false } },\n { [parentFieldName]: { equals: null } },\n ],\n }\n\n const searchCondition = search ? { [useAsTitle]: { like: search } } : undefined\n const where = combineWhereConstraints([parentCondition, searchCondition, baseFilter])\n\n const queryString = qs.stringify(\n { limit: DEFAULT_HIERARCHY_LIST_LIMIT, page, where },\n { addQueryPrefix: true },\n )\n const url = formatAdminURL({\n apiRoute,\n path: `/${collectionSlug}${queryString}`,\n serverURL,\n })\n\n const response = await fetch(url, { credentials: 'include' })\n\n if (!response.ok) {\n throw new Error('Failed to load page')\n }\n\n const result: PaginatedDocs = await response.json()\n\n setChildDocs(result.docs)\n setChildPaginationData({\n hasNextPage: result.hasNextPage,\n hasPrevPage: result.hasPrevPage,\n limit: result.limit,\n page: result.page,\n pagingCounter: result.pagingCounter,\n totalDocs: result.totalDocs,\n totalPages: result.totalPages,\n })\n } catch (_error) {\n // Silently fail\n } finally {\n setChildLoading(false)\n }\n },\n [\n apiRoute,\n baseFilter,\n childLoading,\n collectionSlug,\n parentFieldName,\n parentId,\n search,\n serverURL,\n useAsTitle,\n ],\n )\n\n // Page change for a related collection\n const handlePageChangeRelated = useCallback(\n async (relatedSlug: string, page: number) => {\n const state = relatedState[relatedSlug]\n if (!state || state.isLoading) {\n return\n }\n\n // Find the group to get field info\n const group = relatedGroups.find((g) => g.collectionSlug === relatedSlug)\n if (!group) {\n return\n }\n\n setRelatedState((prev) => ({\n ...prev,\n [relatedSlug]: { ...prev[relatedSlug], isLoading: true },\n }))\n\n try {\n // Build relationship condition based on whether we're at root or in a parent\n let relationshipCondition: Record<string, unknown>\n if (parentId) {\n // Nested level: find documents assigned to this hierarchy item\n // \"in\" operator works for both hasMany and single relationship fields\n relationshipCondition = { [group.fieldName]: { in: [parentId] } }\n } else {\n // Root level: find documents where hierarchy field doesn't exist, is null, or is empty array\n const conditions: Record<string, unknown>[] = [\n { [group.fieldName]: { exists: false } },\n { [group.fieldName]: { equals: null } },\n ]\n if (group.hasMany) {\n // hasMany fields store cleared values as empty arrays\n conditions.push({ [group.fieldName]: { equals: [] } })\n }\n relationshipCondition = { or: conditions }\n }\n\n const relatedConfig = getEntityConfig({ collectionSlug: relatedSlug })\n const relatedUseAsTitle = relatedConfig?.admin?.useAsTitle || 'id'\n\n const searchCondition = search ? { [relatedUseAsTitle]: { like: search } } : undefined\n const relatedBaseFilter = relatedBaseFilters?.[relatedSlug]\n const where = combineWhereConstraints([\n relationshipCondition,\n searchCondition,\n relatedBaseFilter,\n ])\n\n const queryString = qs.stringify(\n { limit: DEFAULT_HIERARCHY_LIST_LIMIT, page, where },\n { addQueryPrefix: true },\n )\n const url = formatAdminURL({\n apiRoute,\n path: `/${relatedSlug}${queryString}`,\n serverURL,\n })\n\n const response = await fetch(url, { credentials: 'include' })\n\n if (!response.ok) {\n throw new Error('Failed to load page')\n }\n\n const result: PaginatedDocs = await response.json()\n\n setRelatedState((prev) => ({\n ...prev,\n [relatedSlug]: {\n docs: result.docs,\n hasNextPage: result.hasNextPage,\n hasPrevPage: result.hasPrevPage,\n isLoading: false,\n limit: result.limit,\n page: result.page,\n pagingCounter: result.pagingCounter,\n totalDocs: result.totalDocs,\n totalPages: result.totalPages,\n },\n }))\n } catch (_error) {\n setRelatedState((prev) => ({\n ...prev,\n [relatedSlug]: { ...prev[relatedSlug], isLoading: false },\n }))\n }\n },\n [\n apiRoute,\n getEntityConfig,\n parentFieldName,\n parentId,\n relatedBaseFilters,\n relatedGroups,\n relatedState,\n search,\n serverURL,\n ],\n )\n\n // Get allowedCollections field name from hierarchy config\n const allowedCollectionsFieldName = useMemo(() => {\n const config = getEntityConfig({ collectionSlug })\n const hierarchy = config?.hierarchy\n\n if (hierarchy && typeof hierarchy === 'object' && hierarchy.collectionSpecific) {\n return hierarchy.collectionSpecific.fieldName\n }\n\n return undefined\n }, [collectionSlug, getEntityConfig])\n\n // Compute collection label for children (once)\n const childrenLabel = useMemo(\n () =>\n getTranslation(getEntityConfig({ collectionSlug })?.labels?.plural, i18n) || hierarchyLabel,\n [collectionSlug, getEntityConfig, hierarchyLabel, i18n],\n )\n\n // Build children data for table\n const childTableData: TableRow[] = useMemo(\n () =>\n childDocs.map((doc) => ({\n ...doc,\n id: doc.id,\n _allowedCollections: allowedCollectionsFieldName\n ? (doc[allowedCollectionsFieldName] as string[] | undefined)\n : undefined,\n _collectionLabel: childrenLabel,\n _collectionSlug: collectionSlug,\n _hasChildren: Boolean(doc._hasChildren),\n _hierarchyIcon: HierarchyIcon,\n })),\n [HierarchyIcon, allowedCollectionsFieldName, childDocs, childrenLabel, collectionSlug],\n )\n\n const hasChildren = (childPaginationData.totalDocs || 0) > 0\n const hasRelated = relatedGroups.some((g) => relatedState[g.collectionSlug]?.totalDocs > 0)\n\n // Unified groups array\n type GroupState = {\n docs: TableRow[]\n isChildren: boolean\n isHierarchyEnabled: boolean\n isLoading: boolean\n label: string\n onCheckboxChange: (row: TableRow) => void\n onPageChange: (page: number) => void\n onSelectAllChange: () => void\n paginationData: PaginatedDocs\n slug: string\n }\n\n const allGroups: GroupState[] = useMemo(() => {\n const groups: GroupState[] = []\n\n // Children group\n if (hasChildren) {\n groups.push({\n slug: collectionSlug,\n docs: childTableData,\n isChildren: true,\n isHierarchyEnabled: true,\n isLoading: childLoading,\n label: childrenLabel,\n onCheckboxChange: (row: TableRow) =>\n toggleSelection({\n id: row.id,\n collectionSlug,\n metadata: {\n allowedCollections: row._allowedCollections as string[] | undefined,\n },\n }),\n onPageChange: (page: number) => void handlePageChangeChildren(page),\n onSelectAllChange: () => toggleAllInCollection({ collectionSlug }),\n paginationData: {\n docs: childDocs,\n hasNextPage: childPaginationData.hasNextPage || false,\n hasPrevPage: childPaginationData.hasPrevPage || false,\n limit: childPaginationData.limit || DEFAULT_HIERARCHY_LIST_LIMIT,\n page: childPaginationData.page || 1,\n pagingCounter: childPaginationData.pagingCounter || 1,\n totalDocs: childPaginationData.totalDocs || 0,\n totalPages: childPaginationData.totalPages || 1,\n },\n })\n }\n\n // Related groups\n for (const group of relatedGroups) {\n const state = relatedState[group.collectionSlug]\n if (!state || state.totalDocs === 0) {\n continue\n }\n\n const relatedConfig = getEntityConfig({ collectionSlug: group.collectionSlug })\n const relatedLabel = getTranslation(relatedConfig?.labels?.plural, i18n) || group.label\n\n const relatedTableData: TableRow[] = state.docs.map((doc: Record<string, unknown>) => ({\n ...doc,\n id: doc.id as number | string,\n _collectionLabel: relatedLabel,\n _collectionSlug: group.collectionSlug,\n }))\n\n groups.push({\n slug: group.collectionSlug,\n docs: relatedTableData,\n isChildren: false,\n isHierarchyEnabled: false,\n isLoading: state.isLoading,\n label: relatedLabel,\n onCheckboxChange: (row: TableRow) =>\n toggleSelection({\n id: row.id,\n collectionSlug: group.collectionSlug,\n metadata: {}, // Related items don't have allowedCollections - their collection slug is the constraint\n }),\n onPageChange: (page: number) => void handlePageChangeRelated(group.collectionSlug, page),\n onSelectAllChange: () => toggleAllInCollection({ collectionSlug: group.collectionSlug }),\n paginationData: {\n docs: state.docs || [],\n hasNextPage: state.hasNextPage || false,\n hasPrevPage: state.hasPrevPage || false,\n limit: state.limit || DEFAULT_HIERARCHY_LIST_LIMIT,\n page: state.page || 1,\n pagingCounter: state.pagingCounter || 1,\n totalDocs: state.totalDocs || 0,\n totalPages: state.totalPages || 1,\n },\n })\n }\n\n return groups\n }, [\n childDocs,\n childLoading,\n childPaginationData,\n childrenLabel,\n childTableData,\n collectionSlug,\n getEntityConfig,\n handlePageChangeChildren,\n handlePageChangeRelated,\n hasChildren,\n i18n,\n relatedGroups,\n relatedState,\n toggleAllInCollection,\n toggleSelection,\n ])\n\n // Column definitions\n const columns: SlotColumn<TableRow>[] = useMemo(\n () => [\n {\n accessor: 'name',\n Cell: NameCell,\n className: `${baseClass}__col-name`,\n heading: t('general:name'),\n },\n {\n accessor: 'collection',\n Cell: CollectionCell,\n className: `${baseClass}__col-collection`,\n heading: t('general:collection'),\n },\n {\n accessor: 'updatedAt',\n Cell: DateCell,\n className: `${baseClass}__col-date`,\n heading: t('general:updatedAt'),\n },\n ],\n [t],\n )\n\n if (!hasChildren && !hasRelated) {\n const canShowCreateButton = hasCreatePermission && collections && collections.length > 0\n\n return (\n <NoListResults\n Actions={\n canShowCreateButton\n ? [\n <CreateDocumentButton\n collections={collections}\n drawerSlug={`hierarchy-create-empty-${collectionSlug}`}\n key=\"create\"\n onSave={clearRouteCache}\n />,\n ]\n : undefined\n }\n description={t('general:noResultsDescription')}\n title={t('general:noResultsFound')}\n withMargin\n />\n )\n }\n\n return (\n <div className={baseClass}>\n {allGroups.map((group) => (\n <TableSection key={group.slug}>\n <TableSection.Header heading={group.label}>\n <SimplePagination data={group.paginationData} onChange={group.onPageChange} />\n </TableSection.Header>\n <TableSection.Content>\n <SlotTable\n collectionSlug={group.slug}\n columns={columns}\n data={group.docs}\n enableCheckbox={true}\n enableDragHandle={false}\n enableHeader={true}\n enableSelectAll={true}\n getRowLockedUser={getRowLockedUser}\n mergeCheckboxHeader={false}\n onCheckboxChange={group.onCheckboxChange}\n onSelectAllChange={group.onSelectAllChange}\n parentId={parentId}\n selectedIds={\n new Set(\n group.docs\n .filter((row) => isSelected({ id: row.id, collectionSlug: group.slug }))\n .map((row) => row.id),\n )\n }\n />\n </TableSection.Content>\n </TableSection>\n ))}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","combineWhereConstraints","DEFAULT_HIERARCHY_LIST_LIMIT","formatAdminURL","qs","React","useCallback","useMemo","useState","CreateDocumentButton","NoListResults","SimplePagination","TableSection","useBranchParam","useConfig","useDocumentSelection","useRouteCache","useTranslation","ChildNameCell","DateCell","RelatedNameCell","SlotTable","baseClass","NameCell","props","row","_hasChildren","undefined","_jsx","CollectionCell","_collectionLabel","HierarchyTable","baseFilter","childrenData","collections","collectionSlug","hasCreatePermission","HierarchyIcon","hierarchyLabel","parentFieldName","parentId","relatedBaseFilters","relatedGroups","search","useAsTitle","i18n","t","clearRouteCache","config","routes","api","apiRoute","serverURL","getEntityConfig","branch","childDocs","setChildDocs","docs","childPaginationData","setChildPaginationData","hasNextPage","hasPrevPage","limit","page","pagingCounter","totalDocs","totalPages","childLoading","setChildLoading","relatedState","setRelatedState","initial","group","data","isLoading","isLocked","isSelected","toggleAllInCollection","toggleSelection","getRowLockedUser","locked","id","_collectionSlug","_userEditing","handlePageChangeChildren","parentCondition","equals","or","exists","searchCondition","like","where","queryString","stringify","addQueryPrefix","url","path","response","fetch","credentials","ok","Error","result","json","_error","handlePageChangeRelated","relatedSlug","state","find","g","prev","relationshipCondition","fieldName","in","conditions","hasMany","push","relatedConfig","relatedUseAsTitle","admin","relatedBaseFilter","allowedCollectionsFieldName","hierarchy","collectionSpecific","childrenLabel","labels","plural","childTableData","map","doc","_allowedCollections","Boolean","_hierarchyIcon","hasChildren","hasRelated","some","allGroups","groups","slug","isChildren","isHierarchyEnabled","label","onCheckboxChange","metadata","allowedCollections","onPageChange","onSelectAllChange","paginationData","relatedLabel","relatedTableData","columns","accessor","Cell","className","heading","canShowCreateButton","length","Actions","drawerSlug","onSave","description","title","withMargin","_jsxs","Header","onChange","Content","enableCheckbox","enableDragHandle","enableHeader","enableSelectAll","mergeCheckboxHeader","selectedIds","Set","filter"],"sources":["../../../../src/views/HierarchyList/HierarchyTable/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n combineWhereConstraints,\n DEFAULT_HIERARCHY_LIST_LIMIT,\n formatAdminURL,\n} from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo, useState } from 'react'\n\nimport type { CollectionOption } from '../../../elements/CreateDocumentButton/index.js'\nimport type { HierarchyDocument } from '../../../elements/Hierarchy/Tree/types.js'\nimport type { SlotColumn } from './SlotTable.js'\nimport type { RelatedGroup, TableRow } from './types.js'\n\nimport { CreateDocumentButton } from '../../../elements/CreateDocumentButton/index.js'\nimport { NoListResults } from '../../../elements/NoListResults/index.js'\nimport { SimplePagination } from '../../../elements/Pagination/SimplePagination/index.js'\nimport { TableSection } from '../../../elements/TableSection/index.js'\nimport { useBranchParam } from '../../../providers/Branch/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentSelection } from '../../../providers/DocumentSelection/index.js'\nimport { useRouteCache } from '../../../providers/RouteCache/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { ChildNameCell } from './ChildNameCell.js'\nimport { DateCell } from './DateCell.js'\nimport { RelatedNameCell } from './RelatedNameCell.js'\nimport { SlotTable } from './SlotTable.js'\nimport { baseClass } from './types.js'\nimport './index.css'\n\n// Top-level cell components to avoid nested component eslint errors\nconst NameCell: SlotColumn<TableRow>['Cell'] = (props) =>\n props.row._hasChildren !== undefined ? (\n <ChildNameCell {...props} />\n ) : (\n <RelatedNameCell {...props} />\n )\n\nconst CollectionCell: SlotColumn<TableRow>['Cell'] = ({ row }) => (\n <span>{row._collectionLabel}</span>\n)\n\nexport type HierarchyTableProps = {\n /** Base filter applied to hierarchy collection queries (e.g., tenant filter) */\n baseFilter?: Where\n childrenData?: PaginatedDocs<HierarchyDocument>\n /** Collections available for creation (for empty state) */\n collections?: CollectionOption[]\n collectionSlug: string\n hasCreatePermission?: boolean\n /** Resolved hierarchy icon component */\n HierarchyIcon?: React.ReactNode\n hierarchyLabel: string\n parentFieldName?: string\n parentId: null | number | string\n /** Base filters for related collections (keyed by collection slug) */\n relatedBaseFilters?: Record<string, Where>\n relatedGroups: RelatedGroup[]\n search?: string\n useAsTitle: string\n}\n\nexport function HierarchyTable({\n baseFilter,\n childrenData,\n collections,\n collectionSlug,\n hasCreatePermission,\n HierarchyIcon,\n hierarchyLabel,\n parentFieldName,\n parentId,\n relatedBaseFilters,\n relatedGroups,\n search,\n useAsTitle,\n}: HierarchyTableProps) {\n const { i18n, t } = useTranslation()\n const { clearRouteCache } = useRouteCache()\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const branch = useBranchParam()\n\n // Children pagination state\n const [childDocs, setChildDocs] = useState(childrenData?.docs || [])\n const [childPaginationData, setChildPaginationData] = useState<Partial<PaginatedDocs>>({\n hasNextPage: childrenData?.hasNextPage || false,\n hasPrevPage: childrenData?.hasPrevPage || false,\n limit: childrenData?.limit || DEFAULT_HIERARCHY_LIST_LIMIT,\n page: childrenData?.page || 1,\n pagingCounter: childrenData?.pagingCounter || 1,\n totalDocs: childrenData?.totalDocs || 0,\n totalPages: childrenData?.totalPages || 1,\n })\n const [childLoading, setChildLoading] = useState(false)\n\n // Related groups pagination state (per collection)\n const [relatedState, setRelatedState] = useState<\n Record<\n string,\n {\n isLoading: boolean\n } & Partial<PaginatedDocs>\n >\n >(() => {\n const initial: Record<\n string,\n {\n isLoading: boolean\n } & Partial<PaginatedDocs>\n > = {}\n for (const group of relatedGroups) {\n initial[group.collectionSlug] = {\n docs: group.data.docs,\n hasNextPage: group.data.hasNextPage,\n hasPrevPage: group.data.hasPrevPage || false,\n isLoading: false,\n limit: group.data.limit || DEFAULT_HIERARCHY_LIST_LIMIT,\n page: group.data.page || 1,\n pagingCounter: group.data.pagingCounter || 1,\n totalDocs: group.data.totalDocs,\n totalPages: group.data.totalPages || 1,\n }\n }\n return initial\n })\n\n // Get selection functions from context\n const { isLocked, isSelected, toggleAllInCollection, toggleSelection } = useDocumentSelection()\n\n // Get the user who is locking a row (for SlotTable to show lock icon instead of checkbox)\n const getRowLockedUser = useCallback(\n (row: TableRow) => {\n const locked = isLocked({ id: row.id, collectionSlug: row._collectionSlug })\n return locked ? row._userEditing : undefined\n },\n [isLocked],\n )\n\n // Page change for children\n const handlePageChangeChildren = useCallback(\n async (page: number) => {\n if (childLoading) {\n return\n }\n\n setChildLoading(true)\n\n try {\n const parentCondition = parentId\n ? { [parentFieldName]: { equals: parentId } }\n : {\n or: [\n { [parentFieldName]: { exists: false } },\n { [parentFieldName]: { equals: null } },\n ],\n }\n\n const searchCondition = search ? { [useAsTitle]: { like: search } } : undefined\n const where = combineWhereConstraints([parentCondition, searchCondition, baseFilter])\n\n const queryString = qs.stringify(\n { branch, limit: DEFAULT_HIERARCHY_LIST_LIMIT, page, where },\n { addQueryPrefix: true },\n )\n const url = formatAdminURL({\n apiRoute,\n path: `/${collectionSlug}${queryString}`,\n serverURL,\n })\n\n const response = await fetch(url, { credentials: 'include' })\n\n if (!response.ok) {\n throw new Error('Failed to load page')\n }\n\n const result: PaginatedDocs = await response.json()\n\n setChildDocs(result.docs)\n setChildPaginationData({\n hasNextPage: result.hasNextPage,\n hasPrevPage: result.hasPrevPage,\n limit: result.limit,\n page: result.page,\n pagingCounter: result.pagingCounter,\n totalDocs: result.totalDocs,\n totalPages: result.totalPages,\n })\n } catch (_error) {\n // Silently fail\n } finally {\n setChildLoading(false)\n }\n },\n [\n branch,\n apiRoute,\n baseFilter,\n childLoading,\n collectionSlug,\n parentFieldName,\n parentId,\n search,\n serverURL,\n useAsTitle,\n ],\n )\n\n // Page change for a related collection\n const handlePageChangeRelated = useCallback(\n async (relatedSlug: string, page: number) => {\n const state = relatedState[relatedSlug]\n if (!state || state.isLoading) {\n return\n }\n\n // Find the group to get field info\n const group = relatedGroups.find((g) => g.collectionSlug === relatedSlug)\n if (!group) {\n return\n }\n\n setRelatedState((prev) => ({\n ...prev,\n [relatedSlug]: { ...prev[relatedSlug], isLoading: true },\n }))\n\n try {\n // Build relationship condition based on whether we're at root or in a parent\n let relationshipCondition: Record<string, unknown>\n if (parentId) {\n // Nested level: find documents assigned to this hierarchy item\n // \"in\" operator works for both hasMany and single relationship fields\n relationshipCondition = { [group.fieldName]: { in: [parentId] } }\n } else {\n // Root level: find documents where hierarchy field doesn't exist, is null, or is empty array\n const conditions: Record<string, unknown>[] = [\n { [group.fieldName]: { exists: false } },\n { [group.fieldName]: { equals: null } },\n ]\n if (group.hasMany) {\n // hasMany fields store cleared values as empty arrays\n conditions.push({ [group.fieldName]: { equals: [] } })\n }\n relationshipCondition = { or: conditions }\n }\n\n const relatedConfig = getEntityConfig({ collectionSlug: relatedSlug })\n const relatedUseAsTitle = relatedConfig?.admin?.useAsTitle || 'id'\n\n const searchCondition = search ? { [relatedUseAsTitle]: { like: search } } : undefined\n const relatedBaseFilter = relatedBaseFilters?.[relatedSlug]\n const where = combineWhereConstraints([\n relationshipCondition,\n searchCondition,\n relatedBaseFilter,\n ])\n\n const queryString = qs.stringify(\n { branch, limit: DEFAULT_HIERARCHY_LIST_LIMIT, page, where },\n { addQueryPrefix: true },\n )\n const url = formatAdminURL({\n apiRoute,\n path: `/${relatedSlug}${queryString}`,\n serverURL,\n })\n\n const response = await fetch(url, { credentials: 'include' })\n\n if (!response.ok) {\n throw new Error('Failed to load page')\n }\n\n const result: PaginatedDocs = await response.json()\n\n setRelatedState((prev) => ({\n ...prev,\n [relatedSlug]: {\n docs: result.docs,\n hasNextPage: result.hasNextPage,\n hasPrevPage: result.hasPrevPage,\n isLoading: false,\n limit: result.limit,\n page: result.page,\n pagingCounter: result.pagingCounter,\n totalDocs: result.totalDocs,\n totalPages: result.totalPages,\n },\n }))\n } catch (_error) {\n setRelatedState((prev) => ({\n ...prev,\n [relatedSlug]: { ...prev[relatedSlug], isLoading: false },\n }))\n }\n },\n [\n branch,\n apiRoute,\n getEntityConfig,\n parentFieldName,\n parentId,\n relatedBaseFilters,\n relatedGroups,\n relatedState,\n search,\n serverURL,\n ],\n )\n\n // Get allowedCollections field name from hierarchy config\n const allowedCollectionsFieldName = useMemo(() => {\n const config = getEntityConfig({ collectionSlug })\n const hierarchy = config?.hierarchy\n\n if (hierarchy && typeof hierarchy === 'object' && hierarchy.collectionSpecific) {\n return hierarchy.collectionSpecific.fieldName\n }\n\n return undefined\n }, [collectionSlug, getEntityConfig])\n\n // Compute collection label for children (once)\n const childrenLabel = useMemo(\n () =>\n getTranslation(getEntityConfig({ collectionSlug })?.labels?.plural, i18n) || hierarchyLabel,\n [collectionSlug, getEntityConfig, hierarchyLabel, i18n],\n )\n\n // Build children data for table\n const childTableData: TableRow[] = useMemo(\n () =>\n childDocs.map((doc) => ({\n ...doc,\n id: doc.id,\n _allowedCollections: allowedCollectionsFieldName\n ? (doc[allowedCollectionsFieldName] as string[] | undefined)\n : undefined,\n _collectionLabel: childrenLabel,\n _collectionSlug: collectionSlug,\n _hasChildren: Boolean(doc._hasChildren),\n _hierarchyIcon: HierarchyIcon,\n })),\n [HierarchyIcon, allowedCollectionsFieldName, childDocs, childrenLabel, collectionSlug],\n )\n\n const hasChildren = (childPaginationData.totalDocs || 0) > 0\n const hasRelated = relatedGroups.some((g) => relatedState[g.collectionSlug]?.totalDocs > 0)\n\n // Unified groups array\n type GroupState = {\n docs: TableRow[]\n isChildren: boolean\n isHierarchyEnabled: boolean\n isLoading: boolean\n label: string\n onCheckboxChange: (row: TableRow) => void\n onPageChange: (page: number) => void\n onSelectAllChange: () => void\n paginationData: PaginatedDocs\n slug: string\n }\n\n const allGroups: GroupState[] = useMemo(() => {\n const groups: GroupState[] = []\n\n // Children group\n if (hasChildren) {\n groups.push({\n slug: collectionSlug,\n docs: childTableData,\n isChildren: true,\n isHierarchyEnabled: true,\n isLoading: childLoading,\n label: childrenLabel,\n onCheckboxChange: (row: TableRow) =>\n toggleSelection({\n id: row.id,\n collectionSlug,\n metadata: {\n allowedCollections: row._allowedCollections as string[] | undefined,\n },\n }),\n onPageChange: (page: number) => void handlePageChangeChildren(page),\n onSelectAllChange: () => toggleAllInCollection({ collectionSlug }),\n paginationData: {\n docs: childDocs,\n hasNextPage: childPaginationData.hasNextPage || false,\n hasPrevPage: childPaginationData.hasPrevPage || false,\n limit: childPaginationData.limit || DEFAULT_HIERARCHY_LIST_LIMIT,\n page: childPaginationData.page || 1,\n pagingCounter: childPaginationData.pagingCounter || 1,\n totalDocs: childPaginationData.totalDocs || 0,\n totalPages: childPaginationData.totalPages || 1,\n },\n })\n }\n\n // Related groups\n for (const group of relatedGroups) {\n const state = relatedState[group.collectionSlug]\n if (!state || state.totalDocs === 0) {\n continue\n }\n\n const relatedConfig = getEntityConfig({ collectionSlug: group.collectionSlug })\n const relatedLabel = getTranslation(relatedConfig?.labels?.plural, i18n) || group.label\n\n const relatedTableData: TableRow[] = state.docs.map((doc: Record<string, unknown>) => ({\n ...doc,\n id: doc.id as number | string,\n _collectionLabel: relatedLabel,\n _collectionSlug: group.collectionSlug,\n }))\n\n groups.push({\n slug: group.collectionSlug,\n docs: relatedTableData,\n isChildren: false,\n isHierarchyEnabled: false,\n isLoading: state.isLoading,\n label: relatedLabel,\n onCheckboxChange: (row: TableRow) =>\n toggleSelection({\n id: row.id,\n collectionSlug: group.collectionSlug,\n metadata: {}, // Related items don't have allowedCollections - their collection slug is the constraint\n }),\n onPageChange: (page: number) => void handlePageChangeRelated(group.collectionSlug, page),\n onSelectAllChange: () => toggleAllInCollection({ collectionSlug: group.collectionSlug }),\n paginationData: {\n docs: state.docs || [],\n hasNextPage: state.hasNextPage || false,\n hasPrevPage: state.hasPrevPage || false,\n limit: state.limit || DEFAULT_HIERARCHY_LIST_LIMIT,\n page: state.page || 1,\n pagingCounter: state.pagingCounter || 1,\n totalDocs: state.totalDocs || 0,\n totalPages: state.totalPages || 1,\n },\n })\n }\n\n return groups\n }, [\n childDocs,\n childLoading,\n childPaginationData,\n childrenLabel,\n childTableData,\n collectionSlug,\n getEntityConfig,\n handlePageChangeChildren,\n handlePageChangeRelated,\n hasChildren,\n i18n,\n relatedGroups,\n relatedState,\n toggleAllInCollection,\n toggleSelection,\n ])\n\n // Column definitions\n const columns: SlotColumn<TableRow>[] = useMemo(\n () => [\n {\n accessor: 'name',\n Cell: NameCell,\n className: `${baseClass}__col-name`,\n heading: t('general:name'),\n },\n {\n accessor: 'collection',\n Cell: CollectionCell,\n className: `${baseClass}__col-collection`,\n heading: t('general:collection'),\n },\n {\n accessor: 'updatedAt',\n Cell: DateCell,\n className: `${baseClass}__col-date`,\n heading: t('general:updatedAt'),\n },\n ],\n [t],\n )\n\n if (!hasChildren && !hasRelated) {\n const canShowCreateButton = hasCreatePermission && collections && collections.length > 0\n\n return (\n <NoListResults\n Actions={\n canShowCreateButton\n ? [\n <CreateDocumentButton\n collections={collections}\n drawerSlug={`hierarchy-create-empty-${collectionSlug}`}\n key=\"create\"\n onSave={clearRouteCache}\n />,\n ]\n : undefined\n }\n description={t('general:noResultsDescription')}\n title={t('general:noResultsFound')}\n withMargin\n />\n )\n }\n\n return (\n <div className={baseClass}>\n {allGroups.map((group) => (\n <TableSection key={group.slug}>\n <TableSection.Header heading={group.label}>\n <SimplePagination data={group.paginationData} onChange={group.onPageChange} />\n </TableSection.Header>\n <TableSection.Content>\n <SlotTable\n collectionSlug={group.slug}\n columns={columns}\n data={group.docs}\n enableCheckbox={true}\n enableDragHandle={false}\n enableHeader={true}\n enableSelectAll={true}\n getRowLockedUser={getRowLockedUser}\n mergeCheckboxHeader={false}\n onCheckboxChange={group.onCheckboxChange}\n onSelectAllChange={group.onSelectAllChange}\n parentId={parentId}\n selectedIds={\n new Set(\n group.docs\n .filter((row) => isSelected({ id: row.id, collectionSlug: group.slug }))\n .map((row) => row.id),\n )\n }\n />\n </TableSection.Content>\n </TableSection>\n ))}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}