@payloadcms/next 4.0.0-internal.5b1e7cd → 4.0.0-internal.c2b57ce

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 (350) hide show
  1. package/dist/adapters/router.d.ts +5 -0
  2. package/dist/adapters/router.d.ts.map +1 -0
  3. package/dist/adapters/router.js +53 -0
  4. package/dist/adapters/router.js.map +1 -0
  5. package/dist/adapters/server.d.ts +7 -0
  6. package/dist/adapters/server.d.ts.map +1 -0
  7. package/dist/adapters/server.js +39 -0
  8. package/dist/adapters/server.js.map +1 -0
  9. package/dist/cjs/withPayload.cjs +13 -180
  10. package/dist/cjs/withPayload.cjs.map +4 -4
  11. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +1 -1
  12. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/Tab/index.css +47 -0
  14. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  16. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +1 -0
  17. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  18. package/dist/elements/DocumentHeader/Tabs/index.css +54 -0
  19. package/dist/elements/DocumentHeader/Tabs/index.d.ts +1 -1
  20. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  21. package/dist/elements/DocumentHeader/Tabs/index.js +1 -0
  22. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  23. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.css +11 -0
  24. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts +1 -1
  25. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  26. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  27. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  28. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +0 -4
  29. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  30. package/dist/elements/DocumentHeader/index.css +38 -0
  31. package/dist/elements/DocumentHeader/index.d.ts +1 -1
  32. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  33. package/dist/elements/DocumentHeader/index.js +9 -12
  34. package/dist/elements/DocumentHeader/index.js.map +1 -1
  35. package/dist/elements/HierarchyTypeField/index.d.ts +9 -0
  36. package/dist/elements/HierarchyTypeField/index.d.ts.map +1 -0
  37. package/dist/elements/HierarchyTypeField/index.js +114 -0
  38. package/dist/elements/HierarchyTypeField/index.js.map +1 -0
  39. package/dist/elements/HierarchyTypeField/index.server.d.ts +9 -0
  40. package/dist/elements/HierarchyTypeField/index.server.d.ts.map +1 -0
  41. package/dist/elements/HierarchyTypeField/index.server.js +32 -0
  42. package/dist/elements/HierarchyTypeField/index.server.js.map +1 -0
  43. package/dist/elements/Nav/NavSidebarToggle/index.d.ts +8 -0
  44. package/dist/elements/Nav/NavSidebarToggle/index.d.ts.map +1 -0
  45. package/dist/elements/Nav/{NavHamburger → NavSidebarToggle}/index.js +3 -3
  46. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -0
  47. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  48. package/dist/elements/Nav/NavWrapper/index.js +21 -24
  49. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  50. package/dist/elements/Nav/SidebarTabs/TabError/index.css +29 -0
  51. package/dist/elements/Nav/SidebarTabs/TabError/index.d.ts +8 -0
  52. package/dist/elements/Nav/SidebarTabs/TabError/index.d.ts.map +1 -0
  53. package/dist/elements/Nav/SidebarTabs/TabError/index.js +42 -0
  54. package/dist/elements/Nav/SidebarTabs/TabError/index.js.map +1 -0
  55. package/dist/elements/Nav/SidebarTabs/constants.d.ts +2 -0
  56. package/dist/elements/Nav/SidebarTabs/constants.d.ts.map +1 -0
  57. package/dist/elements/Nav/SidebarTabs/constants.js +2 -0
  58. package/dist/elements/Nav/SidebarTabs/constants.js.map +1 -0
  59. package/dist/elements/Nav/SidebarTabs/index.client.d.ts +22 -0
  60. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -0
  61. package/dist/elements/Nav/SidebarTabs/index.client.js +195 -0
  62. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -0
  63. package/dist/elements/Nav/SidebarTabs/index.css +80 -0
  64. package/dist/elements/Nav/SidebarTabs/index.d.ts +17 -0
  65. package/dist/elements/Nav/SidebarTabs/index.d.ts.map +1 -0
  66. package/dist/elements/Nav/SidebarTabs/index.js +85 -0
  67. package/dist/elements/Nav/SidebarTabs/index.js.map +1 -0
  68. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +10 -0
  69. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -0
  70. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +54 -0
  71. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -0
  72. package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -1
  73. package/dist/elements/Nav/getNavPrefs.js +36 -2
  74. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  75. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  76. package/dist/elements/Nav/index.client.js +48 -63
  77. package/dist/elements/Nav/index.client.js.map +1 -1
  78. package/dist/elements/Nav/index.css +132 -0
  79. package/dist/elements/Nav/index.d.ts +1 -1
  80. package/dist/elements/Nav/index.d.ts.map +1 -1
  81. package/dist/elements/Nav/index.js +41 -18
  82. package/dist/elements/Nav/index.js.map +1 -1
  83. package/dist/exports/client.d.ts +3 -2
  84. package/dist/exports/client.d.ts.map +1 -1
  85. package/dist/exports/client.js +3 -2
  86. package/dist/exports/client.js.map +1 -1
  87. package/dist/exports/rsc.d.ts +2 -1
  88. package/dist/exports/rsc.d.ts.map +1 -1
  89. package/dist/exports/rsc.js +2 -1
  90. package/dist/exports/rsc.js.map +1 -1
  91. package/dist/exports/utilities.d.ts +2 -67
  92. package/dist/exports/utilities.d.ts.map +1 -1
  93. package/dist/exports/utilities.js +1 -49
  94. package/dist/exports/utilities.js.map +1 -1
  95. package/dist/layouts/Root/index.d.ts +18 -1
  96. package/dist/layouts/Root/index.d.ts.map +1 -1
  97. package/dist/layouts/Root/index.js +29 -4
  98. package/dist/layouts/Root/index.js.map +1 -1
  99. package/dist/prod/styles.css +1 -1
  100. package/dist/routes/graphql/handler.d.ts.map +1 -1
  101. package/dist/routes/graphql/playground.d.ts.map +1 -1
  102. package/dist/routes/rest/index.d.ts.map +1 -1
  103. package/dist/templates/Default/Wrapper/index.css +40 -0
  104. package/dist/templates/Default/Wrapper/index.d.ts +1 -1
  105. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  106. package/dist/templates/Default/Wrapper/index.js +16 -19
  107. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  108. package/dist/templates/Default/index.css +23 -0
  109. package/dist/templates/Default/index.d.ts +2 -2
  110. package/dist/templates/Default/index.d.ts.map +1 -1
  111. package/dist/templates/Default/index.js +5 -21
  112. package/dist/templates/Default/index.js.map +1 -1
  113. package/dist/templates/Minimal/index.css +25 -0
  114. package/dist/templates/Minimal/index.d.ts +1 -1
  115. package/dist/templates/Minimal/index.d.ts.map +1 -1
  116. package/dist/templates/Minimal/index.js.map +1 -1
  117. package/dist/utilities/getHierarchyAncestry.d.ts +24 -0
  118. package/dist/utilities/getHierarchyAncestry.d.ts.map +1 -0
  119. package/dist/utilities/getHierarchyAncestry.js +103 -0
  120. package/dist/utilities/getHierarchyAncestry.js.map +1 -0
  121. package/dist/utilities/getNextRequestI18n.d.ts.map +1 -1
  122. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  123. package/dist/utilities/getRequestHighContrast.d.ts +10 -0
  124. package/dist/utilities/getRequestHighContrast.d.ts.map +1 -0
  125. package/dist/utilities/getRequestHighContrast.js +18 -0
  126. package/dist/utilities/getRequestHighContrast.js.map +1 -0
  127. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  128. package/dist/utilities/getRouteWithoutAdmin.d.ts.map +1 -1
  129. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  130. package/dist/utilities/handleServerFunctions.js +2 -2
  131. package/dist/utilities/handleServerFunctions.js.map +1 -1
  132. package/dist/utilities/initReq.d.ts.map +1 -1
  133. package/dist/utilities/initReq.js +2 -0
  134. package/dist/utilities/initReq.js.map +1 -1
  135. package/dist/utilities/isCustomAdminView.d.ts.map +1 -1
  136. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
  137. package/dist/utilities/meta.d.ts.map +1 -1
  138. package/dist/utilities/timestamp.d.ts.map +1 -1
  139. package/dist/views/API/RenderJSON/index.d.ts.map +1 -1
  140. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  141. package/dist/views/Account/Settings/index.js +2 -1
  142. package/dist/views/Account/Settings/index.js.map +1 -1
  143. package/dist/views/Account/ToggleHighContrast/index.d.ts +3 -0
  144. package/dist/views/Account/ToggleHighContrast/index.d.ts.map +1 -0
  145. package/dist/views/Account/ToggleHighContrast/index.js +45 -0
  146. package/dist/views/Account/ToggleHighContrast/index.js.map +1 -0
  147. package/dist/views/Account/index.d.ts.map +1 -1
  148. package/dist/views/Account/index.js +1 -0
  149. package/dist/views/Account/index.js.map +1 -1
  150. package/dist/views/CollectionTrash/metadata.d.ts.map +1 -1
  151. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  152. package/dist/views/CreateFirstUser/index.client.js +32 -25
  153. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  154. package/dist/views/CreateFirstUser/index.css +69 -0
  155. package/dist/views/CreateFirstUser/index.d.ts +1 -1
  156. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  157. package/dist/views/CreateFirstUser/index.js +9 -5
  158. package/dist/views/CreateFirstUser/index.js.map +1 -1
  159. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  160. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +72 -45
  161. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  162. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
  163. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +25 -22
  164. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  165. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  166. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +2 -3
  167. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  168. package/dist/views/Dashboard/Default/ModularDashboard/index.css +299 -0
  169. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts +1 -1
  170. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts.map +1 -1
  171. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  172. package/dist/views/Dashboard/Default/index.d.ts +0 -6
  173. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  174. package/dist/views/Dashboard/Default/index.js +3 -0
  175. package/dist/views/Dashboard/Default/index.js.map +1 -1
  176. package/dist/views/Dashboard/index.d.ts.map +1 -1
  177. package/dist/views/Dashboard/index.js +1 -0
  178. package/dist/views/Dashboard/index.js.map +1 -1
  179. package/dist/views/Document/getCustomDocumentViewByKey.d.ts.map +1 -1
  180. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  181. package/dist/views/Document/getDocPreferences.d.ts.map +1 -1
  182. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  183. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -1
  184. package/dist/views/Document/getDocumentView.d.ts.map +1 -1
  185. package/dist/views/Document/getDocumentView.js +3 -9
  186. package/dist/views/Document/getDocumentView.js.map +1 -1
  187. package/dist/views/Document/getIsLocked.d.ts.map +1 -1
  188. package/dist/views/Document/getVersions.d.ts.map +1 -1
  189. package/dist/views/Document/handleServerFunction.d.ts.map +1 -1
  190. package/dist/views/Document/handleServerFunction.js +1 -0
  191. package/dist/views/Document/handleServerFunction.js.map +1 -1
  192. package/dist/views/Document/index.d.ts.map +1 -1
  193. package/dist/views/Document/index.js +5 -0
  194. package/dist/views/Document/index.js.map +1 -1
  195. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  196. package/dist/views/Document/renderDocumentSlots.js +17 -8
  197. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  198. package/dist/views/Hierarchy/index.d.ts +18 -0
  199. package/dist/views/Hierarchy/index.d.ts.map +1 -0
  200. package/dist/views/Hierarchy/index.js +20 -0
  201. package/dist/views/Hierarchy/index.js.map +1 -0
  202. package/dist/views/List/createSerializableValue.d.ts.map +1 -1
  203. package/dist/views/List/extractRelationshipDisplayValue.d.ts.map +1 -1
  204. package/dist/views/List/extractValueOrRelationshipID.d.ts.map +1 -1
  205. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  206. package/dist/views/List/handleHierarchy.d.ts +18 -0
  207. package/dist/views/List/handleHierarchy.d.ts.map +1 -0
  208. package/dist/views/List/handleHierarchy.js +259 -0
  209. package/dist/views/List/handleHierarchy.js.map +1 -0
  210. package/dist/views/List/handleServerFunction.d.ts.map +1 -1
  211. package/dist/views/List/handleServerFunction.js +1 -0
  212. package/dist/views/List/handleServerFunction.js.map +1 -1
  213. package/dist/views/List/index.css +3 -0
  214. package/dist/views/List/index.d.ts +1 -0
  215. package/dist/views/List/index.d.ts.map +1 -1
  216. package/dist/views/List/index.js +105 -31
  217. package/dist/views/List/index.js.map +1 -1
  218. package/dist/views/List/metadata.d.ts.map +1 -1
  219. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  220. package/dist/views/List/renderListViewSlots.js +2 -1
  221. package/dist/views/List/renderListViewSlots.js.map +1 -1
  222. package/dist/views/List/resolveAllFilterOptions.d.ts.map +1 -1
  223. package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -1
  224. package/dist/views/Login/LoginForm/index.css +51 -0
  225. package/dist/views/Login/LoginForm/index.d.ts +1 -1
  226. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  227. package/dist/views/Login/LoginForm/index.js +16 -10
  228. package/dist/views/Login/LoginForm/index.js.map +1 -1
  229. package/dist/views/Login/index.css +8 -0
  230. package/dist/views/Login/index.d.ts +1 -1
  231. package/dist/views/Login/index.d.ts.map +1 -1
  232. package/dist/views/Login/index.js +3 -0
  233. package/dist/views/Login/index.js.map +1 -1
  234. package/dist/views/NotFound/index.client.d.ts +2 -4
  235. package/dist/views/NotFound/index.client.d.ts.map +1 -1
  236. package/dist/views/NotFound/index.client.js +25 -42
  237. package/dist/views/NotFound/index.client.js.map +1 -1
  238. package/dist/views/NotFound/index.css +47 -0
  239. package/dist/views/NotFound/index.d.ts.map +1 -1
  240. package/dist/views/NotFound/index.js +2 -3
  241. package/dist/views/NotFound/index.js.map +1 -1
  242. package/dist/views/NotFound/metadata.d.ts.map +1 -1
  243. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -1
  244. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  245. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts +12 -0
  246. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -0
  247. package/dist/views/Root/getCustomGlobalViewByRoute.js +46 -0
  248. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -0
  249. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  250. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  251. package/dist/views/Root/getRouteData.d.ts +1 -4
  252. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  253. package/dist/views/Root/getRouteData.js +83 -110
  254. package/dist/views/Root/getRouteData.js.map +1 -1
  255. package/dist/views/Root/index.d.ts.map +1 -1
  256. package/dist/views/Root/index.js +8 -16
  257. package/dist/views/Root/index.js.map +1 -1
  258. package/dist/views/Root/isPathMatchingRoute.d.ts.map +1 -1
  259. package/dist/views/Root/metadata.d.ts.map +1 -1
  260. package/dist/views/Root/metadata.js +1 -37
  261. package/dist/views/Root/metadata.js.map +1 -1
  262. package/dist/views/Unauthorized/index.css +44 -0
  263. package/dist/views/Unauthorized/index.d.ts +1 -1
  264. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  265. package/dist/views/Unauthorized/index.js +12 -33
  266. package/dist/views/Unauthorized/index.js.map +1 -1
  267. package/dist/views/Verify/index.d.ts.map +1 -1
  268. package/dist/views/Verify/index.js +1 -0
  269. package/dist/views/Verify/index.js.map +1 -1
  270. package/dist/views/Version/Default/index.d.ts.map +1 -1
  271. package/dist/views/Version/Default/index.js +4 -4
  272. package/dist/views/Version/Default/index.js.map +1 -1
  273. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +1 -1
  274. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  275. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
  276. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  277. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
  278. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  279. package/dist/views/Version/Restore/index.js +1 -1
  280. package/dist/views/Version/Restore/index.js.map +1 -1
  281. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  282. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +0 -1
  283. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  284. package/dist/views/Version/VersionPillLabel/VersionPillLabel.d.ts +1 -1
  285. package/dist/views/Version/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
  286. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  287. package/dist/views/Version/VersionPillLabel/index.css +23 -0
  288. package/dist/views/Version/fetchVersions.d.ts.map +1 -1
  289. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  290. package/dist/views/Versions/buildColumns.js +18 -18
  291. package/dist/views/Versions/buildColumns.js.map +1 -1
  292. package/dist/views/Versions/cells/AutosaveCell/index.css +7 -0
  293. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +1 -1
  294. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  295. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  296. package/dist/views/Versions/index.client.d.ts.map +1 -1
  297. package/dist/views/Versions/index.client.js +7 -23
  298. package/dist/views/Versions/index.client.js.map +1 -1
  299. package/dist/views/Versions/index.css +85 -0
  300. package/dist/views/Versions/index.d.ts +1 -1
  301. package/dist/views/Versions/index.d.ts.map +1 -1
  302. package/dist/views/Versions/index.js +1 -1
  303. package/dist/views/Versions/index.js.map +1 -1
  304. package/dist/withPayload/withPayload.d.ts.map +1 -1
  305. package/dist/withPayload/withPayload.js +9 -27
  306. package/dist/withPayload/withPayload.js.map +1 -1
  307. package/dist/withPayload/withPayload.utils.d.ts +0 -14
  308. package/dist/withPayload/withPayload.utils.d.ts.map +1 -1
  309. package/dist/withPayload/withPayload.utils.js +0 -73
  310. package/dist/withPayload/withPayload.utils.js.map +1 -1
  311. package/package.json +14 -14
  312. package/dist/elements/Nav/NavHamburger/index.d.ts +0 -8
  313. package/dist/elements/Nav/NavHamburger/index.d.ts.map +0 -1
  314. package/dist/elements/Nav/NavHamburger/index.js.map +0 -1
  315. package/dist/templates/Default/NavHamburger/index.d.ts +0 -3
  316. package/dist/templates/Default/NavHamburger/index.d.ts.map +0 -1
  317. package/dist/templates/Default/NavHamburger/index.js +0 -25
  318. package/dist/templates/Default/NavHamburger/index.js.map +0 -1
  319. package/dist/views/BrowseByFolder/buildView.d.ts +0 -13
  320. package/dist/views/BrowseByFolder/buildView.d.ts.map +0 -1
  321. package/dist/views/BrowseByFolder/buildView.js +0 -170
  322. package/dist/views/BrowseByFolder/buildView.js.map +0 -1
  323. package/dist/views/BrowseByFolder/index.d.ts +0 -4
  324. package/dist/views/BrowseByFolder/index.d.ts.map +0 -1
  325. package/dist/views/BrowseByFolder/index.js +0 -20
  326. package/dist/views/BrowseByFolder/index.js.map +0 -1
  327. package/dist/views/BrowseByFolder/metadata.d.ts +0 -4
  328. package/dist/views/BrowseByFolder/metadata.d.ts.map +0 -1
  329. package/dist/views/BrowseByFolder/metadata.js +0 -18
  330. package/dist/views/BrowseByFolder/metadata.js.map +0 -1
  331. package/dist/views/CollectionFolders/buildView.d.ts +0 -15
  332. package/dist/views/CollectionFolders/buildView.d.ts.map +0 -1
  333. package/dist/views/CollectionFolders/buildView.js +0 -156
  334. package/dist/views/CollectionFolders/buildView.js.map +0 -1
  335. package/dist/views/CollectionFolders/index.d.ts +0 -4
  336. package/dist/views/CollectionFolders/index.d.ts.map +0 -1
  337. package/dist/views/CollectionFolders/index.js +0 -20
  338. package/dist/views/CollectionFolders/index.js.map +0 -1
  339. package/dist/views/CollectionFolders/metadata.d.ts +0 -7
  340. package/dist/views/CollectionFolders/metadata.d.ts.map +0 -1
  341. package/dist/views/CollectionFolders/metadata.js +0 -25
  342. package/dist/views/CollectionFolders/metadata.js.map +0 -1
  343. package/dist/views/CollectionFolders/renderFolderViewSlots.d.ts +0 -11
  344. package/dist/views/CollectionFolders/renderFolderViewSlots.d.ts.map +0 -1
  345. package/dist/views/CollectionFolders/renderFolderViewSlots.js +0 -64
  346. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +0 -1
  347. package/dist/withPayload/withPayloadLegacy.d.ts +0 -2
  348. package/dist/withPayload/withPayloadLegacy.d.ts.map +0 -1
  349. package/dist/withPayload/withPayloadLegacy.js +0 -47
  350. package/dist/withPayload/withPayloadLegacy.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/next",
