@payloadcms/ui 4.0.0-internal.532221d → 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 (501) hide show
  1. package/dist/elements/AppHeader/index.css +5 -0
  2. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  3. package/dist/elements/AppHeader/index.js +3 -0
  4. package/dist/elements/AppHeader/index.js.map +1 -1
  5. package/dist/elements/ArrayAction/index.d.ts +1 -0
  6. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  7. package/dist/elements/ArrayAction/index.js +45 -32
  8. package/dist/elements/ArrayAction/index.js.map +1 -1
  9. package/dist/elements/Autosave/index.d.ts.map +1 -1
  10. package/dist/elements/Autosave/index.js +3 -0
  11. package/dist/elements/Autosave/index.js.map +1 -1
  12. package/dist/elements/BranchSelector/NewBranchModal/index.css +46 -0
  13. package/dist/elements/BranchSelector/NewBranchModal/index.d.ts +12 -0
  14. package/dist/elements/BranchSelector/NewBranchModal/index.d.ts.map +1 -0
  15. package/dist/elements/BranchSelector/NewBranchModal/index.js +174 -0
  16. package/dist/elements/BranchSelector/NewBranchModal/index.js.map +1 -0
  17. package/dist/elements/BranchSelector/index.css +172 -0
  18. package/dist/elements/BranchSelector/index.d.ts +13 -0
  19. package/dist/elements/BranchSelector/index.d.ts.map +1 -0
  20. package/dist/elements/BranchSelector/index.js +255 -0
  21. package/dist/elements/BranchSelector/index.js.map +1 -0
  22. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  23. package/dist/elements/BulkUpload/FormsManager/index.js +6 -2
  24. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  25. package/dist/elements/Button/index.css +2 -2
  26. package/dist/elements/ChangeSummary/index.css +18 -0
  27. package/dist/elements/ChangeSummary/index.d.ts +28 -0
  28. package/dist/elements/ChangeSummary/index.d.ts.map +1 -0
  29. package/dist/elements/ChangeSummary/index.js +147 -0
  30. package/dist/elements/ChangeSummary/index.js.map +1 -0
  31. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
  32. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  33. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +55 -0
  34. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  35. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
  36. package/dist/elements/ColumnSelection/Popup.js +3 -3
  37. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  38. package/dist/elements/Combobox/index.css +84 -23
  39. package/dist/elements/Combobox/index.d.ts +21 -0
  40. package/dist/elements/Combobox/index.d.ts.map +1 -1
  41. package/dist/elements/Combobox/index.js +66 -21
  42. package/dist/elements/Combobox/index.js.map +1 -1
  43. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  44. package/dist/elements/DeleteDocument/index.js +9 -2
  45. package/dist/elements/DeleteDocument/index.js.map +1 -1
  46. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  47. package/dist/elements/DeleteMany/index.js +4 -1
  48. package/dist/elements/DeleteMany/index.js.map +1 -1
  49. package/dist/elements/DocumentHeader/Tabs/Tab/index.css +5 -3
  50. package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.css +12 -0
  51. package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.d.ts +12 -0
  52. package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.d.ts.map +1 -0
  53. package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.js +83 -0
  54. package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.js.map +1 -0
  55. package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.d.ts +14 -0
  56. package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.d.ts.map +1 -0
  57. package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.js +28 -0
  58. package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.js.map +1 -0
  59. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  60. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +32 -1
  61. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  62. package/dist/elements/Drawer/index.css +10 -4
  63. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
  64. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  65. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  66. package/dist/elements/DuplicateDocument/index.js +6 -1
  67. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  68. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  69. package/dist/elements/EditMany/DrawerContent.js +4 -1
  70. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  71. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  72. package/dist/elements/Hierarchy/ColumnBrowser/index.js +4 -1
  73. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  74. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
  75. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +4 -1
  76. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
  77. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +2 -1
  78. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  79. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +2 -0
  80. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  81. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  82. package/dist/elements/Hierarchy/Modal/index.js +3 -0
  83. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  84. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  85. package/dist/elements/Hierarchy/MoveMany/index.js +4 -1
  86. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  87. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  88. package/dist/elements/Hierarchy/Search/useHierarchySearch.js +3 -0
  89. package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
  90. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  91. package/dist/elements/Hierarchy/Tree/useChildren.js +4 -1
  92. package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
  93. package/dist/elements/IDLabel/index.css +6 -0
  94. package/dist/elements/IDLabel/index.d.ts +1 -1
  95. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  96. package/dist/elements/IDLabel/index.js +16 -21
  97. package/dist/elements/IDLabel/index.js.map +1 -1
  98. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
  99. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
  100. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
  101. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  102. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
  103. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +6 -2
  104. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  105. package/dist/elements/MergeBranch/context.d.ts +67 -0
  106. package/dist/elements/MergeBranch/context.d.ts.map +1 -0
  107. package/dist/elements/MergeBranch/context.js +47 -0
  108. package/dist/elements/MergeBranch/context.js.map +1 -0
  109. package/dist/elements/MergeBranch/index.css +136 -0
  110. package/dist/elements/MergeBranch/index.d.ts +15 -0
  111. package/dist/elements/MergeBranch/index.d.ts.map +1 -0
  112. package/dist/elements/MergeBranch/index.js +545 -0
  113. package/dist/elements/MergeBranch/index.js.map +1 -0
  114. package/dist/elements/MergeBranch/provider.d.ts +12 -0
  115. package/dist/elements/MergeBranch/provider.d.ts.map +1 -0
  116. package/dist/elements/MergeBranch/provider.js +19 -0
  117. package/dist/elements/MergeBranch/provider.js.map +1 -0
  118. package/dist/elements/MergeBranch/slug.d.ts +9 -0
  119. package/dist/elements/MergeBranch/slug.d.ts.map +1 -0
  120. package/dist/elements/MergeBranch/slug.js +8 -0
  121. package/dist/elements/MergeBranch/slug.js.map +1 -0
  122. package/dist/elements/Nav/context.js +2 -2
  123. package/dist/elements/Nav/context.js.map +1 -1
  124. package/dist/elements/Nav/getNavPrefs.d.ts +6 -0
  125. package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -1
  126. package/dist/elements/Nav/getNavPrefs.js +14 -46
  127. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  128. package/dist/elements/NavGroup/index.js +1 -1
  129. package/dist/elements/NavGroup/index.js.map +1 -1
  130. package/dist/elements/PermanentlyDeleteButton/index.d.ts.map +1 -1
  131. package/dist/elements/PermanentlyDeleteButton/index.js +4 -1
  132. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  133. package/dist/elements/Popup/PopupButtonList/index.css +1 -1
  134. package/dist/elements/Popup/index.js +1 -1
  135. package/dist/elements/Popup/index.js.map +1 -1
  136. package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
  137. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  138. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  139. package/dist/elements/PublishButton/index.js +6 -2
  140. package/dist/elements/PublishButton/index.js.map +1 -1
  141. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  142. package/dist/elements/PublishMany/DrawerContent.js +4 -1
  143. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  144. package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
  145. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  146. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  147. package/dist/elements/RelationshipTable/index.js +5 -2
  148. package/dist/elements/RelationshipTable/index.js.map +1 -1
  149. package/dist/elements/RestoreButton/index.d.ts.map +1 -1
  150. package/dist/elements/RestoreButton/index.js +4 -1
  151. package/dist/elements/RestoreButton/index.js.map +1 -1
  152. package/dist/elements/RestoreMany/index.d.ts.map +1 -1
  153. package/dist/elements/RestoreMany/index.js +3 -0
  154. package/dist/elements/RestoreMany/index.js.map +1 -1
  155. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  156. package/dist/elements/SaveDraftButton/index.js +15 -2
  157. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  158. package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
  159. package/dist/elements/SchedulePublishButton/index.js +7 -1
  160. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  161. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  162. package/dist/elements/SortHeader/index.js +29 -26
  163. package/dist/elements/SortHeader/index.js.map +1 -1
  164. package/dist/elements/Status/index.d.ts.map +1 -1
  165. package/dist/elements/Status/index.js +16 -3
  166. package/dist/elements/Status/index.js.map +1 -1
  167. package/dist/elements/StepNav/index.css +71 -14
  168. package/dist/elements/StepNav/index.d.ts.map +1 -1
  169. package/dist/elements/StepNav/index.js +135 -69
  170. package/dist/elements/StepNav/index.js.map +1 -1
  171. package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.css +34 -0
  172. package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.d.ts +13 -0
  173. package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.d.ts.map +1 -0
  174. package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.js +51 -0
  175. package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.js.map +1 -0
  176. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  177. package/dist/elements/Table/DefaultCell/index.js +3 -11
  178. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  179. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  180. package/dist/elements/Table/OrderableTable.js +3 -1
  181. package/dist/elements/Table/OrderableTable.js.map +1 -1
  182. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  183. package/dist/elements/Table/RelationshipProvider/index.js +29 -23
  184. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  185. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  186. package/dist/elements/UnpublishButton/index.js +4 -1
  187. package/dist/elements/UnpublishButton/index.js.map +1 -1
  188. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  189. package/dist/elements/UnpublishMany/DrawerContent.js +4 -1
  190. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  191. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  192. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +3 -0
  193. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  194. package/dist/exports/client/index.d.ts +19 -1
  195. package/dist/exports/client/index.d.ts.map +1 -1
  196. package/dist/exports/client/index.js +1 -1
  197. package/dist/exports/client/index.js.map +3 -3
  198. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  199. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  200. package/dist/fields/Array/ArrayRow.js +2 -0
  201. package/dist/fields/Array/ArrayRow.js.map +1 -1
  202. package/dist/fields/Array/index.d.ts.map +1 -1
  203. package/dist/fields/Array/index.js +38 -10
  204. package/dist/fields/Array/index.js.map +1 -1
  205. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  206. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  207. package/dist/fields/Blocks/BlockRow.js +2 -0
  208. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  209. package/dist/fields/Blocks/RowActions.d.ts +1 -0
  210. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  211. package/dist/fields/Blocks/RowActions.js +22 -19
  212. package/dist/fields/Blocks/RowActions.js.map +1 -1
  213. package/dist/fields/Blocks/index.d.ts.map +1 -1
  214. package/dist/fields/Blocks/index.js +35 -7
  215. package/dist/fields/Blocks/index.js.map +1 -1
  216. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  217. package/dist/fields/Relationship/Input.js +5 -1
  218. package/dist/fields/Relationship/Input.js.map +1 -1
  219. package/dist/fields/Upload/Input.d.ts.map +1 -1
  220. package/dist/fields/Upload/Input.js +4 -1
  221. package/dist/fields/Upload/Input.js.map +1 -1
  222. package/dist/forms/Form/index.d.ts.map +1 -1
  223. package/dist/forms/Form/index.js +4 -1
  224. package/dist/forms/Form/index.js.map +1 -1
  225. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  226. package/dist/hooks/usePayloadAPI.js +44 -40
  227. package/dist/hooks/usePayloadAPI.js.map +1 -1
  228. package/dist/icons/Branch/index.css +5 -0
  229. package/dist/icons/Branch/index.d.ts +7 -0
  230. package/dist/icons/Branch/index.d.ts.map +1 -0
  231. package/dist/icons/Branch/index.js +25 -0
  232. package/dist/icons/Branch/index.js.map +1 -0
  233. package/dist/icons/Edit/index.d.ts +0 -1
  234. package/dist/icons/Edit/index.d.ts.map +1 -1
  235. package/dist/icons/Edit/index.js +4 -4
  236. package/dist/icons/Edit/index.js.map +1 -1
  237. package/dist/providers/Actions/index.d.ts +1 -0
  238. package/dist/providers/Actions/index.d.ts.map +1 -1
  239. package/dist/providers/Actions/index.js +43 -11
  240. package/dist/providers/Actions/index.js.map +1 -1
  241. package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
  242. package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
  243. package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
  244. package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
  245. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
  246. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
  247. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
  248. package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
  249. package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
  250. package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
  251. package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
  252. package/dist/providers/Auth/authSessionRequests.js +119 -0
  253. package/dist/providers/Auth/authSessionRequests.js.map +1 -0
  254. package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
  255. package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
  256. package/dist/providers/Auth/index.d.ts +2 -56
  257. package/dist/providers/Auth/index.d.ts.map +1 -1
  258. package/dist/providers/Auth/index.js +283 -135
  259. package/dist/providers/Auth/index.js.map +1 -1
  260. package/dist/providers/Auth/sessionActivity.d.ts +23 -0
  261. package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
  262. package/dist/providers/Auth/sessionActivity.js +49 -0
  263. package/dist/providers/Auth/sessionActivity.js.map +1 -0
  264. package/dist/providers/Auth/sessionActivity.spec.js +44 -0
  265. package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
  266. package/dist/providers/Auth/sessionTiming.d.ts +11 -0
  267. package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
  268. package/dist/providers/Auth/sessionTiming.js +18 -0
  269. package/dist/providers/Auth/sessionTiming.js.map +1 -0
  270. package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
  271. package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
  272. package/dist/providers/Auth/tabSessionSync/index.js +263 -0
  273. package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
  274. package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
  275. package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
  276. package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
  277. package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
  278. package/dist/providers/Auth/tabSessionSync/types.js +6 -0
  279. package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
  280. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
  281. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
  282. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
  283. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
  284. package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
  285. package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
  286. package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
  287. package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
  288. package/dist/providers/Auth/types.d.ts +65 -0
  289. package/dist/providers/Auth/types.d.ts.map +1 -0
  290. package/dist/providers/Auth/types.js +2 -0
  291. package/dist/providers/Auth/types.js.map +1 -0
  292. package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
  293. package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
  294. package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
  295. package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
  296. package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
  297. package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
  298. package/dist/providers/Branch/index.d.ts +68 -0
  299. package/dist/providers/Branch/index.d.ts.map +1 -0
  300. package/dist/providers/Branch/index.js +193 -0
  301. package/dist/providers/Branch/index.js.map +1 -0
  302. package/dist/providers/Branch/index.server.d.ts +14 -0
  303. package/dist/providers/Branch/index.server.d.ts.map +1 -0
  304. package/dist/providers/Branch/index.server.js +125 -0
  305. package/dist/providers/Branch/index.server.js.map +1 -0
  306. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  307. package/dist/providers/DocumentInfo/index.js +5 -1
  308. package/dist/providers/DocumentInfo/index.js.map +1 -1
  309. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts +2 -1
  310. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
  311. package/dist/providers/DocumentInfo/useGetDocPermissions.js +3 -1
  312. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
  313. package/dist/providers/FormErrorHandler/index.d.ts +5 -1
  314. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -1
  315. package/dist/providers/FormErrorHandler/index.js.map +1 -1
  316. package/dist/providers/Hierarchy/index.d.ts.map +1 -1
  317. package/dist/providers/Hierarchy/index.js +4 -1
  318. package/dist/providers/Hierarchy/index.js.map +1 -1
  319. package/dist/providers/Locale/index.d.ts.map +1 -1
  320. package/dist/providers/Locale/index.js +41 -36
  321. package/dist/providers/Locale/index.js.map +1 -1
  322. package/dist/providers/Preferences/index.d.ts +3 -1
  323. package/dist/providers/Preferences/index.d.ts.map +1 -1
  324. package/dist/providers/Preferences/index.js +9 -3
  325. package/dist/providers/Preferences/index.js.map +1 -1
  326. package/dist/providers/Root/index.js +4 -4
  327. package/dist/providers/Root/index.js.map +1 -1
  328. package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
  329. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  330. package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
  331. package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
  332. package/dist/providers/RouteTransition/index.d.ts +2 -0
  333. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  334. package/dist/providers/RouteTransition/index.js +42 -14
  335. package/dist/providers/RouteTransition/index.js.map +1 -1
  336. package/dist/styles.css +1 -1
  337. package/dist/templates/Default/index.d.ts +1 -0
  338. package/dist/templates/Default/index.d.ts.map +1 -1
  339. package/dist/templates/Default/index.js +44 -36
  340. package/dist/templates/Default/index.js.map +1 -1
  341. package/dist/utilities/getAdminPreferences.d.ts +14 -0
  342. package/dist/utilities/getAdminPreferences.d.ts.map +1 -0
  343. package/dist/utilities/getAdminPreferences.js +22 -0
  344. package/dist/utilities/getAdminPreferences.js.map +1 -0
  345. package/dist/utilities/getRequestBranch.d.ts +20 -0
  346. package/dist/utilities/getRequestBranch.d.ts.map +1 -0
  347. package/dist/utilities/getRequestBranch.js +35 -0
  348. package/dist/utilities/getRequestBranch.js.map +1 -0
  349. package/dist/utilities/getVersions.d.ts +6 -1
  350. package/dist/utilities/getVersions.d.ts.map +1 -1
  351. package/dist/utilities/getVersions.js +5 -0
  352. package/dist/utilities/getVersions.js.map +1 -1
  353. package/dist/utilities/initReq.d.ts.map +1 -1
  354. package/dist/utilities/initReq.js +8 -0
  355. package/dist/utilities/initReq.js.map +1 -1
  356. package/dist/utilities/matchesSearchQuery.d.ts +12 -0
  357. package/dist/utilities/matchesSearchQuery.d.ts.map +1 -0
  358. package/dist/utilities/matchesSearchQuery.js +23 -0
  359. package/dist/utilities/matchesSearchQuery.js.map +1 -0
  360. package/dist/{elements/ColumnSelection/matchesColumnSearch.spec.js → utilities/matchesSearchQuery.spec.js} +29 -29
  361. package/dist/utilities/matchesSearchQuery.spec.js.map +1 -0
  362. package/dist/utilities/scheduleMergeHandler.d.ts +33 -0
  363. package/dist/utilities/scheduleMergeHandler.d.ts.map +1 -0
  364. package/dist/utilities/scheduleMergeHandler.js +119 -0
  365. package/dist/utilities/scheduleMergeHandler.js.map +1 -0
  366. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  367. package/dist/utilities/schedulePublishHandler.js +10 -0
  368. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  369. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  370. package/dist/utilities/serverFunctionRegistry.js +6 -0
  371. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  372. package/dist/views/API/index.client.d.ts.map +1 -1
  373. package/dist/views/API/index.client.js +10 -2
  374. package/dist/views/API/index.client.js.map +1 -1
  375. package/dist/views/Branch/BranchChanges/index.d.ts +23 -0
  376. package/dist/views/Branch/BranchChanges/index.d.ts.map +1 -0
  377. package/dist/views/Branch/BranchChanges/index.js +150 -0
  378. package/dist/views/Branch/BranchChanges/index.js.map +1 -0
  379. package/dist/views/Branch/ChangedDocuments/index.css +118 -0
  380. package/dist/views/Branch/ChangedDocuments/index.d.ts +34 -0
  381. package/dist/views/Branch/ChangedDocuments/index.d.ts.map +1 -0
  382. package/dist/views/Branch/ChangedDocuments/index.js +233 -0
  383. package/dist/views/Branch/ChangedDocuments/index.js.map +1 -0
  384. package/dist/views/Branch/DiscardChangesButton/index.d.ts +16 -0
  385. package/dist/views/Branch/DiscardChangesButton/index.d.ts.map +1 -0
  386. package/dist/views/Branch/DiscardChangesButton/index.js +106 -0
  387. package/dist/views/Branch/DiscardChangesButton/index.js.map +1 -0
  388. package/dist/views/Branch/Manage/index.d.ts +11 -0
  389. package/dist/views/Branch/Manage/index.d.ts.map +1 -0
  390. package/dist/views/Branch/Manage/index.js +71 -0
  391. package/dist/views/Branch/Manage/index.js.map +1 -0
  392. package/dist/views/Branch/MergeChangesButton/index.d.ts +14 -0
  393. package/dist/views/Branch/MergeChangesButton/index.d.ts.map +1 -0
  394. package/dist/views/Branch/MergeChangesButton/index.js +55 -0
  395. package/dist/views/Branch/MergeChangesButton/index.js.map +1 -0
  396. package/dist/views/Branch/MergeLedger/index.css +137 -0
  397. package/dist/views/Branch/MergeLedger/index.d.ts +31 -0
  398. package/dist/views/Branch/MergeLedger/index.d.ts.map +1 -0
  399. package/dist/views/Branch/MergeLedger/index.js +211 -0
  400. package/dist/views/Branch/MergeLedger/index.js.map +1 -0
  401. package/dist/views/Branch/ScheduledMerges/index.css +83 -0
  402. package/dist/views/Branch/ScheduledMerges/index.d.ts +32 -0
  403. package/dist/views/Branch/ScheduledMerges/index.d.ts.map +1 -0
  404. package/dist/views/Branch/ScheduledMerges/index.js +183 -0
  405. package/dist/views/Branch/ScheduledMerges/index.js.map +1 -0
  406. package/dist/views/Branch/index.css +77 -0
  407. package/dist/views/Branch/index.d.ts +17 -0
  408. package/dist/views/Branch/index.d.ts.map +1 -0
  409. package/dist/views/Branch/index.js +188 -0
  410. package/dist/views/Branch/index.js.map +1 -0
  411. package/dist/views/Branch/renderBranchDiff.d.ts +29 -0
  412. package/dist/views/Branch/renderBranchDiff.d.ts.map +1 -0
  413. package/dist/views/Branch/renderBranchDiff.js +151 -0
  414. package/dist/views/Branch/renderBranchDiff.js.map +1 -0
  415. package/dist/views/Branch/renderMergeDiff.d.ts +24 -0
  416. package/dist/views/Branch/renderMergeDiff.d.ts.map +1 -0
  417. package/dist/views/Branch/renderMergeDiff.js +94 -0
  418. package/dist/views/Branch/renderMergeDiff.js.map +1 -0
  419. package/dist/views/Branches/index.d.ts +16 -0
  420. package/dist/views/Branches/index.d.ts.map +1 -0
  421. package/dist/views/Branches/index.js +54 -0
  422. package/dist/views/Branches/index.js.map +1 -0
  423. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  424. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
  425. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  426. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  427. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
  428. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  429. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  430. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
  431. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  432. package/dist/views/Dashboard/Default/ModularDashboard/index.css +33 -140
  433. package/dist/views/Document/getDocumentView.d.ts.map +1 -1
  434. package/dist/views/Document/getDocumentView.js +21 -2
  435. package/dist/views/Document/getDocumentView.js.map +1 -1
  436. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  437. package/dist/views/Document/getMetaBySegment.js +9 -0
  438. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  439. package/dist/views/Document/index.d.ts +3 -1
  440. package/dist/views/Document/index.d.ts.map +1 -1
  441. package/dist/views/Document/index.js +8 -1
  442. package/dist/views/Document/index.js.map +1 -1
  443. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  444. package/dist/views/HierarchyList/HierarchyTable/index.js +6 -2
  445. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  446. package/dist/views/List/ListHeader/index.d.ts +1 -10
  447. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  448. package/dist/views/List/ListHeader/index.js +1 -3
  449. package/dist/views/List/ListHeader/index.js.map +1 -1
  450. package/dist/views/List/index.client.d.ts.map +1 -1
  451. package/dist/views/List/index.client.js +0 -14
  452. package/dist/views/List/index.client.js.map +1 -1
  453. package/dist/views/List/index.css +5 -0
  454. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  455. package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
  456. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  457. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
  458. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  459. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  460. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  461. package/dist/views/Root/getRouteData.js +12 -4
  462. package/dist/views/Root/getRouteData.js.map +1 -1
  463. package/dist/views/Root/index.d.ts.map +1 -1
  464. package/dist/views/Root/index.js +1 -0
  465. package/dist/views/Root/index.js.map +1 -1
  466. package/dist/views/Version/Default/index.css +26 -2
  467. package/dist/views/Version/Default/index.d.ts.map +1 -1
  468. package/dist/views/Version/Default/index.js +18 -6
  469. package/dist/views/Version/Default/index.js.map +1 -1
  470. package/dist/views/Version/Default/types.d.ts +9 -0
  471. package/dist/views/Version/Default/types.d.ts.map +1 -1
  472. package/dist/views/Version/Default/types.js.map +1 -1
  473. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  474. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +8 -0
  475. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  476. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  477. package/dist/views/Version/Restore/index.js +6 -3
  478. package/dist/views/Version/Restore/index.js.map +1 -1
  479. package/dist/views/Version/index.d.ts.map +1 -1
  480. package/dist/views/Version/index.js +4 -0
  481. package/dist/views/Version/index.js.map +1 -1
  482. package/dist/views/Versions/buildColumns.d.ts +2 -1
  483. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  484. package/dist/views/Versions/buildColumns.js +21 -1
  485. package/dist/views/Versions/buildColumns.js.map +1 -1
  486. package/dist/views/Versions/cells/Branch/index.d.ts +12 -0
  487. package/dist/views/Versions/cells/Branch/index.d.ts.map +1 -0
  488. package/dist/views/Versions/cells/Branch/index.js +27 -0
  489. package/dist/views/Versions/cells/Branch/index.js.map +1 -0
  490. package/dist/views/Versions/index.client.d.ts +0 -1
  491. package/dist/views/Versions/index.client.d.ts.map +1 -1
  492. package/dist/views/Versions/index.client.js.map +1 -1
  493. package/dist/views/Versions/index.d.ts.map +1 -1
  494. package/dist/views/Versions/index.js +2 -14
  495. package/dist/views/Versions/index.js.map +1 -1
  496. package/package.json +5 -5
  497. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts +0 -10
  498. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts.map +0 -1
  499. package/dist/elements/ColumnSelection/matchesColumnSearch.js +0 -21
  500. package/dist/elements/ColumnSelection/matchesColumnSearch.js.map +0 -1
  501. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.js","names":["getTranslation","formatAdminURL","formatFilesize","React","Fragment","useEffect","useRef","useState","useBulkUpload","Button","ListControls","useListDrawerContext","ListWhereBuilder","useModal","NoListResults","PageControls","RenderCustomComponent","SelectMany","useStepNav","RelationshipProvider","ViewDescription","useControllableState","useConfig","DocumentSelectionProvider","useListQuery","useRouter","SelectionProvider","TableColumnsProvider","useTranslation","useWindowInfo","ListSelection","DocumentListSelection","HierarchyTable","CollectionListHeader","baseClass","DefaultListView","props","AfterList","AfterListTable","beforeActions","BeforeList","BeforeListTable","collectionSlug","columnState","Description","disableBulkDelete","disableBulkEdit","disableQueryPresets","enableRowSelections","hasCreatePermission","hasCreatePermissionFromProps","hasDeletePermission","hasTrashPermission","hierarchyData","listMenuItems","newDocumentURL","NoResults","queryPreset","queryPresetPermissions","renderedFilters","resolvedFilterOptions","Table","InitialTable","viewType","allowCreate","createNewDrawerSlug","isInDrawer","onBulkSelect","undefined","config","routes","admin","adminRoute","serverURL","getEntityConfig","router","data","hasActiveFilters","isGroupingBy","query","hasWhereParam","Boolean","where","isWhereOpen","setIsWhereOpen","current","openModal","modalSlug","bulkUploadModalSlug","setCollectionSlug","setOnSuccess","collectionConfig","labels","upload","isUploadCollection","isBulkUploadEnabled","bulkUpload","isTrashEnabled","trash","i18n","collectionLabel","plural","setStepNav","breakpoints","s","smallBreak","docs","useMemo","map","doc","filesize","openBulkUpload","useCallback","refresh","baseLabel","label","url","path","trashLabel","t","navItems","breadcrumbs","queryParam","parentFieldName","hierarchyBreadcrumbs","crumb","index","isLast","length","title","id","_jsxs","_jsx","className","totalDocs","description","CustomComponent","Fallback","hideFileInputOnCreate","onClick","enableQueryPresets","onWhereToggle","prev","collectionPluralLabel","fields","onEmptyRemove","collectionData","childrenData","Object","fromEntries","entries","relatedDocumentsByCollection","slug","related","result","hierarchyLabel","parentId","relatedGroups","fieldName","hasMany","useAsTitle","Actions","el","singular","to","withMargin","AfterPageControls","showSelectAllAcrossPages","totalPages"],"sources":["../../../src/views/List/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { ListViewClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, formatFilesize } from 'payload/shared'\nimport React, { Fragment, useEffect, useRef, useState } from 'react'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { ListControls } from '../../elements/ListControls/index.js'\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { ListWhereBuilder } from '../../elements/ListWhereBuilder/index.js'\nimport { useModal } from '../../elements/Modal/index.js'\nimport { NoListResults } from '../../elements/NoListResults/index.js'\nimport { PageControls } from '../../elements/PageControls/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { SelectMany } from '../../elements/SelectMany/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { RelationshipProvider } from '../../elements/Table/RelationshipProvider/index.js'\nimport { ViewDescription } from '../../elements/ViewDescription/index.js'\nimport { useControllableState } from '../../hooks/useControllableState.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentSelectionProvider } from '../../providers/DocumentSelection/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useRouter } from '../../providers/RouterAdapter/index.js'\nimport { SelectionProvider } from '../../providers/Selection/index.js'\nimport { TableColumnsProvider } from '../../providers/TableColumns/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListSelection } from '../../views/List/ListSelection/index.js'\nimport { DocumentListSelection } from '../HierarchyList/DocumentListSelection/index.js'\nimport { HierarchyTable } from '../HierarchyList/HierarchyTable/index.js'\nimport { CollectionListHeader } from './ListHeader/index.js'\nimport './index.css'\n\nconst baseClass = 'collection-list'\n\nexport function DefaultListView(props: ListViewClientProps) {\n const {\n AfterList,\n AfterListTable,\n beforeActions,\n BeforeList,\n BeforeListTable,\n collectionSlug,\n columnState,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission: hasCreatePermissionFromProps,\n hasDeletePermission,\n hasTrashPermission,\n hierarchyData,\n listMenuItems,\n newDocumentURL,\n NoResults,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table: InitialTable,\n viewType,\n } = props\n\n const [Table] = useControllableState(InitialTable)\n\n const { allowCreate, createNewDrawerSlug, isInDrawer, onBulkSelect } = useListDrawerContext()\n\n const hasCreatePermission =\n allowCreate !== undefined\n ? allowCreate && hasCreatePermissionFromProps\n : hasCreatePermissionFromProps\n\n const {\n config: {\n routes: { admin: adminRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n const router = useRouter()\n\n const { data, hasActiveFilters, isGroupingBy, query } = useListQuery()\n\n const hasWhereParam = useRef(Boolean(query?.where))\n const [isWhereOpen, setIsWhereOpen] = useState(hasActiveFilters)\n\n useEffect(() => {\n if (hasWhereParam.current && !query?.where) {\n hasWhereParam.current = false\n setIsWhereOpen(false)\n } else if (query?.where) {\n hasWhereParam.current = true\n }\n }, [query?.where])\n\n const { openModal } = useModal()\n const { modalSlug: bulkUploadModalSlug, setCollectionSlug, setOnSuccess } = useBulkUpload()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { labels, upload } = collectionConfig\n\n const isUploadCollection = Boolean(upload)\n\n const isBulkUploadEnabled = isUploadCollection && collectionConfig.upload.bulkUpload\n\n const isTrashEnabled = Boolean(collectionConfig.trash)\n\n const { i18n } = useTranslation()\n\n const collectionLabel = getTranslation(labels?.plural, i18n)\n\n const { setStepNav } = useStepNav()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const docs = React.useMemo(() => {\n if (isUploadCollection) {\n return data.docs.map((doc) => {\n return {\n ...doc,\n filesize: formatFilesize(doc.filesize),\n }\n })\n } else {\n return data?.docs\n }\n }, [data?.docs, isUploadCollection])\n\n const openBulkUpload = React.useCallback(() => {\n setCollectionSlug(collectionSlug)\n openModal(bulkUploadModalSlug)\n setOnSuccess(() => router.refresh())\n }, [router, collectionSlug, bulkUploadModalSlug, openModal, setCollectionSlug, setOnSuccess])\n\n useEffect(() => {\n if (!isInDrawer) {\n const baseLabel = {\n label: collectionLabel,\n url:\n hierarchyData || (isTrashEnabled && viewType === 'trash')\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n })\n : undefined,\n }\n\n const trashLabel = {\n label: i18n.t('general:trash'),\n }\n\n let navItems = isTrashEnabled && viewType === 'trash' ? [baseLabel, trashLabel] : [baseLabel]\n\n // Add hierarchy breadcrumbs\n if (hierarchyData?.breadcrumbs) {\n const queryParam = hierarchyData.parentFieldName || 'parent'\n const hierarchyBreadcrumbs = hierarchyData.breadcrumbs.map((crumb, index) => {\n const isLast = index === hierarchyData.breadcrumbs.length - 1\n return {\n label: crumb.title,\n url: isLast\n ? undefined\n : formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}?${queryParam}=${crumb.id}`,\n }),\n }\n })\n navItems = [...navItems, ...hierarchyBreadcrumbs]\n }\n\n setStepNav(navItems)\n }\n }, [\n adminRoute,\n setStepNav,\n serverURL,\n labels,\n isInDrawer,\n isTrashEnabled,\n viewType,\n i18n,\n collectionSlug,\n hierarchyData,\n collectionLabel,\n ])\n\n return (\n <Fragment>\n <TableColumnsProvider collectionSlug={collectionSlug} columnState={columnState}>\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n <SelectionProvider docs={docs} totalDocs={data?.totalDocs}>\n {BeforeList}\n <CollectionListHeader\n collectionConfig={collectionConfig}\n Description={\n Description || collectionConfig?.admin?.description ? (\n <div className={`${baseClass}__sub-header`}>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={\n <ViewDescription\n collectionSlug={collectionSlug}\n description={collectionConfig?.admin?.description}\n />\n }\n />\n </div>\n ) : undefined\n }\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n hasCreatePermission={hasCreatePermission}\n hasDeletePermission={hasDeletePermission}\n hasTrashPermission={hasTrashPermission}\n i18n={i18n}\n isBulkUploadEnabled={isBulkUploadEnabled && !upload.hideFileInputOnCreate}\n isTrashEnabled={isTrashEnabled}\n newDocumentURL={newDocumentURL}\n openBulkUpload={openBulkUpload}\n smallBreak={smallBreak}\n viewType={viewType}\n />\n <ListControls\n beforeActions={\n enableRowSelections && typeof onBulkSelect === 'function'\n ? beforeActions\n ? [...beforeActions, <SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : beforeActions\n }\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n disableQueryPresets={\n collectionConfig?.enableQueryPresets !== true || disableQueryPresets\n }\n hasCreatePermission={hasCreatePermission && viewType !== 'trash' && !isInDrawer}\n isWhereOpen={isWhereOpen}\n listMenuItems={listMenuItems}\n newDocumentURL={newDocumentURL}\n onWhereToggle={() => setIsWhereOpen((prev) => !prev)}\n queryPreset={queryPreset}\n queryPresetPermissions={queryPresetPermissions}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n {isWhereOpen && (\n <ListWhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionSlug}\n fields={collectionConfig?.fields}\n onEmptyRemove={() => setIsWhereOpen(false)}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n )}\n {BeforeListTable}\n {hierarchyData ? (\n <DocumentSelectionProvider\n collectionData={{\n [collectionSlug]: { docs: hierarchyData.childrenData.docs },\n ...Object.fromEntries(\n Object.entries(hierarchyData.relatedDocumentsByCollection).map(\n ([slug, related]) => [slug, { docs: related.result.docs }],\n ),\n ),\n }}\n >\n <HierarchyTable\n childrenData={hierarchyData.childrenData}\n collectionSlug={collectionSlug}\n hierarchyLabel={collectionLabel}\n key={hierarchyData.parentId}\n parentId={hierarchyData.parentId}\n relatedGroups={Object.entries(hierarchyData.relatedDocumentsByCollection).map(\n ([slug, related]) => ({\n collectionSlug: slug,\n data: related.result,\n fieldName: related.fieldName,\n hasMany: related.hasMany,\n label: related.label,\n }),\n )}\n useAsTitle={collectionConfig?.admin?.useAsTitle || 'id'}\n />\n <DocumentListSelection\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n />\n </DocumentSelectionProvider>\n ) : docs?.length > 0 ? (\n <RelationshipProvider>{Table}</RelationshipProvider>\n ) : null}\n {/* HierarchyTable handles its own empty state, skip for hierarchy views */}\n {docs?.length === 0 &&\n (NoResults ?? (\n <NoListResults\n Actions={\n hasCreatePermission && newDocumentURL && viewType !== 'trash'\n ? [\n isInDrawer ? (\n <Button\n el=\"button\"\n key=\"create\"\n onClick={() => openModal(createNewDrawerSlug)}\n >\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ) : (\n <Button el=\"link\" key=\"create\" to={newDocumentURL}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ),\n ]\n : []\n }\n description={\n viewType === 'trash'\n ? i18n.t('general:noTrashResults', {\n label: getTranslation(labels?.plural, i18n),\n })\n : i18n.t('general:noResultsDescription')\n }\n title={viewType !== 'trash' ? i18n.t('general:noResultsFound') : undefined}\n withMargin\n />\n ))}\n {AfterListTable}\n {AfterList}\n {docs?.length > 0 && !isGroupingBy && (\n <PageControls\n AfterPageControls={\n smallBreak ? (\n <div className={`${baseClass}__list-selection`}>\n <ListSelection\n collectionConfig={collectionConfig}\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n label={collectionLabel}\n showSelectAllAcrossPages={!isGroupingBy}\n />\n <div className={`${baseClass}__list-selection-actions`}>\n {enableRowSelections && typeof onBulkSelect === 'function'\n ? beforeActions\n ? [\n ...beforeActions,\n <SelectMany key=\"select-many\" onClick={onBulkSelect} />,\n ]\n : [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : beforeActions}\n </div>\n </div>\n ) : null\n }\n collectionConfig={collectionConfig}\n />\n )}\n </SelectionProvider>\n </div>\n </TableColumnsProvider>\n {docs?.length > 0 && isGroupingBy && data.totalPages > 1 && (\n <PageControls collectionConfig={collectionConfig} />\n )}\n </Fragment>\n )\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,cAAc,QAAQ;AAC/B,SAASC,cAAc,EAAEC,cAAc,QAAQ;AAC/C,OAAOC,KAAA,IAASC,QAAQ,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAE7D,SAASC,aAAa,QAAQ;AAC9B,SAASC,MAAM,QAAQ;AACvB,SAASC,YAAY,QAAQ;AAC7B,SAASC,oBAAoB,QAAQ;AACrC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,QAAQ,QAAQ;AACzB,SAASC,aAAa,QAAQ;AAC9B,SAASC,YAAY,QAAQ;AAC7B,SAASC,qBAAqB,QAAQ;AACtC,SAASC,UAAU,QAAQ;AAC3B,SAASC,UAAU,QAAQ;AAC3B,SAASC,oBAAoB,QAAQ;AACrC,SAASC,eAAe,QAAQ;AAChC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,SAAS,QAAQ;AAC1B,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,YAAY,QAAQ;AAC7B,SAASC,SAAS,QAAQ;AAC1B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,cAAc,QAAQ;AAC/B,SAASC,aAAa,QAAQ;AAC9B,SAASC,aAAa,QAAQ;AAC9B,SAASC,qBAAqB,QAAQ;AACtC,SAASC,cAAc,QAAQ;AAC/B,SAASC,oBAAoB,QAAQ;AACrC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,SAASC,gBAAgBC,KAA0B;EACxD,MAAM;IACJC,SAAS;IACTC,cAAc;IACdC,aAAa;IACbC,UAAU;IACVC,eAAe;IACfC,cAAc;IACdC,WAAW;IACXC,WAAW;IACXC,iBAAiB;IACjBC,eAAe;IACfC,mBAAmB;IACnBC,mBAAmB;IACnBC,mBAAA,EAAqBC,4BAA4B;IACjDC,mBAAmB;IACnBC,kBAAkB;IAClBC,aAAa;IACbC,aAAa;IACbC,cAAc;IACdC,SAAS;IACTC,WAAW;IACXC,sBAAsB;IACtBC,eAAe;IACfC,qBAAqB;IACrBC,KAAA,EAAOC,YAAY;IACnBC;EAAQ,CACT,GAAG3B,KAAA;EAEJ,MAAM,CAACyB,KAAA,CAAM,GAAGxC,oBAAA,CAAqByC,YAAA;EAErC,MAAM;IAAEE,WAAW;IAAEC,mBAAmB;IAAEC,UAAU;IAAEC;EAAY,CAAE,GAAGxD,oBAAA;EAEvE,MAAMsC,mBAAA,GACJe,WAAA,KAAgBI,SAAA,GACZJ,WAAA,IAAed,4BAAA,GACfA,4BAAA;EAEN,MAAM;IACJmB,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC,KAAA,EAAOC;MAAU,CAAE;MAC7BC;IAAS,CACV;IACDC;EAAe,CAChB,GAAGpD,SAAA;EACJ,MAAMqD,MAAA,GAASlD,SAAA;EAEf,MAAM;IAAEmD,IAAI;IAAEC,gBAAgB;IAAEC,YAAY;IAAEC;EAAK,CAAE,GAAGvD,YAAA;EAExD,MAAMwD,aAAA,GAAgB1E,MAAA,CAAO2E,OAAA,CAAQF,KAAA,EAAOG,KAAA;EAC5C,MAAM,CAACC,WAAA,EAAaC,cAAA,CAAe,GAAG7E,QAAA,CAASsE,gBAAA;EAE/CxE,SAAA,CAAU;IACR,IAAI2E,aAAA,CAAcK,OAAO,IAAI,CAACN,KAAA,EAAOG,KAAA,EAAO;MAC1CF,aAAA,CAAcK,OAAO,GAAG;MACxBD,cAAA,CAAe;IACjB,OAAO,IAAIL,KAAA,EAAOG,KAAA,EAAO;MACvBF,aAAA,CAAcK,OAAO,GAAG;IAC1B;EACF,GAAG,CAACN,KAAA,EAAOG,KAAA,CAAM;EAEjB,MAAM;IAAEI;EAAS,CAAE,GAAGzE,QAAA;EACtB,MAAM;IAAE0E,SAAA,EAAWC,mBAAmB;IAAEC,iBAAiB;IAAEC;EAAY,CAAE,GAAGlF,aAAA;EAE5E,MAAMmF,gBAAA,GAAmBjB,eAAA,CAAgB;IAAEhC;EAAe;EAE1D,MAAM;IAAEkD,MAAM;IAAEC;EAAM,CAAE,GAAGF,gBAAA;EAE3B,MAAMG,kBAAA,GAAqBb,OAAA,CAAQY,MAAA;EAEnC,MAAME,mBAAA,GAAsBD,kBAAA,IAAsBH,gBAAA,CAAiBE,MAAM,CAACG,UAAU;EAEpF,MAAMC,cAAA,GAAiBhB,OAAA,CAAQU,gBAAA,CAAiBO,KAAK;EAErD,MAAM;IAAEC;EAAI,CAAE,GAAGvE,cAAA;EAEjB,MAAMwE,eAAA,GAAkBpG,cAAA,CAAe4F,MAAA,EAAQS,MAAA,EAAQF,IAAA;EAEvD,MAAM;IAAEG;EAAU,CAAE,GAAGpF,UAAA;EAEvB,MAAM;IACJqF,WAAA,EAAa;MAAEC,CAAA,EAAGC;IAAU;EAAE,CAC/B,GAAG5E,aAAA;EAEJ,MAAM6E,IAAA,GAAOvG,KAAA,CAAMwG,OAAO,CAAC;IACzB,IAAIb,kBAAA,EAAoB;MACtB,OAAOlB,IAAA,CAAK8B,IAAI,CAACE,GAAG,CAAEC,GAAA;QACpB,OAAO;UACL,GAAGA,GAAG;UACNC,QAAA,EAAU5G,cAAA,CAAe2G,GAAA,CAAIC,QAAQ;QACvC;MACF;IACF,OAAO;MACL,OAAOlC,IAAA,EAAM8B,IAAA;IACf;EACF,GAAG,CAAC9B,IAAA,EAAM8B,IAAA,EAAMZ,kBAAA,CAAmB;EAEnC,MAAMiB,cAAA,GAAiB5G,KAAA,CAAM6G,WAAW,CAAC;IACvCvB,iBAAA,CAAkB/C,cAAA;IAClB4C,SAAA,CAAUE,mBAAA;IACVE,YAAA,CAAa,MAAMf,MAAA,CAAOsC,OAAO;EACnC,GAAG,CAACtC,MAAA,EAAQjC,cAAA,EAAgB8C,mBAAA,EAAqBF,SAAA,EAAWG,iBAAA,EAAmBC,YAAA,CAAa;EAE5FrF,SAAA,CAAU;IACR,IAAI,CAAC6D,UAAA,EAAY;MACf,MAAMgD,SAAA,GAAY;QAChBC,KAAA,EAAOf,eAAA;QACPgB,GAAA,EACE/D,aAAA,IAAkB4C,cAAA,IAAkBlC,QAAA,KAAa,UAC7C9D,cAAA,CAAe;UACbuE,UAAA;UACA6C,IAAA,EAAM,gBAAgB3E,cAAA;QACxB,KACA0B;MACR;MAEA,MAAMkD,UAAA,GAAa;QACjBH,KAAA,EAAOhB,IAAA,CAAKoB,CAAC,CAAC;MAChB;MAEA,IAAIC,QAAA,GAAWvB,cAAA,IAAkBlC,QAAA,KAAa,UAAU,CAACmD,SAAA,EAAWI,UAAA,CAAW,GAAG,CAACJ,SAAA,CAAU;MAE7F;MACA,IAAI7D,aAAA,EAAeoE,WAAA,EAAa;QAC9B,MAAMC,UAAA,GAAarE,aAAA,CAAcsE,eAAe,IAAI;QACpD,MAAMC,oBAAA,GAAuBvE,aAAA,CAAcoE,WAAW,CAACb,GAAG,CAAC,CAACiB,KAAA,EAAOC,KAAA;UACjE,MAAMC,MAAA,GAASD,KAAA,KAAUzE,aAAA,CAAcoE,WAAW,CAACO,MAAM,GAAG;UAC5D,OAAO;YACLb,KAAA,EAAOU,KAAA,CAAMI,KAAK;YAClBb,GAAA,EAAKW,MAAA,GACD3D,SAAA,GACAnE,cAAA,CAAe;cACbuE,UAAA;cACA6C,IAAA,EAAM,gBAAgB3E,cAAA,IAAkBgF,UAAA,IAAcG,KAAA,CAAMK,EAAE;YAChE;UACN;QACF;QACAV,QAAA,GAAW,C,GAAIA,QAAA,E,GAAaI,oBAAA,CAAqB;MACnD;MAEAtB,UAAA,CAAWkB,QAAA;IACb;EACF,GAAG,CACDhD,UAAA,EACA8B,UAAA,EACA7B,SAAA,EACAmB,MAAA,EACA1B,UAAA,EACA+B,cAAA,EACAlC,QAAA,EACAoC,IAAA,EACAzD,cAAA,EACAW,aAAA,EACA+C,eAAA,CACD;EAED,oBACE+B,KAAA,CAAC/H,QAAA;4BACCgI,IAAA,CAACzG,oBAAA;MAAqBe,cAAA,EAAgBA,cAAA;MAAgBC,WAAA,EAAaA,WAAA;gBACjE,aAAAyF,IAAA,CAAC;QAAIC,SAAA,EAAW,GAAGnG,SAAA,IAAaA,SAAA,KAAcQ,cAAA,EAAgB;kBAC5D,aAAAyF,KAAA,CAACzG,iBAAA;UAAkBgF,IAAA,EAAMA,IAAA;UAAM4B,SAAA,EAAW1D,IAAA,EAAM0D,SAAA;qBAC7C9F,UAAA,E,aACD4F,IAAA,CAACnG,oBAAA;YACC0D,gBAAA,EAAkBA,gBAAA;YAClB/C,WAAA,EACEA,WAAA,IAAe+C,gBAAA,EAAkBpB,KAAA,EAAOgE,WAAA,gBACtCH,IAAA,CAAC;cAAIC,SAAA,EAAW,GAAGnG,SAAA,cAAuB;wBACxC,aAAAkG,IAAA,CAACpH,qBAAA;gBACCwH,eAAA,EAAiB5F,WAAA;gBACjB6F,QAAA,eACEL,IAAA,CAAChH,eAAA;kBACCsB,cAAA,EAAgBA,cAAA;kBAChB6F,WAAA,EAAa5C,gBAAA,EAAkBpB,KAAA,EAAOgE;;;iBAK5CnE,SAAA;YAENvB,iBAAA,EAAmBA,iBAAA;YACnBC,eAAA,EAAiBA,eAAA;YACjBG,mBAAA,EAAqBA,mBAAA;YACrBE,mBAAA,EAAqBA,mBAAA;YACrBC,kBAAA,EAAoBA,kBAAA;YACpB+C,IAAA,EAAMA,IAAA;YACNJ,mBAAA,EAAqBA,mBAAA,IAAuB,CAACF,MAAA,CAAO6C,qBAAqB;YACzEzC,cAAA,EAAgBA,cAAA;YAChB1C,cAAA,EAAgBA,cAAA;YAChBwD,cAAA,EAAgBA,cAAA;YAChBN,UAAA,EAAYA,UAAA;YACZ1C,QAAA,EAAUA;2BAEZqE,IAAA,CAAC1H,YAAA;YACC6B,aAAA,EACES,mBAAA,IAAuB,OAAOmB,YAAA,KAAiB,aAC3C5B,aAAA,GACE,C,GAAIA,aAAA,E,aAAe6F,IAAA,CAACnH,UAAA;cAA6B0H,OAAA,EAASxE;eAAvB,eAAwC,GAC3E,C,aAACiE,IAAA,CAACnH,UAAA;cAA6B0H,OAAA,EAASxE;eAAvB,eAAwC,GAC3D5B,aAAA;YAENoD,gBAAA,EAAkBA,gBAAA;YAClBjD,cAAA,EAAgBA,cAAA;YAChBK,mBAAA,EACE4C,gBAAA,EAAkBiD,kBAAA,KAAuB,QAAQ7F,mBAAA;YAEnDE,mBAAA,EAAqBA,mBAAA,IAAuBc,QAAA,KAAa,WAAW,CAACG,UAAA;YACrEiB,WAAA,EAAaA,WAAA;YACb7B,aAAA,EAAeA,aAAA;YACfC,cAAA,EAAgBA,cAAA;YAChBsF,aAAA,EAAeA,CAAA,KAAMzD,cAAA,CAAgB0D,IAAA,IAAS,CAACA,IAAA;YAC/CrF,WAAA,EAAaA,WAAA;YACbC,sBAAA,EAAwBA,sBAAA;YACxBC,eAAA,EAAiBA,eAAA;YACjBC,qBAAA,EAAuBA;cAExBuB,WAAA,iBACCiD,IAAA,CAACxH,gBAAA;YACCmI,qBAAA,EAAuBpD,gBAAA,EAAkBC,MAAA,EAAQS,MAAA;YACjD3D,cAAA,EAAgBA,cAAA;YAChBsG,MAAA,EAAQrD,gBAAA,EAAkBqD,MAAA;YAC1BC,aAAA,EAAeA,CAAA,KAAM7D,cAAA,CAAe;YACpCzB,eAAA,EAAiBA,eAAA;YACjBC,qBAAA,EAAuBA;cAG1BnB,eAAA,EACAY,aAAA,gBACC8E,KAAA,CAAC5G,yBAAA;YACC2H,cAAA,EAAgB;cACd,CAACxG,cAAA,GAAiB;gBAAEgE,IAAA,EAAMrD,aAAA,CAAc8F,YAAY,CAACzC;cAAK;cAC1D,GAAG0C,MAAA,CAAOC,WAAW,CACnBD,MAAA,CAAOE,OAAO,CAACjG,aAAA,CAAckG,4BAA4B,EAAE3C,GAAG,CAC5D,CAAC,CAAC4C,IAAA,EAAMC,OAAA,CAAQ,KAAK,CAACD,IAAA,EAAM;gBAAE9C,IAAA,EAAM+C,OAAA,CAAQC,MAAM,CAAChD;cAAK,EAAE;YAGhE;oCAEA0B,IAAA,CAACpG,cAAA;cACCmH,YAAA,EAAc9F,aAAA,CAAc8F,YAAY;cACxCzG,cAAA,EAAgBA,cAAA;cAChBiH,cAAA,EAAgBvD,eAAA;cAEhBwD,QAAA,EAAUvG,aAAA,CAAcuG,QAAQ;cAChCC,aAAA,EAAeT,MAAA,CAAOE,OAAO,CAACjG,aAAA,CAAckG,4BAA4B,EAAE3C,GAAG,CAC3E,CAAC,CAAC4C,MAAA,EAAMC,SAAA,CAAQ,MAAM;gBACpB/G,cAAA,EAAgB8G,MAAA;gBAChB5E,IAAA,EAAM6E,SAAA,CAAQC,MAAM;gBACpBI,SAAA,EAAWL,SAAA,CAAQK,SAAS;gBAC5BC,OAAA,EAASN,SAAA,CAAQM,OAAO;gBACxB5C,KAAA,EAAOsC,SAAA,CAAQtC;cACjB;cAEF6C,UAAA,EAAYrE,gBAAA,EAAkBpB,KAAA,EAAOyF,UAAA,IAAc;eAX9C3G,aAAA,CAAcuG,QAAQ,G,aAa7BxB,IAAA,CAACrG,qBAAA;cACCc,iBAAA,EAAmBA,iBAAA;cACnBC,eAAA,EAAiBA;;eAGnB4D,IAAA,EAAMsB,MAAA,GAAS,iBACjBI,IAAA,CAACjH,oBAAA;sBAAsB0C;eACrB,MAEH6C,IAAA,EAAMsB,MAAA,KAAW,MACfxE,SAAA,iBACC4E,IAAA,CAACtH,aAAA;YACCmJ,OAAA,EACEhH,mBAAA,IAAuBM,cAAA,IAAkBQ,QAAA,KAAa,UAClD,CACEG,UAAA,gBACEkE,IAAA,CAAC3H,MAAA;cACCyJ,EAAA,EAAG;cAEHvB,OAAA,EAASA,CAAA,KAAMrD,SAAA,CAAUrB,mBAAA;wBAExBkC,IAAA,CAAKoB,CAAC,CAAC,0BAA0B;gBAChCJ,KAAA,EAAOnH,cAAA,CAAe4F,MAAA,EAAQuE,QAAA,EAAUhE,IAAA;cAC1C;eALI,yBAQNiC,IAAA,CAAC3H,MAAA;cAAOyJ,EAAA,EAAG;cAAoBE,EAAA,EAAI7G,cAAA;wBAChC4C,IAAA,CAAKoB,CAAC,CAAC,0BAA0B;gBAChCJ,KAAA,EAAOnH,cAAA,CAAe4F,MAAA,EAAQuE,QAAA,EAAUhE,IAAA;cAC1C;eAHoB,UAMzB,GACD,EAAE;YAERoC,WAAA,EACExE,QAAA,KAAa,UACToC,IAAA,CAAKoB,CAAC,CAAC,0BAA0B;cAC/BJ,KAAA,EAAOnH,cAAA,CAAe4F,MAAA,EAAQS,MAAA,EAAQF,IAAA;YACxC,KACAA,IAAA,CAAKoB,CAAC,CAAC;YAEbU,KAAA,EAAOlE,QAAA,KAAa,UAAUoC,IAAA,CAAKoB,CAAC,CAAC,4BAA4BnD,SAAA;YACjEiG,UAAU;YAEd,GACD/H,cAAA,EACAD,SAAA,EACAqE,IAAA,EAAMsB,MAAA,GAAS,KAAK,CAAClD,YAAA,iBACpBsD,IAAA,CAACrH,YAAA;YACCuJ,iBAAA,EACE7D,UAAA,gBACE0B,KAAA,CAAC;cAAIE,SAAA,EAAW,GAAGnG,SAAA,kBAA2B;sCAC5CkG,IAAA,CAACtG,aAAA;gBACC6D,gBAAA,EAAkBA,gBAAA;gBAClB9C,iBAAA,EAAmBA,iBAAA;gBACnBC,eAAA,EAAiBA,eAAA;gBACjBqE,KAAA,EAAOf,eAAA;gBACPmE,wBAAA,EAA0B,CAACzF;+BAE7BsD,IAAA,CAAC;gBAAIC,SAAA,EAAW,GAAGnG,SAAA,0BAAmC;0BACnDc,mBAAA,IAAuB,OAAOmB,YAAA,KAAiB,aAC5C5B,aAAA,GACE,C,GACKA,aAAA,E,aACH6F,IAAA,CAACnH,UAAA;kBAA6B0H,OAAA,EAASxE;mBAAvB,eACjB,GACD,C,aAACiE,IAAA,CAACnH,UAAA;kBAA6B0H,OAAA,EAASxE;mBAAvB,eAAwC,GAC3D5B;;iBAGN;YAENoD,gBAAA,EAAkBA;;;;QAM3Be,IAAA,EAAMsB,MAAA,GAAS,KAAKlD,YAAA,IAAgBF,IAAA,CAAK4F,UAAU,GAAG,kBACrDpC,IAAA,CAACrH,YAAA;MAAa4E,gBAAA,EAAkBA;;;AAIxC","ignoreList":[]}
