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

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 (420) 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/exports/utilities.d.ts +2 -67
  12. package/dist/exports/utilities.d.ts.map +1 -1
  13. package/dist/exports/utilities.js +1 -49
  14. package/dist/exports/utilities.js.map +1 -1
  15. package/dist/layouts/Root/index.d.ts +18 -1
  16. package/dist/layouts/Root/index.d.ts.map +1 -1
  17. package/dist/layouts/Root/index.js +30 -5
  18. package/dist/layouts/Root/index.js.map +1 -1
  19. package/dist/prod/styles.css +1 -1
  20. package/dist/routes/graphql/handler.d.ts.map +1 -1
  21. package/dist/routes/graphql/playground.d.ts.map +1 -1
  22. package/dist/routes/rest/index.d.ts.map +1 -1
  23. package/dist/utilities/getHierarchyAncestry.d.ts +24 -0
  24. package/dist/utilities/getHierarchyAncestry.d.ts.map +1 -0
  25. package/dist/utilities/getHierarchyAncestry.js +103 -0
  26. package/dist/utilities/getHierarchyAncestry.js.map +1 -0
  27. package/dist/utilities/getNextRequestI18n.d.ts.map +1 -1
  28. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  29. package/dist/utilities/getRequestHighContrast.d.ts +10 -0
  30. package/dist/utilities/getRequestHighContrast.d.ts.map +1 -0
  31. package/dist/utilities/getRequestHighContrast.js +18 -0
  32. package/dist/utilities/getRequestHighContrast.js.map +1 -0
  33. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  34. package/dist/utilities/getRouteWithoutAdmin.d.ts.map +1 -1
  35. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  36. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  37. package/dist/utilities/handleServerFunctions.js +2 -3
  38. package/dist/utilities/handleServerFunctions.js.map +1 -1
  39. package/dist/utilities/initReq.d.ts.map +1 -1
  40. package/dist/utilities/initReq.js +2 -0
  41. package/dist/utilities/initReq.js.map +1 -1
  42. package/dist/utilities/isCustomAdminView.d.ts.map +1 -1
  43. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
  44. package/dist/utilities/meta.d.ts.map +1 -1
  45. package/dist/utilities/timestamp.d.ts.map +1 -1
  46. package/dist/views/API/index.client.d.ts +1 -1
  47. package/dist/views/API/index.client.d.ts.map +1 -1
  48. package/dist/views/API/index.client.js +111 -78
  49. package/dist/views/API/index.client.js.map +1 -1
  50. package/dist/views/API/index.css +205 -0
  51. package/dist/views/Account/Settings/index.css +26 -0
  52. package/dist/views/Account/Settings/index.d.ts +1 -1
  53. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  54. package/dist/views/Account/Settings/index.js +2 -1
  55. package/dist/views/Account/Settings/index.js.map +1 -1
  56. package/dist/views/Account/ToggleHighContrast/index.d.ts +3 -0
  57. package/dist/views/Account/ToggleHighContrast/index.d.ts.map +1 -0
  58. package/dist/views/Account/ToggleHighContrast/index.js +45 -0
  59. package/dist/views/Account/ToggleHighContrast/index.js.map +1 -0
  60. package/dist/views/Account/index.d.ts.map +1 -1
  61. package/dist/views/Account/index.js +2 -1
  62. package/dist/views/Account/index.js.map +1 -1
  63. package/dist/views/CollectionTrash/metadata.d.ts.map +1 -1
  64. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  65. package/dist/views/CreateFirstUser/index.client.js +32 -25
  66. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  67. package/dist/views/CreateFirstUser/index.css +69 -0
  68. package/dist/views/CreateFirstUser/index.d.ts +1 -1
  69. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  70. package/dist/views/CreateFirstUser/index.js +9 -5
  71. package/dist/views/CreateFirstUser/index.js.map +1 -1
  72. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  73. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +72 -45
  74. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  75. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
  76. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +25 -22
  77. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  78. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  79. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +2 -3
  80. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  81. package/dist/views/Dashboard/Default/ModularDashboard/index.css +299 -0
  82. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts +1 -1
  83. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts.map +1 -1
  84. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  85. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  86. package/dist/views/Dashboard/Default/index.d.ts +0 -6
  87. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  88. package/dist/views/Dashboard/Default/index.js +3 -0
  89. package/dist/views/Dashboard/Default/index.js.map +1 -1
  90. package/dist/views/Dashboard/index.d.ts.map +1 -1
  91. package/dist/views/Dashboard/index.js +1 -0
  92. package/dist/views/Dashboard/index.js.map +1 -1
  93. package/dist/views/Document/getCustomDocumentViewByKey.d.ts.map +1 -1
  94. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  95. package/dist/views/Document/getDocPreferences.d.ts.map +1 -1
  96. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  97. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -1
  98. package/dist/views/Document/getDocumentView.d.ts.map +1 -1
  99. package/dist/views/Document/getDocumentView.js +3 -9
  100. package/dist/views/Document/getDocumentView.js.map +1 -1
  101. package/dist/views/Document/getIsLocked.d.ts.map +1 -1
  102. package/dist/views/Document/getVersions.d.ts.map +1 -1
  103. package/dist/views/Document/handleServerFunction.d.ts.map +1 -1
  104. package/dist/views/Document/handleServerFunction.js +1 -0
  105. package/dist/views/Document/handleServerFunction.js.map +1 -1
  106. package/dist/views/Document/index.d.ts.map +1 -1
  107. package/dist/views/Document/index.js +6 -2
  108. package/dist/views/Document/index.js.map +1 -1
  109. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  110. package/dist/views/Document/renderDocumentSlots.js +17 -8
  111. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  112. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  113. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +1 -2
  114. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  115. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  116. package/dist/views/ForgotPassword/index.js +1 -1
  117. package/dist/views/ForgotPassword/index.js.map +1 -1
  118. package/dist/views/Hierarchy/index.d.ts +18 -0
  119. package/dist/views/Hierarchy/index.d.ts.map +1 -0
  120. package/dist/views/Hierarchy/index.js +20 -0
  121. package/dist/views/Hierarchy/index.js.map +1 -0
  122. package/dist/views/List/createSerializableValue.d.ts.map +1 -1
  123. package/dist/views/List/extractRelationshipDisplayValue.d.ts.map +1 -1
  124. package/dist/views/List/extractValueOrRelationshipID.d.ts.map +1 -1
  125. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  126. package/dist/views/List/handleGroupBy.js +8 -0
  127. package/dist/views/List/handleGroupBy.js.map +1 -1
  128. package/dist/views/List/handleHierarchy.d.ts +18 -0
  129. package/dist/views/List/handleHierarchy.d.ts.map +1 -0
  130. package/dist/views/List/handleHierarchy.js +259 -0
  131. package/dist/views/List/handleHierarchy.js.map +1 -0
  132. package/dist/views/List/handleServerFunction.d.ts.map +1 -1
  133. package/dist/views/List/handleServerFunction.js +1 -0
  134. package/dist/views/List/handleServerFunction.js.map +1 -1
  135. package/dist/views/List/index.css +3 -0
  136. package/dist/views/List/index.d.ts +1 -0
  137. package/dist/views/List/index.d.ts.map +1 -1
  138. package/dist/views/List/index.js +113 -31
  139. package/dist/views/List/index.js.map +1 -1
  140. package/dist/views/List/metadata.d.ts.map +1 -1
  141. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  142. package/dist/views/List/renderListViewSlots.js +2 -1
  143. package/dist/views/List/renderListViewSlots.js.map +1 -1
  144. package/dist/views/List/resolveAllFilterOptions.d.ts.map +1 -1
  145. package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -1
  146. package/dist/views/Login/LoginForm/index.css +48 -0
  147. package/dist/views/Login/LoginForm/index.d.ts +1 -1
  148. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  149. package/dist/views/Login/LoginForm/index.js +33 -26
  150. package/dist/views/Login/LoginForm/index.js.map +1 -1
  151. package/dist/views/Login/index.css +8 -0
  152. package/dist/views/Login/index.d.ts +1 -1
  153. package/dist/views/Login/index.d.ts.map +1 -1
  154. package/dist/views/Login/index.js +4 -1
  155. package/dist/views/Login/index.js.map +1 -1
  156. package/dist/views/NotFound/index.client.d.ts +2 -4
  157. package/dist/views/NotFound/index.client.d.ts.map +1 -1
  158. package/dist/views/NotFound/index.client.js +25 -42
  159. package/dist/views/NotFound/index.client.js.map +1 -1
  160. package/dist/views/NotFound/index.css +47 -0
  161. package/dist/views/NotFound/index.d.ts.map +1 -1
  162. package/dist/views/NotFound/index.js +3 -4
  163. package/dist/views/NotFound/index.js.map +1 -1
  164. package/dist/views/NotFound/metadata.d.ts.map +1 -1
  165. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  166. package/dist/views/ResetPassword/index.js +1 -1
  167. package/dist/views/ResetPassword/index.js.map +1 -1
  168. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -1
  169. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  170. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts +12 -0
  171. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -0
  172. package/dist/views/Root/getCustomGlobalViewByRoute.js +46 -0
  173. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -0
  174. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  175. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  176. package/dist/views/Root/getRouteData.d.ts +1 -4
  177. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  178. package/dist/views/Root/getRouteData.js +83 -110
  179. package/dist/views/Root/getRouteData.js.map +1 -1
  180. package/dist/views/Root/index.d.ts.map +1 -1
  181. package/dist/views/Root/index.js +9 -18
  182. package/dist/views/Root/index.js.map +1 -1
  183. package/dist/views/Root/isPathMatchingRoute.d.ts.map +1 -1
  184. package/dist/views/Root/metadata.d.ts.map +1 -1
  185. package/dist/views/Root/metadata.js +1 -37
  186. package/dist/views/Root/metadata.js.map +1 -1
  187. package/dist/views/Unauthorized/index.css +44 -0
  188. package/dist/views/Unauthorized/index.d.ts +1 -1
  189. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  190. package/dist/views/Unauthorized/index.js +12 -33
  191. package/dist/views/Unauthorized/index.js.map +1 -1
  192. package/dist/views/Verify/index.d.ts.map +1 -1
  193. package/dist/views/Verify/index.js +2 -1
  194. package/dist/views/Verify/index.js.map +1 -1
  195. package/dist/views/Version/Default/index.css +227 -0
  196. package/dist/views/Version/Default/index.d.ts +1 -1
  197. package/dist/views/Version/Default/index.d.ts.map +1 -1
  198. package/dist/views/Version/Default/index.js +13 -11
  199. package/dist/views/Version/Default/index.js.map +1 -1
  200. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.css +64 -0
  201. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +2 -1
  202. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
  203. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +54 -48
  204. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  205. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts +1 -1
  206. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
  207. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  208. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  209. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +3 -3
  210. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  211. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.css +97 -0
  212. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.d.ts +4 -0
  213. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.d.ts.map +1 -0
  214. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +91 -0
  215. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -0
  216. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.css +29 -0
  217. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts +1 -1
  218. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts.map +1 -1
  219. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +37 -32
  220. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  221. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.css +5 -0
  222. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts +1 -1
  223. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts.map +1 -1
  224. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  225. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.css +40 -0
  226. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts +1 -1
  227. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  228. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +3 -6
  229. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  230. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
  231. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +213 -0
  232. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +1 -1
  233. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
  234. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +47 -25
  235. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  236. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.css +4 -0
  237. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +1 -1
  238. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  239. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +28 -22
  240. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  241. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.css +6 -0
  242. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +1 -1
  243. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  244. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  245. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.css +4 -0
  246. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts +1 -1
  247. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  248. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +23 -15
  249. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  250. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.css +188 -0
  251. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts +1 -1
  252. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -1
  253. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +91 -51
  254. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  255. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  256. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +2 -1
  257. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  258. package/dist/views/Version/RenderFieldsToDiff/index.css +24 -0
  259. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  260. package/dist/views/Version/Restore/index.css +26 -0
  261. package/dist/views/Version/Restore/index.d.ts +1 -1
  262. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  263. package/dist/views/Version/Restore/index.js +4 -3
  264. package/dist/views/Version/Restore/index.js.map +1 -1
  265. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  266. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +0 -1
  267. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  268. package/dist/views/Version/VersionPillLabel/VersionPillLabel.d.ts +1 -1
  269. package/dist/views/Version/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
  270. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +15 -8
  271. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  272. package/dist/views/Version/VersionPillLabel/index.css +31 -0
  273. package/dist/views/Version/fetchVersions.d.ts.map +1 -1
  274. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  275. package/dist/views/Versions/buildColumns.js +18 -18
  276. package/dist/views/Versions/buildColumns.js.map +1 -1
  277. package/dist/views/Versions/cells/AutosaveCell/index.css +7 -0
  278. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +1 -1
  279. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  280. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  281. package/dist/views/Versions/index.client.d.ts.map +1 -1
  282. package/dist/views/Versions/index.client.js +7 -23
  283. package/dist/views/Versions/index.client.js.map +1 -1
  284. package/dist/views/Versions/index.css +85 -0
  285. package/dist/views/Versions/index.d.ts +1 -1
  286. package/dist/views/Versions/index.d.ts.map +1 -1
  287. package/dist/views/Versions/index.js +1 -1
  288. package/dist/views/Versions/index.js.map +1 -1
  289. package/dist/withPayload/withPayload.d.ts.map +1 -1
  290. package/dist/withPayload/withPayload.js +9 -27
  291. package/dist/withPayload/withPayload.js.map +1 -1
  292. package/dist/withPayload/withPayload.utils.d.ts +0 -14
  293. package/dist/withPayload/withPayload.utils.d.ts.map +1 -1
  294. package/dist/withPayload/withPayload.utils.js +0 -73
  295. package/dist/withPayload/withPayload.utils.js.map +1 -1
  296. package/package.json +14 -29
  297. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.d.ts +0 -5
  298. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.d.ts.map +0 -1
  299. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +0 -19
  300. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +0 -1
  301. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts +0 -12
  302. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +0 -1
  303. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +0 -81
  304. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +0 -1
  305. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +0 -16
  306. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +0 -1
  307. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +0 -66
  308. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +0 -1
  309. package/dist/elements/DocumentHeader/Tabs/index.d.ts +0 -10
  310. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +0 -1
  311. package/dist/elements/DocumentHeader/Tabs/index.js +0 -78
  312. package/dist/elements/DocumentHeader/Tabs/index.js.map +0 -1
  313. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts +0 -4
  314. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +0 -1
  315. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +0 -29
  316. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +0 -1
  317. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +0 -11
  318. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +0 -1
  319. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +0 -72
  320. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +0 -1
  321. package/dist/elements/DocumentHeader/index.d.ts +0 -15
  322. package/dist/elements/DocumentHeader/index.d.ts.map +0 -1
  323. package/dist/elements/DocumentHeader/index.js +0 -36
  324. package/dist/elements/DocumentHeader/index.js.map +0 -1
  325. package/dist/elements/FormHeader/index.d.ts +0 -9
  326. package/dist/elements/FormHeader/index.d.ts.map +0 -1
  327. package/dist/elements/FormHeader/index.js +0 -20
  328. package/dist/elements/FormHeader/index.js.map +0 -1
  329. package/dist/elements/Logo/index.d.ts +0 -4
  330. package/dist/elements/Logo/index.d.ts.map +0 -1
  331. package/dist/elements/Logo/index.js +0 -39
  332. package/dist/elements/Logo/index.js.map +0 -1
  333. package/dist/elements/Nav/NavHamburger/index.d.ts +0 -8
  334. package/dist/elements/Nav/NavHamburger/index.d.ts.map +0 -1
  335. package/dist/elements/Nav/NavHamburger/index.js +0 -51
  336. package/dist/elements/Nav/NavHamburger/index.js.map +0 -1
  337. package/dist/elements/Nav/NavWrapper/index.d.ts +0 -10
  338. package/dist/elements/Nav/NavWrapper/index.d.ts.map +0 -1
  339. package/dist/elements/Nav/NavWrapper/index.js +0 -61
  340. package/dist/elements/Nav/NavWrapper/index.js.map +0 -1
  341. package/dist/elements/Nav/SettingsMenuButton/index.d.ts +0 -7
  342. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +0 -1
  343. package/dist/elements/Nav/SettingsMenuButton/index.js +0 -45
  344. package/dist/elements/Nav/SettingsMenuButton/index.js.map +0 -1
  345. package/dist/elements/Nav/getNavPrefs.d.ts +0 -3
  346. package/dist/elements/Nav/getNavPrefs.d.ts.map +0 -1
  347. package/dist/elements/Nav/getNavPrefs.js +0 -27
  348. package/dist/elements/Nav/getNavPrefs.js.map +0 -1
  349. package/dist/elements/Nav/index.client.d.ts +0 -11
  350. package/dist/elements/Nav/index.client.d.ts.map +0 -1
  351. package/dist/elements/Nav/index.client.js +0 -133
  352. package/dist/elements/Nav/index.client.js.map +0 -1
  353. package/dist/elements/Nav/index.d.ts +0 -8
  354. package/dist/elements/Nav/index.d.ts.map +0 -1
  355. package/dist/elements/Nav/index.js +0 -183
  356. package/dist/elements/Nav/index.js.map +0 -1
  357. package/dist/exports/client.d.ts +0 -5
  358. package/dist/exports/client.d.ts.map +0 -1
  359. package/dist/exports/client.js +0 -7
  360. package/dist/exports/client.js.map +0 -1
  361. package/dist/exports/rsc.d.ts +0 -5
  362. package/dist/exports/rsc.d.ts.map +0 -1
  363. package/dist/exports/rsc.js +0 -5
  364. package/dist/exports/rsc.js.map +0 -1
  365. package/dist/exports/templates.d.ts +0 -3
  366. package/dist/exports/templates.d.ts.map +0 -1
  367. package/dist/exports/templates.js +0 -3
  368. package/dist/exports/templates.js.map +0 -1
  369. package/dist/templates/Default/NavHamburger/index.d.ts +0 -3
  370. package/dist/templates/Default/NavHamburger/index.d.ts.map +0 -1
  371. package/dist/templates/Default/NavHamburger/index.js +0 -25
  372. package/dist/templates/Default/NavHamburger/index.js.map +0 -1
  373. package/dist/templates/Default/Wrapper/index.d.ts +0 -8
  374. package/dist/templates/Default/Wrapper/index.d.ts.map +0 -1
  375. package/dist/templates/Default/Wrapper/index.js +0 -49
  376. package/dist/templates/Default/Wrapper/index.js.map +0 -1
  377. package/dist/templates/Default/index.d.ts +0 -17
  378. package/dist/templates/Default/index.d.ts.map +0 -1
  379. package/dist/templates/Default/index.js +0 -129
  380. package/dist/templates/Default/index.js.map +0 -1
  381. package/dist/templates/Minimal/index.d.ts +0 -10
  382. package/dist/templates/Minimal/index.d.ts.map +0 -1
  383. package/dist/templates/Minimal/index.js +0 -21
  384. package/dist/templates/Minimal/index.js.map +0 -1
  385. package/dist/views/API/RenderJSON/index.d.ts +0 -12
  386. package/dist/views/API/RenderJSON/index.d.ts.map +0 -1
  387. package/dist/views/API/RenderJSON/index.js +0 -135
  388. package/dist/views/API/RenderJSON/index.js.map +0 -1
  389. package/dist/views/BrowseByFolder/buildView.d.ts +0 -13
  390. package/dist/views/BrowseByFolder/buildView.d.ts.map +0 -1
  391. package/dist/views/BrowseByFolder/buildView.js +0 -170
  392. package/dist/views/BrowseByFolder/buildView.js.map +0 -1
  393. package/dist/views/BrowseByFolder/index.d.ts +0 -4
  394. package/dist/views/BrowseByFolder/index.d.ts.map +0 -1
  395. package/dist/views/BrowseByFolder/index.js +0 -20
  396. package/dist/views/BrowseByFolder/index.js.map +0 -1
  397. package/dist/views/BrowseByFolder/metadata.d.ts +0 -4
  398. package/dist/views/BrowseByFolder/metadata.d.ts.map +0 -1
  399. package/dist/views/BrowseByFolder/metadata.js +0 -18
  400. package/dist/views/BrowseByFolder/metadata.js.map +0 -1
  401. package/dist/views/CollectionFolders/buildView.d.ts +0 -15
  402. package/dist/views/CollectionFolders/buildView.d.ts.map +0 -1
  403. package/dist/views/CollectionFolders/buildView.js +0 -156
  404. package/dist/views/CollectionFolders/buildView.js.map +0 -1
  405. package/dist/views/CollectionFolders/index.d.ts +0 -4
  406. package/dist/views/CollectionFolders/index.d.ts.map +0 -1
  407. package/dist/views/CollectionFolders/index.js +0 -20
  408. package/dist/views/CollectionFolders/index.js.map +0 -1
  409. package/dist/views/CollectionFolders/metadata.d.ts +0 -7
  410. package/dist/views/CollectionFolders/metadata.d.ts.map +0 -1
  411. package/dist/views/CollectionFolders/metadata.js +0 -25
  412. package/dist/views/CollectionFolders/metadata.js.map +0 -1
  413. package/dist/views/CollectionFolders/renderFolderViewSlots.d.ts +0 -11
  414. package/dist/views/CollectionFolders/renderFolderViewSlots.d.ts.map +0 -1
  415. package/dist/views/CollectionFolders/renderFolderViewSlots.js +0 -64
  416. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +0 -1
  417. package/dist/withPayload/withPayloadLegacy.d.ts +0 -2
  418. package/dist/withPayload/withPayloadLegacy.d.ts.map +0 -1
  419. package/dist/withPayload/withPayloadLegacy.js +0 -47
  420. package/dist/withPayload/withPayloadLegacy.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","EmailField","Form","FormSubmit","TextField","useConfig","useTranslation","email","formatAdminURL","text","React","useState","FormHeader","ForgotPasswordForm","$","config","getEntityConfig","admin","t0","routes","t1","user","userSlug","api","apiRoute","t","hasSubmitted","setHasSubmitted","t2","collectionSlug","collectionConfig","loginWithUsername","auth","t3","res","successToast","errorToast","json","then","catch","handleResponse","t4","t5","Symbol","for","initialState","username","initialValue","valid","value","undefined","t6","_jsx","description","heading","_jsxs","action","path","method","children","field","name","label","required","validate","type","blockData","data","event","preferences","fields","req","payload","siblingData","autoComplete","value_0","size"],"sources":["../../../../src/views/ForgotPassword/ForgotPasswordForm/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormProps } from '@payloadcms/ui'\nimport type { FormState, PayloadRequest } from 'payload'\n\nimport { EmailField, Form, FormSubmit, TextField, useConfig, useTranslation } from '@payloadcms/ui'\nimport { email, formatAdminURL, text } from 'payload/shared'\nimport React, { useState } from 'react'\n\nimport { FormHeader } from '../../../elements/FormHeader/index.js'\n\nexport const ForgotPasswordForm: React.FC = () => {\n const { config, getEntityConfig } = useConfig()\n\n const {\n admin: { user: userSlug },\n routes: { api: apiRoute },\n } = config\n\n const { t } = useTranslation()\n const [hasSubmitted, setHasSubmitted] = useState(false)\n const collectionConfig = getEntityConfig({ collectionSlug: userSlug })\n const loginWithUsername = collectionConfig?.auth?.loginWithUsername\n\n const handleResponse: FormProps['handleResponse'] = (res, successToast, errorToast) => {\n res\n .json()\n .then(() => {\n setHasSubmitted(true)\n successToast(t('general:submissionSuccessful'))\n })\n .catch(() => {\n errorToast(\n loginWithUsername\n ? t('authentication:usernameNotValid')\n : t('authentication:emailNotValid'),\n )\n })\n }\n\n const initialState: FormState = loginWithUsername\n ? {\n username: {\n initialValue: '',\n valid: true,\n value: undefined,\n },\n }\n : {\n email: {\n initialValue: '',\n valid: true,\n value: undefined,\n },\n }\n\n if (hasSubmitted) {\n return (\n <FormHeader\n description={t('authentication:checkYourEmailForPasswordReset')}\n heading={t('authentication:emailSent')}\n />\n )\n }\n\n return (\n <Form\n action={formatAdminURL({\n apiRoute,\n path: `/${userSlug}/forgot-password`,\n })}\n handleResponse={handleResponse}\n initialState={initialState}\n method=\"POST\"\n >\n <FormHeader\n description={\n loginWithUsername\n ? t('authentication:forgotPasswordUsernameInstructions')\n : t('authentication:forgotPasswordEmailInstructions')\n }\n heading={t('authentication:forgotPassword')}\n />\n\n {loginWithUsername ? (\n <TextField\n field={{\n name: 'username',\n label: t('authentication:username'),\n required: true,\n }}\n path=\"username\"\n validate={(value) =>\n text(value, {\n name: 'username',\n type: 'text',\n blockData: {},\n data: {},\n event: 'onChange',\n path: ['username'],\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as unknown as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n ) : (\n <EmailField\n field={{\n name: 'email',\n admin: {\n autoComplete: 'email',\n },\n label: t('general:email'),\n required: true,\n }}\n path=\"email\"\n validate={(value) =>\n email(value, {\n name: 'email',\n type: 'email',\n blockData: {},\n data: {},\n event: 'onChange',\n path: ['email'],\n preferences: { fields: {} },\n req: { payload: { config }, t } as unknown as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n )}\n <FormSubmit size=\"large\">{t('general:submit')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","EmailField","Form","FormHeader","FormSubmit","TextField","useConfig","useTranslation","email","formatAdminURL","text","React","useState","ForgotPasswordForm","$","config","getEntityConfig","admin","t0","routes","t1","user","userSlug","api","apiRoute","t","hasSubmitted","setHasSubmitted","t2","collectionSlug","collectionConfig","loginWithUsername","auth","t3","res","successToast","errorToast","json","then","catch","handleResponse","t4","t5","Symbol","for","initialState","username","initialValue","valid","value","undefined","t6","_jsx","description","heading","_jsxs","action","path","method","children","field","name","label","required","validate","type","blockData","data","event","preferences","fields","req","payload","siblingData","autoComplete","value_0","size"],"sources":["../../../../src/views/ForgotPassword/ForgotPasswordForm/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormProps } from '@payloadcms/ui'\nimport type { FormState, PayloadRequest } from 'payload'\n\nimport {\n EmailField,\n Form,\n FormHeader,\n FormSubmit,\n TextField,\n useConfig,\n useTranslation,\n} from '@payloadcms/ui'\nimport { email, formatAdminURL, text } from 'payload/shared'\nimport React, { useState } from 'react'\n\nexport const ForgotPasswordForm: React.FC = () => {\n const { config, getEntityConfig } = useConfig()\n\n const {\n admin: { user: userSlug },\n routes: { api: apiRoute },\n } = config\n\n const { t } = useTranslation()\n const [hasSubmitted, setHasSubmitted] = useState(false)\n const collectionConfig = getEntityConfig({ collectionSlug: userSlug })\n const loginWithUsername = collectionConfig?.auth?.loginWithUsername\n\n const handleResponse: FormProps['handleResponse'] = (res, successToast, errorToast) => {\n res\n .json()\n .then(() => {\n setHasSubmitted(true)\n successToast(t('general:submissionSuccessful'))\n })\n .catch(() => {\n errorToast(\n loginWithUsername\n ? t('authentication:usernameNotValid')\n : t('authentication:emailNotValid'),\n )\n })\n }\n\n const initialState: FormState = loginWithUsername\n ? {\n username: {\n initialValue: '',\n valid: true,\n value: undefined,\n },\n }\n : {\n email: {\n initialValue: '',\n valid: true,\n value: undefined,\n },\n }\n\n if (hasSubmitted) {\n return (\n <FormHeader\n description={t('authentication:checkYourEmailForPasswordReset')}\n heading={t('authentication:emailSent')}\n />\n )\n }\n\n return (\n <Form\n action={formatAdminURL({\n apiRoute,\n path: `/${userSlug}/forgot-password`,\n })}\n handleResponse={handleResponse}\n initialState={initialState}\n method=\"POST\"\n >\n <FormHeader\n description={\n loginWithUsername\n ? t('authentication:forgotPasswordUsernameInstructions')\n : t('authentication:forgotPasswordEmailInstructions')\n }\n heading={t('authentication:forgotPassword')}\n />\n\n {loginWithUsername ? (\n <TextField\n field={{\n name: 'username',\n label: t('authentication:username'),\n required: true,\n }}\n path=\"username\"\n validate={(value) =>\n text(value, {\n name: 'username',\n type: 'text',\n blockData: {},\n data: {},\n event: 'onChange',\n path: ['username'],\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as unknown as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n ) : (\n <EmailField\n field={{\n name: 'email',\n admin: {\n autoComplete: 'email',\n },\n label: t('general:email'),\n required: true,\n }}\n path=\"email\"\n validate={(value) =>\n email(value, {\n name: 'email',\n type: 'email',\n blockData: {},\n data: {},\n event: 'onChange',\n path: ['email'],\n preferences: { fields: {} },\n req: { payload: { config }, t } as unknown as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n )}\n <FormSubmit size=\"large\">{t('general:submit')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/ForgotPassword/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAKnD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAKvC,eAAO,MAAM,uBAAuB,oBAAoB,CAAA;AAExD,wBAAgB,kBAAkB,CAAC,EAAE,cAAc,EAAE,EAAE,oBAAoB,qBA8D1E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/ForgotPassword/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAMnD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,eAAO,MAAM,uBAAuB,oBAAoB,CAAA;AAExD,wBAAgB,kBAAkB,CAAC,EAAE,cAAc,EAAE,EAAE,oBAAoB,qBA8D1E"}
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Button, Link } from '@payloadcms/ui';
3
+ import { FormHeader } from '@payloadcms/ui/rsc';
3
4
  import { Translation } from '@payloadcms/ui/shared';