3
- "version": "4.0.0-internal.5b1e7cd",
3
+ "version": "4.0.0-internal.c2b57ce",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -91,17 +91,17 @@
91
91
  "@dnd-kit/sortable": "10.0.0",
92
92
  "busboy": "^1.6.0",
93
93
  "dequal": "2.0.3",
94
- "file-type": "21.3.4",
95
- "graphql-http": "^1.22.0",
94
+ "file-type": "22.0.1",
95
+ "graphql-http": "1.22.4",
96
96
  "graphql-playground-html": "1.6.30",
97
97
  "http-status": "2.1.0",
98
98
  "path-to-regexp": "6.3.0",
99
99
  "qs-esm": "8.0.1",
100
100
  "sass": "1.77.4",
101
- "uuid": "11.1.0",
102
- "@payloadcms/graphql": "4.0.0-internal.5b1e7cd",
103
- "@payloadcms/translations": "4.0.0-internal.5b1e7cd",
104
- "@payloadcms/ui": "4.0.0-internal.5b1e7cd"
101
+ "uuid": "14.0.0",
102
+ "@payloadcms/translations": "4.0.0-internal.c2b57ce",
103
+ "@payloadcms/graphql": "4.0.0-internal.c2b57ce",
104
+ "@payloadcms/ui": "4.0.0-internal.c2b57ce"
105
105
  },