1
+ {"version":3,"file":"index.client.js","names":["getTranslation","formatAdminURL","formatFilesize","React","Fragment","useEffect","useRef","useState","Button","ListControls","useListDrawerContext","ListWhereBuilder","useModal","NoListResults","PageControls","RenderCustomComponent","SelectMany","useStepNav","RelationshipProvider","ViewDescription","useControllableState","useConfig","DocumentSelectionProvider","useListQuery","SelectionProvider","TableColumnsProvider","useTranslation","useWindowInfo","ListSelection","DocumentListSelection","HierarchyTable","CollectionListHeader","baseClass","DefaultListView","props","AfterList","AfterListTable","beforeActions","BeforeList","BeforeListTable","collectionSlug","columnState","Description","disableBulkDelete","disableBulkEdit","disableQueryPresets","enableRowSelections","hasCreatePermission","hasCreatePermissionFromProps","hasDeletePermission","hasTrashPermission","hierarchyData","listMenuItems","newDocumentURL","NoResults","queryPreset","queryPresetPermissions","renderedFilters","resolvedFilterOptions","Table","InitialTable","viewType","allowCreate","createNewDrawerSlug","isInDrawer","onBulkSelect","undefined","config","routes","admin","adminRoute","serverURL","getEntityConfig","data","hasActiveFilters","isGroupingBy","query","hasWhereParam","Boolean","where","isWhereOpen","setIsWhereOpen","current","openModal","collectionConfig","labels","upload","isUploadCollection","isBulkUploadEnabled","bulkUpload","isTrashEnabled","trash","i18n","collectionLabel","plural","setStepNav","breakpoints","s","smallBreak","docs","useMemo","map","doc","filesize","baseLabel","label","url","path","trashLabel","t","navItems","breadcrumbs","queryParam","parentFieldName","hierarchyBreadcrumbs","crumb","index","isLast","length","title","id","_jsxs","_jsx","className","totalDocs","description","CustomComponent","Fallback","hideFileInputOnCreate","onClick","enableQueryPresets","onWhereToggle","prev","collectionPluralLabel","fields","onEmptyRemove","collectionData","childrenData","Object","fromEntries","entries","relatedDocumentsByCollection","slug","related","result","hierarchyLabel","parentId","relatedGroups","fieldName","hasMany","useAsTitle","Actions","el","singular","to","withMargin","AfterPageControls","showSelectAllAcrossPages","totalPages"],"sources":["../../../src/views/List/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { ListViewClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, formatFilesize } from 'payload/shared'\nimport React, { Fragment, useEffect, useRef, useState } from 'react'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { ListControls } from '../../elements/ListControls/index.js'\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { ListWhereBuilder } from '../../elements/ListWhereBuilder/index.js'\nimport { useModal } from '../../elements/Modal/index.js'\nimport { NoListResults } from '../../elements/NoListResults/index.js'\nimport { PageControls } from '../../elements/PageControls/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { SelectMany } from '../../elements/SelectMany/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { RelationshipProvider } from '../../elements/Table/RelationshipProvider/index.js'\nimport { ViewDescription } from '../../elements/ViewDescription/index.js'\nimport { useControllableState } from '../../hooks/useControllableState.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentSelectionProvider } from '../../providers/DocumentSelection/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { SelectionProvider } from '../../providers/Selection/index.js'\nimport { TableColumnsProvider } from '../../providers/TableColumns/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListSelection } from '../../views/List/ListSelection/index.js'\nimport { DocumentListSelection } from '../HierarchyList/DocumentListSelection/index.js'\nimport { HierarchyTable } from '../HierarchyList/HierarchyTable/index.js'\nimport { CollectionListHeader } from './ListHeader/index.js'\nimport './index.css'\n\nconst baseClass = 'collection-list'\n\nexport function DefaultListView(props: ListViewClientProps) {\n const {\n AfterList,\n AfterListTable,\n beforeActions,\n BeforeList,\n BeforeListTable,\n collectionSlug,\n columnState,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission: hasCreatePermissionFromProps,\n hasDeletePermission,\n hasTrashPermission,\n hierarchyData,\n listMenuItems,\n newDocumentURL,\n NoResults,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table: InitialTable,\n viewType,\n } = props\n\n const [Table] = useControllableState(InitialTable)\n\n const { allowCreate, createNewDrawerSlug, isInDrawer, onBulkSelect } = useListDrawerContext()\n\n const hasCreatePermission =\n allowCreate !== undefined\n ? allowCreate && hasCreatePermissionFromProps\n : hasCreatePermissionFromProps\n\n const {\n config: {\n routes: { admin: adminRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { data, hasActiveFilters, isGroupingBy, query } = useListQuery()\n\n const hasWhereParam = useRef(Boolean(query?.where))\n const [isWhereOpen, setIsWhereOpen] = useState(hasActiveFilters)\n\n useEffect(() => {\n if (hasWhereParam.current && !query?.where) {\n hasWhereParam.current = false\n setIsWhereOpen(false)\n } else if (query?.where) {\n hasWhereParam.current = true\n }\n }, [query?.where])\n\n const { openModal } = useModal()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { labels, upload } = collectionConfig\n\n const isUploadCollection = Boolean(upload)\n\n const isBulkUploadEnabled = isUploadCollection && collectionConfig.upload.bulkUpload\n\n const isTrashEnabled = Boolean(collectionConfig.trash)\n\n const { i18n } = useTranslation()\n\n const collectionLabel = getTranslation(labels?.plural, i18n)\n\n const { setStepNav } = useStepNav()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const docs = React.useMemo(() => {\n if (isUploadCollection) {\n return data.docs.map((doc) => {\n return {\n ...doc,\n filesize: formatFilesize(doc.filesize),\n }\n })\n } else {\n return data?.docs\n }\n }, [data?.docs, isUploadCollection])\n\n useEffect(() => {\n if (!isInDrawer) {\n const baseLabel = {\n label: collectionLabel,\n url:\n hierarchyData || (isTrashEnabled && viewType === 'trash')\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n })\n : undefined,\n }\n\n const trashLabel = {\n label: i18n.t('general:trash'),\n }\n\n let navItems = isTrashEnabled && viewType === 'trash' ? [baseLabel, trashLabel] : [baseLabel]\n\n // Add hierarchy breadcrumbs\n if (hierarchyData?.breadcrumbs) {\n const queryParam = hierarchyData.parentFieldName || 'parent'\n const hierarchyBreadcrumbs = hierarchyData.breadcrumbs.map((crumb, index) => {\n const isLast = index === hierarchyData.breadcrumbs.length - 1\n return {\n label: crumb.title,\n url: isLast\n ? undefined\n : formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}?${queryParam}=${crumb.id}`,\n }),\n }\n })\n navItems = [...navItems, ...hierarchyBreadcrumbs]\n }\n\n setStepNav(navItems)\n }\n }, [\n adminRoute,\n setStepNav,\n serverURL,\n labels,\n isInDrawer,\n isTrashEnabled,\n viewType,\n i18n,\n collectionSlug,\n hierarchyData,\n collectionLabel,\n ])\n\n return (\n <Fragment>\n <TableColumnsProvider collectionSlug={collectionSlug} columnState={columnState}>\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n <SelectionProvider docs={docs} totalDocs={data?.totalDocs}>\n {BeforeList}\n <CollectionListHeader\n collectionConfig={collectionConfig}\n Description={\n Description || collectionConfig?.admin?.description ? (\n <div className={`${baseClass}__sub-header`}>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={\n <ViewDescription\n collectionSlug={collectionSlug}\n description={collectionConfig?.admin?.description}\n />\n }\n />\n </div>\n ) : undefined\n }\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n hasCreatePermission={hasCreatePermission}\n hasDeletePermission={hasDeletePermission}\n hasTrashPermission={hasTrashPermission}\n i18n={i18n}\n isBulkUploadEnabled={isBulkUploadEnabled && !upload.hideFileInputOnCreate}\n isTrashEnabled={isTrashEnabled}\n newDocumentURL={newDocumentURL}\n smallBreak={smallBreak}\n viewType={viewType}\n />\n <ListControls\n beforeActions={\n enableRowSelections && typeof onBulkSelect === 'function'\n ? beforeActions\n ? [...beforeActions, <SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : beforeActions\n }\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n disableQueryPresets={\n collectionConfig?.enableQueryPresets !== true || disableQueryPresets\n }\n hasCreatePermission={hasCreatePermission && viewType !== 'trash' && !isInDrawer}\n isWhereOpen={isWhereOpen}\n listMenuItems={listMenuItems}\n newDocumentURL={newDocumentURL}\n onWhereToggle={() => setIsWhereOpen((prev) => !prev)}\n queryPreset={queryPreset}\n queryPresetPermissions={queryPresetPermissions}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n {isWhereOpen && (\n <ListWhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionSlug}\n fields={collectionConfig?.fields}\n onEmptyRemove={() => setIsWhereOpen(false)}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n )}\n {BeforeListTable}\n {hierarchyData ? (\n <DocumentSelectionProvider\n collectionData={{\n [collectionSlug]: { docs: hierarchyData.childrenData.docs },\n ...Object.fromEntries(\n Object.entries(hierarchyData.relatedDocumentsByCollection).map(\n ([slug, related]) => [slug, { docs: related.result.docs }],\n ),\n ),\n }}\n >\n <HierarchyTable\n childrenData={hierarchyData.childrenData}\n collectionSlug={collectionSlug}\n hierarchyLabel={collectionLabel}\n key={hierarchyData.parentId}\n parentId={hierarchyData.parentId}\n relatedGroups={Object.entries(hierarchyData.relatedDocumentsByCollection).map(\n ([slug, related]) => ({\n collectionSlug: slug,\n data: related.result,\n fieldName: related.fieldName,\n hasMany: related.hasMany,\n label: related.label,\n }),\n )}\n useAsTitle={collectionConfig?.admin?.useAsTitle || 'id'}\n />\n <DocumentListSelection\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n />\n </DocumentSelectionProvider>\n ) : docs?.length > 0 ? (\n <RelationshipProvider>{Table}</RelationshipProvider>\n ) : null}\n {/* HierarchyTable handles its own empty state, skip for hierarchy views */}\n {docs?.length === 0 &&\n (NoResults ?? (\n <NoListResults\n Actions={\n hasCreatePermission && newDocumentURL && viewType !== 'trash'\n ? [\n isInDrawer ? (\n <Button\n el=\"button\"\n key=\"create\"\n onClick={() => openModal(createNewDrawerSlug)}\n >\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ) : (\n <Button el=\"link\" key=\"create\" to={newDocumentURL}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ),\n ]\n : []\n }\n description={\n viewType === 'trash'\n ? i18n.t('general:noTrashResults', {\n label: getTranslation(labels?.plural, i18n),\n })\n : i18n.t('general:noResultsDescription')\n }\n title={viewType !== 'trash' ? i18n.t('general:noResultsFound') : undefined}\n withMargin\n />\n ))}\n {AfterListTable}\n {AfterList}\n {docs?.length > 0 && !isGroupingBy && (\n <PageControls\n AfterPageControls={\n smallBreak ? (\n <div className={`${baseClass}__list-selection`}>\n <ListSelection\n collectionConfig={collectionConfig}\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n label={collectionLabel}\n showSelectAllAcrossPages={!isGroupingBy}\n />\n <div className={`${baseClass}__list-selection-actions`}>\n {enableRowSelections && typeof onBulkSelect === 'function'\n ? beforeActions\n ? [\n ...beforeActions,\n <SelectMany key=\"select-many\" onClick={onBulkSelect} />,\n ]\n : [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : beforeActions}\n </div>\n </div>\n ) : null\n }\n collectionConfig={collectionConfig}\n />\n )}\n </SelectionProvider>\n </div>\n </TableColumnsProvider>\n {docs?.length > 0 && isGroupingBy && data.totalPages > 1 && (\n <PageControls collectionConfig={collectionConfig} />\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -35,6 +35,11 @@
35
35
  }
36
36
  }
