@payloadcms/next 3.77.0 → 3.78.0-internal-debug.f663370

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 (448) hide show
  1. package/dist/auth/login.js +52 -58
  2. package/dist/auth/login.js.map +1 -1
  3. package/dist/auth/logout.js +39 -44
  4. package/dist/auth/logout.js.map +1 -1
  5. package/dist/auth/refresh.js +45 -47
  6. package/dist/auth/refresh.js.map +1 -1
  7. package/dist/cjs/withPayload.cjs +65 -24
  8. package/dist/cjs/withPayload.cjs.map +2 -2
  9. package/dist/config.js +1 -0
  10. package/dist/config.js.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +9 -15
  12. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +40 -71
  14. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +65 -59
  16. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +38 -0
  18. package/dist/elements/DocumentHeader/Tabs/index.js +80 -70
  19. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  20. package/dist/elements/DocumentHeader/Tabs/index.scss +54 -0
  21. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +16 -23
  22. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  23. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.scss +10 -0
  24. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +61 -69
  25. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  26. package/dist/elements/DocumentHeader/index.js +48 -28
  27. package/dist/elements/DocumentHeader/index.js.map +1 -1
  28. package/dist/elements/DocumentHeader/index.scss +64 -0
  29. package/dist/elements/FormHeader/index.js +30 -16
  30. package/dist/elements/FormHeader/index.js.map +1 -1
  31. package/dist/elements/FormHeader/index.scss +8 -0
  32. package/dist/elements/Logo/index.js +19 -34
  33. package/dist/elements/Logo/index.js.map +1 -1
  34. package/dist/elements/Nav/NavHamburger/index.js +23 -44
  35. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  36. package/dist/elements/Nav/NavWrapper/index.js +28 -54
  37. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  38. package/dist/elements/Nav/NavWrapper/index.scss +27 -0
  39. package/dist/elements/Nav/SettingsMenuButton/index.js +33 -39
  40. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  41. package/dist/elements/Nav/SettingsMenuButton/index.scss +11 -0
  42. package/dist/elements/Nav/getNavPrefs.js +27 -22
  43. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  44. package/dist/elements/Nav/index.client.js +97 -118
  45. package/dist/elements/Nav/index.client.js.map +1 -1
  46. package/dist/elements/Nav/index.js +191 -170
  47. package/dist/elements/Nav/index.js.map +1 -1
  48. package/dist/elements/Nav/index.scss +173 -0
  49. package/dist/esbuildEntry.d.ts +5 -0
  50. package/dist/esbuildEntry.d.ts.map +1 -0
  51. package/dist/esbuildEntry.js +6 -0
  52. package/dist/esbuildEntry.js.map +1 -0
  53. package/dist/exports/auth.js +1 -0
  54. package/dist/exports/auth.js.map +1 -1
  55. package/dist/exports/client.js +1 -1
  56. package/dist/exports/client.js.map +1 -1
  57. package/dist/exports/layouts.js +1 -0
  58. package/dist/exports/layouts.js.map +1 -1
  59. package/dist/exports/routes.js +1 -0
  60. package/dist/exports/routes.js.map +1 -1
  61. package/dist/exports/rsc.js +1 -0
  62. package/dist/exports/rsc.js.map +1 -1
  63. package/dist/exports/templates.js +1 -0
  64. package/dist/exports/templates.js.map +1 -1
  65. package/dist/exports/utilities.js +7 -12
  66. package/dist/exports/utilities.js.map +1 -1
  67. package/dist/exports/views.js +1 -0
  68. package/dist/exports/views.js.map +1 -1
  69. package/dist/index.js +1 -0
  70. package/dist/index.js.map +1 -1
  71. package/dist/layouts/Root/NestProviders.js +21 -20
  72. package/dist/layouts/Root/NestProviders.js.map +1 -1
  73. package/dist/layouts/Root/checkDependencies.js +49 -41
  74. package/dist/layouts/Root/checkDependencies.js.map +1 -1
  75. package/dist/layouts/Root/index.js +128 -103
  76. package/dist/layouts/Root/index.js.map +1 -1
  77. package/dist/prod/styles.css +5 -1
  78. package/dist/routes/graphql/handler.js +114 -122
  79. package/dist/routes/graphql/handler.js.map +1 -1
  80. package/dist/routes/graphql/index.js +1 -0
  81. package/dist/routes/graphql/index.js.map +1 -1
  82. package/dist/routes/graphql/playground.js +28 -27
  83. package/dist/routes/graphql/playground.js.map +1 -1
  84. package/dist/routes/index.js +1 -0
  85. package/dist/routes/index.js.map +1 -1
  86. package/dist/routes/rest/index.js +23 -22
  87. package/dist/routes/rest/index.js.map +1 -1
  88. package/dist/routes/rest/og/image.js +103 -79
  89. package/dist/routes/rest/og/image.js.map +1 -1
  90. package/dist/routes/rest/og/index.js +59 -54
  91. package/dist/routes/rest/og/index.js.map +1 -1
  92. package/dist/templates/Default/NavHamburger/index.js +12 -20
  93. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  94. package/dist/templates/Default/Wrapper/index.js +20 -44
  95. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  96. package/dist/templates/Default/Wrapper/index.scss +58 -0
  97. package/dist/templates/Default/index.js +147 -116
  98. package/dist/templates/Default/index.js.map +1 -1
  99. package/dist/templates/Default/index.scss +79 -0
  100. package/dist/templates/Minimal/index.js +26 -17
  101. package/dist/templates/Minimal/index.js.map +1 -1
  102. package/dist/templates/Minimal/index.scss +30 -0
  103. package/dist/utilities/getExistingAuthToken.js +3 -2
  104. package/dist/utilities/getExistingAuthToken.js.map +1 -1
  105. package/dist/utilities/getNextRequestI18n.js +12 -13
  106. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  107. package/dist/utilities/getPayloadHMR.js +5 -5
  108. package/dist/utilities/getPayloadHMR.js.map +1 -1
  109. package/dist/utilities/getPreferences.js +27 -22
  110. package/dist/utilities/getPreferences.js.map +1 -1
  111. package/dist/utilities/getRequestLocale.js +13 -14
  112. package/dist/utilities/getRequestLocale.js.map +1 -1
  113. package/dist/utilities/getRequestTheme.js +19 -19
  114. package/dist/utilities/getRequestTheme.js.map +1 -1
  115. package/dist/utilities/getRouteWithoutAdmin.js +3 -5
  116. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
  117. package/dist/utilities/handleAuthRedirect.js +22 -36
  118. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  119. package/dist/utilities/handleServerFunctions.js +33 -43
  120. package/dist/utilities/handleServerFunctions.js.map +1 -1
  121. package/dist/utilities/initReq.js +78 -96
  122. package/dist/utilities/initReq.js.map +1 -1
  123. package/dist/utilities/isCustomAdminView.js +22 -26
  124. package/dist/utilities/isCustomAdminView.js.map +1 -1
  125. package/dist/utilities/isPublicAdminRoute.js +26 -20
  126. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  127. package/dist/utilities/meta.js +68 -63
  128. package/dist/utilities/meta.js.map +1 -1
  129. package/dist/utilities/selectiveCache.js +25 -26
  130. package/dist/utilities/selectiveCache.js.map +1 -1
  131. package/dist/utilities/setPayloadAuthCookie.js +19 -22
  132. package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
  133. package/dist/utilities/slugify.js +24 -33
  134. package/dist/utilities/slugify.js.map +1 -1
  135. package/dist/utilities/timestamp.js +7 -6
  136. package/dist/utilities/timestamp.js.map +1 -1
  137. package/dist/views/API/LocaleSelector/index.js +17 -39
  138. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  139. package/dist/views/API/RenderJSON/index.js +171 -126
  140. package/dist/views/API/RenderJSON/index.js.map +1 -1
  141. package/dist/views/API/RenderJSON/index.scss +129 -0
  142. package/dist/views/API/index.client.js +291 -199
  143. package/dist/views/API/index.client.js.map +1 -1
  144. package/dist/views/API/index.js +7 -2
  145. package/dist/views/API/index.js.map +1 -1
  146. package/dist/views/API/index.scss +119 -0
  147. package/dist/views/API/metadata.js +18 -23
  148. package/dist/views/API/metadata.js.map +1 -1
  149. package/dist/views/Account/ResetPreferences/index.js +78 -102
  150. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  151. package/dist/views/Account/Settings/LanguageSelector.js +18 -47
  152. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  153. package/dist/views/Account/Settings/index.js +60 -25
  154. package/dist/views/Account/Settings/index.js.map +1 -1
  155. package/dist/views/Account/Settings/index.scss +48 -0
  156. package/dist/views/Account/ToggleTheme/index.js +38 -55
  157. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  158. package/dist/views/Account/index.client.js +16 -32
  159. package/dist/views/Account/index.client.js.map +1 -1
  160. package/dist/views/Account/index.js +147 -158
  161. package/dist/views/Account/index.js.map +1 -1
  162. package/dist/views/Account/metadata.js +8 -12
  163. package/dist/views/Account/metadata.js.map +1 -1
  164. package/dist/views/BrowseByFolder/buildView.js +138 -157
  165. package/dist/views/BrowseByFolder/buildView.js.map +1 -1
  166. package/dist/views/BrowseByFolder/index.js +16 -16
  167. package/dist/views/BrowseByFolder/index.js.map +1 -1
  168. package/dist/views/BrowseByFolder/metadata.js +13 -15
  169. package/dist/views/BrowseByFolder/metadata.js.map +1 -1
  170. package/dist/views/CollectionFolders/buildView.js +122 -142
  171. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  172. package/dist/views/CollectionFolders/index.js +16 -16
  173. package/dist/views/CollectionFolders/index.js.map +1 -1
  174. package/dist/views/CollectionFolders/metadata.js +18 -21
  175. package/dist/views/CollectionFolders/metadata.js.map +1 -1
  176. package/dist/views/CollectionFolders/renderFolderViewSlots.js +58 -61
  177. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -1
  178. package/dist/views/CollectionTrash/index.js +17 -17
  179. package/dist/views/CollectionTrash/index.js.map +1 -1
  180. package/dist/views/CollectionTrash/metadata.js +18 -21
  181. package/dist/views/CollectionTrash/metadata.js.map +1 -1
  182. package/dist/views/CreateFirstUser/index.client.js +117 -103
  183. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  184. package/dist/views/CreateFirstUser/index.js +87 -81
  185. package/dist/views/CreateFirstUser/index.js.map +1 -1
  186. package/dist/views/CreateFirstUser/index.scss +21 -0
  187. package/dist/views/CreateFirstUser/metadata.js +8 -12
  188. package/dist/views/CreateFirstUser/metadata.js.map +1 -1
  189. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +151 -174
  190. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  191. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +423 -405
  192. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  193. package/dist/views/Dashboard/Default/ModularDashboard/index.js +75 -81
  194. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  195. package/dist/views/Dashboard/Default/ModularDashboard/index.scss +316 -0
  196. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +62 -89
  197. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  198. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +43 -53
  199. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
  200. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +67 -71
  201. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  202. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +173 -153
  203. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  204. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +31 -30
  205. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -1
  206. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +223 -229
  207. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
  208. package/dist/views/Dashboard/Default/index.js +59 -45
  209. package/dist/views/Dashboard/Default/index.js.map +1 -1
  210. package/dist/views/Dashboard/index.js +46 -42
  211. package/dist/views/Dashboard/index.js.map +1 -1
  212. package/dist/views/Dashboard/metadata.js +10 -14
  213. package/dist/views/Dashboard/metadata.js.map +1 -1
  214. package/dist/views/Document/getCustomDocumentViewByKey.js +3 -2
  215. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
  216. package/dist/views/Document/getCustomViewByRoute.js +27 -30
  217. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  218. package/dist/views/Document/getDocPreferences.js +40 -41
  219. package/dist/views/Document/getDocPreferences.js.map +1 -1
  220. package/dist/views/Document/getDocumentData.js +44 -55
  221. package/dist/views/Document/getDocumentData.js.map +1 -1
  222. package/dist/views/Document/getDocumentPermissions.js +77 -80
  223. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  224. package/dist/views/Document/getDocumentView.js +313 -283
  225. package/dist/views/Document/getDocumentView.js.map +1 -1
  226. package/dist/views/Document/getIsLocked.js +73 -73
  227. package/dist/views/Document/getIsLocked.js.map +1 -1
  228. package/dist/views/Document/getMetaBySegment.js +130 -136
  229. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  230. package/dist/views/Document/getVersions.js +220 -213
  231. package/dist/views/Document/getVersions.js.map +1 -1
  232. package/dist/views/Document/handleServerFunction.js +100 -127
  233. package/dist/views/Document/handleServerFunction.js.map +1 -1
  234. package/dist/views/Document/index.js +317 -355
  235. package/dist/views/Document/index.js.map +1 -1
  236. package/dist/views/Document/metadata.js +2 -1
  237. package/dist/views/Document/metadata.js.map +1 -1
  238. package/dist/views/Document/renderDocumentSlots.js +141 -155
  239. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  240. package/dist/views/Edit/index.js +10 -6
  241. package/dist/views/Edit/index.js.map +1 -1
  242. package/dist/views/Edit/metadata.js +36 -46
  243. package/dist/views/Edit/metadata.js.map +1 -1
  244. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +130 -164
  245. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  246. package/dist/views/ForgotPassword/index.js +79 -62
  247. package/dist/views/ForgotPassword/index.js.map +1 -1
  248. package/dist/views/ForgotPassword/metadata.js +8 -12
  249. package/dist/views/ForgotPassword/metadata.js.map +1 -1
  250. package/dist/views/List/createSerializableValue.js +12 -11
  251. package/dist/views/List/createSerializableValue.js.map +1 -1
  252. package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
  253. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  254. package/dist/views/List/extractRelationshipDisplayValue.js +15 -14
  255. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
  256. package/dist/views/List/extractValueOrRelationshipID.js +16 -15
  257. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
  258. package/dist/views/List/handleGroupBy.js +133 -150
  259. package/dist/views/List/handleGroupBy.js.map +1 -1
  260. package/dist/views/List/handleServerFunction.js +96 -122
  261. package/dist/views/List/handleServerFunction.js.map +1 -1
  262. package/dist/views/List/index.js +302 -318
  263. package/dist/views/List/index.js.map +1 -1
  264. package/dist/views/List/metadata.js +17 -20
  265. package/dist/views/List/metadata.js.map +1 -1
  266. package/dist/views/List/renderListViewSlots.js +82 -75
  267. package/dist/views/List/renderListViewSlots.js.map +1 -1
  268. package/dist/views/List/resolveAllFilterOptions.js +43 -45
  269. package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
  270. package/dist/views/List/transformColumnsToSelect.js +9 -8
  271. package/dist/views/List/transformColumnsToSelect.js.map +1 -1
  272. package/dist/views/Login/LoginField/index.js +57 -89
  273. package/dist/views/Login/LoginField/index.js.map +1 -1
  274. package/dist/views/Login/LoginForm/index.js +107 -160
  275. package/dist/views/Login/LoginForm/index.js.map +1 -1
  276. package/dist/views/Login/LoginForm/index.scss +10 -0
  277. package/dist/views/Login/index.js +82 -85
  278. package/dist/views/Login/index.js.map +1 -1
  279. package/dist/views/Login/index.scss +10 -0
  280. package/dist/views/Login/metadata.js +8 -12
  281. package/dist/views/Login/metadata.js.map +1 -1
  282. package/dist/views/Logout/LogoutClient.js +84 -120
  283. package/dist/views/Logout/LogoutClient.js.map +1 -1
  284. package/dist/views/Logout/index.js +29 -29
  285. package/dist/views/Logout/index.js.map +1 -1
  286. package/dist/views/Logout/index.scss +25 -0
  287. package/dist/views/Logout/metadata.js +7 -11
  288. package/dist/views/Logout/metadata.js.map +1 -1
  289. package/dist/views/NotFound/index.client.js +71 -82
  290. package/dist/views/NotFound/index.client.js.map +1 -1
  291. package/dist/views/NotFound/index.js +72 -73
  292. package/dist/views/NotFound/index.js.map +1 -1
  293. package/dist/views/NotFound/index.scss +57 -0
  294. package/dist/views/NotFound/metadata.js +7 -9
  295. package/dist/views/NotFound/metadata.js.map +1 -1
  296. package/dist/views/ResetPassword/ResetPasswordForm/index.js +97 -108
  297. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  298. package/dist/views/ResetPassword/index.js +93 -73
  299. package/dist/views/ResetPassword/index.js.map +1 -1
  300. package/dist/views/ResetPassword/index.scss +11 -0
  301. package/dist/views/ResetPassword/metadata.js +8 -12
  302. package/dist/views/ResetPassword/metadata.js.map +1 -1
  303. package/dist/views/Root/attachViewActions.js +18 -23
  304. package/dist/views/Root/attachViewActions.js.map +1 -1
  305. package/dist/views/Root/generateCustomViewMetadata.js +19 -21
  306. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
  307. package/dist/views/Root/getCustomViewByKey.js +12 -14
  308. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  309. package/dist/views/Root/getCustomViewByRoute.js +31 -42
  310. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  311. package/dist/views/Root/getDocumentViewInfo.js +24 -23
  312. package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
  313. package/dist/views/Root/getRouteData.js +333 -325
  314. package/dist/views/Root/getRouteData.js.map +1 -1
  315. package/dist/views/Root/index.js +248 -270
  316. package/dist/views/Root/index.js.map +1 -1
  317. package/dist/views/Root/isPathMatchingRoute.js +21 -26
  318. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  319. package/dist/views/Root/metadata.js +176 -181
  320. package/dist/views/Root/metadata.js.map +1 -1
  321. package/dist/views/Unauthorized/index.js +54 -46
  322. package/dist/views/Unauthorized/index.js.map +1 -1
  323. package/dist/views/Unauthorized/index.scss +14 -0
  324. package/dist/views/Unauthorized/metadata.js +8 -12
  325. package/dist/views/Unauthorized/metadata.js.map +1 -1
  326. package/dist/views/Verify/index.client.js +25 -43
  327. package/dist/views/Verify/index.client.js.map +1 -1
  328. package/dist/views/Verify/index.js +69 -64
  329. package/dist/views/Verify/index.js.map +1 -1
  330. package/dist/views/Verify/index.scss +16 -0
  331. package/dist/views/Verify/metadata.js +8 -12
  332. package/dist/views/Verify/metadata.js.map +1 -1
  333. package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
  334. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  335. package/dist/views/Version/Default/SetStepNav.js +86 -127
  336. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  337. package/dist/views/Version/Default/index.js +380 -236
  338. package/dist/views/Version/Default/index.js.map +1 -1
  339. package/dist/views/Version/Default/index.scss +170 -0
  340. package/dist/views/Version/Default/types.js +2 -1
  341. package/dist/views/Version/Default/types.js.map +1 -1
  342. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +102 -119
  343. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  344. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +81 -0
  345. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +78 -73
  346. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  347. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +363 -408
  348. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  349. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +40 -51
  350. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  351. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +35 -67
  352. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  353. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +12 -0
  354. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +59 -56
  355. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  356. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +9 -0
  357. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +139 -117
  358. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  359. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +59 -0
  360. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +56 -61
  361. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  362. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +224 -206
  363. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  364. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +91 -0
  365. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -11
  366. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  367. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +48 -73
  368. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  369. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +4 -0
  370. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +135 -146
  371. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  372. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +9 -0
  373. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +56 -81
  374. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  375. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +4 -0
  376. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +252 -211
  377. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  378. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.scss +121 -0
  379. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +23 -22
  380. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  381. package/dist/views/Version/RenderFieldsToDiff/index.js +12 -9
  382. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  383. package/dist/views/Version/RenderFieldsToDiff/index.scss +24 -0
  384. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +213 -228
  385. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  386. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +1005 -826
  387. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  388. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +2 -1
  389. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
  390. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +44 -43
  391. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
  392. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +32 -36
  393. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  394. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +145 -129
  395. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  396. package/dist/views/Version/Restore/index.js +117 -93
  397. package/dist/views/Version/Restore/index.js.map +1 -1
  398. package/dist/views/Version/Restore/index.scss +84 -0
  399. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +33 -50
  400. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  401. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +170 -226
  402. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  403. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +18 -0
  404. package/dist/views/Version/SelectComparison/index.js +73 -50
  405. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  406. package/dist/views/Version/SelectComparison/index.scss +9 -0
  407. package/dist/views/Version/SelectComparison/types.js +2 -1
  408. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  409. package/dist/views/Version/SelectLocales/index.js +34 -32
  410. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  411. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +106 -100
  412. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  413. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +30 -35
  414. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
  415. package/dist/views/Version/VersionPillLabel/index.scss +26 -0
  416. package/dist/views/Version/fetchVersions.js +113 -138
  417. package/dist/views/Version/fetchVersions.js.map +1 -1
  418. package/dist/views/Version/index.js +328 -326
  419. package/dist/views/Version/index.js.map +1 -1
  420. package/dist/views/Version/metadata.js +43 -50
  421. package/dist/views/Version/metadata.js.map +1 -1
  422. package/dist/views/Versions/buildColumns.js +95 -79
  423. package/dist/views/Versions/buildColumns.js.map +1 -1
  424. package/dist/views/Versions/cells/AutosaveCell/index.js +34 -38
  425. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  426. package/dist/views/Versions/cells/AutosaveCell/index.scss +9 -0
  427. package/dist/views/Versions/cells/CreatedAt/index.js +32 -53
  428. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  429. package/dist/views/Versions/cells/ID/index.js +10 -8
  430. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  431. package/dist/views/Versions/index.client.js +106 -83
  432. package/dist/views/Versions/index.client.js.map +1 -1
  433. package/dist/views/Versions/index.js +164 -164
  434. package/dist/views/Versions/index.js.map +1 -1
  435. package/dist/views/Versions/index.scss +110 -0
  436. package/dist/views/Versions/metadata.js +37 -44
  437. package/dist/views/Versions/metadata.js.map +1 -1
  438. package/dist/views/Versions/types.js +2 -1
  439. package/dist/views/Versions/types.js.map +1 -1
  440. package/dist/withPayload/withPayload.js +236 -177
  441. package/dist/withPayload/withPayload.js.map +1 -1
  442. package/dist/withPayload/withPayload.spec.js +36 -35
  443. package/dist/withPayload/withPayload.spec.js.map +1 -1
  444. package/dist/withPayload/withPayload.utils.js +65 -73
  445. package/dist/withPayload/withPayload.utils.js.map +1 -1
  446. package/dist/withPayload/withPayloadLegacy.js +41 -40
  447. package/dist/withPayload/withPayloadLegacy.js.map +1 -1
  448. package/package.json +6 -6