106
106
  "devDependencies": {
107
107
  "@babel/cli": "7.27.2",
@@ -109,24 +109,24 @@
109
109
  "@babel/preset-env": "7.27.2",
110
110
  "@babel/preset-react": "7.27.1",
111
111
  "@babel/preset-typescript": "7.27.1",
112
- "@next/eslint-plugin-next": "16.2.3",
112
+ "@next/eslint-plugin-next": "16.2.6",
113
113
  "@types/busboy": "1.5.4",
114
- "@types/react": "19.2.9",
114
+ "@types/react": "19.2.14",
115
115
  "@types/react-dom": "19.2.3",
116
116
  "babel-plugin-react-compiler": "19.1.0-rc.3",
117
117
  "esbuild": "0.27.1",
118
118
  "esbuild-sass-plugin": "3.3.1",
119
119
  "swc-plugin-transform-remove-imports": "8.3.0",
120
- "payload": "4.0.0-internal.5b1e7cd",
121
- "@payloadcms/eslint-config": "3.28.0"
120
+ "@payloadcms/eslint-config": "3.28.0",
121
+ "payload": "4.0.0-internal.c2b57ce"
122
122
  },
123
123
  "peerDependencies": {
124
124
  "graphql": "^16.8.1",
125
- "next": ">=15.2.9 <15.3.0 || >=15.3.9 <15.4.0 || >=15.4.11 <15.5.0 || >=16.2.2 <17.0.0",
126
- "payload": "4.0.0-internal.5b1e7cd"
125
+ "next": ">=16.2.6 <17.0.0",
126
+ "payload": "4.0.0-internal.c2b57ce"
127
127
  },
128
128
  "engines": {
129
- "node": "^18.20.2 || >=20.9.0"
129
+ "node": ">=24.15.0"
130
130
  },