37
37
 
38
+ /* The ID cell renders its own pill with a hover background instead of an underline */
39
+ .collection-list .table table td.cell--linked > :is(a, button):has(.id-label) {
40
+ text-decoration-line: none;
41
+ }
42
+
38
43
  .collection-list .table table [class^='cell']:not(.cell--linked) > p,
39
44
  .collection-list .table table [class^='cell']:not(.cell--linked) > span,
40
45
  .collection-list .table table [class^='cell']:not(.cell--linked) > a {
@@ -1 +1 @@
1
- {"version":3,"file":"getCustomCollectionViewByRoute.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getCustomCollectionViewByRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI/D,eAAO,MAAM,8BAA8B,2EAKxC;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAA;CACjE,KAAG;IACF,IAAI,EAAE,cAAc,CAAA;IACpB,OAAO,EAAE,IAAI,GAAG,MAAM,CAAA;CA0DvB,CAAA"}
1
+ {"version":3,"file":"getCustomCollectionViewByRoute.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getCustomCollectionViewByRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI/D,eAAO,MAAM,8BAA8B,2EAKxC;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAA;CACjE,KAAG;IACF,IAAI,EAAE,cAAc,CAAA;IACpB,OAAO,EAAE,IAAI,GAAG,MAAM,CAAA;CA0DvB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getCustomCollectionViewByRoute.js","names":["isPathMatchingRoute","getCustomCollectionViewByRoute","adminRoute","baseRoute","currentRoute","currentRouteWithAdmin","views","startsWith","slice","length","foundEntry","Object","entries","find","key","view","isAdminViewConfig","path","adminView","viewPath","exact","sensitive","strict","viewKey","foundViewConfig","payloadComponent","Component"],"sources":["../../../src/views/Root/getCustomCollectionViewByRoute.ts"],"sourcesContent":["import type {\n AdminViewConfig,\n AdminViewServerProps,\n PayloadComponent,\n SanitizedCollectionConfig,\n} from 'payload'\n\nimport type { ViewFromConfig } from './getCustomViewByRoute.js'\n\nimport { isPathMatchingRoute } from '../../utilities/isPathMatchingRoute.js'\n\nexport const getCustomCollectionViewByRoute = ({\n adminRoute,\n baseRoute,\n currentRoute: currentRouteWithAdmin,\n views,\n}: {\n adminRoute: string\n baseRoute: string\n currentRoute: string\n views: SanitizedCollectionConfig['admin']['components']['views']\n}): {\n view: ViewFromConfig\n viewKey: null | string\n} => {\n const currentRoute =\n adminRoute === '/'\n ? currentRouteWithAdmin\n : currentRouteWithAdmin.startsWith(adminRoute)\n ? currentRouteWithAdmin.slice(adminRoute.length)\n : currentRouteWithAdmin\n\n if (views && typeof views === 'object') {\n const foundEntry = Object.entries(views).find(([key, view]) => {\n // Skip the known collection view types: edit and list\n if (key === 'edit' || key === 'list') {\n return false\n }\n\n // Type guard: custom views should be AdminViewConfig with path and Component\n const isAdminViewConfig =\n typeof view === 'object' &&\n view !== null &&\n 'path' in view &&\n 'Component' in view &&\n typeof view.path === 'string'\n\n if (isAdminViewConfig) {\n const adminView = view as AdminViewConfig\n const viewPath = `${baseRoute}${adminView.path}`\n\n return isPathMatchingRoute({\n currentRoute,\n exact: adminView.exact,\n path: viewPath,\n sensitive: adminView.sensitive,\n strict: adminView.strict,\n })\n }\n\n return false\n })\n\n if (foundEntry) {\n const [viewKey, foundViewConfig] = foundEntry\n const adminView = foundViewConfig as AdminViewConfig\n return {\n view: {\n payloadComponent: adminView.Component as PayloadComponent<AdminViewServerProps>,\n },\n viewKey,\n }\n }\n }\n\n return {\n view: {\n Component: null,\n },\n viewKey: null,\n }\n}\n"],"mappings":"AASA,SAASA,mBAAmB,QAAQ;AAEpC,OAAO,MAAMC,8BAAA,GAAiCA,CAAC;EAC7CC,UAAU;EACVC,SAAS;EACTC,YAAA,EAAcC,qBAAqB;EACnCC;AAAK,CAMN;EAIC,MAAMF,YAAA,GACJF,UAAA,KAAe,MACXG,qBAAA,GACAA,qBAAA,CAAsBE,UAAU,CAACL,UAAA,IAC/BG,qBAAA,CAAsBG,KAAK,CAACN,UAAA,CAAWO,MAAM,IAC7CJ,qBAAA;EAER,IAAIC,KAAA,IAAS,OAAOA,KAAA,KAAU,UAAU;IACtC,MAAMI,UAAA,GAAaC,MAAA,CAAOC,OAAO,CAACN,KAAA,EAAOO,IAAI,CAAC,CAAC,CAACC,GAAA,EAAKC,IAAA,CAAK;MACxD;MACA,IAAID,GAAA,KAAQ,UAAUA,GAAA,KAAQ,QAAQ;QACpC,OAAO;MACT;MAEA;MACA,MAAME,iBAAA,GACJ,OAAOD,IAAA,KAAS,YAChBA,IAAA,KAAS,QACT,UAAUA,IAAA,IACV,eAAeA,IAAA,IACf,OAAOA,IAAA,CAAKE,IAAI,KAAK;MAEvB,IAAID,iBAAA,EAAmB;QACrB,MAAME,SAAA,GAAYH,IAAA;QAClB,MAAMI,QAAA,GAAW,GAAGhB,SAAA,GAAYe,SAAA,CAAUD,IAAI,EAAE;QAEhD,OAAOjB,mBAAA,CAAoB;UACzBI,YAAA;UACAgB,KAAA,EAAOF,SAAA,CAAUE,KAAK;UACtBH,IAAA,EAAME,QAAA;UACNE,SAAA,EAAWH,SAAA,CAAUG,SAAS;UAC9BC,MAAA,EAAQJ,SAAA,CAAUI;QACpB;MACF;MAEA,OAAO;IACT;IAEA,IAAIZ,UAAA,EAAY;MACd,MAAM,CAACa,OAAA,EAASC,eAAA,CAAgB,GAAGd,UAAA;MACnC,MAAMQ,SAAA,GAAYM,eAAA;MAClB,OAAO;QACLT,IAAA,EAAM;UACJU,gBAAA,EAAkBP,SAAA,CAAUQ;QAC9B;QACAH;MACF;IACF;EACF;EAEA,OAAO;IACLR,IAAA,EAAM;MACJW,SAAA,EAAW;IACb;IACAH,OAAA,EAAS;EACX;AACF","ignoreList":[]}
1
+ {"version":3,"file":"getCustomCollectionViewByRoute.js","names":["isPathMatchingRoute","getCustomCollectionViewByRoute","adminRoute","baseRoute","currentRoute","currentRouteWithAdmin","views","startsWith","slice","length","foundEntry","Object","entries","find","key","view","isAdminViewConfig","path","adminView","viewPath","exact","sensitive","strict","viewKey","foundViewConfig","payloadComponent","Component"],"sources":["../../../src/views/Root/getCustomCollectionViewByRoute.ts"],"sourcesContent":["import type { AdminViewConfig, SanitizedCollectionConfig } from 'payload'\n\nimport type { ViewFromConfig } from './getCustomViewByRoute.js'\n\nimport { isPathMatchingRoute } from '../../utilities/isPathMatchingRoute.js'\n\nexport const getCustomCollectionViewByRoute = ({\n adminRoute,\n baseRoute,\n currentRoute: currentRouteWithAdmin,\n views,\n}: {\n adminRoute: string\n baseRoute: string\n currentRoute: string\n views: SanitizedCollectionConfig['admin']['components']['views']\n}): {\n view: ViewFromConfig\n viewKey: null | string\n} => {\n const currentRoute =\n adminRoute === '/'\n ? currentRouteWithAdmin\n : currentRouteWithAdmin.startsWith(adminRoute)\n ? currentRouteWithAdmin.slice(adminRoute.length)\n : currentRouteWithAdmin\n\n if (views && typeof views === 'object') {\n const foundEntry = Object.entries(views).find(([key, view]) => {\n // Skip the known collection view types: edit and list\n if (key === 'edit' || key === 'list') {\n return false\n }\n\n // Type guard: custom views should be AdminViewConfig with path and Component\n const isAdminViewConfig =\n typeof view === 'object' &&\n view !== null &&\n 'path' in view &&\n 'Component' in view &&\n typeof view.path === 'string'\n\n if (isAdminViewConfig) {\n const adminView = view as AdminViewConfig\n const viewPath = `${baseRoute}${adminView.path}`\n\n return isPathMatchingRoute({\n currentRoute,\n exact: adminView.exact,\n path: viewPath,\n sensitive: adminView.sensitive,\n strict: adminView.strict,\n })\n }\n\n return false\n })\n\n if (foundEntry) {\n const [viewKey, foundViewConfig] = foundEntry\n const adminView = foundViewConfig as AdminViewConfig\n return {\n view: {\n payloadComponent: adminView.Component,\n },\n viewKey,\n }\n }\n }\n\n return {\n view: {\n Component: null,\n },\n viewKey: null,\n }\n}\n"],"mappings":"AAIA,SAASA,mBAAmB,QAAQ;AAEpC,OAAO,MAAMC,8BAAA,GAAiCA,CAAC;EAC7CC,UAAU;EACVC,SAAS;EACTC,YAAA,EAAcC,qBAAqB;EACnCC;AAAK,CAMN;EAIC,MAAMF,YAAA,GACJF,UAAA,KAAe,MACXG,qBAAA,GACAA,qBAAA,CAAsBE,UAAU,CAACL,UAAA,IAC/BG,qBAAA,CAAsBG,KAAK,CAACN,UAAA,CAAWO,MAAM,IAC7CJ,qBAAA;EAER,IAAIC,KAAA,IAAS,OAAOA,KAAA,KAAU,UAAU;IACtC,MAAMI,UAAA,GAAaC,MAAA,CAAOC,OAAO,CAACN,KAAA,EAAOO,IAAI,CAAC,CAAC,CAACC,GAAA,EAAKC,IAAA,CAAK;MACxD;MACA,IAAID,GAAA,KAAQ,UAAUA,GAAA,KAAQ,QAAQ;QACpC,OAAO;MACT;MAEA;MACA,MAAME,iBAAA,GACJ,OAAOD,IAAA,KAAS,YAChBA,IAAA,KAAS,QACT,UAAUA,IAAA,IACV,eAAeA,IAAA,IACf,OAAOA,IAAA,CAAKE,IAAI,KAAK;MAEvB,IAAID,iBAAA,EAAmB;QACrB,MAAME,SAAA,GAAYH,IAAA;QAClB,MAAMI,QAAA,GAAW,GAAGhB,SAAA,GAAYe,SAAA,CAAUD,IAAI,EAAE;QAEhD,OAAOjB,mBAAA,CAAoB;UACzBI,YAAA;UACAgB,KAAA,EAAOF,SAAA,CAAUE,KAAK;UACtBH,IAAA,EAAME,QAAA;UACNE,SAAA,EAAWH,SAAA,CAAUG,SAAS;UAC9BC,MAAA,EAAQJ,SAAA,CAAUI;QACpB;MACF;MAEA,OAAO;IACT;IAEA,IAAIZ,UAAA,EAAY;MACd,MAAM,CAACa,OAAA,EAASC,eAAA,CAAgB,GAAGd,UAAA;MACnC,MAAMQ,SAAA,GAAYM,eAAA;MAClB,OAAO;QACLT,IAAA,EAAM;UACJU,gBAAA,EAAkBP,SAAA,CAAUQ;QAC9B;QACAH;MACF;IACF;EACF;EAEA,OAAO;IACLR,IAAA,EAAM;MACJW,SAAA,EAAW;IACb;IACAH,OAAA,EAAS;EACX;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getCustomGlobalViewByRoute.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getCustomGlobalViewByRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI/D,eAAO,MAAM,0BAA0B,2EAKpC;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAA;CAC7D,KAAG;IACF,IAAI,EAAE,cAAc,CAAA;IACpB,OAAO,EAAE,IAAI,GAAG,MAAM,CAAA;CAwDvB,CAAA"}
1
+ {"version":3,"file":"getCustomGlobalViewByRoute.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getCustomGlobalViewByRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAErE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI/D,eAAO,MAAM,0BAA0B,2EAKpC;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAA;CAC7D,KAAG;IACF,IAAI,EAAE,cAAc,CAAA;IACpB,OAAO,EAAE,IAAI,GAAG,MAAM,CAAA;CAwDvB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getCustomGlobalViewByRoute.js","names":["isPathMatchingRoute","getCustomGlobalViewByRoute","adminRoute","baseRoute","currentRoute","currentRouteWithAdmin","views","startsWith","slice","length","foundEntry","Object","entries","find","key","view","isAdminViewConfig","path","adminView","viewPath","exact","sensitive","strict","viewKey","foundViewConfig","payloadComponent","Component"],"sources":["../../../src/views/Root/getCustomGlobalViewByRoute.ts"],"sourcesContent":["import type {\n AdminViewConfig,\n AdminViewServerProps,\n PayloadComponent,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport type { ViewFromConfig } from './getCustomViewByRoute.js'\n\nimport { isPathMatchingRoute } from '../../utilities/isPathMatchingRoute.js'\n\nexport const getCustomGlobalViewByRoute = ({\n adminRoute,\n baseRoute,\n currentRoute: currentRouteWithAdmin,\n views,\n}: {\n adminRoute: string\n baseRoute: string\n currentRoute: string\n views: SanitizedGlobalConfig['admin']['components']['views']\n}): {\n view: ViewFromConfig\n viewKey: null | string\n} => {\n const currentRoute =\n adminRoute === '/'\n ? currentRouteWithAdmin\n : currentRouteWithAdmin.startsWith(adminRoute)\n ? currentRouteWithAdmin.slice(adminRoute.length)\n : currentRouteWithAdmin\n\n if (views && typeof views === 'object') {\n const foundEntry = Object.entries(views).find(([key, view]) => {\n if (key === 'edit') {\n return false\n }\n\n const isAdminViewConfig =\n typeof view === 'object' &&\n view !== null &&\n 'path' in view &&\n 'Component' in view &&\n typeof view.path === 'string'\n\n if (isAdminViewConfig) {\n const adminView = view as AdminViewConfig\n const viewPath = `${baseRoute}${adminView.path}`\n\n return isPathMatchingRoute({\n currentRoute,\n exact: adminView.exact,\n path: viewPath,\n sensitive: adminView.sensitive,\n strict: adminView.strict,\n })\n }\n\n return false\n })\n\n if (foundEntry) {\n const [viewKey, foundViewConfig] = foundEntry\n const adminView = foundViewConfig as AdminViewConfig\n return {\n view: {\n payloadComponent: adminView.Component as PayloadComponent<AdminViewServerProps>,\n },\n viewKey,\n }\n }\n }\n\n return {\n view: {\n Component: null,\n },\n viewKey: null,\n }\n}\n"],"mappings":"AASA,SAASA,mBAAmB,QAAQ;AAEpC,OAAO,MAAMC,0BAAA,GAA6BA,CAAC;EACzCC,UAAU;EACVC,SAAS;EACTC,YAAA,EAAcC,qBAAqB;EACnCC;AAAK,CAMN;EAIC,MAAMF,YAAA,GACJF,UAAA,KAAe,MACXG,qBAAA,GACAA,qBAAA,CAAsBE,UAAU,CAACL,UAAA,IAC/BG,qBAAA,CAAsBG,KAAK,CAACN,UAAA,CAAWO,MAAM,IAC7CJ,qBAAA;EAER,IAAIC,KAAA,IAAS,OAAOA,KAAA,KAAU,UAAU;IACtC,MAAMI,UAAA,GAAaC,MAAA,CAAOC,OAAO,CAACN,KAAA,EAAOO,IAAI,CAAC,CAAC,CAACC,GAAA,EAAKC,IAAA,CAAK;MACxD,IAAID,GAAA,KAAQ,QAAQ;QAClB,OAAO;MACT;MAEA,MAAME,iBAAA,GACJ,OAAOD,IAAA,KAAS,YAChBA,IAAA,KAAS,QACT,UAAUA,IAAA,IACV,eAAeA,IAAA,IACf,OAAOA,IAAA,CAAKE,IAAI,KAAK;MAEvB,IAAID,iBAAA,EAAmB;QACrB,MAAME,SAAA,GAAYH,IAAA;QAClB,MAAMI,QAAA,GAAW,GAAGhB,SAAA,GAAYe,SAAA,CAAUD,IAAI,EAAE;QAEhD,OAAOjB,mBAAA,CAAoB;UACzBI,YAAA;UACAgB,KAAA,EAAOF,SAAA,CAAUE,KAAK;UACtBH,IAAA,EAAME,QAAA;UACNE,SAAA,EAAWH,SAAA,CAAUG,SAAS;UAC9BC,MAAA,EAAQJ,SAAA,CAAUI;QACpB;MACF;MAEA,OAAO;IACT;IAEA,IAAIZ,UAAA,EAAY;MACd,MAAM,CAACa,OAAA,EAASC,eAAA,CAAgB,GAAGd,UAAA;MACnC,MAAMQ,SAAA,GAAYM,eAAA;MAClB,OAAO;QACLT,IAAA,EAAM;UACJU,gBAAA,EAAkBP,SAAA,CAAUQ;QAC9B;QACAH;MACF;IACF;EACF;EAEA,OAAO;IACLR,IAAA,EAAM;MACJW,SAAA,EAAW;IACb;IACAH,OAAA,EAAS;EACX;AACF","ignoreList":[]}
1
+ {"version":3,"file":"getCustomGlobalViewByRoute.js","names":["isPathMatchingRoute","getCustomGlobalViewByRoute","adminRoute","baseRoute","currentRoute","currentRouteWithAdmin","views","startsWith","slice","length","foundEntry","Object","entries","find","key","view","isAdminViewConfig","path","adminView","viewPath","exact","sensitive","strict","viewKey","foundViewConfig","payloadComponent","Component"],"sources":["../../../src/views/Root/getCustomGlobalViewByRoute.ts"],"sourcesContent":["import type { AdminViewConfig, SanitizedGlobalConfig } from 'payload'\n\nimport type { ViewFromConfig } from './getCustomViewByRoute.js'\n\nimport { isPathMatchingRoute } from '../../utilities/isPathMatchingRoute.js'\n\nexport const getCustomGlobalViewByRoute = ({\n adminRoute,\n baseRoute,\n currentRoute: currentRouteWithAdmin,\n views,\n}: {\n adminRoute: string\n baseRoute: string\n currentRoute: string\n views: SanitizedGlobalConfig['admin']['components']['views']\n}): {\n view: ViewFromConfig\n viewKey: null | string\n} => {\n const currentRoute =\n adminRoute === '/'\n ? currentRouteWithAdmin\n : currentRouteWithAdmin.startsWith(adminRoute)\n ? currentRouteWithAdmin.slice(adminRoute.length)\n : currentRouteWithAdmin\n\n if (views && typeof views === 'object') {\n const foundEntry = Object.entries(views).find(([key, view]) => {\n if (key === 'edit') {\n return false\n }\n\n const isAdminViewConfig =\n typeof view === 'object' &&\n view !== null &&\n 'path' in view &&\n 'Component' in view &&\n typeof view.path === 'string'\n\n if (isAdminViewConfig) {\n const adminView = view as AdminViewConfig\n const viewPath = `${baseRoute}${adminView.path}`\n\n return isPathMatchingRoute({\n currentRoute,\n exact: adminView.exact,\n path: viewPath,\n sensitive: adminView.sensitive,\n strict: adminView.strict,\n })\n }\n\n return false\n })\n\n if (foundEntry) {\n const [viewKey, foundViewConfig] = foundEntry\n const adminView = foundViewConfig as AdminViewConfig\n return {\n view: {\n payloadComponent: adminView.Component,\n },\n viewKey,\n }\n }\n }\n\n return {\n view: {\n Component: null,\n },\n viewKey: null,\n }\n}\n"],"mappings":"AAIA,SAASA,mBAAmB,QAAQ;AAEpC,OAAO,MAAMC,0BAAA,GAA6BA,CAAC;EACzCC,UAAU;EACVC,SAAS;EACTC,YAAA,EAAcC,qBAAqB;EACnCC;AAAK,CAMN;EAIC,MAAMF,YAAA,GACJF,UAAA,KAAe,MACXG,qBAAA,GACAA,qBAAA,CAAsBE,UAAU,CAACL,UAAA,IAC/BG,qBAAA,CAAsBG,KAAK,CAACN,UAAA,CAAWO,MAAM,IAC7CJ,qBAAA;EAER,IAAIC,KAAA,IAAS,OAAOA,KAAA,KAAU,UAAU;IACtC,MAAMI,UAAA,GAAaC,MAAA,CAAOC,OAAO,CAACN,KAAA,EAAOO,IAAI,CAAC,CAAC,CAACC,GAAA,EAAKC,IAAA,CAAK;MACxD,IAAID,GAAA,KAAQ,QAAQ;QAClB,OAAO;MACT;MAEA,MAAME,iBAAA,GACJ,OAAOD,IAAA,KAAS,YAChBA,IAAA,KAAS,QACT,UAAUA,IAAA,IACV,eAAeA,IAAA,IACf,OAAOA,IAAA,CAAKE,IAAI,KAAK;MAEvB,IAAID,iBAAA,EAAmB;QACrB,MAAME,SAAA,GAAYH,IAAA;QAClB,MAAMI,QAAA,GAAW,GAAGhB,SAAA,GAAYe,SAAA,CAAUD,IAAI,EAAE;QAEhD,OAAOjB,mBAAA,CAAoB;UACzBI,YAAA;UACAgB,KAAA,EAAOF,SAAA,CAAUE,KAAK;UACtBH,IAAA,EAAME,QAAA;UACNE,SAAA,EAAWH,SAAA,CAAUG,SAAS;UAC9BC,MAAA,EAAQJ,SAAA,CAAUI;QACpB;MACF;MAEA,OAAO;IACT;IAEA,IAAIZ,UAAA,EAAY;MACd,MAAM,CAACa,OAAA,EAASC,eAAA,CAAgB,GAAGd,UAAA;MACnC,MAAMQ,SAAA,GAAYM,eAAA;MAClB,OAAO;QACLT,IAAA,EAAM;UACJU,gBAAA,EAAkBP,SAAA,CAAUQ;QAC9B;QACAH;MACF;IACF;EACF;EAEA,OAAO;IACLR,IAAA,EAAM;MACJW,SAAA,EAAW;IACb;IACAH,OAAA,EAAS;EACX;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getCustomViewByKey.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getCustomViewByKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA0C,eAAe,EAAE,MAAM,SAAS,CAAA;AAEtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE/D,eAAO,MAAM,kBAAkB,yBAG5B;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;CAChB,KAAG;IACF,IAAI,EAAE,cAAc,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,IAaH,CAAA"}
1
+ {"version":3,"file":"getCustomViewByKey.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getCustomViewByKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE/D,eAAO,MAAM,kBAAkB,yBAG5B;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;CAChB,KAAG;IACF,IAAI,EAAE,cAAc,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,IAaH,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getCustomViewByKey.js","names":["getCustomViewByKey","config","viewKey","customViewComponent","admin","components","views","view","payloadComponent","Component"],"sources":["../../../src/views/Root/getCustomViewByKey.ts"],"sourcesContent":["import type { AdminViewServerProps, PayloadComponent, SanitizedConfig } from 'payload'\n\nimport type { ViewFromConfig } from './getCustomViewByRoute.js'\n\nexport const getCustomViewByKey = ({\n config,\n viewKey,\n}: {\n config: SanitizedConfig\n viewKey: string\n}): {\n view: ViewFromConfig\n viewKey: string\n} | null => {\n const customViewComponent = config.admin.components?.views?.[viewKey]\n\n if (!customViewComponent) {\n return null\n }\n\n return {\n view: {\n payloadComponent: customViewComponent.Component as PayloadComponent<AdminViewServerProps>,\n },\n viewKey,\n }\n}\n"],"mappings":"AAIA,OAAO,MAAMA,kBAAA,GAAqBA,CAAC;EACjCC,MAAM;EACNC;AAAO,CAIR;EAIC,MAAMC,mBAAA,GAAsBF,MAAA,CAAOG,KAAK,CAACC,UAAU,EAAEC,KAAA,GAAQJ,OAAA,CAAQ;EAErE,IAAI,CAACC,mBAAA,EAAqB;IACxB,OAAO;EACT;EAEA,OAAO;IACLI,IAAA,EAAM;MACJC,gBAAA,EAAkBL,mBAAA,CAAoBM;IACxC;IACAP;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"getCustomViewByKey.js","names":["getCustomViewByKey","config","viewKey","customViewComponent","admin","components","views","view","payloadComponent","Component"],"sources":["../../../src/views/Root/getCustomViewByKey.ts"],"sourcesContent":["import type { SanitizedConfig } from 'payload'\n\nimport type { ViewFromConfig } from './getCustomViewByRoute.js'\n\nexport const getCustomViewByKey = ({\n config,\n viewKey,\n}: {\n config: SanitizedConfig\n viewKey: string\n}): {\n view: ViewFromConfig\n viewKey: string\n} | null => {\n const customViewComponent = config.admin.components?.views?.[viewKey]\n\n if (!customViewComponent) {\n return null\n }\n\n return {\n view: {\n payloadComponent: customViewComponent.Component,\n },\n viewKey,\n }\n}\n"],"mappings":"AAIA,OAAO,MAAMA,kBAAA,GAAqBA,CAAC;EACjCC,MAAM;EACNC;AAAO,CAIR;EAIC,MAAMC,mBAAA,GAAsBF,MAAA,CAAOG,KAAK,CAACC,UAAU,EAAEC,KAAA,GAAQJ,OAAA,CAAQ;EAErE,IAAI,CAACC,mBAAA,EAAqB;IACxB,OAAO;EACT;EAEA,OAAO;IACLI,IAAA,EAAM;MACJC,gBAAA,EAAkBL,mBAAA,CAAoBM;IACxC;IACAP;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getRouteData.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getRouteData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAEhB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,OAAO,EAEP,yBAAyB,EAEzB,qBAAqB,EACrB,SAAS,EACV,MAAM,SAAS,CAAA;AAMhB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AA8B/D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,WAAW,EAAE,cAAc,CAAA;IAC3B,mBAAmB,CAAC,EAAE,oBAAoB,CAAA;IAC1C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,WAAW,EAAE;QACX,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAC5B,CAAA;IACD,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;IACnC,WAAW,CAAC,EAAE,eAAe,EAAE,CAAA;IAC/B,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,gBAAgB,CAAA;IAC5B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,YAAY,wHAStB,gBAAgB,KAAG,kBAuWrB,CAAA"}
1
+ {"version":3,"file":"getRouteData.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getRouteData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAEhB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,OAAO,EAEP,yBAAyB,EAEzB,qBAAqB,EACrB,SAAS,EACV,MAAM,SAAS,CAAA;AAMhB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AA+B/D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,WAAW,EAAE,cAAc,CAAA;IAC3B,mBAAmB,CAAC,EAAE,oBAAoB,CAAA;IAC1C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,WAAW,EAAE;QACX,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAC5B,CAAA;IACD,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;IACnC,WAAW,CAAC,EAAE,eAAe,EAAE,CAAA;IAC/B,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,gBAAgB,CAAA;IAC5B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,YAAY,wHAStB,gBAAgB,KAAG,kBA+WrB,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { parseDocumentID } from 'payload';
2
- import { formatAdminURL, isNumber } from 'payload/shared';
2
+ import { branchesCollectionSlug, formatAdminURL, isNumber } from 'payload/shared';
3
3
  import { isPathMatchingRoute } from '../../utilities/isPathMatchingRoute.js';
4
+ import { BranchDocumentView, BranchesListView } from '../Branches/index.js';
4
5
  import { TrashView } from '../CollectionTrash/index.js';
5
6
  import { DocumentView } from '../Document/index.js';
6
7
  import { forgotPasswordBaseClass } from '../ForgotPassword/index.js';
@@ -38,6 +39,13 @@ export const getRouteData = ({
38
39
  let ViewToRender = null;
39
40
  let templateClassName;
40
41
  let templateType;
42
+ // `payload-branches` is `admin.hidden` so it stays out of the nav, the dashboard
43
+ // and the command palette — which also makes the generic views treat it as
44
+ // not-found. Its own routes swap in wrappers that opt back in. Globals and every
45
+ // other collection are untouched.
46
+ const isBranchesCollection = collectionConfig?.slug === branchesCollectionSlug;
47
+ const CollectionListView = isBranchesCollection ? BranchesListView : ListView;
48
+ const CollectionDocumentView = isBranchesCollection ? BranchDocumentView : DocumentView;
41
49
  let documentSubViewType;
42
50
  let viewType;
43
51
  const routeParams = {};
@@ -151,7 +159,7 @@ export const getRouteData = ({
151
159
  } else {
152
160
  // Regular list view
153
161
  ViewToRender = {
154
- Component: ListView
162
+ Component: CollectionListView
155
163
  };
156
164
  templateClassName = `${segmentTwo}-list`;
157
165
  templateType = 'default';
@@ -197,7 +205,7 @@ export const getRouteData = ({
197
205
  routeParams.id = segmentFour;
198
206
  routeParams.versionID = segmentSix;
199
207
  ViewToRender = {
200
- Component: DocumentView
208
+ Component: CollectionDocumentView
201
209
  };
202
210
  templateClassName = `collection-default-edit`;
203
211
  templateType = 'default';
@@ -251,7 +259,7 @@ export const getRouteData = ({
251
259
  routeParams.id = segmentThree === 'create' ? undefined : segmentThree;
252
260
  routeParams.versionID = segmentFive;
253
261
  ViewToRender = {
254
- Component: DocumentView
262
+ Component: CollectionDocumentView
255
263
  };
256
264
  templateClassName = `collection-default-edit`;
257
265
  templateType = 'default';
@@ -1 +1 @@
1
- {"version":3,"file":"getRouteData.js","names":["parseDocumentID","formatAdminURL","isNumber","isPathMatchingRoute","TrashView","DocumentView","forgotPasswordBaseClass","HierarchyView","ListView","loginBaseClass","resetPasswordBaseClass","verifyBaseClass","getSubViewActions","getViewActions","getCustomCollectionViewByRoute","getCustomGlobalViewByRoute","getCustomViewByKey","getCustomViewByRoute","getDocumentViewInfo","baseClasses","account","forgot","login","reset","verify","getRouteData","adminRoute","adminViews","collectionConfig","collectionPreferences","undefined","currentRoute","globalConfig","payload","segments","config","ViewToRender","templateClassName","templateType","documentSubViewType","viewType","routeParams","segmentOne","segmentTwo","segmentThree","segmentFour","segmentFive","segmentSix","viewActions","admin","components","actions","oneSegmentViews","Component","createFirstUser","inactivity","logoutInactivity","logout","unauthorized","length","dashboard","viewKey","routes","matchedRoute","Object","entries","find","route","exact","path","customView","view","payloadComponent","collection","slug","listViewType","hierarchy","push","views","list","global","editConfig","edit","token","id","versionID","viewInfo","collectionOrGlobal","viewKeyArg","baseRoute","customCollectionView","customGlobalView","collectionSlug","db","defaultIDType","Number","reverse","DefaultView"],"sources":["../../../src/views/Root/getRouteData.ts"],"sourcesContent":["import type {\n AdminViewAdapter,\n AdminViewServerProps,\n CollectionPreferences,\n CustomComponent,\n DocumentSubViewTypes,\n Payload,\n PayloadComponent,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n ViewTypes,\n} from 'payload'\nimport type React from 'react'\n\nimport { parseDocumentID } from 'payload'\nimport { formatAdminURL, isNumber } from 'payload/shared'\n\nimport type { ViewFromConfig } from './getCustomViewByRoute.js'\n\nimport { isPathMatchingRoute } from '../../utilities/isPathMatchingRoute.js'\nimport { TrashView } from '../CollectionTrash/index.js'\nimport { DocumentView } from '../Document/index.js'\nimport { forgotPasswordBaseClass } from '../ForgotPassword/index.js'\nimport { HierarchyView } from '../Hierarchy/index.js'\nimport { ListView } from '../List/index.js'\nimport { loginBaseClass } from '../Login/index.js'\nimport { resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { verifyBaseClass } from '../Verify/index.js'\nimport { getSubViewActions, getViewActions } from './attachViewActions.js'\nimport { getCustomCollectionViewByRoute } from './getCustomCollectionViewByRoute.js'\nimport { getCustomGlobalViewByRoute } from './getCustomGlobalViewByRoute.js'\nimport { getCustomViewByKey } from './getCustomViewByKey.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getDocumentViewInfo } from './getDocumentViewInfo.js'\n\nconst baseClasses = {\n account: 'account',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: React.FC<AdminViewServerProps>\n}\n\nexport type GetRouteDataResult = {\n collectionConfig?: SanitizedCollectionConfig\n DefaultView: ViewFromConfig\n documentSubViewType?: DocumentSubViewTypes\n globalConfig?: SanitizedGlobalConfig\n routeParams: {\n collection?: string\n global?: string\n id?: number | string\n token?: string\n versionID?: number | string\n }\n templateClassName: string\n templateType: 'default' | 'minimal'\n viewActions?: CustomComponent[]\n viewType?: ViewTypes\n}\n\nexport type GetRouteDataArgs = {\n adminRoute: string\n adminViews: AdminViewAdapter\n collectionConfig?: SanitizedCollectionConfig\n /**\n * User preferences for a collection.\n *\n * These preferences are normally undefined\n * unless the user is on the list view and the\n * collection is folder enabled.\n */\n collectionPreferences?: CollectionPreferences\n currentRoute: string\n globalConfig?: SanitizedGlobalConfig\n payload: Payload\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}\n\nexport const getRouteData = ({\n adminRoute,\n adminViews,\n collectionConfig,\n collectionPreferences = undefined,\n currentRoute,\n globalConfig,\n payload,\n segments,\n}: GetRouteDataArgs): GetRouteDataResult => {\n const { config } = payload\n let ViewToRender: ViewFromConfig = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n let documentSubViewType: DocumentSubViewTypes\n let viewType: ViewTypes\n const routeParams: GetRouteDataResult['routeParams'] = {}\n\n const [segmentOne, segmentTwo, segmentThree, segmentFour, segmentFive, segmentSix] = segments\n\n const viewActions: CustomComponent[] = [...(config?.admin?.components?.actions || [])]\n\n const oneSegmentViews: OneSegmentViews = {\n account: adminViews.account?.Component as React.FC<AdminViewServerProps>,\n createFirstUser: adminViews.createFirstUser?.Component as React.FC<AdminViewServerProps>,\n forgot: adminViews.forgot?.Component as React.FC<AdminViewServerProps>,\n inactivity: adminViews.logoutInactivity?.Component as React.FC<AdminViewServerProps>,\n login: adminViews.login?.Component as React.FC<AdminViewServerProps>,\n logout: adminViews.logout?.Component as React.FC<AdminViewServerProps>,\n unauthorized: adminViews.unauthorized?.Component as React.FC<AdminViewServerProps>,\n }\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = {\n Component: adminViews.dashboard?.Component as React.FC<AdminViewServerProps>,\n }\n templateClassName = 'dashboard'\n templateType = 'default'\n viewType = 'dashboard'\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewKey: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: formatAdminURL({\n adminRoute,\n path: route,\n }),\n })\n })\n\n if (matchedRoute) {\n viewKey = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n // Check if a custom view is configured for this viewKey\n // First try to get custom view by the known viewKey, then fallback to route matching\n const customView =\n (viewKey && getCustomViewByKey({ config, viewKey })) ||\n getCustomViewByRoute({ config, currentRoute })\n\n if (customView?.view?.payloadComponent || customView?.view?.Component) {\n // User has configured a custom view (either overriding a built-in or a new custom view)\n ViewToRender = customView.view\n\n // If this custom view is overriding a built-in view (viewKey matches a built-in),\n // use the built-in's template settings and viewType\n if (viewKey && oneSegmentViews[viewKey]) {\n viewType = viewKey as ViewTypes\n templateClassName = baseClasses[viewKey] || viewKey\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n templateType = 'default'\n }\n }\n } else if (oneSegmentViews[viewKey]) {\n // --> /account\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = {\n Component: oneSegmentViews[viewKey],\n }\n\n viewType = viewKey as ViewTypes\n\n templateClassName = baseClasses[viewKey]\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n templateType = 'default'\n }\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n ViewToRender = {\n Component: adminViews.reset?.Component as React.FC<AdminViewServerProps>,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n viewType = 'reset'\n } else if (collectionConfig) {\n // --> /collections/:collectionSlug'\n routeParams.collection = collectionConfig.slug\n\n if (collectionPreferences?.listViewType === 'hierarchy' && collectionConfig.hierarchy) {\n // Render hierarchy view by default if set in preferences\n ViewToRender = {\n Component: HierarchyView,\n }\n\n templateClassName = `${segmentTwo}-hierarchy`\n templateType = 'default'\n viewType = 'hierarchy'\n } else {\n // Regular list view\n ViewToRender = {\n Component: ListView,\n }\n\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n viewType = 'list'\n }\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else if (globalConfig) {\n // --> /globals/:globalSlug\n routeParams.global = globalConfig.slug\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = 'global-edit'\n templateType = 'default'\n viewType = 'document'\n\n // add default view actions\n viewActions.push(\n ...getViewActions({\n editConfig: globalConfig.admin?.components?.views?.edit,\n viewKey: 'default',\n }),\n )\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n routeParams.collection = segmentOne\n routeParams.token = segmentThree\n\n ViewToRender = {\n Component: adminViews.verify?.Component as React.FC<AdminViewServerProps>,\n }\n\n templateClassName = 'verify'\n templateType = 'minimal'\n viewType = 'verify'\n } else if (collectionConfig) {\n routeParams.collection = collectionConfig.slug\n\n if (segmentThree === 'trash' && typeof segmentFour === 'string') {\n // --> /collections/:collectionSlug/trash/:id (read-only)\n // --> /collections/:collectionSlug/trash/:id/api\n // --> /collections/:collectionSlug/trash/:id/preview\n // --> /collections/:collectionSlug/trash/:id/versions\n // --> /collections/:collectionSlug/trash/:id/versions/:versionID\n routeParams.id = segmentFour\n routeParams.versionID = segmentSix\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentFive, segmentSix])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: collectionConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n } else if (segmentThree === 'trash') {\n // --> /collections/:collectionSlug/trash\n ViewToRender = {\n Component: TrashView,\n }\n\n templateClassName = `${segmentTwo}-trash`\n templateType = 'default'\n viewType = 'trash'\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else if (segmentThree === 'hierarchy' && collectionConfig.hierarchy) {\n // --> /collections/:collectionSlug/hierarchy\n ViewToRender = {\n Component: HierarchyView,\n }\n\n templateClassName = `${segmentTwo}-hierarchy`\n templateType = 'default'\n viewType = 'hierarchy'\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else {\n // Check for custom collection views before assuming it's an edit view\n const baseRoute = `/${segmentOne}/${segmentTwo}`\n const customCollectionView = getCustomCollectionViewByRoute({\n adminRoute,\n baseRoute,\n currentRoute,\n views: collectionConfig.admin.components?.views,\n })\n\n if (customCollectionView.viewKey && customCollectionView.view.payloadComponent) {\n // --> /collections/:collectionSlug/:customViewPath\n ViewToRender = customCollectionView.view\n\n templateClassName = `collection-${customCollectionView.viewKey}`\n templateType = 'default'\n viewType = customCollectionView.viewKey\n } else {\n // Collection Edit Views\n // --> /collections/:collectionSlug/create\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/api\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionID\n routeParams.id = segmentThree === 'create' ? undefined : segmentThree\n routeParams.versionID = segmentFive\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentFour, segmentFive])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: collectionConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n }\n }\n } else if (globalConfig) {\n // Check for custom global views before assuming it's an edit view\n const baseRoute = `/${segmentOne}/${segmentTwo}`\n const customGlobalView = getCustomGlobalViewByRoute({\n adminRoute,\n baseRoute,\n currentRoute,\n views: globalConfig.admin.components?.views,\n })\n\n if (customGlobalView.viewKey && customGlobalView.view.payloadComponent) {\n // --> /globals/:globalSlug/:customViewPath\n ViewToRender = customGlobalView.view\n\n templateClassName = `global-${customGlobalView.viewKey}`\n templateType = 'default'\n viewType = customGlobalView.viewKey\n } else {\n // Global Edit Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:versionID\n // --> /globals/:globalSlug/api\n routeParams.global = globalConfig.slug\n routeParams.versionID = segmentFour\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `global-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentThree, segmentFour])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: globalConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n }\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })?.view\n }\n\n if (collectionConfig) {\n if (routeParams.id) {\n routeParams.id = parseDocumentID({\n id: routeParams.id,\n collectionSlug: collectionConfig.slug,\n payload,\n })\n }\n\n if (routeParams.versionID) {\n routeParams.versionID = parseDocumentID({\n id: routeParams.versionID,\n collectionSlug: collectionConfig.slug,\n payload,\n })\n }\n }\n\n if (globalConfig && routeParams.versionID) {\n routeParams.versionID =\n payload.db.defaultIDType === 'number' && isNumber(routeParams.versionID)\n ? Number(routeParams.versionID)\n : routeParams.versionID\n }\n\n if (viewActions.length) {\n viewActions.reverse()\n }\n\n return {\n collectionConfig,\n DefaultView: ViewToRender,\n documentSubViewType,\n globalConfig,\n routeParams,\n templateClassName,\n templateType,\n viewActions: viewActions.length ? viewActions : undefined,\n viewType,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getRouteData.js","names":["parseDocumentID","branchesCollectionSlug","formatAdminURL","isNumber","isPathMatchingRoute","BranchDocumentView","BranchesListView","TrashView","DocumentView","forgotPasswordBaseClass","HierarchyView","ListView","loginBaseClass","resetPasswordBaseClass","verifyBaseClass","getSubViewActions","getViewActions","getCustomCollectionViewByRoute","getCustomGlobalViewByRoute","getCustomViewByKey","getCustomViewByRoute","getDocumentViewInfo","baseClasses","account","forgot","login","reset","verify","getRouteData","adminRoute","adminViews","collectionConfig","collectionPreferences","undefined","currentRoute","globalConfig","payload","segments","config","ViewToRender","templateClassName","templateType","isBranchesCollection","slug","CollectionListView","CollectionDocumentView","documentSubViewType","viewType","routeParams","segmentOne","segmentTwo","segmentThree","segmentFour","segmentFive","segmentSix","viewActions","admin","components","actions","oneSegmentViews","Component","createFirstUser","inactivity","logoutInactivity","logout","unauthorized","length","dashboard","viewKey","routes","matchedRoute","Object","entries","find","route","exact","path","customView","view","payloadComponent","collection","listViewType","hierarchy","push","views","list","global","editConfig","edit","token","id","versionID","viewInfo","collectionOrGlobal","viewKeyArg","baseRoute","customCollectionView","customGlobalView","collectionSlug","db","defaultIDType","Number","reverse","DefaultView"],"sources":["../../../src/views/Root/getRouteData.ts"],"sourcesContent":["import type {\n AdminViewAdapter,\n AdminViewServerProps,\n CollectionPreferences,\n CustomComponent,\n DocumentSubViewTypes,\n Payload,\n PayloadComponent,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n ViewTypes,\n} from 'payload'\nimport type React from 'react'\n\nimport { parseDocumentID } from 'payload'\nimport { branchesCollectionSlug, formatAdminURL, isNumber } from 'payload/shared'\n\nimport type { ViewFromConfig } from './getCustomViewByRoute.js'\n\nimport { isPathMatchingRoute } from '../../utilities/isPathMatchingRoute.js'\nimport { BranchDocumentView, BranchesListView } from '../Branches/index.js'\nimport { TrashView } from '../CollectionTrash/index.js'\nimport { DocumentView } from '../Document/index.js'\nimport { forgotPasswordBaseClass } from '../ForgotPassword/index.js'\nimport { HierarchyView } from '../Hierarchy/index.js'\nimport { ListView } from '../List/index.js'\nimport { loginBaseClass } from '../Login/index.js'\nimport { resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { verifyBaseClass } from '../Verify/index.js'\nimport { getSubViewActions, getViewActions } from './attachViewActions.js'\nimport { getCustomCollectionViewByRoute } from './getCustomCollectionViewByRoute.js'\nimport { getCustomGlobalViewByRoute } from './getCustomGlobalViewByRoute.js'\nimport { getCustomViewByKey } from './getCustomViewByKey.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getDocumentViewInfo } from './getDocumentViewInfo.js'\n\nconst baseClasses = {\n account: 'account',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: React.FC<AdminViewServerProps>\n}\n\nexport type GetRouteDataResult = {\n collectionConfig?: SanitizedCollectionConfig\n DefaultView: ViewFromConfig\n documentSubViewType?: DocumentSubViewTypes\n globalConfig?: SanitizedGlobalConfig\n routeParams: {\n collection?: string\n global?: string\n id?: number | string\n token?: string\n versionID?: number | string\n }\n templateClassName: string\n templateType: 'default' | 'minimal'\n viewActions?: CustomComponent[]\n viewType?: ViewTypes\n}\n\nexport type GetRouteDataArgs = {\n adminRoute: string\n adminViews: AdminViewAdapter\n collectionConfig?: SanitizedCollectionConfig\n /**\n * User preferences for a collection.\n *\n * These preferences are normally undefined\n * unless the user is on the list view and the\n * collection is folder enabled.\n */\n collectionPreferences?: CollectionPreferences\n currentRoute: string\n globalConfig?: SanitizedGlobalConfig\n payload: Payload\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}\n\nexport const getRouteData = ({\n adminRoute,\n adminViews,\n collectionConfig,\n collectionPreferences = undefined,\n currentRoute,\n globalConfig,\n payload,\n segments,\n}: GetRouteDataArgs): GetRouteDataResult => {\n const { config } = payload\n let ViewToRender: ViewFromConfig = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n // `payload-branches` is `admin.hidden` so it stays out of the nav, the dashboard\n // and the command palette — which also makes the generic views treat it as\n // not-found. Its own routes swap in wrappers that opt back in. Globals and every\n // other collection are untouched.\n const isBranchesCollection = collectionConfig?.slug === branchesCollectionSlug\n const CollectionListView = isBranchesCollection ? BranchesListView : ListView\n const CollectionDocumentView = isBranchesCollection ? BranchDocumentView : DocumentView\n\n let documentSubViewType: DocumentSubViewTypes\n let viewType: ViewTypes\n const routeParams: GetRouteDataResult['routeParams'] = {}\n\n const [segmentOne, segmentTwo, segmentThree, segmentFour, segmentFive, segmentSix] = segments\n\n const viewActions: CustomComponent[] = [...(config?.admin?.components?.actions || [])]\n\n const oneSegmentViews: OneSegmentViews = {\n account: adminViews.account?.Component as React.FC<AdminViewServerProps>,\n createFirstUser: adminViews.createFirstUser?.Component as React.FC<AdminViewServerProps>,\n forgot: adminViews.forgot?.Component as React.FC<AdminViewServerProps>,\n inactivity: adminViews.logoutInactivity?.Component as React.FC<AdminViewServerProps>,\n login: adminViews.login?.Component as React.FC<AdminViewServerProps>,\n logout: adminViews.logout?.Component as React.FC<AdminViewServerProps>,\n unauthorized: adminViews.unauthorized?.Component as React.FC<AdminViewServerProps>,\n }\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = {\n Component: adminViews.dashboard?.Component as React.FC<AdminViewServerProps>,\n }\n templateClassName = 'dashboard'\n templateType = 'default'\n viewType = 'dashboard'\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewKey: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: formatAdminURL({\n adminRoute,\n path: route,\n }),\n })\n })\n\n if (matchedRoute) {\n viewKey = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n // Check if a custom view is configured for this viewKey\n // First try to get custom view by the known viewKey, then fallback to route matching\n const customView =\n (viewKey && getCustomViewByKey({ config, viewKey })) ||\n getCustomViewByRoute({ config, currentRoute })\n\n if (customView?.view?.payloadComponent || customView?.view?.Component) {\n // User has configured a custom view (either overriding a built-in or a new custom view)\n ViewToRender = customView.view\n\n // If this custom view is overriding a built-in view (viewKey matches a built-in),\n // use the built-in's template settings and viewType\n if (viewKey && oneSegmentViews[viewKey]) {\n viewType = viewKey as ViewTypes\n templateClassName = baseClasses[viewKey] || viewKey\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n templateType = 'default'\n }\n }\n } else if (oneSegmentViews[viewKey]) {\n // --> /account\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = {\n Component: oneSegmentViews[viewKey],\n }\n\n viewType = viewKey as ViewTypes\n\n templateClassName = baseClasses[viewKey]\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n templateType = 'default'\n }\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n ViewToRender = {\n Component: adminViews.reset?.Component as React.FC<AdminViewServerProps>,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n viewType = 'reset'\n } else if (collectionConfig) {\n // --> /collections/:collectionSlug'\n routeParams.collection = collectionConfig.slug\n\n if (collectionPreferences?.listViewType === 'hierarchy' && collectionConfig.hierarchy) {\n // Render hierarchy view by default if set in preferences\n ViewToRender = {\n Component: HierarchyView,\n }\n\n templateClassName = `${segmentTwo}-hierarchy`\n templateType = 'default'\n viewType = 'hierarchy'\n } else {\n // Regular list view\n ViewToRender = {\n Component: CollectionListView,\n }\n\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n viewType = 'list'\n }\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else if (globalConfig) {\n // --> /globals/:globalSlug\n routeParams.global = globalConfig.slug\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = 'global-edit'\n templateType = 'default'\n viewType = 'document'\n\n // add default view actions\n viewActions.push(\n ...getViewActions({\n editConfig: globalConfig.admin?.components?.views?.edit,\n viewKey: 'default',\n }),\n )\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n routeParams.collection = segmentOne\n routeParams.token = segmentThree\n\n ViewToRender = {\n Component: adminViews.verify?.Component as React.FC<AdminViewServerProps>,\n }\n\n templateClassName = 'verify'\n templateType = 'minimal'\n viewType = 'verify'\n } else if (collectionConfig) {\n routeParams.collection = collectionConfig.slug\n\n if (segmentThree === 'trash' && typeof segmentFour === 'string') {\n // --> /collections/:collectionSlug/trash/:id (read-only)\n // --> /collections/:collectionSlug/trash/:id/api\n // --> /collections/:collectionSlug/trash/:id/preview\n // --> /collections/:collectionSlug/trash/:id/versions\n // --> /collections/:collectionSlug/trash/:id/versions/:versionID\n routeParams.id = segmentFour\n routeParams.versionID = segmentSix\n\n ViewToRender = {\n Component: CollectionDocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentFive, segmentSix])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: collectionConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n } else if (segmentThree === 'trash') {\n // --> /collections/:collectionSlug/trash\n ViewToRender = {\n Component: TrashView,\n }\n\n templateClassName = `${segmentTwo}-trash`\n templateType = 'default'\n viewType = 'trash'\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else if (segmentThree === 'hierarchy' && collectionConfig.hierarchy) {\n // --> /collections/:collectionSlug/hierarchy\n ViewToRender = {\n Component: HierarchyView,\n }\n\n templateClassName = `${segmentTwo}-hierarchy`\n templateType = 'default'\n viewType = 'hierarchy'\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else {\n // Check for custom collection views before assuming it's an edit view\n const baseRoute = `/${segmentOne}/${segmentTwo}`\n const customCollectionView = getCustomCollectionViewByRoute({\n adminRoute,\n baseRoute,\n currentRoute,\n views: collectionConfig.admin.components?.views,\n })\n\n if (customCollectionView.viewKey && customCollectionView.view.payloadComponent) {\n // --> /collections/:collectionSlug/:customViewPath\n ViewToRender = customCollectionView.view\n\n templateClassName = `collection-${customCollectionView.viewKey}`\n templateType = 'default'\n viewType = customCollectionView.viewKey\n } else {\n // Collection Edit Views\n // --> /collections/:collectionSlug/create\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/api\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionID\n routeParams.id = segmentThree === 'create' ? undefined : segmentThree\n routeParams.versionID = segmentFive\n\n ViewToRender = {\n Component: CollectionDocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentFour, segmentFive])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: collectionConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n }\n }\n } else if (globalConfig) {\n // Check for custom global views before assuming it's an edit view\n const baseRoute = `/${segmentOne}/${segmentTwo}`\n const customGlobalView = getCustomGlobalViewByRoute({\n adminRoute,\n baseRoute,\n currentRoute,\n views: globalConfig.admin.components?.views,\n })\n\n if (customGlobalView.viewKey && customGlobalView.view.payloadComponent) {\n // --> /globals/:globalSlug/:customViewPath\n ViewToRender = customGlobalView.view\n\n templateClassName = `global-${customGlobalView.viewKey}`\n templateType = 'default'\n viewType = customGlobalView.viewKey\n } else {\n // Global Edit Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:versionID\n // --> /globals/:globalSlug/api\n routeParams.global = globalConfig.slug\n routeParams.versionID = segmentFour\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `global-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentThree, segmentFour])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: globalConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n }\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })?.view\n }\n\n if (collectionConfig) {\n if (routeParams.id) {\n routeParams.id = parseDocumentID({\n id: routeParams.id,\n collectionSlug: collectionConfig.slug,\n payload,\n })\n }\n\n if (routeParams.versionID) {\n routeParams.versionID = parseDocumentID({\n id: routeParams.versionID,\n collectionSlug: collectionConfig.slug,\n payload,\n })\n }\n }\n\n if (globalConfig && routeParams.versionID) {\n routeParams.versionID =\n payload.db.defaultIDType === 'number' && isNumber(routeParams.versionID)\n ? Number(routeParams.versionID)\n : routeParams.versionID\n }\n\n if (viewActions.length) {\n viewActions.reverse()\n }\n\n return {\n collectionConfig,\n DefaultView: ViewToRender,\n documentSubViewType,\n globalConfig,\n routeParams,\n templateClassName,\n templateType,\n viewActions: viewActions.length ? viewActions : undefined,\n viewType,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAIhB,cAAc,EACd,SAAS,EACT,aAAa,EAEb,eAAe,EAEhB,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAgBzB,KAAK,SAAS,GAAG,CAAC,IAAI,EAAE;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IACzD,SAAS,EAAE,SAAS,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;CACjD,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;AAE5B,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,gBAAgB,CAAA;IAC5B,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,SAAS,CAAA;IAClB;;;;;;;;;OASG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,yGAAyG;IACzG,QAAQ,EAAE,MAAM,KAAK,CAAA;IACrB,MAAM,EAAE,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;IACvC,yGAAyG;IACzG,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,CAAA;IAChC,YAAY,EAAE,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAC5D,CAAA;AAED,eAAO,MAAM,UAAU,kJAUpB,cAAc,+BA0ThB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAIhB,cAAc,EACd,SAAS,EACT,aAAa,EAEb,eAAe,EAEhB,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAgBzB,KAAK,SAAS,GAAG,CAAC,IAAI,EAAE;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IACzD,SAAS,EAAE,SAAS,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;CACjD,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;AAE5B,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,gBAAgB,CAAA;IAC5B,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,SAAS,CAAA;IAClB;;;;;;;;;OASG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,yGAAyG;IACzG,QAAQ,EAAE,MAAM,KAAK,CAAA;IACrB,MAAM,EAAE,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;IACvC,yGAAyG;IACzG,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,CAAA;IAChC,YAAY,EAAE,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAC5D,CAAA;AAED,eAAO,MAAM,UAAU,kJAUpB,cAAc,+BA2ThB,CAAA"}
@@ -297,6 +297,7 @@ export const renderRoot = async ({
297
297
  searchParams: searchParams,
298
298
  user: req.user,
299
299
  viewActions: viewActions,
300
+ viewKey: key,
300
301
  viewType: viewType,
301
302
  visibleEntities: {
302
303
  // The reason we are not passing in initPageResult.visibleEntities directly is due to a "Cannot assign to read only property of object '#<Object>" error introduced in React 19
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["applyLocaleFiltering","formatAdminURL","qs","React","RenderServerComponent","PageConfigProvider","DefaultTemplate","MinimalTemplate","getClientConfig","getPreferences","getVisibleEntities","handleAuthRedirect","isCustomAdminView","isPublicAdminRoute","getCustomViewByRoute","getRouteData","renderRoot","adminViews","config","configPromise","importMap","initReq","key","notFound","params","paramsPromise","redirect","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","isCollectionRoute","isGlobalRoute","collectionConfig","undefined","globalConfig","length","viewKey","collections","find","slug","globals","queryString","stringify","addQueryPrefix","cookies","locale","permissions","req","payload","overrides","fallbackLocale","query","parse","depth","ignoreQueryPrefix","urlSuffix","canAccessAdmin","route","server","collectionPreferences","id","then","res","value","DefaultView","documentSubViewType","routeParams","templateClassName","templateType","viewActions","viewType","dbHasUser","db","findOne","collection","doc","Component","payloadComponent","usersCollection","disableLocalStrategy","auth","createFirstUserRoute","clientConfig","i18n","localization","localeCodes","includes","defaultLocale","visibleEntities","RenderedView","clientProps","collectionSlug","docID","globalSlug","Fallback","serverProps","initPageResult","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","KeyedView","_jsx","Fragment","_jsxs","className"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["'use server'\n\nimport type {\n AdminViewAdapter,\n AdminViewClientProps,\n AdminViewServerPropsOnly,\n CollectionPreferences,\n createLocalReq,\n ImportMap,\n InitReqResult,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { applyLocaleFiltering, formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds\nimport { PageConfigProvider } from '../../exports/client/index.js'\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { getClientConfig } from '../../utilities/getClientConfig.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport { handleAuthRedirect } from '../../utilities/handleAuthRedirect.js'\nimport { isCustomAdminView } from '../../utilities/isCustomAdminView.js'\nimport { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getRouteData } from './getRouteData.js'\n\ntype InitReqFn = (args: {\n canSetHeaders?: boolean\n configPromise: Promise<SanitizedConfig> | SanitizedConfig\n importMap: ImportMap\n key: string\n overrides?: Parameters<typeof createLocalReq>[0]\n}) => Promise<InitReqResult>\n\nexport type RenderRootArgs = {\n adminViews: AdminViewAdapter\n config: Promise<SanitizedConfig>\n importMap: ImportMap\n initReq: InitReqFn\n /**\n * Optional React `key` applied to the rendered view (not the surrounding admin\n * template/nav). Adapters whose router reconciles a single RSC payload in place\n * across navigations (e.g. TanStack Start) pass a per-route key here so the\n * *view* remounts on route change — resetting view-scoped client providers like\n * `DocumentInfoProvider` that hold uncontrolled `useState` from the prior\n * document — while the persistent nav/template reconciles in place (no flash).\n * Left `undefined` by Next.js, whose App Router already remounts the page\n * segment while its layout (nav) persists.\n */\n key?: string\n /** Framework notFound implementation (e.g. next/navigation notFound). Called before req is available. */\n notFound: () => never\n params: Promise<{ segments: string[] }>\n /** Framework redirect implementation (e.g. next/navigation redirect). Called before req is available. */\n redirect: (url: string) => never\n searchParams: Promise<{ [key: string]: string | string[] }>\n}\n\nexport const renderRoot = async ({\n adminViews,\n config: configPromise,\n importMap,\n initReq,\n key,\n notFound,\n params: paramsPromise,\n redirect,\n searchParams: searchParamsPromise,\n}: RenderRootArgs) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n const isCollectionRoute = segments[0] === 'collections'\n const isGlobalRoute = segments[0] === 'globals'\n let collectionConfig: SanitizedCollectionConfig = undefined\n let globalConfig: SanitizedGlobalConfig = undefined\n\n const searchParams = await searchParamsPromise\n\n // Redirect `${adminRoute}/collections` to `${adminRoute}`\n if (isCollectionRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/collections',\n })\n\n // Only redirect if there's NO custom view configured for /collections\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n collectionConfig = config.collections.find(({ slug }) => slug === segments[1])\n }\n }\n\n // Redirect `${adminRoute}/globals` to `${adminRoute}`\n if (isGlobalRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/globals',\n })\n\n // Only redirect if there's NO custom view configured for /globals\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n globalConfig = config.globals.find(({ slug }) => slug === segments[1])\n }\n }\n\n if ((isCollectionRoute && !collectionConfig) || (isGlobalRoute && !globalConfig)) {\n notFound()\n }\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n\n const {\n cookies,\n locale,\n permissions,\n req,\n req: { payload },\n } = await initReq({\n configPromise: config,\n importMap,\n key: 'initPage',\n overrides: {\n fallbackLocale: false,\n req: {\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n },\n // intentionally omit `serverURL` to keep URL relative\n urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`,\n },\n })\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route: currentRoute }) &&\n !isCustomAdminView({ adminRoute, config: payload.config, route: currentRoute })\n ) {\n req.server.redirect(\n handleAuthRedirect({\n config: payload.config,\n route: currentRoute,\n searchParams,\n user: req.user,\n }),\n )\n }\n\n let collectionPreferences: CollectionPreferences = undefined\n\n if (collectionConfig && segments.length === 2) {\n await getPreferences<CollectionPreferences>(\n `collection-${collectionConfig.slug}`,\n req.payload,\n req.user.id,\n config.admin.user,\n ).then((res) => {\n if (res && res.value) {\n collectionPreferences = res.value\n }\n })\n }\n\n const {\n DefaultView,\n documentSubViewType,\n routeParams,\n templateClassName,\n templateType,\n viewActions,\n viewType,\n } = getRouteData({\n adminRoute,\n adminViews,\n collectionConfig,\n collectionPreferences,\n currentRoute,\n globalConfig,\n payload,\n searchParams,\n segments,\n })\n\n req.routeParams = routeParams\n\n const dbHasUser =\n req.user ||\n (await req.payload.db\n .findOne({\n collection: userSlug,\n req,\n })\n ?.then((doc) => !!doc))\n\n /**\n * This function is responsible for handling the case where the view is not found.\n * The current route did not match any default views or custom route views.\n */\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (req?.user) {\n req.server.notFound()\n }\n\n if (dbHasUser) {\n req.server.redirect(adminRoute)\n }\n }\n\n const usersCollection = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy\n\n const createFirstUserRoute = formatAdminURL({\n adminRoute,\n path: _createFirstUserRoute,\n })\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n req.server.redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n req.server.redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n req.server.redirect(adminRoute)\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n req.server.redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n user: viewType === 'createFirstUser' ? true : req.user,\n })\n\n await applyLocaleFiltering({ clientConfig, config, req })\n\n // Ensure locale on req is still valid after filtering locales\n if (\n clientConfig.localization &&\n req.locale &&\n !clientConfig.localization.localeCodes.includes(req.locale)\n ) {\n req.server.redirect(\n `${currentRoute}${qs.stringify(\n {\n ...searchParams,\n locale: clientConfig.localization.localeCodes.includes(\n clientConfig.localization.defaultLocale,\n )\n ? clientConfig.localization.defaultLocale\n : clientConfig.localization.localeCodes[0],\n },\n { addQueryPrefix: true },\n )}`,\n )\n }\n\n const visibleEntities = getVisibleEntities({ req })\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n clientConfig,\n collectionSlug: collectionConfig?.slug,\n docID: routeParams.id,\n documentSubViewType,\n globalSlug: globalConfig?.slug,\n viewType,\n } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n clientConfig,\n collectionConfig,\n docID: routeParams.id,\n globalConfig,\n i18n: req.i18n,\n importMap,\n initPageResult: {\n collectionConfig,\n cookies,\n docID: routeParams.id,\n globalConfig,\n languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n ),\n locale,\n permissions,\n req,\n translations: req.i18n.translations,\n visibleEntities,\n },\n params,\n payload: req.payload,\n searchParams,\n server: req.server,\n viewActions,\n } satisfies AdminViewServerPropsOnly,\n })\n\n // Wrap the view in a keyed boundary so it remounts on route change while the\n // surrounding template/nav reconciles in place. `key={undefined}` (Next.js) is\n // a no-op, preserving prior behavior.\n const KeyedView = <React.Fragment key={key}>{RenderedView}</React.Fragment>\n\n return (\n <PageConfigProvider config={clientConfig}>\n {!templateType && <React.Fragment>{KeyedView}</React.Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{KeyedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={collectionConfig?.slug}\n docID={routeParams.id}\n documentSubViewType={documentSubViewType}\n globalSlug={globalConfig?.slug}\n i18n={req.i18n}\n locale={locale}\n params={params}\n payload={req.payload}\n permissions={permissions}\n req={req}\n searchParams={searchParams}\n user={req.user}\n viewActions={viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: visibleEntities?.collections,\n globals: visibleEntities?.globals,\n }}\n >\n {KeyedView}\n </DefaultTemplate>\n )}\n </PageConfigProvider>\n )\n}\n"],"mappings":"AAAA;;;AAeA,SAASA,oBAAoB,EAAEC,cAAc,QAAQ;AACrD,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,MAAW;AAElB,SAASC,qBAAqB,QAAQ;AACtC;AACA,SAASC,kBAAkB,QAAQ;AACnC,SAASC,eAAe,QAAQ;AAChC,SAASC,eAAe,QAAQ;AAChC,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAC/B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,YAAY,QAAQ;AAkC7B,OAAO,MAAMC,UAAA,GAAa,MAAAA,CAAO;EAC/BC,UAAU;EACVC,MAAA,EAAQC,aAAa;EACrBC,SAAS;EACTC,OAAO;EACPC,GAAG;EACHC,QAAQ;EACRC,MAAA,EAAQC,aAAa;EACrBC,QAAQ;EACRC,YAAA,EAAcC;AAAmB,CAClB;EACf,MAAMV,MAAA,GAAS,MAAMC,aAAA;EAErB,MAAM;IACJU,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,eAAA,EAAiBC;MAAqB,CAAE;MAClDC,IAAA,EAAMC;IAAQ,CACf;IACDJ,MAAA,EAAQ;MAAED,KAAA,EAAOM;IAAU;EAAE,CAC9B,GAAGjB,MAAA;EAEJ,MAAMM,MAAA,GAAS,MAAMC,aAAA;EAErB,MAAMW,YAAA,GAAenC,cAAA,CAAe;IAClCkC,UAAA;IACAE,IAAA,EAAMC,KAAA,CAAMC,OAAO,CAACf,MAAA,CAAOgB,QAAQ,IAAI,IAAIhB,MAAA,CAAOgB,QAAQ,CAACC,IAAI,CAAC,MAAM,GAAG;EAC3E;EAEA,MAAMD,QAAA,GAAWF,KAAA,CAAMC,OAAO,CAACf,MAAA,CAAOgB,QAAQ,IAAIhB,MAAA,CAAOgB,QAAQ,GAAG,EAAE;EACtE,MAAME,iBAAA,GAAoBF,QAAQ,CAAC,EAAE,KAAK;EAC1C,MAAMG,aAAA,GAAgBH,QAAQ,CAAC,EAAE,KAAK;EACtC,IAAII,gBAAA,GAA8CC,SAAA;EAClD,IAAIC,YAAA,GAAsCD,SAAA;EAE1C,MAAMlB,YAAA,GAAe,MAAMC,mBAAA;EAE3B;EACA,IAAIc,iBAAA,EAAmB;IACrB,IAAIF,QAAA,CAASO,MAAM,KAAK,GAAG;MACzB,MAAM;QAAEC;MAAO,CAAE,GAAGlC,oBAAA,CAAqB;QACvCI,MAAA;QACAkB,YAAA,EAAc;MAChB;MAEA;MACA,IAAI,CAACY,OAAA,EAAS;QACZtB,QAAA,CAASS,UAAA;MACX;IACF;IAEA,IAAIK,QAAQ,CAAC,EAAE,EAAE;MACfI,gBAAA,GAAmB1B,MAAA,CAAO+B,WAAW,CAACC,IAAI,CAAC,CAAC;QAAEC;MAAI,CAAE,KAAKA,IAAA,KAASX,QAAQ,CAAC,EAAE;IAC/E;EACF;EAEA;EACA,IAAIG,aAAA,EAAe;IACjB,IAAIH,QAAA,CAASO,MAAM,KAAK,GAAG;MACzB,MAAM;QAAEC;MAAO,CAAE,GAAGlC,oBAAA,CAAqB;QACvCI,MAAA;QACAkB,YAAA,EAAc;MAChB;MAEA;MACA,IAAI,CAACY,OAAA,EAAS;QACZtB,QAAA,CAASS,UAAA;MACX;IACF;IAEA,IAAIK,QAAQ,CAAC,EAAE,EAAE;MACfM,YAAA,GAAe5B,MAAA,CAAOkC,OAAO,CAACF,IAAI,CAAC,CAAC;QAAEC;MAAI,CAAE,KAAKA,IAAA,KAASX,QAAQ,CAAC,EAAE;IACvE;EACF;EAEA,IAAIE,iBAAC,IAAqB,CAACE,gBAAA,IAAsBD,aAAA,IAAiB,CAACG,YAAA,EAAe;IAChFvB,QAAA;EACF;EAEA,MAAM8B,WAAA,GAAc,GAAGnD,EAAA,CAAGoD,SAAS,CAAC3B,YAAA,IAAgB,CAAC,GAAG;IAAE4B,cAAA,EAAgB;EAAK,IAAI;EAEnF,MAAM;IACJC,OAAO;IACPC,MAAM;IACNC,WAAW;IACXC,GAAG;IACHA,GAAA,EAAK;MAAEC;IAAO;EAAE,CACjB,GAAG,MAAMvC,OAAA,CAAQ;IAChBF,aAAA,EAAeD,MAAA;IACfE,SAAA;IACAE,GAAA,EAAK;IACLuC,SAAA,EAAW;MACTC,cAAA,EAAgB;MAChBH,GAAA,EAAK;QACHI,KAAA,EAAO7D,EAAA,CAAG8D,KAAK,CAACX,WAAA,EAAa;UAC3BY,KAAA,EAAO;UACPC,iBAAA,EAAmB;QACrB;MACF;MACA;MACAC,SAAA,EAAW,GAAG/B,YAAA,GAAeT,YAAA,GAAe0B,WAAA,GAAc;IAC5D;EACF;EAEA,IACE,CAACK,WAAA,CAAYU,cAAc,IAC3B,CAACvD,kBAAA,CAAmB;IAAEsB,UAAA;IAAYjB,MAAA,EAAQ0C,OAAA,CAAQ1C,MAAM;IAAEmD,KAAA,EAAOjC;EAAa,MAC9E,CAACxB,iBAAA,CAAkB;IAAEuB,UAAA;IAAYjB,MAAA,EAAQ0C,OAAA,CAAQ1C,MAAM;IAAEmD,KAAA,EAAOjC;EAAa,IAC7E;IACAuB,GAAA,CAAIW,MAAM,CAAC5C,QAAQ,CACjBf,kBAAA,CAAmB;MACjBO,MAAA,EAAQ0C,OAAA,CAAQ1C,MAAM;MACtBmD,KAAA,EAAOjC,YAAA;MACPT,YAAA;MACAM,IAAA,EAAM0B,GAAA,CAAI1B;IACZ;EAEJ;EAEA,IAAIsC,qBAAA,GAA+C1B,SAAA;EAEnD,IAAID,gBAAA,IAAoBJ,QAAA,CAASO,MAAM,KAAK,GAAG;IAC7C,MAAMtC,cAAA,CACJ,cAAcmC,gBAAA,CAAiBO,IAAI,EAAE,EACrCQ,GAAA,CAAIC,OAAO,EACXD,GAAA,CAAI1B,IAAI,CAACuC,EAAE,EACXtD,MAAA,CAAOW,KAAK,CAACI,IAAI,EACjBwC,IAAI,CAAEC,GAAA;MACN,IAAIA,GAAA,IAAOA,GAAA,CAAIC,KAAK,EAAE;QACpBJ,qBAAA,GAAwBG,GAAA,CAAIC,KAAK;MACnC;IACF;EACF;EAEA,MAAM;IACJC,WAAW;IACXC,mBAAmB;IACnBC,WAAW;IACXC,iBAAiB;IACjBC,YAAY;IACZC,WAAW;IACXC;EAAQ,CACT,GAAGnE,YAAA,CAAa;IACfoB,UAAA;IACAlB,UAAA;IACA2B,gBAAA;IACA2B,qBAAA;IACAnC,YAAA;IACAU,YAAA;IACAc,OAAA;IACAjC,YAAA;IACAa;EACF;EAEAmB,GAAA,CAAImB,WAAW,GAAGA,WAAA;EAElB,MAAMK,SAAA,GACJxB,GAAA,CAAI1B,IAAI,KACP,MAAM0B,GAAA,CAAIC,OAAO,CAACwB,EAAE,CAClBC,OAAO,CAAC;IACPC,UAAA,EAAYpD,QAAA;IACZyB;EACF,IACEc,IAAA,CAAMc,GAAA,IAAQ,CAAC,CAACA,GAAA;EAEtB;;;;EAIA,IAAI,CAACX,WAAA,EAAaY,SAAA,IAAa,CAACZ,WAAA,EAAaa,gBAAA,EAAkB;IAC7D,IAAI9B,GAAA,EAAK1B,IAAA,EAAM;MACb0B,GAAA,CAAIW,MAAM,CAAC/C,QAAQ;IACrB;IAEA,IAAI4D,SAAA,EAAW;MACbxB,GAAA,CAAIW,MAAM,CAAC5C,QAAQ,CAACS,UAAA;IACtB;EACF;EAEA,MAAMuD,eAAA,GAAkBxE,MAAA,CAAO+B,WAAW,CAACC,IAAI,CAAC,CAAC;IAAEC;EAAI,CAAE,KAAKA,IAAA,KAASjB,QAAA;EACvE,MAAMyD,oBAAA,GAAuBD,eAAA,EAAiBE,IAAA,EAAMD,oBAAA;EAEpD,MAAME,oBAAA,GAAuB5F,cAAA,CAAe;IAC1CkC,UAAA;IACAE,IAAA,EAAML;EACR;EAEA,IAAI2D,oBAAA,IAAwBvD,YAAA,KAAiByD,oBAAA,EAAsB;IACjElC,GAAA,CAAIW,MAAM,CAAC5C,QAAQ,CAACS,UAAA;EACtB;EAEA,IAAI,CAACgD,SAAA,IAAa/C,YAAA,KAAiByD,oBAAA,IAAwB,CAACF,oBAAA,EAAsB;IAChFhC,GAAA,CAAIW,MAAM,CAAC5C,QAAQ,CAACmE,oBAAA;EACtB;EAEA,IAAIV,SAAA,IAAa/C,YAAA,KAAiByD,oBAAA,EAAsB;IACtDlC,GAAA,CAAIW,MAAM,CAAC5C,QAAQ,CAACS,UAAA;EACtB;EAEA,IAAI,CAACyC,WAAA,EAAaY,SAAA,IAAa,CAACZ,WAAA,EAAaa,gBAAA,IAAoB,CAACN,SAAA,EAAW;IAC3ExB,GAAA,CAAIW,MAAM,CAAC5C,QAAQ,CAACS,UAAA;EACtB;EAEA,MAAM2D,YAAA,GAAetF,eAAA,CAAgB;IACnCU,MAAA;IACA6E,IAAA,EAAMpC,GAAA,CAAIoC,IAAI;IACd3E,SAAA;IACAa,IAAA,EAAMiD,QAAA,KAAa,oBAAoB,OAAOvB,GAAA,CAAI1B;EACpD;EAEA,MAAMjC,oBAAA,CAAqB;IAAE8F,YAAA;IAAc5E,MAAA;IAAQyC;EAAI;EAEvD;EACA,IACEmC,YAAA,CAAaE,YAAY,IACzBrC,GAAA,CAAIF,MAAM,IACV,CAACqC,YAAA,CAAaE,YAAY,CAACC,WAAW,CAACC,QAAQ,CAACvC,GAAA,CAAIF,MAAM,GAC1D;IACAE,GAAA,CAAIW,MAAM,CAAC5C,QAAQ,CACjB,GAAGU,YAAA,GAAelC,EAAA,CAAGoD,SAAS,CAC5B;MACE,GAAG3B,YAAY;MACf8B,MAAA,EAAQqC,YAAA,CAAaE,YAAY,CAACC,WAAW,CAACC,QAAQ,CACpDJ,YAAA,CAAaE,YAAY,CAACG,aAAa,IAErCL,YAAA,CAAaE,YAAY,CAACG,aAAa,GACvCL,YAAA,CAAaE,YAAY,CAACC,WAAW,CAAC;IAC5C,GACA;MAAE1C,cAAA,EAAgB;IAAK,IACtB;EAEP;EAEA,MAAM6C,eAAA,GAAkB1F,kBAAA,CAAmB;IAAEiD;EAAI;EAEjD,MAAM0C,YAAA,GAAejG,qBAAA,CAAsB;IACzCkG,WAAA,EAAa;MACXR,YAAA;MACAS,cAAA,EAAgB3D,gBAAA,EAAkBO,IAAA;MAClCqD,KAAA,EAAO1B,WAAA,CAAYN,EAAE;MACrBK,mBAAA;MACA4B,UAAA,EAAY3D,YAAA,EAAcK,IAAA;MAC1B+B;IACF;IACAM,SAAA,EAAWZ,WAAA,CAAYa,gBAAgB;IACvCiB,QAAA,EAAU9B,WAAA,CAAYY,SAAS;IAC/BpE,SAAA;IACAuF,WAAA,EAAa;MACXb,YAAA;MACAlD,gBAAA;MACA4D,KAAA,EAAO1B,WAAA,CAAYN,EAAE;MACrB1B,YAAA;MACAiD,IAAA,EAAMpC,GAAA,CAAIoC,IAAI;MACd3E,SAAA;MACAwF,cAAA,EAAgB;QACdhE,gBAAA;QACAY,OAAA;QACAgD,KAAA,EAAO1B,WAAA,CAAYN,EAAE;QACrB1B,YAAA;QACA+D,eAAA,EAAiBC,MAAA,CAAOC,OAAO,CAACpD,GAAA,CAAIC,OAAO,CAAC1C,MAAM,CAAC6E,IAAI,CAACiB,kBAAkB,IAAI,CAAC,GAAGC,MAAM,CACtF,CAACC,GAAA,EAAK,CAACC,QAAA,EAAUC,cAAA,CAAe;UAC9B,IAAIN,MAAA,CAAOO,IAAI,CAAC1D,GAAA,CAAIC,OAAO,CAAC1C,MAAM,CAAC6E,IAAI,CAACiB,kBAAkB,EAAEd,QAAQ,CAACiB,QAAA,GAAW;YAC9ED,GAAA,CAAII,IAAI,CAAC;cACPC,KAAA,EAAOH,cAAA,CAAeI,YAAY,CAACC,OAAO,CAACC,YAAY;cACvD/C,KAAA,EAAOwC;YACT;UACF;UAEA,OAAOD,GAAA;QACT,GACA,EAAE;QAEJzD,MAAA;QACAC,WAAA;QACAC,GAAA;QACA6D,YAAA,EAAc7D,GAAA,CAAIoC,IAAI,CAACyB,YAAY;QACnCpB;MACF;MACA5E,MAAA;MACAoC,OAAA,EAASD,GAAA,CAAIC,OAAO;MACpBjC,YAAA;MACA2C,MAAA,EAAQX,GAAA,CAAIW,MAAM;MAClBW;IACF;EACF;EAEA;EACA;EACA;EACA,MAAM0C,SAAA,gBAAYC,IAAA,CAACzH,KAAA,CAAM0H,QAAQ;cAAYxB;KAAN/E,GAAA;EAEvC,oBACEwG,KAAA,CAACzH,kBAAA;IAAmBa,MAAA,EAAQ4E,YAAA;eACzB,CAACd,YAAA,iBAAgB4C,IAAA,CAACzH,KAAA,CAAM0H,QAAQ;gBAAEF;QAClC3C,YAAA,KAAiB,0BAChB4C,IAAA,CAACrH,eAAA;MAAgBwH,SAAA,EAAWhD,iBAAA;gBAAoB4C;QAEjD3C,YAAA,KAAiB,0BAChB4C,IAAA,CAACtH,eAAA;MACCiG,cAAA,EAAgB3D,gBAAA,EAAkBO,IAAA;MAClCqD,KAAA,EAAO1B,WAAA,CAAYN,EAAE;MACrBK,mBAAA,EAAqBA,mBAAA;MACrB4B,UAAA,EAAY3D,YAAA,EAAcK,IAAA;MAC1B4C,IAAA,EAAMpC,GAAA,CAAIoC,IAAI;MACdtC,MAAA,EAAQA,MAAA;MACRjC,MAAA,EAAQA,MAAA;MACRoC,OAAA,EAASD,GAAA,CAAIC,OAAO;MACpBF,WAAA,EAAaA,WAAA;MACbC,GAAA,EAAKA,GAAA;MACLhC,YAAA,EAAcA,YAAA;MACdM,IAAA,EAAM0B,GAAA,CAAI1B,IAAI;MACdgD,WAAA,EAAaA,WAAA;MACbC,QAAA,EAAUA,QAAA;MACVkB,eAAA,EAAiB;QACf;QACA;QACAnD,WAAA,EAAamD,eAAA,EAAiBnD,WAAA;QAC9BG,OAAA,EAASgD,eAAA,EAAiBhD;MAC5B;gBAECuE;;;AAKX","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["applyLocaleFiltering","formatAdminURL","qs","React","RenderServerComponent","PageConfigProvider","DefaultTemplate","MinimalTemplate","getClientConfig","getPreferences","getVisibleEntities","handleAuthRedirect","isCustomAdminView","isPublicAdminRoute","getCustomViewByRoute","getRouteData","renderRoot","adminViews","config","configPromise","importMap","initReq","key","notFound","params","paramsPromise","redirect","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","isCollectionRoute","isGlobalRoute","collectionConfig","undefined","globalConfig","length","viewKey","collections","find","slug","globals","queryString","stringify","addQueryPrefix","cookies","locale","permissions","req","payload","overrides","fallbackLocale","query","parse","depth","ignoreQueryPrefix","urlSuffix","canAccessAdmin","route","server","collectionPreferences","id","then","res","value","DefaultView","documentSubViewType","routeParams","templateClassName","templateType","viewActions","viewType","dbHasUser","db","findOne","collection","doc","Component","payloadComponent","usersCollection","disableLocalStrategy","auth","createFirstUserRoute","clientConfig","i18n","localization","localeCodes","includes","defaultLocale","visibleEntities","RenderedView","clientProps","collectionSlug","docID","globalSlug","Fallback","serverProps","initPageResult","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","KeyedView","_jsx","Fragment","_jsxs","className"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["'use server'\n\nimport type {\n AdminViewAdapter,\n AdminViewClientProps,\n AdminViewServerPropsOnly,\n CollectionPreferences,\n createLocalReq,\n ImportMap,\n InitReqResult,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { applyLocaleFiltering, formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds\nimport { PageConfigProvider } from '../../exports/client/index.js'\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { getClientConfig } from '../../utilities/getClientConfig.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport { handleAuthRedirect } from '../../utilities/handleAuthRedirect.js'\nimport { isCustomAdminView } from '../../utilities/isCustomAdminView.js'\nimport { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getRouteData } from './getRouteData.js'\n\ntype InitReqFn = (args: {\n canSetHeaders?: boolean\n configPromise: Promise<SanitizedConfig> | SanitizedConfig\n importMap: ImportMap\n key: string\n overrides?: Parameters<typeof createLocalReq>[0]\n}) => Promise<InitReqResult>\n\nexport type RenderRootArgs = {\n adminViews: AdminViewAdapter\n config: Promise<SanitizedConfig>\n importMap: ImportMap\n initReq: InitReqFn\n /**\n * Optional React `key` applied to the rendered view (not the surrounding admin\n * template/nav). Adapters whose router reconciles a single RSC payload in place\n * across navigations (e.g. TanStack Start) pass a per-route key here so the\n * *view* remounts on route change — resetting view-scoped client providers like\n * `DocumentInfoProvider` that hold uncontrolled `useState` from the prior\n * document — while the persistent nav/template reconciles in place (no flash).\n * Left `undefined` by Next.js, whose App Router already remounts the page\n * segment while its layout (nav) persists.\n */\n key?: string\n /** Framework notFound implementation (e.g. next/navigation notFound). Called before req is available. */\n notFound: () => never\n params: Promise<{ segments: string[] }>\n /** Framework redirect implementation (e.g. next/navigation redirect). Called before req is available. */\n redirect: (url: string) => never\n searchParams: Promise<{ [key: string]: string | string[] }>\n}\n\nexport const renderRoot = async ({\n adminViews,\n config: configPromise,\n importMap,\n initReq,\n key,\n notFound,\n params: paramsPromise,\n redirect,\n searchParams: searchParamsPromise,\n}: RenderRootArgs) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n const isCollectionRoute = segments[0] === 'collections'\n const isGlobalRoute = segments[0] === 'globals'\n let collectionConfig: SanitizedCollectionConfig = undefined\n let globalConfig: SanitizedGlobalConfig = undefined\n\n const searchParams = await searchParamsPromise\n\n // Redirect `${adminRoute}/collections` to `${adminRoute}`\n if (isCollectionRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/collections',\n })\n\n // Only redirect if there's NO custom view configured for /collections\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n collectionConfig = config.collections.find(({ slug }) => slug === segments[1])\n }\n }\n\n // Redirect `${adminRoute}/globals` to `${adminRoute}`\n if (isGlobalRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/globals',\n })\n\n // Only redirect if there's NO custom view configured for /globals\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n globalConfig = config.globals.find(({ slug }) => slug === segments[1])\n }\n }\n\n if ((isCollectionRoute && !collectionConfig) || (isGlobalRoute && !globalConfig)) {\n notFound()\n }\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n\n const {\n cookies,\n locale,\n permissions,\n req,\n req: { payload },\n } = await initReq({\n configPromise: config,\n importMap,\n key: 'initPage',\n overrides: {\n fallbackLocale: false,\n req: {\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n },\n // intentionally omit `serverURL` to keep URL relative\n urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`,\n },\n })\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route: currentRoute }) &&\n !isCustomAdminView({ adminRoute, config: payload.config, route: currentRoute })\n ) {\n req.server.redirect(\n handleAuthRedirect({\n config: payload.config,\n route: currentRoute,\n searchParams,\n user: req.user,\n }),\n )\n }\n\n let collectionPreferences: CollectionPreferences = undefined\n\n if (collectionConfig && segments.length === 2) {\n await getPreferences<CollectionPreferences>(\n `collection-${collectionConfig.slug}`,\n req.payload,\n req.user.id,\n config.admin.user,\n ).then((res) => {\n if (res && res.value) {\n collectionPreferences = res.value\n }\n })\n }\n\n const {\n DefaultView,\n documentSubViewType,\n routeParams,\n templateClassName,\n templateType,\n viewActions,\n viewType,\n } = getRouteData({\n adminRoute,\n adminViews,\n collectionConfig,\n collectionPreferences,\n currentRoute,\n globalConfig,\n payload,\n searchParams,\n segments,\n })\n\n req.routeParams = routeParams\n\n const dbHasUser =\n req.user ||\n (await req.payload.db\n .findOne({\n collection: userSlug,\n req,\n })\n ?.then((doc) => !!doc))\n\n /**\n * This function is responsible for handling the case where the view is not found.\n * The current route did not match any default views or custom route views.\n */\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (req?.user) {\n req.server.notFound()\n }\n\n if (dbHasUser) {\n req.server.redirect(adminRoute)\n }\n }\n\n const usersCollection = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy\n\n const createFirstUserRoute = formatAdminURL({\n adminRoute,\n path: _createFirstUserRoute,\n })\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n req.server.redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n req.server.redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n req.server.redirect(adminRoute)\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n req.server.redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n user: viewType === 'createFirstUser' ? true : req.user,\n })\n\n await applyLocaleFiltering({ clientConfig, config, req })\n\n // Ensure locale on req is still valid after filtering locales\n if (\n clientConfig.localization &&\n req.locale &&\n !clientConfig.localization.localeCodes.includes(req.locale)\n ) {\n req.server.redirect(\n `${currentRoute}${qs.stringify(\n {\n ...searchParams,\n locale: clientConfig.localization.localeCodes.includes(\n clientConfig.localization.defaultLocale,\n )\n ? clientConfig.localization.defaultLocale\n : clientConfig.localization.localeCodes[0],\n },\n { addQueryPrefix: true },\n )}`,\n )\n }\n\n const visibleEntities = getVisibleEntities({ req })\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n clientConfig,\n collectionSlug: collectionConfig?.slug,\n docID: routeParams.id,\n documentSubViewType,\n globalSlug: globalConfig?.slug,\n viewType,\n } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n clientConfig,\n collectionConfig,\n docID: routeParams.id,\n globalConfig,\n i18n: req.i18n,\n importMap,\n initPageResult: {\n collectionConfig,\n cookies,\n docID: routeParams.id,\n globalConfig,\n languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n ),\n locale,\n permissions,\n req,\n translations: req.i18n.translations,\n visibleEntities,\n },\n params,\n payload: req.payload,\n searchParams,\n server: req.server,\n viewActions,\n } satisfies AdminViewServerPropsOnly,\n })\n\n // Wrap the view in a keyed boundary so it remounts on route change while the\n // surrounding template/nav reconciles in place. `key={undefined}` (Next.js) is\n // a no-op, preserving prior behavior.\n const KeyedView = <React.Fragment key={key}>{RenderedView}</React.Fragment>\n\n return (\n <PageConfigProvider config={clientConfig}>\n {!templateType && <React.Fragment>{KeyedView}</React.Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{KeyedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={collectionConfig?.slug}\n docID={routeParams.id}\n documentSubViewType={documentSubViewType}\n globalSlug={globalConfig?.slug}\n i18n={req.i18n}\n locale={locale}\n params={params}\n payload={req.payload}\n permissions={permissions}\n req={req}\n searchParams={searchParams}\n user={req.user}\n viewActions={viewActions}\n viewKey={key}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: visibleEntities?.collections,\n globals: visibleEntities?.globals,\n }}\n >\n {KeyedView}\n </DefaultTemplate>\n )}\n </PageConfigProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -87,6 +87,14 @@
87
87
  letter-spacing: var(--text-body-medium-letter-spacing);
88
88
  }
89
89
 
90
+ /* Keeps the timestamp and the branch pill together on the right, so the label
91
+ row still has two flex children and `space-between` behaves as before. */
92
+ .view-version__label-meta {
93
+ display: flex;
94
+ align-items: center;
95
+ gap: var(--spacer-2);
96
+ }
97
+
90
98
  .view-version__version-to-version {
91
99
  display: flex;
92
100
  flex-direction: row;
@@ -160,7 +168,15 @@
160
168
  }
161
169
 
162
170
  @media (max-width: 1024px) {
163
- .view-version__version-to-version {
171
+ /* Keeps the timestamp and the branch pill together on the right, so the label
172
+ row still has two flex children and `space-between` behaves as before. */
173
+ .view-version__label-meta {
174
+ display: flex;
175
+ align-items: center;
176
+ gap: var(--spacer-2);
177
+ }
178
+
179
+ .view-version__version-to-version {
164
180
  flex-direction: column;
165
181
  align-items: flex-start;
166
182
  }
@@ -172,7 +188,15 @@
172
188
  flex-direction: column;
173
189
  }
174
190
 
175
- .view-version__version-to-version {
191
+ /* Keeps the timestamp and the branch pill together on the right, so the label
192
+ row still has two flex children and `space-between` behaves as before. */
193
+ .view-version__label-meta {
194
+ display: flex;
195
+ align-items: center;
196
+ gap: var(--spacer-2);
197
+ }
198
+
199
+ .view-version__version-to-version {
176
200
  flex-direction: row;
177
201
  align-items: center;
178
202
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2E,MAAM,OAAO,CAAA;AAG/F,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAYzE,OAAO,aAAa,CAAA;AAQpB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAkOjE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2E,MAAM,OAAO,CAAA;AAG/F,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAazE,OAAO,aAAa,CAAA;AAQpB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAyOjE,CAAA"}