4
5
  import { formatAdminURL } from 'payload/shared';
5
6
  import React, { Fragment } from 'react';
6
- import { FormHeader } from '../../elements/FormHeader/index.js';
7
7
  import { ForgotPasswordForm } from './ForgotPasswordForm/index.js';
8
8
  export const forgotPasswordBaseClass = 'forgot-password';
9
9
  export function ForgotPasswordView({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Button","Link","Translation","formatAdminURL","React","Fragment","FormHeader","ForgotPasswordForm","forgotPasswordBaseClass","ForgotPasswordView","initPageResult","req","i18n","payload","config","user","admin","routes","account","accountRoute","login","loginRoute","adminRoute","_jsxs","_jsx","description","elements","0","children","href","path","prefetch","i18nKey","t","heading","buttonStyle","el","size","to"],"sources":["../../../src/views/ForgotPassword/index.tsx"],"sourcesContent":["import type { AdminViewServerProps } from 'payload'\n\nimport { Button, Link } from '@payloadcms/ui'\nimport { Translation } from '@payloadcms/ui/shared'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { FormHeader } from '../../elements/FormHeader/index.js'\nimport { ForgotPasswordForm } from './ForgotPasswordForm/index.js'\n\nexport const forgotPasswordBaseClass = 'forgot-password'\n\nexport function ForgotPasswordView({ initPageResult }: AdminViewServerProps) {\n const {\n req: {\n i18n,\n payload: { config },\n user,\n },\n } = initPageResult\n\n const {\n admin: {\n routes: { account: accountRoute, login: loginRoute },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (user) {\n return (\n <Fragment>\n <FormHeader\n description={\n <Translation\n elements={{\n '0': ({ children }) => (\n <Link\n href={formatAdminURL({\n adminRoute,\n path: accountRoute,\n })}\n prefetch={false}\n >\n {children}\n </Link>\n ),\n }}\n i18nKey=\"authentication:loggedInChangePassword\"\n t={i18n.t}\n />\n }\n heading={i18n.t('authentication:alreadyLoggedIn')}\n />\n <Button buttonStyle=\"secondary\" el=\"link\" size=\"large\" to={adminRoute}>\n {i18n.t('general:backToDashboard')}\n </Button>\n </Fragment>\n )\n }\n\n return (\n <Fragment>\n <ForgotPasswordForm />\n <Link\n href={formatAdminURL({\n adminRoute,\n path: loginRoute,\n })}\n prefetch={false}\n >\n {i18n.t('authentication:backToLogin')}\n </Link>\n </Fragment>\n )\n}\n"],"mappings":";AAEA,SAASA,MAAM,EAAEC,IAAI,QAAQ;AAC7B,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,UAAU,QAAQ;AAC3B,SAASC,kBAAkB,QAAQ;AAEnC,OAAO,MAAMC,uBAAA,GAA0B;AAEvC,OAAO,SAASC,mBAAmB;EAAEC;AAAc,CAAwB;EACzE,MAAM;IACJC,GAAA,EAAK;MACHC,IAAI;MACJC,OAAA,EAAS;QAAEC;MAAM,CAAE;MACnBC;IAAI;EACL,CACF,GAAGL,cAAA;EAEJ,MAAM;IACJM,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,OAAA,EAASC,YAAY;QAAEC,KAAA,EAAOC;MAAU;IAAE,CACrD;IACDJ,MAAA,EAAQ;MAAED,KAAA,EAAOM;IAAU;EAAE,CAC9B,GAAGR,MAAA;EAEJ,IAAIC,IAAA,EAAM;IACR,oBACEQ,KAAA,CAAClB,QAAA;8BACCmB,IAAA,CAAClB,UAAA;QACCmB,WAAA,eACED,IAAA,CAACtB,WAAA;UACCwB,QAAA,EAAU;YACR,KAAKC,CAAC;cAAEC;YAAQ,CAAE,kBAChBJ,IAAA,CAACvB,IAAA;cACC4B,IAAA,EAAM1B,cAAA,CAAe;gBACnBmB,UAAA;gBACAQ,IAAA,EAAMX;cACR;cACAY,QAAA,EAAU;wBAETH;;UAGP;UACAI,OAAA,EAAQ;UACRC,CAAA,EAAGrB,IAAA,CAAKqB;;QAGZC,OAAA,EAAStB,IAAA,CAAKqB,CAAC,CAAC;uBAElBT,IAAA,CAACxB,MAAA;QAAOmC,WAAA,EAAY;QAAYC,EAAA,EAAG;QAAOC,IAAA,EAAK;QAAQC,EAAA,EAAIhB,UAAA;kBACxDV,IAAA,CAAKqB,CAAC,CAAC;;;EAIhB;EAEA,oBACEV,KAAA,CAAClB,QAAA;4BACCmB,IAAA,CAACjB,kBAAA,O,aACDiB,IAAA,CAACvB,IAAA;MACC4B,IAAA,EAAM1B,cAAA,CAAe;QACnBmB,UAAA;QACAQ,IAAA,EAAMT;MACR;MACAU,QAAA,EAAU;gBAETnB,IAAA,CAAKqB,CAAC,CAAC;;;AAIhB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Button","Link","FormHeader","Translation","formatAdminURL","React","Fragment","ForgotPasswordForm","forgotPasswordBaseClass","ForgotPasswordView","initPageResult","req","i18n","payload","config","user","admin","routes","account","accountRoute","login","loginRoute","adminRoute","_jsxs","_jsx","description","elements","0","children","href","path","prefetch","i18nKey","t","heading","buttonStyle","el","size","to"],"sources":["../../../src/views/ForgotPassword/index.tsx"],"sourcesContent":["import type { AdminViewServerProps } from 'payload'\n\nimport { Button, Link } from '@payloadcms/ui'\nimport { FormHeader } from '@payloadcms/ui/rsc'\nimport { Translation } from '@payloadcms/ui/shared'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { ForgotPasswordForm } from './ForgotPasswordForm/index.js'\n\nexport const forgotPasswordBaseClass = 'forgot-password'\n\nexport function ForgotPasswordView({ initPageResult }: AdminViewServerProps) {\n const {\n req: {\n i18n,\n payload: { config },\n user,\n },\n } = initPageResult\n\n const {\n admin: {\n routes: { account: accountRoute, login: loginRoute },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (user) {\n return (\n <Fragment>\n <FormHeader\n description={\n <Translation\n elements={{\n '0': ({ children }) => (\n <Link\n href={formatAdminURL({\n adminRoute,\n path: accountRoute,\n })}\n prefetch={false}\n >\n {children}\n </Link>\n ),\n }}\n i18nKey=\"authentication:loggedInChangePassword\"\n t={i18n.t}\n />\n }\n heading={i18n.t('authentication:alreadyLoggedIn')}\n />\n <Button buttonStyle=\"secondary\" el=\"link\" size=\"large\" to={adminRoute}>\n {i18n.t('general:backToDashboard')}\n </Button>\n </Fragment>\n )\n }\n\n return (\n <Fragment>\n <ForgotPasswordForm />\n <Link\n href={formatAdminURL({\n adminRoute,\n path: loginRoute,\n })}\n prefetch={false}\n >\n {i18n.t('authentication:backToLogin')}\n </Link>\n </Fragment>\n )\n}\n"],"mappings":";AAEA,SAASA,MAAM,EAAEC,IAAI,QAAQ;AAC7B,SAASC,UAAU,QAAQ;AAC3B,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,kBAAkB,QAAQ;AAEnC,OAAO,MAAMC,uBAAA,GAA0B;AAEvC,OAAO,SAASC,mBAAmB;EAAEC;AAAc,CAAwB;EACzE,MAAM;IACJC,GAAA,EAAK;MACHC,IAAI;MACJC,OAAA,EAAS;QAAEC;MAAM,CAAE;MACnBC;IAAI;EACL,CACF,GAAGL,cAAA;EAEJ,MAAM;IACJM,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,OAAA,EAASC,YAAY;QAAEC,KAAA,EAAOC;MAAU;IAAE,CACrD;IACDJ,MAAA,EAAQ;MAAED,KAAA,EAAOM;IAAU;EAAE,CAC9B,GAAGR,MAAA;EAEJ,IAAIC,IAAA,EAAM;IACR,oBACEQ,KAAA,CAACjB,QAAA;8BACCkB,IAAA,CAACtB,UAAA;QACCuB,WAAA,eACED,IAAA,CAACrB,WAAA;UACCuB,QAAA,EAAU;YACR,KAAKC,CAAC;cAAEC;YAAQ,CAAE,kBAChBJ,IAAA,CAACvB,IAAA;cACC4B,IAAA,EAAMzB,cAAA,CAAe;gBACnBkB,UAAA;gBACAQ,IAAA,EAAMX;cACR;cACAY,QAAA,EAAU;wBAETH;;UAGP;UACAI,OAAA,EAAQ;UACRC,CAAA,EAAGrB,IAAA,CAAKqB;;QAGZC,OAAA,EAAStB,IAAA,CAAKqB,CAAC,CAAC;uBAElBT,IAAA,CAACxB,MAAA;QAAOmC,WAAA,EAAY;QAAYC,EAAA,EAAG;QAAOC,IAAA,EAAK;QAAQC,EAAA,EAAIhB,UAAA;kBACxDV,IAAA,CAAKqB,CAAC,CAAC;;;EAIhB;EAEA,oBACEV,KAAA,CAACjB,QAAA;4BACCkB,IAAA,CAACjB,kBAAA,O,aACDiB,IAAA,CAACvB,IAAA;MACC4B,IAAA,EAAMzB,cAAA,CAAe;QACnBkB,UAAA;QACAQ,IAAA,EAAMT;MACR;MACAU,QAAA,EAAU;gBAETnB,IAAA,CAAKqB,CAAC,CAAC;;;AAIhB","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ import type { AdminViewServerProps, ListQuery } from 'payload';
2
+ import type React from 'react';
3
+ type RenderHierarchyViewArgs = {
4
+ customCellProps?: Record<string, any>;
5
+ disableBulkDelete?: boolean;
6
+ disableBulkEdit?: boolean;
7
+ disableQueryPresets?: boolean;
8
+ drawerSlug?: string;
9
+ enableRowSelections: boolean;
10
+ overrideEntityVisibility?: boolean;
11
+ query: ListQuery;
12
+ redirectAfterDelete?: boolean;
13
+ redirectAfterDuplicate?: boolean;
14
+ redirectAfterRestore?: boolean;
15
+ } & AdminViewServerProps;
16
+ export declare const HierarchyView: React.FC<Omit<RenderHierarchyViewArgs, 'enableRowSelections'>>;
17
+ export {};
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Hierarchy/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC9D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,KAAK,uBAAuB,GAAG;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,EAAE,SAAS,CAAA;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B,GAAG,oBAAoB,CAAA;AAExB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAiBxF,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { notFound } from 'next/navigation.js';
2
+ import { renderListView } from '../List/index.js';
3
+ export const HierarchyView = async args => {
4
+ try {
5
+ const {
6
+ List: HierarchyList
7
+ } = await renderListView({
8
+ ...args,
9
+ enableRowSelections: true,
10
+ viewType: 'hierarchy'
11
+ });
12
+ return HierarchyList;
13
+ } catch (error) {
14
+ if (error.message === 'not-found') {
15
+ notFound();
16
+ }
17
+ console.error(error); // eslint-disable-line no-console
18
+ }
19
+ };
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["notFound","renderListView","HierarchyView","args","List","HierarchyList","enableRowSelections","viewType","error","message","console"],"sources":["../../../src/views/Hierarchy/index.tsx"],"sourcesContent":["import type { AdminViewServerProps, ListQuery } from 'payload'\nimport type React from 'react'\n\nimport { notFound } from 'next/navigation.js'\n\nimport { renderListView } from '../List/index.js'\n\ntype RenderHierarchyViewArgs = {\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n redirectAfterRestore?: boolean\n} & AdminViewServerProps\n\nexport const HierarchyView: React.FC<Omit<RenderHierarchyViewArgs, 'enableRowSelections'>> = async (\n args,\n) => {\n try {\n const { List: HierarchyList } = await renderListView({\n ...args,\n enableRowSelections: true,\n viewType: 'hierarchy',\n })\n\n return HierarchyList\n } catch (error) {\n if (error.message === 'not-found') {\n notFound()\n }\n console.error(error) // eslint-disable-line no-console\n }\n}\n"],"mappings":"AAGA,SAASA,QAAQ,QAAQ;AAEzB,SAASC,cAAc,QAAQ;AAgB/B,OAAO,MAAMC,aAAA,GAAgF,MAC3FC,IAAA;EAEA,IAAI;IACF,MAAM;MAAEC,IAAA,EAAMC;IAAa,CAAE,GAAG,MAAMJ,cAAA,CAAe;MACnD,GAAGE,IAAI;MACPG,mBAAA,EAAqB;MACrBC,QAAA,EAAU;IACZ;IAEA,OAAOF,aAAA;EACT,EAAE,OAAOG,KAAA,EAAO;IACd,IAAIA,KAAA,CAAMC,OAAO,KAAK,aAAa;MACjCT,QAAA;IACF;IACAU,OAAA,CAAQF,KAAK,CAACA,KAAA,GAAO;EACvB;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"createSerializableValue.d.ts","sourceRoot":"","sources":["../../../src/views/List/createSerializableValue.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,uBAAuB,UAAW,GAAG,KAAG,MAWpD,CAAA"}
1
+ {"version":3,"file":"createSerializableValue.d.ts","sourceRoot":"","sources":["../../../src/views/List/createSerializableValue.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,uBAAuB,GAAI,OAAO,GAAG,KAAG,MAWpD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"extractRelationshipDisplayValue.d.ts","sourceRoot":"","sources":["../../../src/views/List/extractRelationshipDisplayValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAGnE,eAAO,MAAM,+BAA+B,iBAC5B,GAAG,gBACH,YAAY,uBACL,sBAAsB,KAC1C,MAiBF,CAAA"}
1
+ {"version":3,"file":"extractRelationshipDisplayValue.d.ts","sourceRoot":"","sources":["../../../src/views/List/extractRelationshipDisplayValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAGnE,eAAO,MAAM,+BAA+B,GAC1C,cAAc,GAAG,EACjB,cAAc,YAAY,EAC1B,qBAAqB,sBAAsB,KAC1C,MAiBF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"extractValueOrRelationshipID.d.ts","sourceRoot":"","sources":["../../../src/views/List/extractValueOrRelationshipID.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,4BAA4B,iBAAkB,GAAG,KAAG,GAmBhE,CAAA"}
1
+ {"version":3,"file":"extractValueOrRelationshipID.d.ts","sourceRoot":"","sources":["../../../src/views/List/extractValueOrRelationshipID.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,4BAA4B,GAAI,cAAc,GAAG,KAAG,GAmBhE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"handleGroupBy.d.ts","sourceRoot":"","sources":["../../../src/views/List/handleGroupBy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EACZ,MAAM,EACN,SAAS,EACT,aAAa,EACb,cAAc,EACd,yBAAyB,EACzB,0BAA0B,EAC1B,UAAU,EACV,SAAS,EACT,KAAK,EACN,MAAM,SAAS,CAAA;AAUhB,eAAO,MAAM,aAAa,sOAiBvB;IACD,sBAAsB,EAAE,sBAAsB,CAAA;IAC9C,YAAY,EAAE,YAAY,CAAA;IAC1B,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,GAAG,EAAE,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,gBAAgB,CAAC,EAAE,0BAA0B,CAAA;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,GAAG,CAAA;IACT,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,KAAK,EAAE,KAAK,CAAA;CACb,KAAG,OAAO,CAAC;IACV,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,IAAI,EAAE,aAAa,CAAA;IACnB,KAAK,EAAE,IAAI,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;CAClD,CAkKA,CAAA"}
1
+ {"version":3,"file":"handleGroupBy.d.ts","sourceRoot":"","sources":["../../../src/views/List/handleGroupBy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EACZ,MAAM,EACN,SAAS,EACT,aAAa,EACb,cAAc,EACd,yBAAyB,EACzB,0BAA0B,EAC1B,UAAU,EACV,SAAS,EACT,KAAK,EACN,MAAM,SAAS,CAAA;AAWhB,eAAO,MAAM,aAAa,GAAU,mOAiBjC;IACD,sBAAsB,EAAE,sBAAsB,CAAA;IAC9C,YAAY,EAAE,YAAY,CAAA;IAC1B,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,GAAG,EAAE,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,gBAAgB,CAAC,EAAE,0BAA0B,CAAA;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,GAAG,CAAA;IACT,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,KAAK,EAAE,KAAK,CAAA;CACb,KAAG,OAAO,CAAC;IACV,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,IAAI,EAAE,aAAa,CAAA;IACnB,KAAK,EAAE,IAAI,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;CAClD,CA2KA,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { getTranslation } from '@payloadcms/translations';
1
2
  import { renderTable } from '@payloadcms/ui/rsc';
2
3
  import { formatDate } from '@payloadcms/ui/shared';
3
4
  import { flattenAllFields } from 'payload';
@@ -110,6 +111,13 @@ export const handleGroupBy = async ({
110
111
  if (valueOrRelationshipID === false) {
111
112
  heading = req.i18n.t('general:false');
112
113
  }
114
+ } else if (groupByField?.type === 'select' || groupByField?.type === 'radio') {
115
+ const option = groupByField.options?.find(opt => (typeof opt === 'string' ? opt : opt.value) === valueOrRelationshipID);
116
+ if (option && typeof option !== 'string' && typeof option.label === 'string') {
117
+ heading = getTranslation(option.label, req.i18n);
118
+ } else {
119
+ heading = String(valueOrRelationshipID);
120
+ }
113
121
  } else {
114
122
  heading = String(valueOrRelationshipID);
115
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handleGroupBy.js","names":["renderTable","formatDate","flattenAllFields","createSerializableValue","extractRelationshipDisplayValue","extractValueOrRelationshipID","handleGroupBy","clientCollectionConfig","clientConfig","collectionConfig","collectionSlug","columns","customCellProps","drawerSlug","enableRowSelections","fieldPermissions","query","req","select","trash","user","viewType","where","whereWithMergedSearch","Table","columnState","dataByGroup","flattenedFields","fields","groupByFieldPath","groupBy","replace","groupByField","find","f","name","populate","type","relationTo","Array","isArray","forEach","rel","config","collections","c","slug","admin","useAsTitle","distinct","payload","findDistinct","collection","depth","field","limit","Number","undefined","locale","overrideAccess","page","sort","data","docs","values","map","Promise","all","distinctValue","i","potentiallyPopulatedRelationship","valueOrRelationshipID","groupData","draft","fallbackLocale","includeLockStatus","queryByGroup","equals","heading","i18n","t","relationshipConfig","date","String","pattern","dateFormat","serializableValue","length","newColumnState","NewTable","groupByValue","key","orderableFieldName","orderable"],"sources":["../../../src/views/List/handleGroupBy.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n Column,\n ListQuery,\n PaginatedDocs,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedFieldsPermissions,\n SelectType,\n ViewTypes,\n Where,\n} from 'payload'\n\nimport { renderTable } from '@payloadcms/ui/rsc'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { flattenAllFields } from 'payload'\n\nimport { createSerializableValue } from './createSerializableValue.js'\nimport { extractRelationshipDisplayValue } from './extractRelationshipDisplayValue.js'\nimport { extractValueOrRelationshipID } from './extractValueOrRelationshipID.js'\n\nexport const handleGroupBy = async ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n fieldPermissions,\n query,\n req,\n select,\n trash = false,\n user,\n viewType,\n where: whereWithMergedSearch,\n}: {\n clientCollectionConfig: ClientCollectionConfig\n clientConfig: ClientConfig\n collectionConfig: SanitizedCollectionConfig\n collectionSlug: string\n columns: any[]\n customCellProps?: Record<string, any>\n drawerSlug?: string\n enableRowSelections?: boolean\n fieldPermissions?: SanitizedFieldsPermissions\n query?: ListQuery\n req: PayloadRequest\n select?: SelectType\n trash?: boolean\n user: any\n viewType?: ViewTypes\n where: Where\n}): Promise<{\n columnState: Column[]\n data: PaginatedDocs\n Table: null | React.ReactNode | React.ReactNode[]\n}> => {\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[]\n\n const dataByGroup: Record<string, PaginatedDocs> = {}\n\n // NOTE: is there a faster/better way to do this?\n const flattenedFields = flattenAllFields({ fields: collectionConfig.fields })\n\n const groupByFieldPath = query.groupBy.replace(/^-/, '')\n\n const groupByField = flattenedFields.find((f) => f.name === groupByFieldPath)\n\n // Set up population for relationships\n let populate\n\n if (groupByField?.type === 'relationship' && groupByField.relationTo) {\n const relationTo = Array.isArray(groupByField.relationTo)\n ? groupByField.relationTo\n : [groupByField.relationTo]\n\n populate = {}\n relationTo.forEach((rel) => {\n const config = clientConfig.collections.find((c) => c.slug === rel)\n populate[rel] = { [config?.admin?.useAsTitle || 'id']: true }\n })\n }\n\n const distinct = await req.payload.findDistinct({\n collection: collectionSlug,\n depth: 1,\n field: groupByFieldPath,\n limit: query?.limit ? Number(query.limit) : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page ? Number(query.page) : undefined,\n populate,\n req,\n sort: query?.groupBy,\n trash,\n where: whereWithMergedSearch,\n })\n\n const data = {\n ...distinct,\n docs: distinct.values?.map(() => ({})) || [],\n values: undefined,\n }\n\n await Promise.all(\n (distinct.values || []).map(async (distinctValue, i) => {\n const potentiallyPopulatedRelationship = distinctValue[groupByFieldPath]\n\n // Extract value or relationship ID for database query\n const valueOrRelationshipID = extractValueOrRelationshipID(potentiallyPopulatedRelationship)\n\n const groupData = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.queryByGroup?.[valueOrRelationshipID]?.limit\n ? Number(query.queryByGroup[valueOrRelationshipID].limit)\n : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.queryByGroup?.[valueOrRelationshipID]?.page\n ? Number(query.queryByGroup[valueOrRelationshipID].page)\n : undefined,\n req,\n // Note: if we wanted to enable table-by-table sorting, we could use this:\n // sort: query?.queryByGroup?.[valueOrRelationshipID]?.sort,\n select,\n sort: query?.sort,\n trash,\n user,\n where: {\n ...(whereWithMergedSearch || {}),\n [groupByFieldPath]: {\n equals: valueOrRelationshipID,\n },\n },\n })\n\n // Extract heading\n let heading: string\n\n if (potentiallyPopulatedRelationship === null) {\n heading = req.i18n.t('general:noValue')\n } else if (groupByField?.type === 'relationship') {\n const relationshipConfig = Array.isArray(groupByField.relationTo)\n ? undefined\n : clientConfig.collections.find((c) => c.slug === groupByField.relationTo)\n heading = extractRelationshipDisplayValue(\n potentiallyPopulatedRelationship,\n clientConfig,\n relationshipConfig,\n )\n } else if (groupByField?.type === 'date') {\n heading = formatDate({\n date: String(valueOrRelationshipID),\n i18n: req.i18n,\n pattern: clientConfig.admin.dateFormat,\n })\n } else if (groupByField?.type === 'checkbox') {\n if (valueOrRelationshipID === true) {\n heading = req.i18n.t('general:true')\n }\n if (valueOrRelationshipID === false) {\n heading = req.i18n.t('general:false')\n }\n } else {\n heading = String(valueOrRelationshipID)\n }\n\n // Create serializable value for client\n const serializableValue = createSerializableValue(valueOrRelationshipID)\n\n if (groupData.docs && groupData.docs.length > 0) {\n const { columnState: newColumnState, Table: NewTable } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data: groupData,\n drawerSlug,\n enableRowSelections,\n fieldPermissions,\n groupByFieldPath,\n groupByValue: serializableValue,\n heading: heading || req.i18n.t('general:noValue'),\n i18n: req.i18n,\n key: `table-${serializableValue}`,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n useAsTitle: collectionConfig.admin.useAsTitle,\n viewType,\n })\n\n // Only need to set `columnState` once, using the first table's column state\n // This will avoid needing to generate column state explicitly for root context that wraps all tables\n if (!columnState) {\n columnState = newColumnState\n }\n\n if (!Table) {\n Table = []\n }\n\n dataByGroup[serializableValue] = groupData\n ;(Table as Array<React.ReactNode>)[i] = NewTable\n }\n }),\n )\n\n return {\n columnState,\n data,\n Table,\n }\n}\n"],"mappings":"AAcA,SAASA,WAAW,QAAQ;AAC5B,SAASC,UAAU,QAAQ;AAC3B,SAASC,gBAAgB,QAAQ;AAEjC,SAASC,uBAAuB,QAAQ;AACxC,SAASC,+BAA+B,QAAQ;AAChD,SAASC,4BAA4B,QAAQ;AAE7C,OAAO,MAAMC,aAAA,GAAgB,MAAAA,CAAO;EAClCC,sBAAsB;EACtBC,YAAY;EACZC,gBAAgB;EAChBC,cAAc;EACdC,OAAO;EACPC,eAAe;EACfC,UAAU;EACVC,mBAAmB;EACnBC,gBAAgB;EAChBC,KAAK;EACLC,GAAG;EACHC,MAAM;EACNC,KAAA,GAAQ,KAAK;EACbC,IAAI;EACJC,QAAQ;EACRC,KAAA,EAAOC;AAAqB,CAkB7B;EAKC,IAAIC,KAAA,GAA6C;EACjD,IAAIC,WAAA;EAEJ,MAAMC,WAAA,GAA6C,CAAC;EAEpD;EACA,MAAMC,eAAA,GAAkBzB,gBAAA,CAAiB;IAAE0B,MAAA,EAAQnB,gBAAA,CAAiBmB;EAAO;EAE3E,MAAMC,gBAAA,GAAmBb,KAAA,CAAMc,OAAO,CAACC,OAAO,CAAC,MAAM;EAErD,MAAMC,YAAA,GAAeL,eAAA,CAAgBM,IAAI,CAAEC,CAAA,IAAMA,CAAA,CAAEC,IAAI,KAAKN,gBAAA;EAE5D;EACA,IAAIO,QAAA;EAEJ,IAAIJ,YAAA,EAAcK,IAAA,KAAS,kBAAkBL,YAAA,CAAaM,UAAU,EAAE;IACpE,MAAMA,UAAA,GAAaC,KAAA,CAAMC,OAAO,CAACR,YAAA,CAAaM,UAAU,IACpDN,YAAA,CAAaM,UAAU,GACvB,CAACN,YAAA,CAAaM,UAAU,CAAC;IAE7BF,QAAA,GAAW,CAAC;IACZE,UAAA,CAAWG,OAAO,CAAEC,GAAA;MAClB,MAAMC,MAAA,GAASnC,YAAA,CAAaoC,WAAW,CAACX,IAAI,CAAEY,CAAA,IAAMA,CAAA,CAAEC,IAAI,KAAKJ,GAAA;MAC/DN,QAAQ,CAACM,GAAA,CAAI,GAAG;QAAE,CAACC,MAAA,EAAQI,KAAA,EAAOC,UAAA,IAAc,OAAO;MAAK;IAC9D;EACF;EAEA,MAAMC,QAAA,GAAW,MAAMhC,GAAA,CAAIiC,OAAO,CAACC,YAAY,CAAC;IAC9CC,UAAA,EAAY1C,cAAA;IACZ2C,KAAA,EAAO;IACPC,KAAA,EAAOzB,gBAAA;IACP0B,KAAA,EAAOvC,KAAA,EAAOuC,KAAA,GAAQC,MAAA,CAAOxC,KAAA,CAAMuC,KAAK,IAAIE,SAAA;IAC5CC,MAAA,EAAQzC,GAAA,CAAIyC,MAAM;IAClBC,cAAA,EAAgB;IAChBC,IAAA,EAAM5C,KAAA,EAAO4C,IAAA,GAAOJ,MAAA,CAAOxC,KAAA,CAAM4C,IAAI,IAAIH,SAAA;IACzCrB,QAAA;IACAnB,GAAA;IACA4C,IAAA,EAAM7C,KAAA,EAAOc,OAAA;IACbX,KAAA;IACAG,KAAA,EAAOC;EACT;EAEA,MAAMuC,IAAA,GAAO;IACX,GAAGb,QAAQ;IACXc,IAAA,EAAMd,QAAA,CAASe,MAAM,EAAEC,GAAA,CAAI,OAAO,CAAC,OAAO,EAAE;IAC5CD,MAAA,EAAQP;EACV;EAEA,MAAMS,OAAA,CAAQC,GAAG,CACf,CAAClB,QAAA,CAASe,MAAM,IAAI,EAAE,EAAEC,GAAG,CAAC,OAAOG,aAAA,EAAeC,CAAA;IAChD,MAAMC,gCAAA,GAAmCF,aAAa,CAACvC,gBAAA,CAAiB;IAExE;IACA,MAAM0C,qBAAA,GAAwBlE,4BAAA,CAA6BiE,gCAAA;IAE3D,MAAME,SAAA,GAAY,MAAMvD,GAAA,CAAIiC,OAAO,CAACjB,IAAI,CAAC;MACvCmB,UAAA,EAAY1C,cAAA;MACZ2C,KAAA,EAAO;MACPoB,KAAA,EAAO;MACPC,cAAA,EAAgB;MAChBC,iBAAA,EAAmB;MACnBpB,KAAA,EAAOvC,KAAA,EAAO4D,YAAA,GAAeL,qBAAA,CAAsB,EAAEhB,KAAA,GACjDC,MAAA,CAAOxC,KAAA,CAAM4D,YAAY,CAACL,qBAAA,CAAsB,CAAChB,KAAK,IACtDE,SAAA;MACJC,MAAA,EAAQzC,GAAA,CAAIyC,MAAM;MAClBC,cAAA,EAAgB;MAChBC,IAAA,EAAM5C,KAAA,EAAO4D,YAAA,GAAeL,qBAAA,CAAsB,EAAEX,IAAA,GAChDJ,MAAA,CAAOxC,KAAA,CAAM4D,YAAY,CAACL,qBAAA,CAAsB,CAACX,IAAI,IACrDH,SAAA;MACJxC,GAAA;MACA;MACA;MACAC,MAAA;MACA2C,IAAA,EAAM7C,KAAA,EAAO6C,IAAA;MACb1C,KAAA;MACAC,IAAA;MACAE,KAAA,EAAO;QACL,IAAIC,qBAAA,IAAyB,CAAC,CAAC;QAC/B,CAACM,gBAAA,GAAmB;UAClBgD,MAAA,EAAQN;QACV;MACF;IACF;IAEA;IACA,IAAIO,OAAA;IAEJ,IAAIR,gCAAA,KAAqC,MAAM;MAC7CQ,OAAA,GAAU7D,GAAA,CAAI8D,IAAI,CAACC,CAAC,CAAC;IACvB,OAAO,IAAIhD,YAAA,EAAcK,IAAA,KAAS,gBAAgB;MAChD,MAAM4C,kBAAA,GAAqB1C,KAAA,CAAMC,OAAO,CAACR,YAAA,CAAaM,UAAU,IAC5DmB,SAAA,GACAjD,YAAA,CAAaoC,WAAW,CAACX,IAAI,CAAEY,CAAA,IAAMA,CAAA,CAAEC,IAAI,KAAKd,YAAA,CAAaM,UAAU;MAC3EwC,OAAA,GAAU1E,+BAAA,CACRkE,gCAAA,EACA9D,YAAA,EACAyE,kBAAA;IAEJ,OAAO,IAAIjD,YAAA,EAAcK,IAAA,KAAS,QAAQ;MACxCyC,OAAA,GAAU7E,UAAA,CAAW;QACnBiF,IAAA,EAAMC,MAAA,CAAOZ,qBAAA;QACbQ,IAAA,EAAM9D,GAAA,CAAI8D,IAAI;QACdK,OAAA,EAAS5E,YAAA,CAAauC,KAAK,CAACsC;MAC9B;IACF,OAAO,IAAIrD,YAAA,EAAcK,IAAA,KAAS,YAAY;MAC5C,IAAIkC,qBAAA,KAA0B,MAAM;QAClCO,OAAA,GAAU7D,GAAA,CAAI8D,IAAI,CAACC,CAAC,CAAC;MACvB;MACA,IAAIT,qBAAA,KAA0B,OAAO;QACnCO,OAAA,GAAU7D,GAAA,CAAI8D,IAAI,CAACC,CAAC,CAAC;MACvB;IACF,OAAO;MACLF,OAAA,GAAUK,MAAA,CAAOZ,qBAAA;IACnB;IAEA;IACA,MAAMe,iBAAA,GAAoBnF,uBAAA,CAAwBoE,qBAAA;IAElD,IAAIC,SAAA,CAAUT,IAAI,IAAIS,SAAA,CAAUT,IAAI,CAACwB,MAAM,GAAG,GAAG;MAC/C,MAAM;QAAE9D,WAAA,EAAa+D,cAAc;QAAEhE,KAAA,EAAOiE;MAAQ,CAAE,GAAGzF,WAAA,CAAY;QACnEO,sBAAA;QACAE,gBAAA;QACAE,OAAA;QACAC,eAAA;QACAkD,IAAA,EAAMU,SAAA;QACN3D,UAAA;QACAC,mBAAA;QACAC,gBAAA;QACAc,gBAAA;QACA6D,YAAA,EAAcJ,iBAAA;QACdR,OAAA,EAASA,OAAA,IAAW7D,GAAA,CAAI8D,IAAI,CAACC,CAAC,CAAC;QAC/BD,IAAA,EAAM9D,GAAA,CAAI8D,IAAI;QACdY,GAAA,EAAK,SAASL,iBAAA,EAAmB;QACjCM,kBAAA,EAAoBnF,gBAAA,CAAiBoF,SAAS,KAAK,OAAO,WAAWpC,SAAA;QACrEP,OAAA,EAASjC,GAAA,CAAIiC,OAAO;QACpBlC,KAAA;QACAgC,UAAA,EAAYvC,gBAAA,CAAiBsC,KAAK,CAACC,UAAU;QAC7C3B;MACF;MAEA;MACA;MACA,IAAI,CAACI,WAAA,EAAa;QAChBA,WAAA,GAAc+D,cAAA;MAChB;MAEA,IAAI,CAAChE,KAAA,EAAO;QACVA,KAAA,GAAQ,EAAE;MACZ;MAEAE,WAAW,CAAC4D,iBAAA,CAAkB,GAAGd,SAAA;MAC/BhD,KAAgC,CAAC6C,CAAA,CAAE,GAAGoB,QAAA;IAC1C;EACF;EAGF,OAAO;IACLhE,WAAA;IACAqC,IAAA;IACAtC;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"handleGroupBy.js","names":["getTranslation","renderTable","formatDate","flattenAllFields","createSerializableValue","extractRelationshipDisplayValue","extractValueOrRelationshipID","handleGroupBy","clientCollectionConfig","clientConfig","collectionConfig","collectionSlug","columns","customCellProps","drawerSlug","enableRowSelections","fieldPermissions","query","req","select","trash","user","viewType","where","whereWithMergedSearch","Table","columnState","dataByGroup","flattenedFields","fields","groupByFieldPath","groupBy","replace","groupByField","find","f","name","populate","type","relationTo","Array","isArray","forEach","rel","config","collections","c","slug","admin","useAsTitle","distinct","payload","findDistinct","collection","depth","field","limit","Number","undefined","locale","overrideAccess","page","sort","data","docs","values","map","Promise","all","distinctValue","i","potentiallyPopulatedRelationship","valueOrRelationshipID","groupData","draft","fallbackLocale","includeLockStatus","queryByGroup","equals","heading","i18n","t","relationshipConfig","date","String","pattern","dateFormat","option","options","opt","value","label","serializableValue","length","newColumnState","NewTable","groupByValue","key","orderableFieldName","orderable"],"sources":["../../../src/views/List/handleGroupBy.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n Column,\n ListQuery,\n PaginatedDocs,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedFieldsPermissions,\n SelectType,\n ViewTypes,\n Where,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { renderTable } from '@payloadcms/ui/rsc'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { flattenAllFields } from 'payload'\n\nimport { createSerializableValue } from './createSerializableValue.js'\nimport { extractRelationshipDisplayValue } from './extractRelationshipDisplayValue.js'\nimport { extractValueOrRelationshipID } from './extractValueOrRelationshipID.js'\n\nexport const handleGroupBy = async ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n fieldPermissions,\n query,\n req,\n select,\n trash = false,\n user,\n viewType,\n where: whereWithMergedSearch,\n}: {\n clientCollectionConfig: ClientCollectionConfig\n clientConfig: ClientConfig\n collectionConfig: SanitizedCollectionConfig\n collectionSlug: string\n columns: any[]\n customCellProps?: Record<string, any>\n drawerSlug?: string\n enableRowSelections?: boolean\n fieldPermissions?: SanitizedFieldsPermissions\n query?: ListQuery\n req: PayloadRequest\n select?: SelectType\n trash?: boolean\n user: any\n viewType?: ViewTypes\n where: Where\n}): Promise<{\n columnState: Column[]\n data: PaginatedDocs\n Table: null | React.ReactNode | React.ReactNode[]\n}> => {\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[]\n\n const dataByGroup: Record<string, PaginatedDocs> = {}\n\n // NOTE: is there a faster/better way to do this?\n const flattenedFields = flattenAllFields({ fields: collectionConfig.fields })\n\n const groupByFieldPath = query.groupBy.replace(/^-/, '')\n\n const groupByField = flattenedFields.find((f) => f.name === groupByFieldPath)\n\n // Set up population for relationships\n let populate\n\n if (groupByField?.type === 'relationship' && groupByField.relationTo) {\n const relationTo = Array.isArray(groupByField.relationTo)\n ? groupByField.relationTo\n : [groupByField.relationTo]\n\n populate = {}\n relationTo.forEach((rel) => {\n const config = clientConfig.collections.find((c) => c.slug === rel)\n populate[rel] = { [config?.admin?.useAsTitle || 'id']: true }\n })\n }\n\n const distinct = await req.payload.findDistinct({\n collection: collectionSlug,\n depth: 1,\n field: groupByFieldPath,\n limit: query?.limit ? Number(query.limit) : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page ? Number(query.page) : undefined,\n populate,\n req,\n sort: query?.groupBy,\n trash,\n where: whereWithMergedSearch,\n })\n\n const data = {\n ...distinct,\n docs: distinct.values?.map(() => ({})) || [],\n values: undefined,\n }\n\n await Promise.all(\n (distinct.values || []).map(async (distinctValue, i) => {\n const potentiallyPopulatedRelationship = distinctValue[groupByFieldPath]\n\n // Extract value or relationship ID for database query\n const valueOrRelationshipID = extractValueOrRelationshipID(potentiallyPopulatedRelationship)\n\n const groupData = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.queryByGroup?.[valueOrRelationshipID]?.limit\n ? Number(query.queryByGroup[valueOrRelationshipID].limit)\n : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.queryByGroup?.[valueOrRelationshipID]?.page\n ? Number(query.queryByGroup[valueOrRelationshipID].page)\n : undefined,\n req,\n // Note: if we wanted to enable table-by-table sorting, we could use this:\n // sort: query?.queryByGroup?.[valueOrRelationshipID]?.sort,\n select,\n sort: query?.sort,\n trash,\n user,\n where: {\n ...(whereWithMergedSearch || {}),\n [groupByFieldPath]: {\n equals: valueOrRelationshipID,\n },\n },\n })\n\n // Extract heading\n let heading: string\n\n if (potentiallyPopulatedRelationship === null) {\n heading = req.i18n.t('general:noValue')\n } else if (groupByField?.type === 'relationship') {\n const relationshipConfig = Array.isArray(groupByField.relationTo)\n ? undefined\n : clientConfig.collections.find((c) => c.slug === groupByField.relationTo)\n heading = extractRelationshipDisplayValue(\n potentiallyPopulatedRelationship,\n clientConfig,\n relationshipConfig,\n )\n } else if (groupByField?.type === 'date') {\n heading = formatDate({\n date: String(valueOrRelationshipID),\n i18n: req.i18n,\n pattern: clientConfig.admin.dateFormat,\n })\n } else if (groupByField?.type === 'checkbox') {\n if (valueOrRelationshipID === true) {\n heading = req.i18n.t('general:true')\n }\n if (valueOrRelationshipID === false) {\n heading = req.i18n.t('general:false')\n }\n } else if (groupByField?.type === 'select' || groupByField?.type === 'radio') {\n const option = groupByField.options?.find(\n (opt) => (typeof opt === 'string' ? opt : opt.value) === valueOrRelationshipID,\n )\n if (option && typeof option !== 'string' && typeof option.label === 'string') {\n heading = getTranslation(option.label, req.i18n)\n } else {\n heading = String(valueOrRelationshipID)\n }\n } else {\n heading = String(valueOrRelationshipID)\n }\n\n // Create serializable value for client\n const serializableValue = createSerializableValue(valueOrRelationshipID)\n\n if (groupData.docs && groupData.docs.length > 0) {\n const { columnState: newColumnState, Table: NewTable } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data: groupData,\n drawerSlug,\n enableRowSelections,\n fieldPermissions,\n groupByFieldPath,\n groupByValue: serializableValue,\n heading: heading || req.i18n.t('general:noValue'),\n i18n: req.i18n,\n key: `table-${serializableValue}`,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n useAsTitle: collectionConfig.admin.useAsTitle,\n viewType,\n })\n\n // Only need to set `columnState` once, using the first table's column state\n // This will avoid needing to generate column state explicitly for root context that wraps all tables\n if (!columnState) {\n columnState = newColumnState\n }\n\n if (!Table) {\n Table = []\n }\n\n dataByGroup[serializableValue] = groupData\n ;(Table as Array<React.ReactNode>)[i] = NewTable\n }\n }),\n )\n\n return {\n columnState,\n data,\n Table,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ import type { HierarchyViewData, PayloadRequest, SanitizedCollectionConfig, SanitizedPermissions, Where } from 'payload';
2
+ /**
3
+ * Fetches hierarchy data for a collection with a selected parent.
4
+ * Returns data that can be rendered client-side by HierarchyTable.
5
+ */
6
+ export declare const handleHierarchy: ({ baseFilter, collectionConfig, collectionSlug, parentId, permissions, req, search, typeFilter, user, }: {
7
+ baseFilter?: null | Where;
8
+ collectionConfig: SanitizedCollectionConfig;
9
+ collectionSlug: string;
10
+ parentId: null | number | string;
11
+ permissions?: SanitizedPermissions;
12
+ req: PayloadRequest;
13
+ search?: string;
14
+ /** Filter hierarchy items by their collectionSpecific type field */
15
+ typeFilter?: string[];
16
+ user: PayloadRequest["user"];
17
+ }) => Promise<HierarchyViewData>;
18
+ //# sourceMappingURL=handleHierarchy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleHierarchy.d.ts","sourceRoot":"","sources":["../../../src/views/List/handleHierarchy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EAEd,yBAAyB,EACzB,oBAAoB,EAEpB,KAAK,EACN,MAAM,SAAS,CAAA;AAMhB;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAU,yGAUnC;IACD,UAAU,CAAC,EAAE,IAAI,GAAG,KAAK,CAAA;IACzB,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IAChC,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAClC,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;CAC7B,KAAG,OAAO,CAAC,iBAAiB,CAmP5B,CAAA"}
@@ -0,0 +1,259 @@
1
+ import { getTranslation } from '@payloadcms/translations';
2
+ import { getAncestors } from 'payload';
3
+ import { combineWhereConstraints, DEFAULT_HIERARCHY_LIST_LIMIT } from 'payload/shared';
4
+ /**
5
+ * Fetches hierarchy data for a collection with a selected parent.
6
+ * Returns data that can be rendered client-side by HierarchyTable.
7
+ */
8
+ export const handleHierarchy = async ({
9
+ baseFilter,
10
+ collectionConfig,
11
+ collectionSlug,
12
+ parentId,
13
+ permissions,
14
+ req,
15
+ search,
16
+ typeFilter,
17
+ user
18
+ }) => {
19
+ const hierarchyConfig = collectionConfig.hierarchy && typeof collectionConfig.hierarchy === 'object' ? collectionConfig.hierarchy : undefined;
20
+ if (!hierarchyConfig) {
21
+ throw new Error('Collection is not a hierarchy');
22
+ }
23
+ const parentFieldName = hierarchyConfig.parentFieldName;
24
+ const useAsTitle = collectionConfig.admin?.useAsTitle || 'id';
25
+ // Fetch the parent item and breadcrumbs (skip for root level)
26
+ let parent = null;
27
+ let breadcrumbs = [];
28
+ if (parentId !== null) {
29
+ try {
30
+ const [item, ancestors] = await Promise.all([req.payload.findByID({
31
+ id: parentId,
32
+ collection: collectionSlug,
33
+ depth: 0,
34
+ overrideAccess: false,
35
+ req,
36
+ user
37
+ }), getAncestors({
38
+ id: parentId,
39
+ collectionSlug,
40
+ req
41
+ })]);
42
+ parent = item;
43
+ breadcrumbs = ancestors;
44
+ } catch (_error) {
45
+ req.payload.logger.warn({
46
+ msg: `Hierarchy item not found: ${parentId}`
47
+ });
48
+ }
49
+ }
50
+ // Build children where clause
51
+ // For root level (parentId is null), find items without a parent
52
+ // For nested level, find items with this specific parent
53
+ const parentCondition = parentId === null ? {
54
+ or: [{
55
+ [parentFieldName]: {
56
+ exists: false
57
+ }
58
+ }, {
59
+ [parentFieldName]: {
60
+ equals: null
61
+ }
62
+ }]
63
+ } : {
64
+ [parentFieldName]: {
65
+ equals: parentId
66
+ }
67
+ };
68
+ // Build type filter condition if typeFilter is provided and collectionSpecific is configured
69
+ // Filter to folders that allow ANY of the selected types OR are unrestricted
70
+ let typeCondition;
71
+ if (typeFilter && typeFilter.length > 0 && hierarchyConfig.collectionSpecific && typeof hierarchyConfig.collectionSpecific === 'object') {
72
+ const typeFieldName = hierarchyConfig.collectionSpecific.fieldName;
73
+ // Exclude the hierarchy collection itself from the filter (folders always show folders)
74
+ const filteredTypes = typeFilter.filter(t => t !== collectionSlug);
75
+ if (filteredTypes.length > 0) {
76
+ typeCondition = {
77
+ or: [{
78
+ [typeFieldName]: {
79
+ in: filteredTypes
80
+ }
81
+ }, {
82
+ [typeFieldName]: {
83
+ exists: false
84
+ }
85
+ }]
86
+ };
87
+ }
88
+ }
89
+ // Combine conditions: parent + search + typeFilter
90
+ const conditions = [parentCondition];
91
+ if (search) {
92
+ conditions.push({
93
+ [useAsTitle]: {
94
+ like: search
95
+ }
96
+ });
97
+ }
98
+ if (typeCondition) {
99
+ conditions.push(typeCondition);
100
+ }
101
+ const childrenWhere = conditions.length > 1 ? {
102
+ and: conditions
103
+ } : parentCondition;
104
+ // Fetch children (hierarchy items with this parent, or root items if parentId is null)
105
+ const childrenData = await req.payload.find({
106
+ collection: collectionSlug,
107
+ depth: 0,
108
+ draft: true,
109
+ fallbackLocale: false,
110
+ includeLockStatus: true,
111
+ limit: DEFAULT_HIERARCHY_LIST_LIMIT,
112
+ locale: req.locale,
113
+ overrideAccess: false,
114
+ page: 1,
115
+ req,
116
+ user,
117
+ where: combineWhereConstraints([childrenWhere, baseFilter])
118
+ });
119
+ // Fetch related documents from other collections
120
+ // At root level: show unassigned documents (where hierarchy field doesn't exist)
121
+ // At nested level: show documents assigned to the selected hierarchy item
122
+ const relatedDocumentsByCollection = {};
123
+ const relatedBaseFilters = {};
124
+ // Use pre-computed relatedCollections from sanitized hierarchy config
125
+ const relatedCollectionsConfig = hierarchyConfig.relatedCollections || {};
126
+ for (const [relatedSlug, fieldInfo] of Object.entries(relatedCollectionsConfig)) {
127
+ if (relatedSlug === collectionSlug) {
128
+ continue;
129
+ }
130
+ const relatedCollectionConfig = req.payload.collections[relatedSlug]?.config;
131
+ if (!relatedCollectionConfig) {
132
+ continue;
133
+ }
134
+ // Check if user has read permission for this collection
135
+ if (!permissions?.collections?.[relatedSlug]?.read) {
136
+ continue;
137
+ }
138
+ const {
139
+ fieldName,
140
+ hasMany
141
+ } = fieldInfo;
142
+ // Get baseFilter for this related collection
143
+ const relatedBaseFilter = await (relatedCollectionConfig.admin?.baseFilter ?? relatedCollectionConfig.admin?.baseListFilter)?.({
144
+ limit: DEFAULT_HIERARCHY_LIST_LIMIT,
145
+ page: 1,
146
+ req,
147
+ sort: undefined
148
+ });
149
+ if (relatedBaseFilter) {
150
+ relatedBaseFilters[relatedSlug] = relatedBaseFilter;
151
+ }
152
+ // Build where clause based on whether we're at root or nested level
153
+ let relationshipWhere;
154
+ if (parentId === null) {
155
+ // Root level: find documents where hierarchy field doesn't exist, is null, or is empty array
156
+ const conditions = [{
157
+ [fieldName]: {
158
+ exists: false
159
+ }
160
+ }, {
161
+ [fieldName]: {
162
+ equals: null
163
+ }
164
+ }];
165
+ if (hasMany) {
166
+ // hasMany fields store cleared values as empty arrays
167
+ conditions.push({
168
+ [fieldName]: {
169
+ equals: []
170
+ }
171
+ });
172
+ }
173
+ relationshipWhere = {
174
+ or: conditions
175
+ };
176
+ } else {
177
+ // Nested level: find documents assigned to this hierarchy item
178
+ // "in" operator works for both hasMany and single relationship fields
179
+ relationshipWhere = {
180
+ [fieldName]: {
181
+ in: [parentId]
182
+ }
183
+ };
184
+ }
185
+ // Add search filter if provided
186
+ const relatedUseAsTitle = relatedCollectionConfig.admin?.useAsTitle || 'id';
187
+ const whereWithSearch = search ? {
188
+ and: [relationshipWhere, {
189
+ [relatedUseAsTitle]: {
190
+ like: search
191
+ }
192
+ }]
193
+ } : relationshipWhere;
194
+ // Combine relationship where with related collection's baseFilter
195
+ const where = combineWhereConstraints([whereWithSearch, relatedBaseFilter]);
196
+ try {
197
+ const data = await req.payload.find({
198
+ collection: relatedSlug,
199
+ depth: 0,
200
+ draft: true,
201
+ fallbackLocale: false,
202
+ includeLockStatus: true,
203
+ limit: DEFAULT_HIERARCHY_LIST_LIMIT,
204
+ locale: req.locale,
205
+ overrideAccess: false,
206
+ page: 1,
207
+ req,
208
+ user,
209
+ where
210
+ });
211
+ if (data.totalDocs > 0) {
212
+ relatedDocumentsByCollection[relatedSlug] = {
213
+ fieldName,
214
+ hasMany,
215
+ label: getTranslation(relatedCollectionConfig.labels?.plural, req.i18n),
216
+ result: data
217
+ };
218
+ }
219
+ } catch (error) {
220
+ req.payload.logger.warn({
221
+ err: error,
222
+ msg: `Failed to query related collection ${relatedSlug}`
223
+ });
224
+ }
225
+ }
226
+ // Extract allowed collections from parent's collectionSpecific field
227
+ // - undefined: collectionSpecific not configured, no filtering needed
228
+ // - []: parent folder accepts everything, can only move to unrestricted destinations
229
+ // - [{ slug, label }, ...]: parent folder has restrictions
230
+ let allowedCollections;
231
+ if (hierarchyConfig.collectionSpecific && parent) {
232
+ const typeFieldName = hierarchyConfig.collectionSpecific.fieldName;
233
+ const typeValues = parent[typeFieldName];
234
+ if (typeValues && typeValues.length > 0) {
235
+ allowedCollections = typeValues.map(slug => {
236
+ const config = req.payload.collections[slug]?.config;
237
+ const label = config ? getTranslation(config.labels?.plural, req.i18n) : slug;
238
+ return {
239
+ slug,
240
+ label
241
+ };
242
+ });
243
+ } else {
244
+ // Parent folder accepts everything (type is null or empty)
245
+ allowedCollections = [];
246
+ }
247
+ }
248
+ return {
249
+ allowedCollections,
250
+ breadcrumbs,
251
+ childrenData,
252
+ parent,
253
+ parentFieldName,
254
+ parentId,
255
+ relatedBaseFilters: Object.keys(relatedBaseFilters).length > 0 ? relatedBaseFilters : undefined,
256
+ relatedDocumentsByCollection
257
+ };
258
+ };
259
+ //# sourceMappingURL=handleHierarchy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleHierarchy.js","names":["getTranslation","getAncestors","combineWhereConstraints","DEFAULT_HIERARCHY_LIST_LIMIT","handleHierarchy","baseFilter","collectionConfig","collectionSlug","parentId","permissions","req","search","typeFilter","user","hierarchyConfig","hierarchy","undefined","Error","parentFieldName","useAsTitle","admin","parent","breadcrumbs","item","ancestors","Promise","all","payload","findByID","id","collection","depth","overrideAccess","_error","logger","warn","msg","parentCondition","or","exists","equals","typeCondition","length","collectionSpecific","typeFieldName","fieldName","filteredTypes","filter","t","in","conditions","push","like","childrenWhere","and","childrenData","find","draft","fallbackLocale","includeLockStatus","limit","locale","page","where","relatedDocumentsByCollection","relatedBaseFilters","relatedCollectionsConfig","relatedCollections","relatedSlug","fieldInfo","Object","entries","relatedCollectionConfig","collections","config","read","hasMany","relatedBaseFilter","baseListFilter","sort","relationshipWhere","relatedUseAsTitle","whereWithSearch","data","totalDocs","label","labels","plural","i18n","result","error","err","allowedCollections","typeValues","map","slug","keys"],"sources":["../../../src/views/List/handleHierarchy.ts"],"sourcesContent":["import type {\n HierarchyViewData,\n PayloadRequest,\n RelatedDocumentsGrouped,\n SanitizedCollectionConfig,\n SanitizedPermissions,\n TypeWithID,\n Where,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { getAncestors } from 'payload'\nimport { combineWhereConstraints, DEFAULT_HIERARCHY_LIST_LIMIT } from 'payload/shared'\n\n/**\n * Fetches hierarchy data for a collection with a selected parent.\n * Returns data that can be rendered client-side by HierarchyTable.\n */\nexport const handleHierarchy = async ({\n baseFilter,\n collectionConfig,\n collectionSlug,\n parentId,\n permissions,\n req,\n search,\n typeFilter,\n user,\n}: {\n baseFilter?: null | Where\n collectionConfig: SanitizedCollectionConfig\n collectionSlug: string\n parentId: null | number | string\n permissions?: SanitizedPermissions\n req: PayloadRequest\n search?: string\n /** Filter hierarchy items by their collectionSpecific type field */\n typeFilter?: string[]\n user: PayloadRequest['user']\n}): Promise<HierarchyViewData> => {\n const hierarchyConfig =\n collectionConfig.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n\n if (!hierarchyConfig) {\n throw new Error('Collection is not a hierarchy')\n }\n\n const parentFieldName = hierarchyConfig.parentFieldName\n\n const useAsTitle = collectionConfig.admin?.useAsTitle || 'id'\n\n // Fetch the parent item and breadcrumbs (skip for root level)\n let parent: null | (Record<string, unknown> & TypeWithID) = null\n let breadcrumbs: Array<{ id: number | string; title: string }> = []\n\n if (parentId !== null) {\n try {\n const [item, ancestors] = await Promise.all([\n req.payload.findByID({\n id: parentId,\n collection: collectionSlug,\n depth: 0,\n overrideAccess: false,\n req,\n user,\n }),\n getAncestors({\n id: parentId,\n collectionSlug,\n req,\n }),\n ])\n\n parent = item\n breadcrumbs = ancestors\n } catch (_error) {\n req.payload.logger.warn({\n msg: `Hierarchy item not found: ${parentId}`,\n })\n }\n }\n\n // Build children where clause\n // For root level (parentId is null), find items without a parent\n // For nested level, find items with this specific parent\n const parentCondition =\n parentId === null\n ? {\n or: [{ [parentFieldName]: { exists: false } }, { [parentFieldName]: { equals: null } }],\n }\n : { [parentFieldName]: { equals: parentId } }\n\n // Build type filter condition if typeFilter is provided and collectionSpecific is configured\n // Filter to folders that allow ANY of the selected types OR are unrestricted\n let typeCondition: Record<string, unknown> | undefined\n\n if (\n typeFilter &&\n typeFilter.length > 0 &&\n hierarchyConfig.collectionSpecific &&\n typeof hierarchyConfig.collectionSpecific === 'object'\n ) {\n const typeFieldName = hierarchyConfig.collectionSpecific.fieldName\n // Exclude the hierarchy collection itself from the filter (folders always show folders)\n const filteredTypes = typeFilter.filter((t) => t !== collectionSlug)\n\n if (filteredTypes.length > 0) {\n typeCondition = {\n or: [\n { [typeFieldName]: { in: filteredTypes } },\n { [typeFieldName]: { exists: false } }, // Include unrestricted folders\n ],\n }\n }\n }\n\n // Combine conditions: parent + search + typeFilter\n const conditions: Record<string, unknown>[] = [parentCondition]\n\n if (search) {\n conditions.push({ [useAsTitle]: { like: search } })\n }\n\n if (typeCondition) {\n conditions.push(typeCondition)\n }\n\n const childrenWhere = conditions.length > 1 ? { and: conditions } : parentCondition\n\n // Fetch children (hierarchy items with this parent, or root items if parentId is null)\n const childrenData = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: DEFAULT_HIERARCHY_LIST_LIMIT,\n locale: req.locale,\n overrideAccess: false,\n page: 1,\n req,\n user,\n where: combineWhereConstraints([childrenWhere, baseFilter]),\n })\n\n // Fetch related documents from other collections\n // At root level: show unassigned documents (where hierarchy field doesn't exist)\n // At nested level: show documents assigned to the selected hierarchy item\n const relatedDocumentsByCollection: RelatedDocumentsGrouped = {}\n const relatedBaseFilters: Record<string, Where> = {}\n\n // Use pre-computed relatedCollections from sanitized hierarchy config\n const relatedCollectionsConfig = hierarchyConfig.relatedCollections || {}\n\n for (const [relatedSlug, fieldInfo] of Object.entries(relatedCollectionsConfig)) {\n if (relatedSlug === collectionSlug) {\n continue\n }\n\n const relatedCollectionConfig = req.payload.collections[relatedSlug]?.config\n if (!relatedCollectionConfig) {\n continue\n }\n\n // Check if user has read permission for this collection\n if (!permissions?.collections?.[relatedSlug]?.read) {\n continue\n }\n\n const { fieldName, hasMany } = fieldInfo\n\n // Get baseFilter for this related collection\n const relatedBaseFilter = await (\n relatedCollectionConfig.admin?.baseFilter ?? relatedCollectionConfig.admin?.baseListFilter\n )?.({\n limit: DEFAULT_HIERARCHY_LIST_LIMIT,\n page: 1,\n req,\n sort: undefined,\n })\n\n if (relatedBaseFilter) {\n relatedBaseFilters[relatedSlug] = relatedBaseFilter\n }\n\n // Build where clause based on whether we're at root or nested level\n let relationshipWhere: Record<string, unknown>\n\n if (parentId === null) {\n // Root level: find documents where hierarchy field doesn't exist, is null, or is empty array\n const conditions: Record<string, unknown>[] = [\n { [fieldName]: { exists: false } },\n { [fieldName]: { equals: null } },\n ]\n if (hasMany) {\n // hasMany fields store cleared values as empty arrays\n conditions.push({ [fieldName]: { equals: [] } })\n }\n relationshipWhere = { or: conditions }\n } else {\n // Nested level: find documents assigned to this hierarchy item\n // \"in\" operator works for both hasMany and single relationship fields\n relationshipWhere = {\n [fieldName]: { in: [parentId] },\n }\n }\n\n // Add search filter if provided\n const relatedUseAsTitle = relatedCollectionConfig.admin?.useAsTitle || 'id'\n const whereWithSearch = search\n ? { and: [relationshipWhere, { [relatedUseAsTitle]: { like: search } }] }\n : relationshipWhere\n\n // Combine relationship where with related collection's baseFilter\n const where = combineWhereConstraints([whereWithSearch, relatedBaseFilter])\n\n try {\n const data = await req.payload.find({\n collection: relatedSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: DEFAULT_HIERARCHY_LIST_LIMIT,\n locale: req.locale,\n overrideAccess: false,\n page: 1,\n req,\n user,\n where,\n })\n\n if (data.totalDocs > 0) {\n relatedDocumentsByCollection[relatedSlug] = {\n fieldName,\n hasMany,\n label: getTranslation(relatedCollectionConfig.labels?.plural, req.i18n),\n result: data,\n }\n }\n } catch (error) {\n req.payload.logger.warn({\n err: error,\n msg: `Failed to query related collection ${relatedSlug}`,\n })\n }\n }\n\n // Extract allowed collections from parent's collectionSpecific field\n // - undefined: collectionSpecific not configured, no filtering needed\n // - []: parent folder accepts everything, can only move to unrestricted destinations\n // - [{ slug, label }, ...]: parent folder has restrictions\n let allowedCollections: Array<{ label: string; slug: string }> | undefined\n\n if (hierarchyConfig.collectionSpecific && parent) {\n const typeFieldName = hierarchyConfig.collectionSpecific.fieldName\n const typeValues = parent[typeFieldName] as null | string[] | undefined\n\n if (typeValues && typeValues.length > 0) {\n allowedCollections = typeValues.map((slug) => {\n const config = req.payload.collections[slug]?.config\n const label = config ? getTranslation(config.labels?.plural, req.i18n) : slug\n return { slug, label }\n })\n } else {\n // Parent folder accepts everything (type is null or empty)\n allowedCollections = []\n }\n }\n\n return {\n allowedCollections,\n breadcrumbs,\n childrenData,\n parent,\n parentFieldName,\n parentId,\n relatedBaseFilters: Object.keys(relatedBaseFilters).length > 0 ? relatedBaseFilters : undefined,\n relatedDocumentsByCollection,\n }\n}\n"],"mappings":"AAUA,SAASA,cAAc,QAAQ;AAC/B,SAASC,YAAY,QAAQ;AAC7B,SAASC,uBAAuB,EAAEC,4BAA4B,QAAQ;AAEtE;;;;AAIA,OAAO,MAAMC,eAAA,GAAkB,MAAAA,CAAO;EACpCC,UAAU;EACVC,gBAAgB;EAChBC,cAAc;EACdC,QAAQ;EACRC,WAAW;EACXC,GAAG;EACHC,MAAM;EACNC,UAAU;EACVC;AAAI,CAYL;EACC,MAAMC,eAAA,GACJR,gBAAA,CAAiBS,SAAS,IAAI,OAAOT,gBAAA,CAAiBS,SAAS,KAAK,WAChET,gBAAA,CAAiBS,SAAS,GAC1BC,SAAA;EAEN,IAAI,CAACF,eAAA,EAAiB;IACpB,MAAM,IAAIG,KAAA,CAAM;EAClB;EAEA,MAAMC,eAAA,GAAkBJ,eAAA,CAAgBI,eAAe;EAEvD,MAAMC,UAAA,GAAab,gBAAA,CAAiBc,KAAK,EAAED,UAAA,IAAc;EAEzD;EACA,IAAIE,MAAA,GAAwD;EAC5D,IAAIC,WAAA,GAA6D,EAAE;EAEnE,IAAId,QAAA,KAAa,MAAM;IACrB,IAAI;MACF,MAAM,CAACe,IAAA,EAAMC,SAAA,CAAU,GAAG,MAAMC,OAAA,CAAQC,GAAG,CAAC,CAC1ChB,GAAA,CAAIiB,OAAO,CAACC,QAAQ,CAAC;QACnBC,EAAA,EAAIrB,QAAA;QACJsB,UAAA,EAAYvB,cAAA;QACZwB,KAAA,EAAO;QACPC,cAAA,EAAgB;QAChBtB,GAAA;QACAG;MACF,IACAZ,YAAA,CAAa;QACX4B,EAAA,EAAIrB,QAAA;QACJD,cAAA;QACAG;MACF,GACD;MAEDW,MAAA,GAASE,IAAA;MACTD,WAAA,GAAcE,SAAA;IAChB,EAAE,OAAOS,MAAA,EAAQ;MACfvB,GAAA,CAAIiB,OAAO,CAACO,MAAM,CAACC,IAAI,CAAC;QACtBC,GAAA,EAAK,6BAA6B5B,QAAA;MACpC;IACF;EACF;EAEA;EACA;EACA;EACA,MAAM6B,eAAA,GACJ7B,QAAA,KAAa,OACT;IACE8B,EAAA,EAAI,CAAC;MAAE,CAACpB,eAAA,GAAkB;QAAEqB,MAAA,EAAQ;MAAM;IAAE,GAAG;MAAE,CAACrB,eAAA,GAAkB;QAAEsB,MAAA,EAAQ;MAAK;IAAE;EACvF,IACA;IAAE,CAACtB,eAAA,GAAkB;MAAEsB,MAAA,EAAQhC;IAAS;EAAE;EAEhD;EACA;EACA,IAAIiC,aAAA;EAEJ,IACE7B,UAAA,IACAA,UAAA,CAAW8B,MAAM,GAAG,KACpB5B,eAAA,CAAgB6B,kBAAkB,IAClC,OAAO7B,eAAA,CAAgB6B,kBAAkB,KAAK,UAC9C;IACA,MAAMC,aAAA,GAAgB9B,eAAA,CAAgB6B,kBAAkB,CAACE,SAAS;IAClE;IACA,MAAMC,aAAA,GAAgBlC,UAAA,CAAWmC,MAAM,CAAEC,CAAA,IAAMA,CAAA,KAAMzC,cAAA;IAErD,IAAIuC,aAAA,CAAcJ,MAAM,GAAG,GAAG;MAC5BD,aAAA,GAAgB;QACdH,EAAA,EAAI,CACF;UAAE,CAACM,aAAA,GAAgB;YAAEK,EAAA,EAAIH;UAAc;QAAE,GACzC;UAAE,CAACF,aAAA,GAAgB;YAAEL,MAAA,EAAQ;UAAM;QAAE;MAEzC;IACF;EACF;EAEA;EACA,MAAMW,UAAA,GAAwC,CAACb,eAAA,CAAgB;EAE/D,IAAI1B,MAAA,EAAQ;IACVuC,UAAA,CAAWC,IAAI,CAAC;MAAE,CAAChC,UAAA,GAAa;QAAEiC,IAAA,EAAMzC;MAAO;IAAE;EACnD;EAEA,IAAI8B,aAAA,EAAe;IACjBS,UAAA,CAAWC,IAAI,CAACV,aAAA;EAClB;EAEA,MAAMY,aAAA,GAAgBH,UAAA,CAAWR,MAAM,GAAG,IAAI;IAAEY,GAAA,EAAKJ;EAAW,IAAIb,eAAA;EAEpE;EACA,MAAMkB,YAAA,GAAe,MAAM7C,GAAA,CAAIiB,OAAO,CAAC6B,IAAI,CAAC;IAC1C1B,UAAA,EAAYvB,cAAA;IACZwB,KAAA,EAAO;IACP0B,KAAA,EAAO;IACPC,cAAA,EAAgB;IAChBC,iBAAA,EAAmB;IACnBC,KAAA,EAAOzD,4BAAA;IACP0D,MAAA,EAAQnD,GAAA,CAAImD,MAAM;IAClB7B,cAAA,EAAgB;IAChB8B,IAAA,EAAM;IACNpD,GAAA;IACAG,IAAA;IACAkD,KAAA,EAAO7D,uBAAA,CAAwB,CAACmD,aAAA,EAAehD,UAAA,CAAW;EAC5D;EAEA;EACA;EACA;EACA,MAAM2D,4BAAA,GAAwD,CAAC;EAC/D,MAAMC,kBAAA,GAA4C,CAAC;EAEnD;EACA,MAAMC,wBAAA,GAA2BpD,eAAA,CAAgBqD,kBAAkB,IAAI,CAAC;EAExE,KAAK,MAAM,CAACC,WAAA,EAAaC,SAAA,CAAU,IAAIC,MAAA,CAAOC,OAAO,CAACL,wBAAA,GAA2B;IAC/E,IAAIE,WAAA,KAAgB7D,cAAA,EAAgB;MAClC;IACF;IAEA,MAAMiE,uBAAA,GAA0B9D,GAAA,CAAIiB,OAAO,CAAC8C,WAAW,CAACL,WAAA,CAAY,EAAEM,MAAA;IACtE,IAAI,CAACF,uBAAA,EAAyB;MAC5B;IACF;IAEA;IACA,IAAI,CAAC/D,WAAA,EAAagE,WAAA,GAAcL,WAAA,CAAY,EAAEO,IAAA,EAAM;MAClD;IACF;IAEA,MAAM;MAAE9B,SAAS;MAAE+B;IAAO,CAAE,GAAGP,SAAA;IAE/B;IACA,MAAMQ,iBAAA,GAAoB,MACxB,CAAAL,uBAAA,CAAwBpD,KAAK,EAAEf,UAAA,IAAcmE,uBAAA,CAAwBpD,KAAK,EAAE0D,cAAa,IACvF;MACFlB,KAAA,EAAOzD,4BAAA;MACP2D,IAAA,EAAM;MACNpD,GAAA;MACAqE,IAAA,EAAM/D;IACR;IAEA,IAAI6D,iBAAA,EAAmB;MACrBZ,kBAAkB,CAACG,WAAA,CAAY,GAAGS,iBAAA;IACpC;IAEA;IACA,IAAIG,iBAAA;IAEJ,IAAIxE,QAAA,KAAa,MAAM;MACrB;MACA,MAAM0C,UAAA,GAAwC,CAC5C;QAAE,CAACL,SAAA,GAAY;UAAEN,MAAA,EAAQ;QAAM;MAAE,GACjC;QAAE,CAACM,SAAA,GAAY;UAAEL,MAAA,EAAQ;QAAK;MAAE,EACjC;MACD,IAAIoC,OAAA,EAAS;QACX;QACA1B,UAAA,CAAWC,IAAI,CAAC;UAAE,CAACN,SAAA,GAAY;YAAEL,MAAA,EAAQ;UAAG;QAAE;MAChD;MACAwC,iBAAA,GAAoB;QAAE1C,EAAA,EAAIY;MAAW;IACvC,OAAO;MACL;MACA;MACA8B,iBAAA,GAAoB;QAClB,CAACnC,SAAA,GAAY;UAAEI,EAAA,EAAI,CAACzC,QAAA;QAAU;MAChC;IACF;IAEA;IACA,MAAMyE,iBAAA,GAAoBT,uBAAA,CAAwBpD,KAAK,EAAED,UAAA,IAAc;IACvE,MAAM+D,eAAA,GAAkBvE,MAAA,GACpB;MAAE2C,GAAA,EAAK,CAAC0B,iBAAA,EAAmB;QAAE,CAACC,iBAAA,GAAoB;UAAE7B,IAAA,EAAMzC;QAAO;MAAE;IAAG,IACtEqE,iBAAA;IAEJ;IACA,MAAMjB,KAAA,GAAQ7D,uBAAA,CAAwB,CAACgF,eAAA,EAAiBL,iBAAA,CAAkB;IAE1E,IAAI;MACF,MAAMM,IAAA,GAAO,MAAMzE,GAAA,CAAIiB,OAAO,CAAC6B,IAAI,CAAC;QAClC1B,UAAA,EAAYsC,WAAA;QACZrC,KAAA,EAAO;QACP0B,KAAA,EAAO;QACPC,cAAA,EAAgB;QAChBC,iBAAA,EAAmB;QACnBC,KAAA,EAAOzD,4BAAA;QACP0D,MAAA,EAAQnD,GAAA,CAAImD,MAAM;QAClB7B,cAAA,EAAgB;QAChB8B,IAAA,EAAM;QACNpD,GAAA;QACAG,IAAA;QACAkD;MACF;MAEA,IAAIoB,IAAA,CAAKC,SAAS,GAAG,GAAG;QACtBpB,4BAA4B,CAACI,WAAA,CAAY,GAAG;UAC1CvB,SAAA;UACA+B,OAAA;UACAS,KAAA,EAAOrF,cAAA,CAAewE,uBAAA,CAAwBc,MAAM,EAAEC,MAAA,EAAQ7E,GAAA,CAAI8E,IAAI;UACtEC,MAAA,EAAQN;QACV;MACF;IACF,EAAE,OAAOO,KAAA,EAAO;MACdhF,GAAA,CAAIiB,OAAO,CAACO,MAAM,CAACC,IAAI,CAAC;QACtBwD,GAAA,EAAKD,KAAA;QACLtD,GAAA,EAAK,sCAAsCgC,WAAA;MAC7C;IACF;EACF;EAEA;EACA;EACA;EACA;EACA,IAAIwB,kBAAA;EAEJ,IAAI9E,eAAA,CAAgB6B,kBAAkB,IAAItB,MAAA,EAAQ;IAChD,MAAMuB,aAAA,GAAgB9B,eAAA,CAAgB6B,kBAAkB,CAACE,SAAS;IAClE,MAAMgD,UAAA,GAAaxE,MAAM,CAACuB,aAAA,CAAc;IAExC,IAAIiD,UAAA,IAAcA,UAAA,CAAWnD,MAAM,GAAG,GAAG;MACvCkD,kBAAA,GAAqBC,UAAA,CAAWC,GAAG,CAAEC,IAAA;QACnC,MAAMrB,MAAA,GAAShE,GAAA,CAAIiB,OAAO,CAAC8C,WAAW,CAACsB,IAAA,CAAK,EAAErB,MAAA;QAC9C,MAAMW,KAAA,GAAQX,MAAA,GAAS1E,cAAA,CAAe0E,MAAA,CAAOY,MAAM,EAAEC,MAAA,EAAQ7E,GAAA,CAAI8E,IAAI,IAAIO,IAAA;QACzE,OAAO;UAAEA,IAAA;UAAMV;QAAM;MACvB;IACF,OAAO;MACL;MACAO,kBAAA,GAAqB,EAAE;IACzB;EACF;EAEA,OAAO;IACLA,kBAAA;IACAtE,WAAA;IACAiC,YAAA;IACAlC,MAAA;IACAH,eAAA;IACAV,QAAA;IACAyD,kBAAA,EAAoBK,MAAA,CAAO0B,IAAI,CAAC/B,kBAAA,EAAoBvB,MAAM,GAAG,IAAIuB,kBAAA,GAAqBjD,SAAA;IACtFgD;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"handleServerFunction.d.ts","sourceRoot":"","sources":["../../../src/views/List/handleServerFunction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AAC1F,OAAO,KAAK,EAAyB,cAAc,EAAmB,MAAM,SAAS,CAAA;AAQrF,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAC5C,sBAAsB,EACtB,OAAO,CAAC,4BAA4B,CAAC,CAqHtC,CAAA"}
1
+ {"version":3,"file":"handleServerFunction.d.ts","sourceRoot":"","sources":["../../../src/views/List/handleServerFunction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AAC1F,OAAO,KAAK,EAAyB,cAAc,EAAmB,MAAM,SAAS,CAAA;AAQrF,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAC5C,sBAAsB,EACtB,OAAO,CAAC,4BAA4B,CAAC,CAsHtC,CAAA"}
@@ -120,6 +120,7 @@ export const renderListHandler = async args => {
120
120
  redirectAfterDelete,
121
121
  redirectAfterDuplicate,
122
122
  searchParams: {},
123
+ server: req.server,
123
124
  viewType: 'list'
124
125
  });
125
126
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"handleServerFunction.js","names":["getClientConfig","canAccessAdmin","isEntityHidden","UnauthorizedError","applyLocaleFiltering","renderListView","renderListHandler","args","collectionSlug","cookies","disableActions","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","locale","overrideEntityVisibility","permissions","query","redirectAfterDelete","redirectAfterDuplicate","req","i18n","payload","config","user","clientConfig","importMap","preferencesKey","preferences","find","collection","depth","limit","where","and","key","equals","id","then","res","docs","value","visibleEntities","collections","map","slug","admin","hidden","filter","Boolean","globals","List","initPageResult","collectionConfig","globalConfig","global","languageOptions","undefined","translations","params","segments","searchParams","viewType"],"sources":["../../../src/views/List/handleServerFunction.tsx"],"sourcesContent":["import type { RenderListServerFnArgs, RenderListServerFnReturnType } from '@payloadcms/ui'\nimport type { CollectionPreferences, ServerFunction, VisibleEntities } from 'payload'\n\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { canAccessAdmin, isEntityHidden, UnauthorizedError } from 'payload'\nimport { applyLocaleFiltering } from 'payload/shared'\n\nimport { renderListView } from './index.js'\n\nexport const renderListHandler: ServerFunction<\n RenderListServerFnArgs,\n Promise<RenderListServerFnReturnType>\n> = async (args) => {\n const {\n collectionSlug,\n cookies,\n disableActions,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n locale,\n overrideEntityVisibility,\n permissions,\n query,\n redirectAfterDelete,\n redirectAfterDuplicate,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n } = args\n\n if (!req.user) {\n throw new UnauthorizedError()\n }\n\n await canAccessAdmin({ req })\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n importMap: payload.importMap,\n user,\n })\n await applyLocaleFiltering({ clientConfig, config, req })\n\n const preferencesKey = `collection-${collectionSlug}`\n\n const preferences = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0]?.value as CollectionPreferences)\n\n const visibleEntities: VisibleEntities = {\n collections: payload.config.collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: payload.config.globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n const { List } = await renderListView({\n clientConfig,\n disableActions,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n i18n,\n importMap: payload.importMap,\n initPageResult: {\n collectionConfig: payload?.collections?.[collectionSlug]?.config,\n cookies,\n globalConfig: payload.config.globals.find((global) => global.slug === collectionSlug),\n languageOptions: undefined, // TODO\n locale,\n permissions,\n req,\n translations: undefined, // TODO\n visibleEntities,\n },\n locale,\n overrideEntityVisibility,\n params: {\n segments: ['collections', collectionSlug],\n },\n payload,\n permissions,\n query,\n redirectAfterDelete,\n redirectAfterDuplicate,\n searchParams: {},\n viewType: 'list',\n })\n\n return {\n List,\n preferences,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"handleServerFunction.js","names":["getClientConfig","canAccessAdmin","isEntityHidden","UnauthorizedError","applyLocaleFiltering","renderListView","renderListHandler","args","collectionSlug","cookies","disableActions","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","locale","overrideEntityVisibility","permissions","query","redirectAfterDelete","redirectAfterDuplicate","req","i18n","payload","config","user","clientConfig","importMap","preferencesKey","preferences","find","collection","depth","limit","where","and","key","equals","id","then","res","docs","value","visibleEntities","collections","map","slug","admin","hidden","filter","Boolean","globals","List","initPageResult","collectionConfig","globalConfig","global","languageOptions","undefined","translations","params","segments","searchParams","server","viewType"],"sources":["../../../src/views/List/handleServerFunction.tsx"],"sourcesContent":["import type { RenderListServerFnArgs, RenderListServerFnReturnType } from '@payloadcms/ui'\nimport type { CollectionPreferences, ServerFunction, VisibleEntities } from 'payload'\n\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { canAccessAdmin, isEntityHidden, UnauthorizedError } from 'payload'\nimport { applyLocaleFiltering } from 'payload/shared'\n\nimport { renderListView } from './index.js'\n\nexport const renderListHandler: ServerFunction<\n RenderListServerFnArgs,\n Promise<RenderListServerFnReturnType>\n> = async (args) => {\n const {\n collectionSlug,\n cookies,\n disableActions,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n locale,\n overrideEntityVisibility,\n permissions,\n query,\n redirectAfterDelete,\n redirectAfterDuplicate,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n } = args\n\n if (!req.user) {\n throw new UnauthorizedError()\n }\n\n await canAccessAdmin({ req })\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n importMap: payload.importMap,\n user,\n })\n await applyLocaleFiltering({ clientConfig, config, req })\n\n const preferencesKey = `collection-${collectionSlug}`\n\n const preferences = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0]?.value as CollectionPreferences)\n\n const visibleEntities: VisibleEntities = {\n collections: payload.config.collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: payload.config.globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n const { List } = await renderListView({\n clientConfig,\n disableActions,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n i18n,\n importMap: payload.importMap,\n initPageResult: {\n collectionConfig: payload?.collections?.[collectionSlug]?.config,\n cookies,\n globalConfig: payload.config.globals.find((global) => global.slug === collectionSlug),\n languageOptions: undefined, // TODO\n locale,\n permissions,\n req,\n translations: undefined, // TODO\n visibleEntities,\n },\n locale,\n overrideEntityVisibility,\n params: {\n segments: ['collections', collectionSlug],\n },\n payload,\n permissions,\n query,\n redirectAfterDelete,\n redirectAfterDuplicate,\n searchParams: {},\n server: req.server,\n viewType: 'list',\n })\n\n return {\n List,\n preferences,\n }\n}\n"],"mappings":"AAGA,SAASA,eAAe,QAAQ;AAChC,SAASC,cAAc,EAAEC,cAAc,EAAEC,iBAAiB,QAAQ;AAClE,SAASC,oBAAoB,QAAQ;AAErC,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,iBAAA,GAGT,MAAOC,IAAA;EACT,MAAM;IACJC,cAAc;IACdC,OAAO;IACPC,cAAc;IACdC,iBAAiB;IACjBC,eAAe;IACfC,mBAAmB;IACnBC,UAAU;IACVC,mBAAmB;IACnBC,MAAM;IACNC,wBAAwB;IACxBC,WAAW;IACXC,KAAK;IACLC,mBAAmB;IACnBC,sBAAsB;IACtBC,GAAG;IACHA,GAAA,EAAK;MACHC,IAAI;MACJC,OAAO;MACPA,OAAA,EAAS;QAAEC;MAAM,CAAE;MACnBC;IAAI;EACL,CACF,GAAGnB,IAAA;EAEJ,IAAI,CAACe,GAAA,CAAII,IAAI,EAAE;IACb,MAAM,IAAIvB,iBAAA;EACZ;EAEA,MAAMF,cAAA,CAAe;IAAEqB;EAAI;EAE3B,MAAMK,YAAA,GAAe3B,eAAA,CAAgB;IACnCyB,MAAA;IACAF,IAAA;IACAK,SAAA,EAAWJ,OAAA,CAAQI,SAAS;IAC5BF;EACF;EACA,MAAMtB,oBAAA,CAAqB;IAAEuB,YAAA;IAAcF,MAAA;IAAQH;EAAI;EAEvD,MAAMO,cAAA,GAAiB,cAAcrB,cAAA,EAAgB;EAErD,MAAMsB,WAAA,GAAc,MAAMN,OAAA,CACvBO,IAAI,CAAC;IACJC,UAAA,EAAY;IACZC,KAAA,EAAO;IACPC,KAAA,EAAO;IACPC,KAAA,EAAO;MACLC,GAAA,EAAK,CACH;QACEC,GAAA,EAAK;UACHC,MAAA,EAAQT;QACV;MACF,GACA;QACE,mBAAmB;UACjBS,MAAA,EAAQZ,IAAA,CAAKM;QACf;MACF,GACA;QACE,cAAc;UACZM,MAAA,EAAQZ,IAAA,CAAKa;QACf;MACF;IAEJ;EACF,GACCC,IAAI,CAAEC,GAAA,IAAQA,GAAA,CAAIC,IAAI,CAAC,EAAE,EAAEC,KAAA;EAE9B,MAAMC,eAAA,GAAmC;IACvCC,WAAA,EAAarB,OAAA,CAAQC,MAAM,CAACoB,WAAW,CACpCC,GAAG,CAAC,CAAC;MAAEC,IAAI;MAAEC,KAAA,EAAO;QAAEC;MAAM;IAAE,CAAE,KAAM,CAAC/C,cAAA,CAAe;MAAE+C,MAAA;MAAQvB;IAAK,KAAKqB,IAAA,GAAO,MACjFG,MAAM,CAACC,OAAA;IACVC,OAAA,EAAS5B,OAAA,CAAQC,MAAM,CAAC2B,OAAO,CAC5BN,GAAG,CAAC,CAAC;MAAEC,IAAI;MAAEC,KAAA,EAAO;QAAEC;MAAM;IAAE,CAAE,KAAM,CAAC/C,cAAA,CAAe;MAAE+C,MAAA;MAAQvB;IAAK,KAAKqB,IAAA,GAAO,MACjFG,MAAM,CAACC,OAAA;EACZ;EAEA,MAAM;IAAEE;EAAI,CAAE,GAAG,MAAMhD,cAAA,CAAe;IACpCsB,YAAA;IACAjB,cAAA;IACAC,iBAAA;IACAC,eAAA;IACAC,mBAAA;IACAC,UAAA;IACAC,mBAAA;IACAQ,IAAA;IACAK,SAAA,EAAWJ,OAAA,CAAQI,SAAS;IAC5B0B,cAAA,EAAgB;MACdC,gBAAA,EAAkB/B,OAAA,EAASqB,WAAA,GAAcrC,cAAA,CAAe,EAAEiB,MAAA;MAC1DhB,OAAA;MACA+C,YAAA,EAAchC,OAAA,CAAQC,MAAM,CAAC2B,OAAO,CAACrB,IAAI,CAAE0B,MAAA,IAAWA,MAAA,CAAOV,IAAI,KAAKvC,cAAA;MACtEkD,eAAA,EAAiBC,SAAA;MACjB3C,MAAA;MACAE,WAAA;MACAI,GAAA;MACAsC,YAAA,EAAcD,SAAA;MACdf;IACF;IACA5B,MAAA;IACAC,wBAAA;IACA4C,MAAA,EAAQ;MACNC,QAAA,EAAU,CAAC,eAAetD,cAAA;IAC5B;IACAgB,OAAA;IACAN,WAAA;IACAC,KAAA;IACAC,mBAAA;IACAC,sBAAA;IACA0C,YAAA,EAAc,CAAC;IACfC,MAAA,EAAQ1C,GAAA,CAAI0C,MAAM;IAClBC,QAAA,EAAU;EACZ;EAEA,OAAO;IACLZ,IAAA;IACAvB;EACF;AACF","ignoreList":[]}