@@ -4,157 +4,140 @@ import { flattenAllFields } from 'payload';
4
4
  import { createSerializableValue } from './createSerializableValue.js';
5
5
  import { extractRelationshipDisplayValue } from './extractRelationshipDisplayValue.js';
6
6
  import { extractValueOrRelationshipID } from './extractValueOrRelationshipID.js';
7
- export const handleGroupBy = async ({
8
- clientCollectionConfig,
9
- clientConfig,
10
- collectionConfig,
11
- collectionSlug,
12
- columns,
13
- customCellProps,
14
- drawerSlug,
15
- enableRowSelections,
16
- fieldPermissions,
17
- query,
18
- req,
19
- select,
20
- trash = false,
21
- user,
22
- viewType,
23
- where: whereWithMergedSearch
24
- }) => {
25
- let Table = null;
26
- let columnState;
27
- const dataByGroup = {};
28
- // NOTE: is there a faster/better way to do this?
29
- const flattenedFields = flattenAllFields({
30
- fields: collectionConfig.fields
31
- });
32
- const groupByFieldPath = query.groupBy.replace(/^-/, '');
33
- const groupByField = flattenedFields.find(f => f.name === groupByFieldPath);
34
- // Set up population for relationships
35
- let populate;
36
- if (groupByField?.type === 'relationship' && groupByField.relationTo) {
37
- const relationTo = Array.isArray(groupByField.relationTo) ? groupByField.relationTo : [groupByField.relationTo];
38
- populate = {};
39
- relationTo.forEach(rel => {
40
- const config = clientConfig.collections.find(c => c.slug === rel);
41
- populate[rel] = {
42
- [config?.admin?.useAsTitle || 'id']: true
43
- };
7
+ export const handleGroupBy = async ({ clientCollectionConfig, clientConfig, collectionConfig, collectionSlug, columns, customCellProps, drawerSlug, enableRowSelections, fieldPermissions, query, req, select, trash = false, user, viewType, where: whereWithMergedSearch })=>{
8
+ let Table = null;
9
+ let columnState;
10
+ const dataByGroup = {};
11
+ // NOTE: is there a faster/better way to do this?
12
+ const flattenedFields = flattenAllFields({
13
+ fields: collectionConfig.fields
44
14
  });
45
- }
46
- const distinct = await req.payload.findDistinct({
47
- collection: collectionSlug,
48
- depth: 1,
49
- field: groupByFieldPath,
50
- limit: query?.limit ? Number(query.limit) : undefined,
51
- locale: req.locale,
52
- overrideAccess: false,
53
- page: query?.page ? Number(query.page) : undefined,
54
- populate,
55
- req,
56
- sort: query?.groupBy,
57
- trash,
58
- where: whereWithMergedSearch
59
- });
60
- const data = {
61
- ...distinct,
62
- docs: distinct.values?.map(() => ({})) || [],
63
- values: undefined
64
- };
65
- await Promise.all((distinct.values || []).map(async (distinctValue, i) => {
66
- const potentiallyPopulatedRelationship = distinctValue[groupByFieldPath];
67
- // Extract value or relationship ID for database query
68
- const valueOrRelationshipID = extractValueOrRelationshipID(potentiallyPopulatedRelationship);
69
- const groupData = await req.payload.find({
70
- collection: collectionSlug,
71
- depth: 0,
72
- draft: true,
73
- fallbackLocale: false,
74
- includeLockStatus: true,
75
- limit: query?.queryByGroup?.[valueOrRelationshipID]?.limit ? Number(query.queryByGroup[valueOrRelationshipID].limit) : undefined,
76
- locale: req.locale,
77
- overrideAccess: false,
78
- page: query?.queryByGroup?.[valueOrRelationshipID]?.page ? Number(query.queryByGroup[valueOrRelationshipID].page) : undefined,
79
- req,
80
- // Note: if we wanted to enable table-by-table sorting, we could use this:
81
- // sort: query?.queryByGroup?.[valueOrRelationshipID]?.sort,
82
- select,
83
- sort: query?.sort,
84
- trash,
85
- user,
86
- where: {
87
- ...(whereWithMergedSearch || {}),
88
- [groupByFieldPath]: {
89
- equals: valueOrRelationshipID
90
- }
91
- }
92
- });
93
- // Extract heading
94
- let heading;
95
- if (potentiallyPopulatedRelationship === null) {
96
- heading = req.i18n.t('general:noValue');
97
- } else if (groupByField?.type === 'relationship') {
98
- const relationshipConfig = Array.isArray(groupByField.relationTo) ? undefined : clientConfig.collections.find(c => c.slug === groupByField.relationTo);
99
- heading = extractRelationshipDisplayValue(potentiallyPopulatedRelationship, clientConfig, relationshipConfig);
100
- } else if (groupByField?.type === 'date') {
101
- heading = formatDate({
102
- date: String(valueOrRelationshipID),
103
- i18n: req.i18n,
104
- pattern: clientConfig.admin.dateFormat
105
- });
106
- } else if (groupByField?.type === 'checkbox') {
107
- if (valueOrRelationshipID === true) {
108
- heading = req.i18n.t('general:true');
109
- }
110
- if (valueOrRelationshipID === false) {
111
- heading = req.i18n.t('general:false');
112
- }
113
- } else {
114
- heading = String(valueOrRelationshipID);
115
- }
116
- // Create serializable value for client
117
- const serializableValue = createSerializableValue(valueOrRelationshipID);
118
- if (groupData.docs && groupData.docs.length > 0) {
119
- const {
120
- columnState: newColumnState,
121
- Table: NewTable
122
- } = renderTable({
123
- clientCollectionConfig,
124
- collectionConfig,
125
- columns,
126
- customCellProps,
127
- data: groupData,
128
- drawerSlug,
129
- enableRowSelections,
130
- fieldPermissions,
131
- groupByFieldPath,
132
- groupByValue: serializableValue,
133
- heading: heading || req.i18n.t('general:noValue'),
134
- i18n: req.i18n,
135
- key: `table-${serializableValue}`,
136
- orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,
137
- payload: req.payload,
138
- query,
139
- useAsTitle: collectionConfig.admin.useAsTitle,
140
- viewType
141
- });
142
- // Only need to set `columnState` once, using the first table's column state
143
- // This will avoid needing to generate column state explicitly for root context that wraps all tables
144
- if (!columnState) {
145
- columnState = newColumnState;
146
- }
147
- if (!Table) {
148
- Table = [];
149
- }
150
- dataByGroup[serializableValue] = groupData;
151
- Table[i] = NewTable;
15
+ const groupByFieldPath = query.groupBy.replace(/^-/, '');
16
+ const groupByField = flattenedFields.find((f)=>f.name === groupByFieldPath);
17
+ // Set up population for relationships
18
+ let populate;
19
+ if (groupByField?.type === 'relationship' && groupByField.relationTo) {
20
+ const relationTo = Array.isArray(groupByField.relationTo) ? groupByField.relationTo : [
21
+ groupByField.relationTo
22
+ ];
23
+ populate = {};
24
+ relationTo.forEach((rel)=>{
25
+ const config = clientConfig.collections.find((c)=>c.slug === rel);
26
+ populate[rel] = {
27
+ [config?.admin?.useAsTitle || 'id']: true
28
+ };
29
+ });
152
30
  }
153
- }));
154
- return {
155
- columnState,
156
- data,
157
- Table
158
- };
31
+ const distinct = await req.payload.findDistinct({
32
+ collection: collectionSlug,
33
+ depth: 1,
34
+ field: groupByFieldPath,
35
+ limit: query?.limit ? Number(query.limit) : undefined,
36
+ locale: req.locale,
37
+ overrideAccess: false,
38
+ page: query?.page ? Number(query.page) : undefined,
39
+ populate,
40
+ req,
41
+ sort: query?.groupBy,
42
+ trash,
43
+ where: whereWithMergedSearch
44
+ });
45
+ const data = {
46
+ ...distinct,
47
+ docs: distinct.values?.map(()=>({})) || [],
48
+ values: undefined
49
+ };
50
+ await Promise.all((distinct.values || []).map(async (distinctValue, i)=>{
51
+ const potentiallyPopulatedRelationship = distinctValue[groupByFieldPath];
52
+ // Extract value or relationship ID for database query
53
+ const valueOrRelationshipID = extractValueOrRelationshipID(potentiallyPopulatedRelationship);
54
+ const groupData = await req.payload.find({
55
+ collection: collectionSlug,
56
+ depth: 0,
57
+ draft: true,
58
+ fallbackLocale: false,
59
+ includeLockStatus: true,
60
+ limit: query?.queryByGroup?.[valueOrRelationshipID]?.limit ? Number(query.queryByGroup[valueOrRelationshipID].limit) : undefined,
61
+ locale: req.locale,
62
+ overrideAccess: false,
63
+ page: query?.queryByGroup?.[valueOrRelationshipID]?.page ? Number(query.queryByGroup[valueOrRelationshipID].page) : undefined,
64
+ req,
65
+ // Note: if we wanted to enable table-by-table sorting, we could use this:
66
+ // sort: query?.queryByGroup?.[valueOrRelationshipID]?.sort,
67
+ select,
68
+ sort: query?.sort,
69
+ trash,
70
+ user,
71
+ where: {
72
+ ...whereWithMergedSearch || {},
73
+ [groupByFieldPath]: {
74
+ equals: valueOrRelationshipID
75
+ }
76
+ }
77
+ });
78
+ // Extract heading
79
+ let heading;
80
+ if (potentiallyPopulatedRelationship === null) {
81
+ heading = req.i18n.t('general:noValue');
82
+ } else if (groupByField?.type === 'relationship') {
83
+ const relationshipConfig = Array.isArray(groupByField.relationTo) ? undefined : clientConfig.collections.find((c)=>c.slug === groupByField.relationTo);
84
+ heading = extractRelationshipDisplayValue(potentiallyPopulatedRelationship, clientConfig, relationshipConfig);
85
+ } else if (groupByField?.type === 'date') {
86
+ heading = formatDate({
87
+ date: String(valueOrRelationshipID),
88
+ i18n: req.i18n,
89
+ pattern: clientConfig.admin.dateFormat
90
+ });
91
+ } else if (groupByField?.type === 'checkbox') {
92
+ if (valueOrRelationshipID === true) {
93
+ heading = req.i18n.t('general:true');
94
+ }
95
+ if (valueOrRelationshipID === false) {
96
+ heading = req.i18n.t('general:false');
97
+ }
98
+ } else {
99
+ heading = String(valueOrRelationshipID);
100
+ }
101
+ // Create serializable value for client
102
+ const serializableValue = createSerializableValue(valueOrRelationshipID);
103
+ if (groupData.docs && groupData.docs.length > 0) {
104
+ const { columnState: newColumnState, Table: NewTable } = renderTable({
105
+ clientCollectionConfig,
106
+ collectionConfig,
107
+ columns,
108
+ customCellProps,
109
+ data: groupData,
110
+ drawerSlug,
111
+ enableRowSelections,
112
+ fieldPermissions,
113
+ groupByFieldPath,
114
+ groupByValue: serializableValue,
115
+ heading: heading || req.i18n.t('general:noValue'),
116
+ i18n: req.i18n,
117
+ key: `table-${serializableValue}`,
118
+ orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,
119
+ payload: req.payload,
120
+ query,
121
+ useAsTitle: collectionConfig.admin.useAsTitle,
122
+ viewType
123
+ });
124
+ // Only need to set `columnState` once, using the first table's column state
125
+ // This will avoid needing to generate column state explicitly for root context that wraps all tables
126
+ if (!columnState) {
127
+ columnState = newColumnState;
128
+ }
129
+ if (!Table) {
130
+ Table = [];
131
+ }
132
+ dataByGroup[serializableValue] = groupData;
133
+ Table[i] = NewTable;
134
+ }
135
+ }));
136
+ return {
137
+ columnState,
138
+ data,
139
+ Table
140
+ };
159
141
  };
142
+
160
143
  //# sourceMappingURL=handleGroupBy.js.map
@@ -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":"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","ignoreList":[]}
1
+ {"version":3,"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"],"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"],"mappings":"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"}
@@ -2,129 +2,103 @@ import { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig';
2
2
  import { canAccessAdmin, isEntityHidden, UnauthorizedError } from 'payload';
3
3
  import { applyLocaleFiltering } from 'payload/shared';
4
4
  import { renderListView } from './index.js';
5
- export const renderListHandler = async args => {
6
- const {
7
- collectionSlug,
8
- cookies,
9
- disableActions,
10
- disableBulkDelete,
11
- disableBulkEdit,
12
- disableQueryPresets,
13
- drawerSlug,
14
- enableRowSelections,
15
- locale,
16
- overrideEntityVisibility,
17
- permissions,
18
- query,
19
- redirectAfterDelete,
20
- redirectAfterDuplicate,
21
- req,
22
- req: {
23
- i18n,
24
- payload,
25
- payload: {
26
- config
27
- },
28
- user
5
+ export const renderListHandler = async (args)=>{
6
+ const { collectionSlug, cookies, disableActions, disableBulkDelete, disableBulkEdit, disableQueryPresets, drawerSlug, enableRowSelections, locale, overrideEntityVisibility, permissions, query, redirectAfterDelete, redirectAfterDuplicate, req, req: { i18n, payload, payload: { config }, user } } = args;
7
+ if (!req.user) {
8
+ throw new UnauthorizedError();
29
9
  }
30
- } = args;
31
- if (!req.user) {
32
- throw new UnauthorizedError();
33
- }
34
- await canAccessAdmin({
35
- req
36
- });
37
- const clientConfig = getClientConfig({
38
- config,
39
- i18n,
40
- importMap: payload.importMap,
41
- user
42
- });
43
- await applyLocaleFiltering({
44
- clientConfig,
45
- config,
46
- req
47
- });
48
- const preferencesKey = `collection-${collectionSlug}`;
49
- const preferences = await payload.find({
50
- collection: 'payload-preferences',
51
- depth: 0,
52
- limit: 1,
53
- where: {
54
- and: [{
55
- key: {
56
- equals: preferencesKey
10
+ await canAccessAdmin({
11
+ req
12
+ });
13
+ const clientConfig = getClientConfig({
14
+ config,
15
+ i18n,
16
+ importMap: payload.importMap,
17
+ user
18
+ });
19
+ await applyLocaleFiltering({
20
+ clientConfig,
21
+ config,
22
+ req
23
+ });
24
+ const preferencesKey = `collection-${collectionSlug}`;
25
+ const preferences = await payload.find({
26
+ collection: 'payload-preferences',
27
+ depth: 0,
28
+ limit: 1,
29
+ where: {
30
+ and: [
31
+ {
32
+ key: {
33
+ equals: preferencesKey
34
+ }
35
+ },
36
+ {
37
+ 'user.relationTo': {
38
+ equals: user.collection
39
+ }
40
+ },
41
+ {
42
+ 'user.value': {
43
+ equals: user.id
44
+ }
45
+ }
46
+ ]
57
47
  }
58
- }, {
59
- 'user.relationTo': {
60
- equals: user.collection
61
- }
62
- }, {
63
- 'user.value': {
64
- equals: user.id
65
- }
66
- }]
67
- }
68
- }).then(res => res.docs[0]?.value);
69
- const visibleEntities = {
70
- collections: payload.config.collections.map(({
71
- slug,
72
- admin: {
73
- hidden
74
- }
75
- }) => !isEntityHidden({
76
- hidden,
77
- user
78
- }) ? slug : null).filter(Boolean),
79
- globals: payload.config.globals.map(({
80
- slug,
81
- admin: {
82
- hidden
83
- }
84
- }) => !isEntityHidden({
85
- hidden,
86
- user
87
- }) ? slug : null).filter(Boolean)
88
- };
89
- const {
90
- List
91
- } = await renderListView({
92
- clientConfig,
93
- disableActions,
94
- disableBulkDelete,
95
- disableBulkEdit,
96
- disableQueryPresets,
97
- drawerSlug,
98
- enableRowSelections,
99
- i18n,
100
- importMap: payload.importMap,
101
- initPageResult: {
102
- collectionConfig: payload?.collections?.[collectionSlug]?.config,
103
- cookies,
104
- globalConfig: payload.config.globals.find(global => global.slug === collectionSlug),
105
- languageOptions: undefined,
106
- locale,
107
- permissions,
108
- req,
109
- translations: undefined,
110
- visibleEntities
111
- },
112
- locale,
113
- overrideEntityVisibility,
114
- params: {
115
- segments: ['collections', collectionSlug]
116
- },
117
- payload,
118
- permissions,
119
- query,
120
- redirectAfterDelete,
121
- redirectAfterDuplicate,
122
- searchParams: {},
123
- viewType: 'list'
124
- });
125
- return {
126
- List,
127
- preferences
128
- };
48
+ }).then((res)=>res.docs[0]?.value);
49
+ const visibleEntities = {
50
+ collections: payload.config.collections.map(({ slug, admin: { hidden } })=>!isEntityHidden({
51
+ hidden,
52
+ user
53
+ }) ? slug : null).filter(Boolean),
54
+ globals: payload.config.globals.map(({ slug, admin: { hidden } })=>!isEntityHidden({
55
+ hidden,
56
+ user
57
+ }) ? slug : null).filter(Boolean)
58
+ };
59
+ const { List } = await renderListView({
60
+ clientConfig,
61
+ disableActions,
62
+ disableBulkDelete,
63
+ disableBulkEdit,
64
+ disableQueryPresets,
65
+ drawerSlug,
66
+ enableRowSelections,
67
+ i18n,
68
+ importMap: payload.importMap,
69
+ initPageResult: {
70
+ collectionConfig: payload?.collections?.[collectionSlug]?.config,
71
+ cookies,
72
+ globalConfig: payload.config.globals.find((global)=>global.slug === collectionSlug),
73
+ languageOptions: undefined,
74
+ // TODO
75
+ locale,
76
+ permissions,
77
+ req,
78
+ translations: undefined,
79
+ // TODO
80
+ visibleEntities
81
+ },
82
+ locale,
83
+ overrideEntityVisibility,
84
+ params: {
85
+ segments: [
86
+ 'collections',
87
+ collectionSlug
88
+ ]
89
+ },
90
+ payload,
91
+ permissions,
92
+ query,
93
+ redirectAfterDelete,
94
+ redirectAfterDuplicate,
95
+ searchParams: {},
96
+ viewType: 'list'
97
+ });
98
+ return {
99
+ List,
100
+ preferences
101
+ };
129
102
  };
103
+
130
104
  //# sourceMappingURL=handleServerFunction.js.map
@@ -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,"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"],"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"],"mappings":"AAGA,SAASA,eAAe,QAAQ,2CAA0C;AAC1E,SAASC,cAAc,EAAEC,cAAc,EAAEC,iBAAiB,QAAQ,UAAS;AAC3E,SAASC,oBAAoB,QAAQ,iBAAgB;AAErD,SAASC,cAAc,QAAQ,aAAY;AAE3C,OAAO,MAAMC,oBAGT,OAAOC;IACT,MAAM,EACJC,cAAc,EACdC,OAAO,EACPC,cAAc,EACdC,iBAAiB,EACjBC,eAAe,EACfC,mBAAmB,EACnBC,UAAU,EACVC,mBAAmB,EACnBC,MAAM,EACNC,wBAAwB,EACxBC,WAAW,EACXC,KAAK,EACLC,mBAAmB,EACnBC,sBAAsB,EACtBC,GAAG,EACHA,KAAK,EACHC,IAAI,EACJC,OAAO,EACPA,SAAS,EAAEC,MAAM,EAAE,EACnBC,IAAI,EACL,EACF,GAAGnB;IAEJ,IAAI,CAACe,IAAII,IAAI,EAAE;QACb,MAAM,IAAIvB;IACZ;IAEA,MAAMF,eAAe;QAAEqB;IAAI;IAE3B,MAAMK,eAAe3B,gBAAgB;QACnCyB;QACAF;QACAK,WAAWJ,QAAQI,SAAS;QAC5BF;IACF;IACA,MAAMtB,qBAAqB;QAAEuB;QAAcF;QAAQH;IAAI;IAEvD,MAAMO,iBAAiB,CAAC,WAAW,EAAErB,gBAAgB;IAErD,MAAMsB,cAAc,MAAMN,QACvBO,IAAI,CAAC;QACJC,YAAY;QACZC,OAAO;QACPC,OAAO;QACPC,OAAO;YACLC,KAAK;gBACH;oBACEC,KAAK;wBACHC,QAAQT;oBACV;gBACF;gBACA;oBACE,mBAAmB;wBACjBS,QAAQZ,KAAKM,UAAU;oBACzB;gBACF;gBACA;oBACE,cAAc;wBACZM,QAAQZ,KAAKa,EAAE;oBACjB;gBACF;aACD;QACH;IACF,GACCC,IAAI,CAAC,CAACC,MAAQA,IAAIC,IAAI,CAAC,EAAE,EAAEC;IAE9B,MAAMC,kBAAmC;QACvCC,aAAarB,QAAQC,MAAM,CAACoB,WAAW,CACpCC,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAEC,OAAO,EAAEC,MAAM,EAAE,EAAE,GAAM,CAAC/C,eAAe;gBAAE+C;gBAAQvB;YAAK,KAAKqB,OAAO,MACjFG,MAAM,CAACC;QACVC,SAAS5B,QAAQC,MAAM,CAAC2B,OAAO,CAC5BN,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAEC,OAAO,EAAEC,MAAM,EAAE,EAAE,GAAM,CAAC/C,eAAe;gBAAE+C;gBAAQvB;YAAK,KAAKqB,OAAO,MACjFG,MAAM,CAACC;IACZ;IAEA,MAAM,EAAEE,IAAI,EAAE,GAAG,MAAMhD,eAAe;QACpCsB;QACAjB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAQ;QACAK,WAAWJ,QAAQI,SAAS;QAC5B0B,gBAAgB;YACdC,kBAAkB/B,SAASqB,aAAa,CAACrC,eAAe,EAAEiB;YAC1DhB;YACA+C,cAAchC,QAAQC,MAAM,CAAC2B,OAAO,CAACrB,IAAI,CAAC,CAAC0B,SAAWA,OAAOV,IAAI,KAAKvC;YACtEkD,iBAAiBC;YAAW,OAAO;YACnC3C;YACAE;YACAI;YACAsC,cAAcD;YAAW,OAAO;YAChCf;QACF;QACA5B;QACAC;QACA4C,QAAQ;YACNC,UAAU;gBAAC;gBAAetD;aAAe;QAC3C;QACAgB;QACAN;QACAC;QACAC;QACAC;QACA0C,cAAc,CAAC;QACfC,UAAU;IACZ;IAEA,OAAO;QACLX;QACAvB;IACF;AACF,EAAC"}