131
131
  "publishConfig": {
132
132
  "registry": "https://registry.npmjs.org/"
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- /**
3
- * @internal
4
- */
5
- export declare const NavHamburger: React.FC<{
6
- baseClass?: string;
7
- }>;
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Nav/NavHamburger/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAeA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["c","_c","Hamburger","useNav","React","NavHamburger","t0","$","baseClass","navOpen","setNavOpen","t1","t2","t3","undefined","t4","_jsx","className","onClick","tabIndex","type","children","isActive"],"sources":["../../../../src/elements/Nav/NavHamburger/index.tsx"],"sourcesContent":["'use client'\nimport { Hamburger, useNav } from '@payloadcms/ui'\nimport React from 'react'\n\n/**\n * @internal\n */\nexport const NavHamburger: React.FC<{\n baseClass?: string\n}> = ({ baseClass }) => {\n const { navOpen, setNavOpen } = useNav()\n\n return (\n <button\n className={`${baseClass}__mobile-close`}\n onClick={() => {\n setNavOpen(false)\n }}\n tabIndex={!navOpen ? -1 : undefined}\n type=\"button\"\n >\n <Hamburger isActive />\n </button>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,SAAS,EAAEC,MAAM,QAAQ;AAClC,OAAOC,KAAA,MAAW;AAElB;;;AAGA,OAAO,MAAMC,YAAA,GAERC,EAAA;EAAA,MAAAC,CAAA,GAAAN,EAAA;EAAC;IAAAO;EAAA,IAAAF,EAAa;EACjB;IAAAG,OAAA;IAAAC;EAAA,IAAgCP,MAAA;EAIjB,MAAAQ,EAAA,MAAGH,SAAA,gBAAyB;EAAA,IAAAI,EAAA;EAAA,IAAAL,CAAA,QAAAG,UAAA;IAC9BE,EAAA,GAAAA,CAAA;MACPF,UAAA,MAAW;IAAA;IACbH,CAAA,MAAAG,UAAA;IAAAH,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EACU,MAAAM,EAAA,IAACJ,OAAA,QAAAK,SAAe;EAAA,IAAAC,EAAA;EAAA,IAAAR,CAAA,QAAAI,EAAA,IAAAJ,CAAA,QAAAK,EAAA,IAAAL,CAAA,QAAAM,EAAA;IAL5BE,EAAA,GAAAC,IAAA,CAAC;MAAAC,SAAA,EACYN,EAA4B;MAAAO,OAAA,EAC9BN,EAET;MAAAO,QAAA,EACUN,EAAgB;MAAAO,IAAA,EACrB;MAAAC,QAAA,EAELL,IAAA,CAAAd,SAAA;QAAAoB,QAAA;MAAA,C;;;;;;;;;SARFP,E;CAWJ","ignoreList":[]}
@@ -1,3 +0,0 @@
1
- import React from 'react';
2
- export declare const NavHamburger: React.FC;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/templates/Default/NavHamburger/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAGhC,CAAA"}
@@ -1,25 +0,0 @@
1
- 'use client';
2
-
3
- import { c as _c } from "react/compiler-runtime";
4
- import { jsx as _jsx } from "react/jsx-runtime";
5
- import { Hamburger, useNav } from '@payloadcms/ui';
6
- import React from 'react';
7
- export const NavHamburger = () => {
8
- const $ = _c(2);
9
- const {
10
- navOpen
11
- } = useNav();
12
- let t0;
13
- if ($[0] !== navOpen) {
14
- t0 = _jsx(Hamburger, {
15
- closeIcon: "collapse",
16
- isActive: navOpen
17
- });
18
- $[0] = navOpen;
19
- $[1] = t0;
20
- } else {
21
- t0 = $[1];
22
- }
23
- return t0;
24
- };
25
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["c","_c","Hamburger","useNav","React","NavHamburger","$","navOpen","t0","_jsx","closeIcon","isActive"],"sources":["../../../../src/templates/Default/NavHamburger/index.tsx"],"sourcesContent":["'use client'\nimport { Hamburger, useNav } from '@payloadcms/ui'\nimport React from 'react'\n\nexport const NavHamburger: React.FC = () => {\n const { navOpen } = useNav()\n return <Hamburger closeIcon=\"collapse\" isActive={navOpen} />\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,SAAS,EAAEC,MAAM,QAAQ;AAClC,OAAOC,KAAA,MAAW;AAElB,OAAO,MAAMC,YAAA,GAAyBA,CAAA;EAAA,MAAAC,CAAA,GAAAL,EAAA;EACpC;IAAAM;EAAA,IAAoBJ,MAAA;EAAA,IAAAK,EAAA;EAAA,IAAAF,CAAA,QAAAC,OAAA;IACbC,EAAA,GAAAC,IAAA,CAAAP,SAAA;MAAAQ,SAAA,EAAqB;MAAAC,QAAA,EAAqBJ;IAAA,C;;;;;;SAA1CC,E;CACT","ignoreList":[]}
@@ -1,13 +0,0 @@
1
- import type { AdminViewServerProps, BuildCollectionFolderViewResult, ListQuery } from 'payload';
2
- export type BuildFolderViewArgs = {
3
- customCellProps?: Record<string, any>;
4
- disableBulkDelete?: boolean;
5
- disableBulkEdit?: boolean;
6
- enableRowSelections: boolean;
7
- folderID?: number | string;
8
- isInDrawer?: boolean;
9
- overrideEntityVisibility?: boolean;
10
- query: ListQuery;
11
- } & AdminViewServerProps;
12
- export declare const buildBrowseByFolderView: (args: BuildFolderViewArgs) => Promise<BuildCollectionFolderViewResult>;
13
- //# sourceMappingURL=buildView.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildView.d.ts","sourceRoot":"","sources":["../../../src/views/BrowseByFolder/buildView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,+BAA+B,EAI/B,SAAS,EACV,MAAM,SAAS,CAAA;AAUhB,MAAM,MAAM,mBAAmB,GAAG;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,EAAE,SAAS,CAAA;CACjB,GAAG,oBAAoB,CAAA;AAExB,eAAO,MAAM,uBAAuB,SAC5B,mBAAmB,KACxB,OAAO,CAAC,+BAA+B,CAwMzC,CAAA"}
@@ -1,170 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { DefaultBrowseByFolderView, HydrateAuthProvider } from '@payloadcms/ui';
3
- import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
4
- import { getFolderResultsComponentAndData, upsertPreferences } from '@payloadcms/ui/rsc';
5
- import { formatAdminURL } from '@payloadcms/ui/shared';
6
- import { redirect } from 'next/navigation.js';
7
- import { PREFERENCE_KEYS } from 'payload/shared';
8
- import React from 'react';
9
- export const buildBrowseByFolderView = async args => {
10
- const {
11
- browseByFolderSlugs: browseByFolderSlugsFromArgs = [],
12
- disableBulkDelete,
13
- disableBulkEdit,
14
- enableRowSelections,
15
- folderID,
16
- initPageResult,
17
- isInDrawer,
18
- params,
19
- query: queryFromArgs,
20
- searchParams
21
- } = args;
22
- const {
23
- locale: fullLocale,
24
- permissions,
25
- req: {
26
- i18n,
27
- payload,
28
- payload: {
29
- config
30
- },
31
- query: queryFromReq,
32
- user
33
- },
34
- visibleEntities
35
- } = initPageResult;
36
- if (config.folders === false || config.folders.browseByFolder === false) {
37
- throw new Error('not-found');
38
- }
39
- const foldersSlug = config.folders.slug;
40
- /**
41
- * All visiible folder enabled collection slugs that the user has read permissions for.
42
- */
43
- const allowReadCollectionSlugs = browseByFolderSlugsFromArgs.filter(collectionSlug => permissions?.collections?.[collectionSlug]?.read && visibleEntities.collections.includes(collectionSlug));
44
- const query = queryFromArgs || (queryFromReq ? {
45
- ...queryFromReq,
46
- relationTo: typeof queryFromReq?.relationTo === 'string' ? JSON.parse(queryFromReq.relationTo) : undefined
47
- } : {});
48
- /**
49
- * If a folderID is provided and the relationTo query param exists,
50
- * we filter the collection slugs to only those that are allowed to be read.
51
- *
52
- * If no folderID is provided, only folders should be active and displayed (the root view).
53
- */
54
- let collectionsToDisplay = [];
55
- if (folderID && Array.isArray(query?.relationTo)) {
56
- collectionsToDisplay = query.relationTo.filter(slug => allowReadCollectionSlugs.includes(slug) || slug === foldersSlug);
57
- } else if (folderID) {
58
- collectionsToDisplay = [...allowReadCollectionSlugs, foldersSlug];
59
- } else {
60
- collectionsToDisplay = [foldersSlug];
61
- }
62
- const {
63
- routes: {
64
- admin: adminRoute
65
- }
66
- } = config;
67
- /**
68
- * @todo: find a pattern to avoid setting preferences on hard navigation, i.e. direct links, page refresh, etc.
69
- * This will ensure that prefs are only updated when explicitly set by the user
70
- * This could potentially be done by injecting a `sessionID` into the params and comparing it against a session cookie
71
- */
72
- const browseByFolderPreferences = await upsertPreferences({
73
- key: PREFERENCE_KEYS.BROWSE_BY_FOLDER,
74
- req: initPageResult.req,
75
- value: {
76
- sort: query?.sort
77
- }
78
- });
79
- const sortPreference = browseByFolderPreferences?.sort || 'name';
80
- const viewPreference = browseByFolderPreferences?.viewPreference || 'grid';
81
- const {
82
- breadcrumbs,
83
- documents,
84
- folderAssignedCollections,
85
- FolderResultsComponent,
86
- subfolders
87
- } = await getFolderResultsComponentAndData({
88
- browseByFolder: true,
89
- collectionsToDisplay,
90
- displayAs: viewPreference,
91
- folderAssignedCollections: collectionsToDisplay.filter(slug => slug !== foldersSlug) || [],
92
- folderID,
93
- req: initPageResult.req,
94
- sort: sortPreference
95
- });
96
- const resolvedFolderID = breadcrumbs[breadcrumbs.length - 1]?.id;
97
- if (!isInDrawer && (resolvedFolderID && folderID && folderID !== resolvedFolderID || folderID && !resolvedFolderID)) {
98
- redirect(formatAdminURL({
99
- adminRoute,
100
- path: config.admin.routes.browseByFolder
101
- }));
102
- }
103
- const serverProps = {
104
- documents,
105
- i18n,
106
- locale: fullLocale,
107
- params,
108
- payload,
109
- permissions,
110
- searchParams,
111
- subfolders,
112
- user
113
- };
114
- // const folderViewSlots = renderFolderViewSlots({
115
- // clientProps: {
116
- // },
117
- // description: staticDescription,
118
- // payload,
119
- // serverProps,
120
- // })
121
- // Filter down allCollectionFolderSlugs by the ones the current folder is assingned to
122
- const allAvailableCollectionSlugs = folderID && Array.isArray(folderAssignedCollections) && folderAssignedCollections.length ? allowReadCollectionSlugs.filter(slug => folderAssignedCollections.includes(slug)) : allowReadCollectionSlugs;
123
- // Filter down activeCollectionFolderSlugs by the ones the current folder is assingned to
124
- const availableActiveCollectionFolderSlugs = collectionsToDisplay.filter(slug => {
125
- if (slug === foldersSlug) {
126
- return permissions?.collections?.[foldersSlug]?.read;
127
- } else {
128
- return !folderAssignedCollections || folderAssignedCollections.includes(slug);
129
- }
130
- });
131
- // Documents cannot be created without a parent folder in this view
132
- const allowCreateCollectionSlugs = (resolvedFolderID ? [foldersSlug, ...allAvailableCollectionSlugs] : [foldersSlug]).filter(collectionSlug => {
133
- if (collectionSlug === foldersSlug) {
134
- return permissions?.collections?.[foldersSlug]?.create;
135
- }
136
- return permissions?.collections?.[collectionSlug]?.create && visibleEntities.collections.includes(collectionSlug);
137
- });
138
- return {
139
- View: /*#__PURE__*/_jsxs(_Fragment, {
140
- children: [/*#__PURE__*/_jsx(HydrateAuthProvider, {
141
- permissions: permissions
142
- }), RenderServerComponent({
143
- clientProps: {
144
- // ...folderViewSlots,
145
- activeCollectionFolderSlugs: availableActiveCollectionFolderSlugs,
146
- allCollectionFolderSlugs: allAvailableCollectionSlugs,
147
- allowCreateCollectionSlugs,
148
- baseFolderPath: `/browse-by-folder`,
149
- breadcrumbs,
150
- disableBulkDelete,
151
- disableBulkEdit,
152
- documents,
153
- enableRowSelections,
154
- folderAssignedCollections,
155
- folderFieldName: config.folders.fieldName,
156
- folderID: resolvedFolderID || null,
157
- FolderResultsComponent,
158
- sort: sortPreference,
159
- subfolders,
160
- viewPreference
161
- },
162
- // Component:config.folders?.components?.views?.BrowseByFolders?.Component,
163
- Fallback: DefaultBrowseByFolderView,
164
- importMap: payload.importMap,
165
- serverProps
166
- })]
167
- })
168
- };
169
- };
170
- //# sourceMappingURL=buildView.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildView.js","names":["DefaultBrowseByFolderView","HydrateAuthProvider","RenderServerComponent","getFolderResultsComponentAndData","upsertPreferences","formatAdminURL","redirect","PREFERENCE_KEYS","React","buildBrowseByFolderView","args","browseByFolderSlugs","browseByFolderSlugsFromArgs","disableBulkDelete","disableBulkEdit","enableRowSelections","folderID","initPageResult","isInDrawer","params","query","queryFromArgs","searchParams","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","folders","browseByFolder","Error","foldersSlug","slug","allowReadCollectionSlugs","filter","collectionSlug","collections","read","includes","relationTo","JSON","parse","undefined","collectionsToDisplay","Array","isArray","routes","admin","adminRoute","browseByFolderPreferences","key","BROWSE_BY_FOLDER","value","sort","sortPreference","viewPreference","breadcrumbs","documents","folderAssignedCollections","FolderResultsComponent","subfolders","displayAs","resolvedFolderID","length","id","path","serverProps","allAvailableCollectionSlugs","availableActiveCollectionFolderSlugs","allowCreateCollectionSlugs","create","View","_jsxs","_Fragment","_jsx","clientProps","activeCollectionFolderSlugs","allCollectionFolderSlugs","baseFolderPath","folderFieldName","fieldName","Fallback","importMap"],"sources":["../../../src/views/BrowseByFolder/buildView.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n BuildCollectionFolderViewResult,\n FolderListViewClientProps,\n FolderListViewServerPropsOnly,\n FolderSortKeys,\n ListQuery,\n} from 'payload'\n\nimport { DefaultBrowseByFolderView, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getFolderResultsComponentAndData, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { redirect } from 'next/navigation.js'\nimport { PREFERENCE_KEYS } from 'payload/shared'\nimport React from 'react'\n\nexport type BuildFolderViewArgs = {\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n enableRowSelections: boolean\n folderID?: number | string\n isInDrawer?: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n} & AdminViewServerProps\n\nexport const buildBrowseByFolderView = async (\n args: BuildFolderViewArgs,\n): Promise<BuildCollectionFolderViewResult> => {\n const {\n browseByFolderSlugs: browseByFolderSlugsFromArgs = [],\n disableBulkDelete,\n disableBulkEdit,\n enableRowSelections,\n folderID,\n initPageResult,\n isInDrawer,\n params,\n query: queryFromArgs,\n searchParams,\n } = args\n\n const {\n locale: fullLocale,\n permissions,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (config.folders === false || config.folders.browseByFolder === false) {\n throw new Error('not-found')\n }\n\n const foldersSlug = config.folders.slug\n\n /**\n * All visiible folder enabled collection slugs that the user has read permissions for.\n */\n const allowReadCollectionSlugs = browseByFolderSlugsFromArgs.filter(\n (collectionSlug) =>\n permissions?.collections?.[collectionSlug]?.read &&\n visibleEntities.collections.includes(collectionSlug),\n )\n\n const query =\n queryFromArgs ||\n ((queryFromReq\n ? {\n ...queryFromReq,\n relationTo:\n typeof queryFromReq?.relationTo === 'string'\n ? JSON.parse(queryFromReq.relationTo)\n : undefined,\n }\n : {}) as ListQuery)\n\n /**\n * If a folderID is provided and the relationTo query param exists,\n * we filter the collection slugs to only those that are allowed to be read.\n *\n * If no folderID is provided, only folders should be active and displayed (the root view).\n */\n let collectionsToDisplay: string[] = []\n if (folderID && Array.isArray(query?.relationTo)) {\n collectionsToDisplay = query.relationTo.filter(\n (slug) => allowReadCollectionSlugs.includes(slug) || slug === foldersSlug,\n )\n } else if (folderID) {\n collectionsToDisplay = [...allowReadCollectionSlugs, foldersSlug]\n } else {\n collectionsToDisplay = [foldersSlug]\n }\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n /**\n * @todo: find a pattern to avoid setting preferences on hard navigation, i.e. direct links, page refresh, etc.\n * This will ensure that prefs are only updated when explicitly set by the user\n * This could potentially be done by injecting a `sessionID` into the params and comparing it against a session cookie\n */\n const browseByFolderPreferences = await upsertPreferences<{\n sort?: FolderSortKeys\n viewPreference?: 'grid' | 'list'\n }>({\n key: PREFERENCE_KEYS.BROWSE_BY_FOLDER,\n req: initPageResult.req,\n value: {\n sort: query?.sort as FolderSortKeys,\n },\n })\n\n const sortPreference: FolderSortKeys = browseByFolderPreferences?.sort || 'name'\n const viewPreference = browseByFolderPreferences?.viewPreference || 'grid'\n\n const { breadcrumbs, documents, folderAssignedCollections, FolderResultsComponent, subfolders } =\n await getFolderResultsComponentAndData({\n browseByFolder: true,\n collectionsToDisplay,\n displayAs: viewPreference,\n folderAssignedCollections: collectionsToDisplay.filter((slug) => slug !== foldersSlug) || [],\n folderID,\n req: initPageResult.req,\n sort: sortPreference,\n })\n\n const resolvedFolderID = breadcrumbs[breadcrumbs.length - 1]?.id\n\n if (\n !isInDrawer &&\n ((resolvedFolderID && folderID && folderID !== resolvedFolderID) ||\n (folderID && !resolvedFolderID))\n ) {\n redirect(\n formatAdminURL({\n adminRoute,\n path: config.admin.routes.browseByFolder,\n }),\n )\n }\n\n const serverProps: Omit<FolderListViewServerPropsOnly, 'collectionConfig' | 'listPreferences'> = {\n documents,\n i18n,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n subfolders,\n user,\n }\n\n // const folderViewSlots = renderFolderViewSlots({\n // clientProps: {\n // },\n // description: staticDescription,\n // payload,\n // serverProps,\n // })\n\n // Filter down allCollectionFolderSlugs by the ones the current folder is assingned to\n const allAvailableCollectionSlugs =\n folderID && Array.isArray(folderAssignedCollections) && folderAssignedCollections.length\n ? allowReadCollectionSlugs.filter((slug) => folderAssignedCollections.includes(slug))\n : allowReadCollectionSlugs\n\n // Filter down activeCollectionFolderSlugs by the ones the current folder is assingned to\n const availableActiveCollectionFolderSlugs = collectionsToDisplay.filter((slug) => {\n if (slug === foldersSlug) {\n return permissions?.collections?.[foldersSlug]?.read\n } else {\n return !folderAssignedCollections || folderAssignedCollections.includes(slug)\n }\n })\n\n // Documents cannot be created without a parent folder in this view\n const allowCreateCollectionSlugs = (\n resolvedFolderID ? [foldersSlug, ...allAvailableCollectionSlugs] : [foldersSlug]\n ).filter((collectionSlug) => {\n if (collectionSlug === foldersSlug) {\n return permissions?.collections?.[foldersSlug]?.create\n }\n return (\n permissions?.collections?.[collectionSlug]?.create &&\n visibleEntities.collections.includes(collectionSlug)\n )\n })\n\n return {\n View: (\n <>\n <HydrateAuthProvider permissions={permissions} />\n {RenderServerComponent({\n clientProps: {\n // ...folderViewSlots,\n activeCollectionFolderSlugs: availableActiveCollectionFolderSlugs,\n allCollectionFolderSlugs: allAvailableCollectionSlugs,\n allowCreateCollectionSlugs,\n baseFolderPath: `/browse-by-folder`,\n breadcrumbs,\n disableBulkDelete,\n disableBulkEdit,\n documents,\n enableRowSelections,\n folderAssignedCollections,\n folderFieldName: config.folders.fieldName,\n folderID: resolvedFolderID || null,\n FolderResultsComponent,\n sort: sortPreference,\n subfolders,\n viewPreference,\n } satisfies FolderListViewClientProps,\n // Component:config.folders?.components?.views?.BrowseByFolders?.Component,\n Fallback: DefaultBrowseByFolderView,\n importMap: payload.importMap,\n serverProps,\n })}\n </>\n ),\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- import type React from 'react';
2
- import type { BuildFolderViewArgs } from './buildView.js';
3
- export declare const BrowseByFolder: React.FC<BuildFolderViewArgs>;
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/BrowseByFolder/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAIzD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAcxD,CAAA"}
@@ -1,20 +0,0 @@
1
- import { notFound } from 'next/navigation.js';
2
- import { buildBrowseByFolderView } from './buildView.js';
3
- export const BrowseByFolder = async args => {
4
- try {
5
- const {
6
- View
7
- } = await buildBrowseByFolderView(args);
8
- return View;
9
- } catch (error) {
10
- if (error?.message === 'NEXT_REDIRECT') {
11
- throw error;
12
- }
13
- if (error.message === 'not-found') {
14
- notFound();
15
- } else {
16
- console.error(error); // eslint-disable-line no-console
17
- }
18
- }
19
- };
20
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["notFound","buildBrowseByFolderView","BrowseByFolder","args","View","error","message","console"],"sources":["../../../src/views/BrowseByFolder/index.tsx"],"sourcesContent":["import type React from 'react'\n\nimport { notFound } from 'next/navigation.js'\n\nimport type { BuildFolderViewArgs } from './buildView.js'\n\nimport { buildBrowseByFolderView } from './buildView.js'\n\nexport const BrowseByFolder: React.FC<BuildFolderViewArgs> = async (args) => {\n try {\n const { View } = await buildBrowseByFolderView(args)\n return View\n } catch (error) {\n if (error?.message === 'NEXT_REDIRECT') {\n throw error\n }\n if (error.message === 'not-found') {\n notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":"AAEA,SAASA,QAAQ,QAAQ;AAIzB,SAASC,uBAAuB,QAAQ;AAExC,OAAO,MAAMC,cAAA,GAAgD,MAAOC,IAAA;EAClE,IAAI;IACF,MAAM;MAAEC;IAAI,CAAE,GAAG,MAAMH,uBAAA,CAAwBE,IAAA;IAC/C,OAAOC,IAAA;EACT,EAAE,OAAOC,KAAA,EAAO;IACd,IAAIA,KAAA,EAAOC,OAAA,KAAY,iBAAiB;MACtC,MAAMD,KAAA;IACR;IACA,IAAIA,KAAA,CAAMC,OAAO,KAAK,aAAa;MACjCN,QAAA;IACF,OAAO;MACLO,OAAA,CAAQF,KAAK,CAACA,KAAA,GAAO;IACvB;EACF;AACF","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- import type { Metadata } from 'next';
2
- import type { GenerateViewMetadata } from '../Root/index.js';
3
- export declare const generateBrowseByFolderMetadata: (args: Parameters<GenerateViewMetadata>[0]) => Promise<Metadata>;
4
- //# sourceMappingURL=metadata.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/views/BrowseByFolder/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAEpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAI5D,eAAO,MAAM,8BAA8B,SACnC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,KACxC,OAAO,CAAC,QAAQ,CAclB,CAAA"}
@@ -1,18 +0,0 @@
1
- import { generateMetadata } from '../../utilities/meta.js';
2
- export const generateBrowseByFolderMetadata = async args => {
3
- const {
4
- config,
5
- i18n
6
- } = args;
7
- const title = i18n.t('folder:browseByFolder');
8
- const description = '';
9
- const keywords = '';
10
- return generateMetadata({
11
- ...(config.admin.meta || {}),
12
- description,
13
- keywords,
14
- serverURL: config.serverURL,
15
- title
16
- });
17
- };
18
- //# sourceMappingURL=metadata.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metadata.js","names":["generateMetadata","generateBrowseByFolderMetadata","args","config","i18n","title","t","description","keywords","admin","meta","serverURL"],"sources":["../../../src/views/BrowseByFolder/metadata.ts"],"sourcesContent":["import type { Metadata } from 'next'\n\nimport type { GenerateViewMetadata } from '../Root/index.js'\n\nimport { generateMetadata } from '../../utilities/meta.js'\n\nexport const generateBrowseByFolderMetadata = async (\n args: Parameters<GenerateViewMetadata>[0],\n): Promise<Metadata> => {\n const { config, i18n } = args\n\n const title: string = i18n.t('folder:browseByFolder')\n const description: string = ''\n const keywords: string = ''\n\n return generateMetadata({\n ...(config.admin.meta || {}),\n description,\n keywords,\n serverURL: config.serverURL,\n title,\n })\n}\n"],"mappings":"AAIA,SAASA,gBAAgB,QAAQ;AAEjC,OAAO,MAAMC,8BAAA,GAAiC,MAC5CC,IAAA;EAEA,MAAM;IAAEC,MAAM;IAAEC;EAAI,CAAE,GAAGF,IAAA;EAEzB,MAAMG,KAAA,GAAgBD,IAAA,CAAKE,CAAC,CAAC;EAC7B,MAAMC,WAAA,GAAsB;EAC5B,MAAMC,QAAA,GAAmB;EAEzB,OAAOR,gBAAA,CAAiB;IACtB,IAAIG,MAAA,CAAOM,KAAK,CAACC,IAAI,IAAI,CAAC,CAAC;IAC3BH,WAAA;IACAC,QAAA;IACAG,SAAA,EAAWR,MAAA,CAAOQ,SAAS;IAC3BN;EACF;AACF","ignoreList":[]}
@@ -1,15 +0,0 @@
1
- import type { AdminViewServerProps, BuildCollectionFolderViewResult, ListQuery } from 'payload';
2
- export type BuildCollectionFolderViewStateArgs = {
3
- disableBulkDelete?: boolean;
4
- disableBulkEdit?: boolean;
5
- enableRowSelections: boolean;
6
- folderID?: number | string;
7
- isInDrawer?: boolean;
8
- overrideEntityVisibility?: boolean;
9
- query: ListQuery;
10
- } & AdminViewServerProps;
11
- /**
12
- * Builds the entire view for collection-folder views on the server
13
- */
14
- export declare const buildCollectionFolderView: (args: BuildCollectionFolderViewStateArgs) => Promise<BuildCollectionFolderViewResult>;
15
- //# sourceMappingURL=buildView.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildView.d.ts","sourceRoot":"","sources":["../../../src/views/CollectionFolders/buildView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,+BAA+B,EAI/B,SAAS,EACV,MAAM,SAAS,CAAA;AAWhB,MAAM,MAAM,kCAAkC,GAAG;IAC/C,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,EAAE,SAAS,CAAA;CACjB,GAAG,oBAAoB,CAAA;AAExB;;GAEG;AACH,eAAO,MAAM,yBAAyB,SAC9B,kCAAkC,KACvC,OAAO,CAAC,+BAA+B,CAiLzC,CAAA"}
@@ -1,156 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { DefaultCollectionFolderView, HydrateAuthProvider } from '@payloadcms/ui';
3
- import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
4
- import { getFolderResultsComponentAndData, upsertPreferences } from '@payloadcms/ui/rsc';
5
- import { formatAdminURL } from '@payloadcms/ui/shared';
6
- import { redirect } from 'next/navigation.js';
7
- import React from 'react';
8
- /**
9
- * Builds the entire view for collection-folder views on the server
10
- */
11
- export const buildCollectionFolderView = async args => {
12
- const {
13
- disableBulkDelete,
14
- disableBulkEdit,
15
- enableRowSelections,
16
- folderID,
17
- initPageResult,
18
- isInDrawer,
19
- overrideEntityVisibility,
20
- params,
21
- query: queryFromArgs,
22
- searchParams
23
- } = args;
24
- const {
25
- collectionConfig,
26
- collectionConfig: {
27
- slug: collectionSlug
28
- },
29
- locale: fullLocale,
30
- permissions,
31
- req: {
32
- i18n,
33
- payload,
34
- payload: {
35
- config
36
- },
37
- query: queryFromReq,
38
- user
39
- },
40
- visibleEntities
41
- } = initPageResult;
42
- if (!config.folders) {
43
- throw new Error('not-found');
44
- }
45
- if (!permissions?.collections?.[collectionSlug]?.read || !permissions?.collections?.[config.folders.slug].read) {
46
- throw new Error('not-found');
47
- }
48
- if (collectionConfig) {
49
- if (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility || !config.folders) {
50
- throw new Error('not-found');
51
- }
52
- const query = queryFromArgs || queryFromReq;
53
- /**
54
- * @todo: find a pattern to avoid setting preferences on hard navigation, i.e. direct links, page refresh, etc.
55
- * This will ensure that prefs are only updated when explicitly set by the user
56
- * This could potentially be done by injecting a `sessionID` into the params and comparing it against a session cookie
57
- */
58
- const collectionFolderPreferences = await upsertPreferences({
59
- key: `${collectionSlug}-collection-folder`,
60
- req: initPageResult.req,
61
- value: {
62
- sort: query?.sort
63
- }
64
- });
65
- const sortPreference = collectionFolderPreferences?.sort || 'name';
66
- const viewPreference = collectionFolderPreferences?.viewPreference || 'grid';
67
- const {
68
- routes: {
69
- admin: adminRoute
70
- }
71
- } = config;
72
- const {
73
- breadcrumbs,
74
- documents,
75
- folderAssignedCollections,
76
- FolderResultsComponent,
77
- subfolders
78
- } = await getFolderResultsComponentAndData({
79
- browseByFolder: false,
80
- collectionsToDisplay: [config.folders.slug, collectionSlug],
81
- displayAs: viewPreference,
82
- folderAssignedCollections: [collectionSlug],
83
- folderID,
84
- req: initPageResult.req,
85
- sort: sortPreference
86
- });
87
- const resolvedFolderID = breadcrumbs[breadcrumbs.length - 1]?.id;
88
- if (!isInDrawer && (resolvedFolderID && folderID && folderID !== resolvedFolderID || folderID && !resolvedFolderID)) {
89
- redirect(formatAdminURL({
90
- adminRoute,
91
- path: `/collections/${collectionSlug}/${config.folders.slug}`
92
- }));
93
- }
94
- const serverProps = {
95
- collectionConfig,
96
- documents,
97
- i18n,
98
- locale: fullLocale,
99
- params,
100
- payload,
101
- permissions,
102
- searchParams,
103
- subfolders,
104
- user
105
- };
106
- // We could support slots in the folder view in the future
107
- // const folderViewSlots = renderFolderViewSlots({
108
- // clientProps: {
109
- // collectionSlug,
110
- // hasCreatePermission,
111
- // newDocumentURL,
112
- // },
113
- // collectionConfig,
114
- // description: typeof collectionConfig.admin.description === 'function'
115
- // ? collectionConfig.admin.description({ t: i18n.t })
116
- // : collectionConfig.admin.description,
117
- // payload,
118
- // serverProps,
119
- // })
120
- const search = query?.search;
121
- return {
122
- View: /*#__PURE__*/_jsxs(_Fragment, {
123
- children: [/*#__PURE__*/_jsx(HydrateAuthProvider, {
124
- permissions: permissions
125
- }), RenderServerComponent({
126
- clientProps: {
127
- // ...folderViewSlots,
128
- allCollectionFolderSlugs: [config.folders.slug, collectionSlug],
129
- allowCreateCollectionSlugs: [permissions?.collections?.[config.folders.slug]?.create ? config.folders.slug : null, resolvedFolderID && permissions?.collections?.[collectionSlug]?.create ? collectionSlug : null].filter(Boolean),
130
- baseFolderPath: `/collections/${collectionSlug}/${config.folders.slug}`,
131
- breadcrumbs,
132
- collectionSlug,
133
- disableBulkDelete,
134
- disableBulkEdit,
135
- documents,
136
- enableRowSelections,
137
- folderAssignedCollections,
138
- folderFieldName: config.folders.fieldName,
139
- folderID: resolvedFolderID || null,
140
- FolderResultsComponent,
141
- search,
142
- sort: sortPreference,
143
- subfolders,
144
- viewPreference
145
- },
146
- // Component: collectionConfig?.admin?.components?.views?.Folders?.Component,
147
- Fallback: DefaultCollectionFolderView,
148
- importMap: payload.importMap,
149
- serverProps
150
- })]
151
- })
152
- };
153
- }
154
- throw new Error('not-found');
155
- };
156
- //# sourceMappingURL=buildView.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildView.js","names":["DefaultCollectionFolderView","HydrateAuthProvider","RenderServerComponent","getFolderResultsComponentAndData","upsertPreferences","formatAdminURL","redirect","React","buildCollectionFolderView","args","disableBulkDelete","disableBulkEdit","enableRowSelections","folderID","initPageResult","isInDrawer","overrideEntityVisibility","params","query","queryFromArgs","searchParams","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","folders","Error","collections","read","includes","collectionFolderPreferences","key","value","sort","sortPreference","viewPreference","routes","admin","adminRoute","breadcrumbs","documents","folderAssignedCollections","FolderResultsComponent","subfolders","browseByFolder","collectionsToDisplay","displayAs","resolvedFolderID","length","id","path","serverProps","search","View","_jsxs","_Fragment","_jsx","clientProps","allCollectionFolderSlugs","allowCreateCollectionSlugs","create","filter","Boolean","baseFolderPath","folderFieldName","fieldName","Fallback","importMap"],"sources":["../../../src/views/CollectionFolders/buildView.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n BuildCollectionFolderViewResult,\n FolderListViewClientProps,\n FolderListViewServerPropsOnly,\n FolderSortKeys,\n ListQuery,\n} from 'payload'\n\nimport { DefaultCollectionFolderView, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getFolderResultsComponentAndData, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { redirect } from 'next/navigation.js'\nimport React from 'react'\n\n// import { renderFolderViewSlots } from './renderFolderViewSlots.js'\n\nexport type BuildCollectionFolderViewStateArgs = {\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n enableRowSelections: boolean\n folderID?: number | string\n isInDrawer?: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n} & AdminViewServerProps\n\n/**\n * Builds the entire view for collection-folder views on the server\n */\nexport const buildCollectionFolderView = async (\n args: BuildCollectionFolderViewStateArgs,\n): Promise<BuildCollectionFolderViewResult> => {\n const {\n disableBulkDelete,\n disableBulkEdit,\n enableRowSelections,\n folderID,\n initPageResult,\n isInDrawer,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (!config.folders) {\n throw new Error('not-found')\n }\n\n if (\n !permissions?.collections?.[collectionSlug]?.read ||\n !permissions?.collections?.[config.folders.slug].read\n ) {\n throw new Error('not-found')\n }\n\n if (collectionConfig) {\n if (\n (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility) ||\n !config.folders\n ) {\n throw new Error('not-found')\n }\n\n const query = queryFromArgs || queryFromReq\n\n /**\n * @todo: find a pattern to avoid setting preferences on hard navigation, i.e. direct links, page refresh, etc.\n * This will ensure that prefs are only updated when explicitly set by the user\n * This could potentially be done by injecting a `sessionID` into the params and comparing it against a session cookie\n */\n const collectionFolderPreferences = await upsertPreferences<{\n sort?: FolderSortKeys\n viewPreference?: 'grid' | 'list'\n }>({\n key: `${collectionSlug}-collection-folder`,\n req: initPageResult.req,\n value: {\n sort: query?.sort as FolderSortKeys,\n },\n })\n\n const sortPreference: FolderSortKeys = collectionFolderPreferences?.sort || 'name'\n const viewPreference = collectionFolderPreferences?.viewPreference || 'grid'\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n const {\n breadcrumbs,\n documents,\n folderAssignedCollections,\n FolderResultsComponent,\n subfolders,\n } = await getFolderResultsComponentAndData({\n browseByFolder: false,\n collectionsToDisplay: [config.folders.slug, collectionSlug],\n displayAs: viewPreference,\n folderAssignedCollections: [collectionSlug],\n folderID,\n req: initPageResult.req,\n sort: sortPreference,\n })\n\n const resolvedFolderID = breadcrumbs[breadcrumbs.length - 1]?.id\n\n if (\n !isInDrawer &&\n ((resolvedFolderID && folderID && folderID !== resolvedFolderID) ||\n (folderID && !resolvedFolderID))\n ) {\n redirect(\n formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${config.folders.slug}`,\n }),\n )\n }\n\n const serverProps: FolderListViewServerPropsOnly = {\n collectionConfig,\n documents,\n i18n,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n subfolders,\n user,\n }\n\n // We could support slots in the folder view in the future\n // const folderViewSlots = renderFolderViewSlots({\n // clientProps: {\n // collectionSlug,\n // hasCreatePermission,\n // newDocumentURL,\n // },\n // collectionConfig,\n // description: typeof collectionConfig.admin.description === 'function'\n // ? collectionConfig.admin.description({ t: i18n.t })\n // : collectionConfig.admin.description,\n // payload,\n // serverProps,\n // })\n\n const search = query?.search as string\n\n return {\n View: (\n <>\n <HydrateAuthProvider permissions={permissions} />\n {RenderServerComponent({\n clientProps: {\n // ...folderViewSlots,\n allCollectionFolderSlugs: [config.folders.slug, collectionSlug],\n allowCreateCollectionSlugs: [\n permissions?.collections?.[config.folders.slug]?.create\n ? config.folders.slug\n : null,\n resolvedFolderID && permissions?.collections?.[collectionSlug]?.create\n ? collectionSlug\n : null,\n ].filter(Boolean),\n baseFolderPath: `/collections/${collectionSlug}/${config.folders.slug}`,\n breadcrumbs,\n collectionSlug,\n disableBulkDelete,\n disableBulkEdit,\n documents,\n enableRowSelections,\n folderAssignedCollections,\n folderFieldName: config.folders.fieldName,\n folderID: resolvedFolderID || null,\n FolderResultsComponent,\n search,\n sort: sortPreference,\n subfolders,\n viewPreference,\n } satisfies FolderListViewClientProps,\n // Component: collectionConfig?.admin?.components?.views?.Folders?.Component,\n Fallback: DefaultCollectionFolderView,\n importMap: payload.importMap,\n serverProps,\n })}\n </>\n ),\n }\n }\n\n throw new Error('not-found')\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- import type React from 'react';
2
- import type { BuildCollectionFolderViewStateArgs } from './buildView.js';
3
- export declare const CollectionFolderView: React.FC<BuildCollectionFolderViewStateArgs>;
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/CollectionFolders/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,gBAAgB,CAAA;AAIxE,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,kCAAkC,CAc7E,CAAA"}