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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/dist/adapters/router.d.ts +5 -0
  2. package/dist/adapters/router.d.ts.map +1 -0
  3. package/dist/adapters/router.js +53 -0
  4. package/dist/adapters/router.js.map +1 -0
  5. package/dist/adapters/server.d.ts +7 -0
  6. package/dist/adapters/server.d.ts.map +1 -0
  7. package/dist/adapters/server.js +39 -0
  8. package/dist/adapters/server.js.map +1 -0
  9. package/dist/cjs/withPayload.cjs +13 -180
  10. package/dist/cjs/withPayload.cjs.map +4 -4
  11. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +1 -1
  12. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/Tab/index.css +47 -0
  14. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  16. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +1 -0
  17. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  18. package/dist/elements/DocumentHeader/Tabs/index.css +54 -0
  19. package/dist/elements/DocumentHeader/Tabs/index.d.ts +1 -1
  20. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  21. package/dist/elements/DocumentHeader/Tabs/index.js +1 -0
  22. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  23. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.css +11 -0
  24. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts +1 -1
  25. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  26. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  27. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  28. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +0 -4
  29. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  30. package/dist/elements/DocumentHeader/index.css +38 -0
  31. package/dist/elements/DocumentHeader/index.d.ts +1 -1
  32. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  33. package/dist/elements/DocumentHeader/index.js +9 -12
  34. package/dist/elements/DocumentHeader/index.js.map +1 -1
  35. package/dist/elements/HierarchyTypeField/index.d.ts +9 -0
  36. package/dist/elements/HierarchyTypeField/index.d.ts.map +1 -0
  37. package/dist/elements/HierarchyTypeField/index.js +114 -0
  38. package/dist/elements/HierarchyTypeField/index.js.map +1 -0
  39. package/dist/elements/HierarchyTypeField/index.server.d.ts +9 -0
  40. package/dist/elements/HierarchyTypeField/index.server.d.ts.map +1 -0
  41. package/dist/elements/HierarchyTypeField/index.server.js +32 -0
  42. package/dist/elements/HierarchyTypeField/index.server.js.map +1 -0
  43. package/dist/elements/Nav/NavSidebarToggle/index.d.ts +8 -0
  44. package/dist/elements/Nav/NavSidebarToggle/index.d.ts.map +1 -0
  45. package/dist/elements/Nav/{NavHamburger → NavSidebarToggle}/index.js +3 -3
  46. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -0
  47. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  48. package/dist/elements/Nav/NavWrapper/index.js +21 -24
  49. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  50. package/dist/elements/Nav/SidebarTabs/TabError/index.css +29 -0
  51. package/dist/elements/Nav/SidebarTabs/TabError/index.d.ts +8 -0
  52. package/dist/elements/Nav/SidebarTabs/TabError/index.d.ts.map +1 -0
  53. package/dist/elements/Nav/SidebarTabs/TabError/index.js +42 -0
  54. package/dist/elements/Nav/SidebarTabs/TabError/index.js.map +1 -0
  55. package/dist/elements/Nav/SidebarTabs/constants.d.ts +2 -0
  56. package/dist/elements/Nav/SidebarTabs/constants.d.ts.map +1 -0
  57. package/dist/elements/Nav/SidebarTabs/constants.js +2 -0
  58. package/dist/elements/Nav/SidebarTabs/constants.js.map +1 -0
  59. package/dist/elements/Nav/SidebarTabs/index.client.d.ts +22 -0
  60. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -0
  61. package/dist/elements/Nav/SidebarTabs/index.client.js +195 -0
  62. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -0
  63. package/dist/elements/Nav/SidebarTabs/index.css +80 -0
  64. package/dist/elements/Nav/SidebarTabs/index.d.ts +17 -0
  65. package/dist/elements/Nav/SidebarTabs/index.d.ts.map +1 -0
  66. package/dist/elements/Nav/SidebarTabs/index.js +85 -0
  67. package/dist/elements/Nav/SidebarTabs/index.js.map +1 -0
  68. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +10 -0
  69. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -0
  70. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +54 -0
  71. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -0
  72. package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -1
  73. package/dist/elements/Nav/getNavPrefs.js +36 -2
  74. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  75. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  76. package/dist/elements/Nav/index.client.js +48 -63
  77. package/dist/elements/Nav/index.client.js.map +1 -1
  78. package/dist/elements/Nav/index.css +132 -0
  79. package/dist/elements/Nav/index.d.ts +1 -1
  80. package/dist/elements/Nav/index.d.ts.map +1 -1
  81. package/dist/elements/Nav/index.js +41 -18
  82. package/dist/elements/Nav/index.js.map +1 -1
  83. package/dist/exports/client.d.ts +3 -2
  84. package/dist/exports/client.d.ts.map +1 -1
  85. package/dist/exports/client.js +3 -2
  86. package/dist/exports/client.js.map +1 -1
  87. package/dist/exports/rsc.d.ts +2 -1
  88. package/dist/exports/rsc.d.ts.map +1 -1
  89. package/dist/exports/rsc.js +2 -1
  90. package/dist/exports/rsc.js.map +1 -1
  91. package/dist/exports/utilities.d.ts +2 -67
  92. package/dist/exports/utilities.d.ts.map +1 -1
  93. package/dist/exports/utilities.js +1 -49
  94. package/dist/exports/utilities.js.map +1 -1
  95. package/dist/layouts/Root/index.d.ts +18 -1
  96. package/dist/layouts/Root/index.d.ts.map +1 -1
  97. package/dist/layouts/Root/index.js +29 -4
  98. package/dist/layouts/Root/index.js.map +1 -1
  99. package/dist/prod/styles.css +1 -1
  100. package/dist/routes/graphql/handler.d.ts.map +1 -1
  101. package/dist/routes/graphql/playground.d.ts.map +1 -1
  102. package/dist/routes/rest/index.d.ts.map +1 -1
  103. package/dist/templates/Default/Wrapper/index.css +40 -0
  104. package/dist/templates/Default/Wrapper/index.d.ts +1 -1
  105. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  106. package/dist/templates/Default/Wrapper/index.js +16 -19
  107. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  108. package/dist/templates/Default/index.css +23 -0
  109. package/dist/templates/Default/index.d.ts +2 -2
  110. package/dist/templates/Default/index.d.ts.map +1 -1
  111. package/dist/templates/Default/index.js +5 -21
  112. package/dist/templates/Default/index.js.map +1 -1
  113. package/dist/templates/Minimal/index.css +25 -0
  114. package/dist/templates/Minimal/index.d.ts +1 -1
  115. package/dist/templates/Minimal/index.d.ts.map +1 -1
  116. package/dist/templates/Minimal/index.js.map +1 -1
  117. package/dist/utilities/getHierarchyAncestry.d.ts +24 -0
  118. package/dist/utilities/getHierarchyAncestry.d.ts.map +1 -0
  119. package/dist/utilities/getHierarchyAncestry.js +103 -0
  120. package/dist/utilities/getHierarchyAncestry.js.map +1 -0
  121. package/dist/utilities/getNextRequestI18n.d.ts.map +1 -1
  122. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  123. package/dist/utilities/getRequestHighContrast.d.ts +10 -0
  124. package/dist/utilities/getRequestHighContrast.d.ts.map +1 -0
  125. package/dist/utilities/getRequestHighContrast.js +18 -0
  126. package/dist/utilities/getRequestHighContrast.js.map +1 -0
  127. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  128. package/dist/utilities/getRouteWithoutAdmin.d.ts.map +1 -1
  129. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  130. package/dist/utilities/handleServerFunctions.js +2 -2
  131. package/dist/utilities/handleServerFunctions.js.map +1 -1
  132. package/dist/utilities/initReq.d.ts.map +1 -1
  133. package/dist/utilities/initReq.js +2 -0
  134. package/dist/utilities/initReq.js.map +1 -1
  135. package/dist/utilities/isCustomAdminView.d.ts.map +1 -1
  136. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
  137. package/dist/utilities/meta.d.ts.map +1 -1
  138. package/dist/utilities/timestamp.d.ts.map +1 -1
  139. package/dist/views/API/RenderJSON/index.d.ts.map +1 -1
  140. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  141. package/dist/views/Account/Settings/index.js +2 -1
  142. package/dist/views/Account/Settings/index.js.map +1 -1
  143. package/dist/views/Account/ToggleHighContrast/index.d.ts +3 -0
  144. package/dist/views/Account/ToggleHighContrast/index.d.ts.map +1 -0
  145. package/dist/views/Account/ToggleHighContrast/index.js +45 -0
  146. package/dist/views/Account/ToggleHighContrast/index.js.map +1 -0
  147. package/dist/views/Account/index.d.ts.map +1 -1
  148. package/dist/views/Account/index.js +1 -0
  149. package/dist/views/Account/index.js.map +1 -1
  150. package/dist/views/CollectionTrash/metadata.d.ts.map +1 -1
  151. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  152. package/dist/views/CreateFirstUser/index.client.js +32 -25
  153. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  154. package/dist/views/CreateFirstUser/index.css +69 -0
  155. package/dist/views/CreateFirstUser/index.d.ts +1 -1
  156. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  157. package/dist/views/CreateFirstUser/index.js +9 -5
  158. package/dist/views/CreateFirstUser/index.js.map +1 -1
  159. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  160. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +72 -45
  161. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  162. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
  163. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +25 -22
  164. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  165. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  166. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +2 -3
  167. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  168. package/dist/views/Dashboard/Default/ModularDashboard/index.css +299 -0
  169. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts +1 -1
  170. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts.map +1 -1
  171. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  172. package/dist/views/Dashboard/Default/index.d.ts +0 -6
  173. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  174. package/dist/views/Dashboard/Default/index.js +3 -0
  175. package/dist/views/Dashboard/Default/index.js.map +1 -1
  176. package/dist/views/Dashboard/index.d.ts.map +1 -1
  177. package/dist/views/Dashboard/index.js +1 -0
  178. package/dist/views/Dashboard/index.js.map +1 -1
  179. package/dist/views/Document/getCustomDocumentViewByKey.d.ts.map +1 -1
  180. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  181. package/dist/views/Document/getDocPreferences.d.ts.map +1 -1
  182. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  183. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -1
  184. package/dist/views/Document/getDocumentView.d.ts.map +1 -1
  185. package/dist/views/Document/getDocumentView.js +3 -9
  186. package/dist/views/Document/getDocumentView.js.map +1 -1
  187. package/dist/views/Document/getIsLocked.d.ts.map +1 -1
  188. package/dist/views/Document/getVersions.d.ts.map +1 -1
  189. package/dist/views/Document/handleServerFunction.d.ts.map +1 -1
  190. package/dist/views/Document/handleServerFunction.js +1 -0
  191. package/dist/views/Document/handleServerFunction.js.map +1 -1
  192. package/dist/views/Document/index.d.ts.map +1 -1
  193. package/dist/views/Document/index.js +5 -0
  194. package/dist/views/Document/index.js.map +1 -1
  195. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  196. package/dist/views/Document/renderDocumentSlots.js +17 -8
  197. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  198. package/dist/views/Hierarchy/index.d.ts +18 -0
  199. package/dist/views/Hierarchy/index.d.ts.map +1 -0
  200. package/dist/views/Hierarchy/index.js +20 -0
  201. package/dist/views/Hierarchy/index.js.map +1 -0
  202. package/dist/views/List/createSerializableValue.d.ts.map +1 -1
  203. package/dist/views/List/extractRelationshipDisplayValue.d.ts.map +1 -1
  204. package/dist/views/List/extractValueOrRelationshipID.d.ts.map +1 -1
  205. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  206. package/dist/views/List/handleHierarchy.d.ts +18 -0
  207. package/dist/views/List/handleHierarchy.d.ts.map +1 -0
  208. package/dist/views/List/handleHierarchy.js +259 -0
  209. package/dist/views/List/handleHierarchy.js.map +1 -0
  210. package/dist/views/List/handleServerFunction.d.ts.map +1 -1
  211. package/dist/views/List/handleServerFunction.js +1 -0
  212. package/dist/views/List/handleServerFunction.js.map +1 -1
  213. package/dist/views/List/index.css +3 -0
  214. package/dist/views/List/index.d.ts +1 -0
  215. package/dist/views/List/index.d.ts.map +1 -1
  216. package/dist/views/List/index.js +105 -31
  217. package/dist/views/List/index.js.map +1 -1
  218. package/dist/views/List/metadata.d.ts.map +1 -1
  219. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  220. package/dist/views/List/renderListViewSlots.js +2 -1
  221. package/dist/views/List/renderListViewSlots.js.map +1 -1
  222. package/dist/views/List/resolveAllFilterOptions.d.ts.map +1 -1
  223. package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -1
  224. package/dist/views/Login/LoginForm/index.css +51 -0
  225. package/dist/views/Login/LoginForm/index.d.ts +1 -1
  226. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  227. package/dist/views/Login/LoginForm/index.js +16 -10
  228. package/dist/views/Login/LoginForm/index.js.map +1 -1
  229. package/dist/views/Login/index.css +8 -0
  230. package/dist/views/Login/index.d.ts +1 -1
  231. package/dist/views/Login/index.d.ts.map +1 -1
  232. package/dist/views/Login/index.js +3 -0
  233. package/dist/views/Login/index.js.map +1 -1
  234. package/dist/views/NotFound/index.client.d.ts +2 -4
  235. package/dist/views/NotFound/index.client.d.ts.map +1 -1
  236. package/dist/views/NotFound/index.client.js +25 -42
  237. package/dist/views/NotFound/index.client.js.map +1 -1
  238. package/dist/views/NotFound/index.css +47 -0
  239. package/dist/views/NotFound/index.d.ts.map +1 -1
  240. package/dist/views/NotFound/index.js +2 -3
  241. package/dist/views/NotFound/index.js.map +1 -1
  242. package/dist/views/NotFound/metadata.d.ts.map +1 -1
  243. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -1
  244. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  245. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts +12 -0
  246. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -0
  247. package/dist/views/Root/getCustomGlobalViewByRoute.js +46 -0
  248. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -0
  249. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  250. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  251. package/dist/views/Root/getRouteData.d.ts +1 -4
  252. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  253. package/dist/views/Root/getRouteData.js +83 -110
  254. package/dist/views/Root/getRouteData.js.map +1 -1
  255. package/dist/views/Root/index.d.ts.map +1 -1
  256. package/dist/views/Root/index.js +8 -16
  257. package/dist/views/Root/index.js.map +1 -1
  258. package/dist/views/Root/isPathMatchingRoute.d.ts.map +1 -1
  259. package/dist/views/Root/metadata.d.ts.map +1 -1
  260. package/dist/views/Root/metadata.js +1 -37
  261. package/dist/views/Root/metadata.js.map +1 -1
  262. package/dist/views/Unauthorized/index.css +44 -0
  263. package/dist/views/Unauthorized/index.d.ts +1 -1
  264. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  265. package/dist/views/Unauthorized/index.js +12 -33
  266. package/dist/views/Unauthorized/index.js.map +1 -1
  267. package/dist/views/Verify/index.d.ts.map +1 -1
  268. package/dist/views/Verify/index.js +1 -0
  269. package/dist/views/Verify/index.js.map +1 -1
  270. package/dist/views/Version/Default/index.d.ts.map +1 -1
  271. package/dist/views/Version/Default/index.js +4 -4
  272. package/dist/views/Version/Default/index.js.map +1 -1
  273. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +1 -1
  274. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  275. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
  276. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  277. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
  278. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  279. package/dist/views/Version/Restore/index.js +1 -1
  280. package/dist/views/Version/Restore/index.js.map +1 -1
  281. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  282. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +0 -1
  283. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  284. package/dist/views/Version/VersionPillLabel/VersionPillLabel.d.ts +1 -1
  285. package/dist/views/Version/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
  286. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  287. package/dist/views/Version/VersionPillLabel/index.css +23 -0
  288. package/dist/views/Version/fetchVersions.d.ts.map +1 -1
  289. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  290. package/dist/views/Versions/buildColumns.js +18 -18
  291. package/dist/views/Versions/buildColumns.js.map +1 -1
  292. package/dist/views/Versions/cells/AutosaveCell/index.css +7 -0
  293. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +1 -1
  294. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  295. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  296. package/dist/views/Versions/index.client.d.ts.map +1 -1
  297. package/dist/views/Versions/index.client.js +7 -23
  298. package/dist/views/Versions/index.client.js.map +1 -1
  299. package/dist/views/Versions/index.css +85 -0
  300. package/dist/views/Versions/index.d.ts +1 -1
  301. package/dist/views/Versions/index.d.ts.map +1 -1
  302. package/dist/views/Versions/index.js +1 -1
  303. package/dist/views/Versions/index.js.map +1 -1
  304. package/dist/withPayload/withPayload.d.ts.map +1 -1
  305. package/dist/withPayload/withPayload.js +9 -27
  306. package/dist/withPayload/withPayload.js.map +1 -1
  307. package/dist/withPayload/withPayload.utils.d.ts +0 -14
  308. package/dist/withPayload/withPayload.utils.d.ts.map +1 -1
  309. package/dist/withPayload/withPayload.utils.js +0 -73
  310. package/dist/withPayload/withPayload.utils.js.map +1 -1
  311. package/package.json +14 -14
  312. package/dist/elements/Nav/NavHamburger/index.d.ts +0 -8
  313. package/dist/elements/Nav/NavHamburger/index.d.ts.map +0 -1
  314. package/dist/elements/Nav/NavHamburger/index.js.map +0 -1
  315. package/dist/templates/Default/NavHamburger/index.d.ts +0 -3
  316. package/dist/templates/Default/NavHamburger/index.d.ts.map +0 -1
  317. package/dist/templates/Default/NavHamburger/index.js +0 -25
  318. package/dist/templates/Default/NavHamburger/index.js.map +0 -1
  319. package/dist/views/BrowseByFolder/buildView.d.ts +0 -13
  320. package/dist/views/BrowseByFolder/buildView.d.ts.map +0 -1
  321. package/dist/views/BrowseByFolder/buildView.js +0 -170
  322. package/dist/views/BrowseByFolder/buildView.js.map +0 -1
  323. package/dist/views/BrowseByFolder/index.d.ts +0 -4
  324. package/dist/views/BrowseByFolder/index.d.ts.map +0 -1
  325. package/dist/views/BrowseByFolder/index.js +0 -20
  326. package/dist/views/BrowseByFolder/index.js.map +0 -1
  327. package/dist/views/BrowseByFolder/metadata.d.ts +0 -4
  328. package/dist/views/BrowseByFolder/metadata.d.ts.map +0 -1
  329. package/dist/views/BrowseByFolder/metadata.js +0 -18
  330. package/dist/views/BrowseByFolder/metadata.js.map +0 -1
  331. package/dist/views/CollectionFolders/buildView.d.ts +0 -15
  332. package/dist/views/CollectionFolders/buildView.d.ts.map +0 -1
  333. package/dist/views/CollectionFolders/buildView.js +0 -156
  334. package/dist/views/CollectionFolders/buildView.js.map +0 -1
  335. package/dist/views/CollectionFolders/index.d.ts +0 -4
  336. package/dist/views/CollectionFolders/index.d.ts.map +0 -1
  337. package/dist/views/CollectionFolders/index.js +0 -20
  338. package/dist/views/CollectionFolders/index.js.map +0 -1
  339. package/dist/views/CollectionFolders/metadata.d.ts +0 -7
  340. package/dist/views/CollectionFolders/metadata.d.ts.map +0 -1
  341. package/dist/views/CollectionFolders/metadata.js +0 -25
  342. package/dist/views/CollectionFolders/metadata.js.map +0 -1
  343. package/dist/views/CollectionFolders/renderFolderViewSlots.d.ts +0 -11
  344. package/dist/views/CollectionFolders/renderFolderViewSlots.d.ts.map +0 -1
  345. package/dist/views/CollectionFolders/renderFolderViewSlots.js +0 -64
  346. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +0 -1
  347. package/dist/withPayload/withPayloadLegacy.d.ts +0 -2
  348. package/dist/withPayload/withPayloadLegacy.d.ts.map +0 -1
  349. package/dist/withPayload/withPayloadLegacy.js +0 -47
  350. package/dist/withPayload/withPayloadLegacy.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["getTranslation","RenderServerComponent","React","SidebarTabsClient","baseClass","SidebarTabs","props","documentSubViewType","i18n","locale","navPreferences","params","payload","permissions","req","searchParams","tabs","user","viewType","preferredTabSlug","activeTab","find","tab","isDefaultActive","slug","t","initialActiveTabID","initialTabContents","renderComponent","component","isValidElement","clientProps","Component","importMap","serverProps","components","Content","_jsx","map","labelText","label","isLazyLoadable","icon","Icon","lazyLoadable"],"sources":["../../../../src/elements/Nav/SidebarTabs/index.tsx"],"sourcesContent":["import type { NavPreferences, PayloadComponent, SidebarTab } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport React from 'react'\n\nimport type { NavProps } from '../index.js'\n\nimport { SidebarTabsClient } from './index.client.js'\nimport './index.css'\n\ntype SidebarTabWithReactNode = {\n components: {\n Content: PayloadComponent | React.ReactNode\n Icon: PayloadComponent | React.ReactNode\n }\n} & Omit<SidebarTab, 'components'>\n\nexport type SidebarTabsProps = {\n navPreferences: NavPreferences\n tabs: SidebarTabWithReactNode[]\n} & NavProps\n\nconst baseClass = 'sidebar-tabs'\n\nexport const SidebarTabs: React.FC<SidebarTabsProps> = (props) => {\n const {\n documentSubViewType,\n i18n,\n locale,\n navPreferences,\n params,\n payload,\n permissions,\n req,\n searchParams,\n tabs,\n user,\n viewType,\n } = props\n\n // Determine which tab should be active on initial load\n // First try saved preference, then default tab, then first tab\n const preferredTabSlug =\n navPreferences.activeTab || tabs.find((tab) => tab.isDefaultActive)?.slug || tabs[0]?.slug\n\n // Verify the preferred tab actually exists, otherwise fall back to default or first tab\n const activeTab =\n tabs.find((t) => t.slug === preferredTabSlug) ||\n tabs.find((tab) => tab.isDefaultActive) ||\n tabs[0]\n\n const initialActiveTabID = activeTab?.slug || tabs[0]?.slug\n\n // Build initial tab contents\n // Strategy: Pre-render tabs that are already React elements (can't be lazy-loaded),\n // and only render the initially active tab if it's a CustomComponent (can be lazy-loaded)\n const initialTabContents: Record<string, React.ReactNode> = {}\n\n const renderComponent = (component: PayloadComponent | React.ReactNode): React.ReactNode => {\n // Check if component is already a React node (payload provided React component)\n if (React.isValidElement(component)) {\n return component\n } else {\n // Otherwise render it as a CustomComponent\n return RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: component as PayloadComponent,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n req,\n searchParams,\n user,\n },\n })\n }\n }\n\n for (const tab of tabs) {\n if (React.isValidElement(tab.components.Content)) {\n initialTabContents[tab.slug] = tab.components.Content\n }\n }\n\n // If the active tab is a CustomComponent (lazy-loadable), render it now\n if (activeTab && !React.isValidElement(activeTab.components.Content)) {\n initialTabContents[activeTab.slug] = renderComponent(activeTab.components.Content)\n }\n\n return (\n <SidebarTabsClient\n baseClass={baseClass}\n initialActiveTabID={initialActiveTabID}\n initialTabContents={initialTabContents}\n tabs={tabs.map((tab) => {\n const labelText = tab.label ? getTranslation(tab.label, i18n) : tab.slug\n // CustomComponents can be lazy-loaded/revalidated, React elements cannot\n const isLazyLoadable = !React.isValidElement(tab.components.Content)\n\n return {\n slug: tab.slug,\n icon: renderComponent(tab.components.Icon),\n isDefaultActive: tab.isDefaultActive,\n label: labelText,\n lazyLoadable: isLazyLoadable,\n }\n })}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import type { ServerFunction } from 'payload';
2
+ import type React from 'react';
3
+ export type RenderTabServerFnArgs = {
4
+ tabSlug: string;
5
+ };
6
+ export type RenderTabServerFnReturnType = {
7
+ component: React.ReactNode;
8
+ };
9
+ export declare const renderTabHandler: ServerFunction<RenderTabServerFnArgs, RenderTabServerFnReturnType>;
10
+ //# sourceMappingURL=renderTabServerFn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderTabServerFn.d.ts","sourceRoot":"","sources":["../../../../src/elements/Nav/SidebarTabs/renderTabServerFn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAC3C,qBAAqB,EACrB,2BAA2B,CA6C5B,CAAA"}
@@ -0,0 +1,54 @@
1
+ import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
2
+ export const renderTabHandler = ({
3
+ req,
4
+ tabSlug
5
+ }) => {
6
+ if (!req.user) {
7
+ throw new Error('Unauthorized');
8
+ }
9
+ const {
10
+ importMap
11
+ } = req.payload;
12
+ const {
13
+ tabs
14
+ } = req.payload.config.admin.components?.sidebar || {};
15
+ if (!tabs) {
16
+ return {
17
+ component: null
18
+ };
19
+ }
20
+ const tabConfig = tabs.find(tab => tab.slug === tabSlug);
21
+ if (!tabConfig) {
22
+ return {
23
+ component: null
24
+ };
25
+ }
26
+ try {
27
+ const component = RenderServerComponent({
28
+ Component: tabConfig.components.Content,
29
+ importMap,
30
+ serverProps: {
31
+ i18n: req.i18n,
32
+ locale: req.locale,
33
+ params: req.routeParams,
34
+ payload: req.payload,
35
+ req,
36
+ searchParams: req.query,
37
+ user: req.user
38
+ }
39
+ });
40
+ return {
41
+ component
42
+ };
43
+ } catch (error) {
44
+ const errorMessage = error instanceof Error ? error.message : String(error);
45
+ req.payload.logger.error({
46
+ err: error,
47
+ msg: `Error rendering tab "${tabSlug}": ${errorMessage}`
48
+ });
49
+ return {
50
+ component: null
51
+ };
52
+ }
53
+ };
54
+ //# sourceMappingURL=renderTabServerFn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderTabServerFn.js","names":["RenderServerComponent","renderTabHandler","req","tabSlug","user","Error","importMap","payload","tabs","config","admin","components","sidebar","component","tabConfig","find","tab","slug","Component","Content","serverProps","i18n","locale","params","routeParams","searchParams","query","error","errorMessage","message","String","logger","err","msg"],"sources":["../../../../src/elements/Nav/SidebarTabs/renderTabServerFn.ts"],"sourcesContent":["import type { ServerFunction } from 'payload'\nimport type React from 'react'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\n\nexport type RenderTabServerFnArgs = {\n tabSlug: string\n}\n\nexport type RenderTabServerFnReturnType = {\n component: React.ReactNode\n}\n\nexport const renderTabHandler: ServerFunction<\n RenderTabServerFnArgs,\n RenderTabServerFnReturnType\n> = ({ req, tabSlug }) => {\n if (!req.user) {\n throw new Error('Unauthorized')\n }\n\n const { importMap } = req.payload\n const { tabs } = req.payload.config.admin.components?.sidebar || {}\n\n if (!tabs) {\n return { component: null }\n }\n\n const tabConfig = tabs.find((tab) => tab.slug === tabSlug)\n\n if (!tabConfig) {\n return { component: null }\n }\n\n try {\n const component = RenderServerComponent({\n Component: tabConfig.components.Content,\n importMap,\n serverProps: {\n i18n: req.i18n,\n locale: req.locale,\n params: req.routeParams,\n payload: req.payload,\n req,\n searchParams: req.query,\n user: req.user,\n },\n })\n\n return { component }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error)\n\n req.payload.logger.error({\n err: error,\n msg: `Error rendering tab \"${tabSlug}\": ${errorMessage}`,\n })\n\n return { component: null }\n }\n}\n"],"mappings":"AAGA,SAASA,qBAAqB,QAAQ;AAUtC,OAAO,MAAMC,gBAAA,GAGTA,CAAC;EAAEC,GAAG;EAAEC;AAAO,CAAE;EACnB,IAAI,CAACD,GAAA,CAAIE,IAAI,EAAE;IACb,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,MAAM;IAAEC;EAAS,CAAE,GAAGJ,GAAA,CAAIK,OAAO;EACjC,MAAM;IAAEC;EAAI,CAAE,GAAGN,GAAA,CAAIK,OAAO,CAACE,MAAM,CAACC,KAAK,CAACC,UAAU,EAAEC,OAAA,IAAW,CAAC;EAElE,IAAI,CAACJ,IAAA,EAAM;IACT,OAAO;MAAEK,SAAA,EAAW;IAAK;EAC3B;EAEA,MAAMC,SAAA,GAAYN,IAAA,CAAKO,IAAI,CAAEC,GAAA,IAAQA,GAAA,CAAIC,IAAI,KAAKd,OAAA;EAElD,IAAI,CAACW,SAAA,EAAW;IACd,OAAO;MAAED,SAAA,EAAW;IAAK;EAC3B;EAEA,IAAI;IACF,MAAMA,SAAA,GAAYb,qBAAA,CAAsB;MACtCkB,SAAA,EAAWJ,SAAA,CAAUH,UAAU,CAACQ,OAAO;MACvCb,SAAA;MACAc,WAAA,EAAa;QACXC,IAAA,EAAMnB,GAAA,CAAImB,IAAI;QACdC,MAAA,EAAQpB,GAAA,CAAIoB,MAAM;QAClBC,MAAA,EAAQrB,GAAA,CAAIsB,WAAW;QACvBjB,OAAA,EAASL,GAAA,CAAIK,OAAO;QACpBL,GAAA;QACAuB,YAAA,EAAcvB,GAAA,CAAIwB,KAAK;QACvBtB,IAAA,EAAMF,GAAA,CAAIE;MACZ;IACF;IAEA,OAAO;MAAES;IAAU;EACrB,EAAE,OAAOc,KAAA,EAAO;IACd,MAAMC,YAAA,GAAeD,KAAA,YAAiBtB,KAAA,GAAQsB,KAAA,CAAME,OAAO,GAAGC,MAAA,CAAOH,KAAA;IAErEzB,GAAA,CAAIK,OAAO,CAACwB,MAAM,CAACJ,KAAK,CAAC;MACvBK,GAAA,EAAKL,KAAA;MACLM,GAAA,EAAK,wBAAwB9B,OAAA,MAAayB,YAAA;IAC5C;IAEA,OAAO;MAAEf,SAAA,EAAW;IAAK;EAC3B;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getNavPrefs.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/getNavPrefs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAK7D,eAAO,MAAM,WAAW,QAAqB,cAAc,KAAG,OAAO,CAAC,cAAc,CA+BlF,CAAA"}
1
+ {"version":3,"file":"getNavPrefs.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/getNavPrefs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAK7D,eAAO,MAAM,WAAW,QAAqB,cAAc,KAAG,OAAO,CAAC,cAAc,CAoElF,CAAA"}
@@ -1,7 +1,14 @@
1
1
  import { PREFERENCE_KEYS } from 'payload/shared';
2
2
  import { cache } from 'react';
3
3
  export const getNavPrefs = cache(async req => {
4
- return req?.user?.collection ? await req.payload.find({
4
+ if (!req?.user?.collection) {
5
+ return {
6
+ activeTab: undefined,
7
+ groups: {},
8
+ open: true
9
+ };
10
+ }
11
+ const navPrefs = await req.payload.find({
5
12
  collection: 'payload-preferences',
6
13
  depth: 0,
7
14
  limit: 1,
@@ -22,6 +29,33 @@ export const getNavPrefs = cache(async req => {
22
29
  }
23
30
  }]
24
31
  }
25
- })?.then(res => res?.docs?.[0]?.value) : null;
32
+ })?.then(res => res?.docs?.[0]?.value);
33
+ const sidebarPrefs = await req.payload.find({
34
+ collection: 'payload-preferences',
35
+ depth: 0,
36
+ limit: 1,
37
+ pagination: false,
38
+ req,
39
+ where: {
40
+ and: [{
41
+ key: {
42
+ equals: PREFERENCE_KEYS.NAV_SIDEBAR_ACTIVE_TAB
43
+ }
44
+ }, {
45
+ 'user.relationTo': {
46
+ equals: req.user.collection
47
+ }
48
+ }, {
49
+ 'user.value': {
50
+ equals: req?.user?.id
51
+ }
52
+ }]
53
+ }
54
+ })?.then(res => res?.docs?.[0]?.value);
55
+ return {
56
+ activeTab: sidebarPrefs?.activeTab,
57
+ groups: navPrefs?.groups ?? {},
58
+ open: navPrefs?.open ?? true
59
+ };
26
60
  });
27
61
  //# sourceMappingURL=getNavPrefs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getNavPrefs.js","names":["PREFERENCE_KEYS","cache","getNavPrefs","req","user","collection","payload","find","depth","limit","pagination","where","and","key","equals","NAV","id","then","res","docs","value"],"sources":["../../../src/elements/Nav/getNavPrefs.ts"],"sourcesContent":["import type { NavPreferences, PayloadRequest } from 'payload'\n\nimport { PREFERENCE_KEYS } from 'payload/shared'\nimport { cache } from 'react'\n\nexport const getNavPrefs = cache(async (req: PayloadRequest): Promise<NavPreferences> => {\n return req?.user?.collection\n ? await req.payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n req,\n where: {\n and: [\n {\n key: {\n equals: PREFERENCE_KEYS.NAV,\n },\n },\n {\n 'user.relationTo': {\n equals: req.user.collection,\n },\n },\n {\n 'user.value': {\n equals: req?.user?.id,\n },\n },\n ],\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)\n : null\n})\n"],"mappings":"AAEA,SAASA,eAAe,QAAQ;AAChC,SAASC,KAAK,QAAQ;AAEtB,OAAO,MAAMC,WAAA,GAAcD,KAAA,CAAM,MAAOE,GAAA;EACtC,OAAOA,GAAA,EAAKC,IAAA,EAAMC,UAAA,GACd,MAAMF,GAAA,CAAIG,OAAO,CACdC,IAAI,CAAC;IACJF,UAAA,EAAY;IACZG,KAAA,EAAO;IACPC,KAAA,EAAO;IACPC,UAAA,EAAY;IACZP,GAAA;IACAQ,KAAA,EAAO;MACLC,GAAA,EAAK,CACH;QACEC,GAAA,EAAK;UACHC,MAAA,EAAQd,eAAA,CAAgBe;QAC1B;MACF,GACA;QACE,mBAAmB;UACjBD,MAAA,EAAQX,GAAA,CAAIC,IAAI,CAACC;QACnB;MACF,GACA;QACE,cAAc;UACZS,MAAA,EAAQX,GAAA,EAAKC,IAAA,EAAMY;QACrB;MACF;IAEJ;EACF,IACEC,IAAA,CAAMC,GAAA,IAAQA,GAAA,EAAKC,IAAA,GAAO,EAAE,EAAEC,KAAA,IAClC;AACN","ignoreList":[]}
1
+ {"version":3,"file":"getNavPrefs.js","names":["PREFERENCE_KEYS","cache","getNavPrefs","req","user","collection","activeTab","undefined","groups","open","navPrefs","payload","find","depth","limit","pagination","where","and","key","equals","NAV","id","then","res","docs","value","sidebarPrefs","NAV_SIDEBAR_ACTIVE_TAB"],"sources":["../../../src/elements/Nav/getNavPrefs.ts"],"sourcesContent":["import type { NavPreferences, PayloadRequest } from 'payload'\n\nimport { PREFERENCE_KEYS } from 'payload/shared'\nimport { cache } from 'react'\n\nexport const getNavPrefs = cache(async (req: PayloadRequest): Promise<NavPreferences> => {\n if (!req?.user?.collection) {\n return { activeTab: undefined, groups: {}, open: true }\n }\n\n const navPrefs = await req.payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n req,\n where: {\n and: [\n {\n key: {\n equals: PREFERENCE_KEYS.NAV,\n },\n },\n {\n 'user.relationTo': {\n equals: req.user.collection,\n },\n },\n {\n 'user.value': {\n equals: req?.user?.id,\n },\n },\n ],\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)\n\n const sidebarPrefs = await req.payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n req,\n where: {\n and: [\n {\n key: {\n equals: PREFERENCE_KEYS.NAV_SIDEBAR_ACTIVE_TAB,\n },\n },\n {\n 'user.relationTo': {\n equals: req.user.collection,\n },\n },\n {\n 'user.value': {\n equals: req?.user?.id,\n },\n },\n ],\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)\n\n return {\n activeTab: sidebarPrefs?.activeTab,\n groups: navPrefs?.groups ?? {},\n open: navPrefs?.open ?? true,\n }\n})\n"],"mappings":"AAEA,SAASA,eAAe,QAAQ;AAChC,SAASC,KAAK,QAAQ;AAEtB,OAAO,MAAMC,WAAA,GAAcD,KAAA,CAAM,MAAOE,GAAA;EACtC,IAAI,CAACA,GAAA,EAAKC,IAAA,EAAMC,UAAA,EAAY;IAC1B,OAAO;MAAEC,SAAA,EAAWC,SAAA;MAAWC,MAAA,EAAQ,CAAC;MAAGC,IAAA,EAAM;IAAK;EACxD;EAEA,MAAMC,QAAA,GAAW,MAAMP,GAAA,CAAIQ,OAAO,CAC/BC,IAAI,CAAC;IACJP,UAAA,EAAY;IACZQ,KAAA,EAAO;IACPC,KAAA,EAAO;IACPC,UAAA,EAAY;IACZZ,GAAA;IACAa,KAAA,EAAO;MACLC,GAAA,EAAK,CACH;QACEC,GAAA,EAAK;UACHC,MAAA,EAAQnB,eAAA,CAAgBoB;QAC1B;MACF,GACA;QACE,mBAAmB;UACjBD,MAAA,EAAQhB,GAAA,CAAIC,IAAI,CAACC;QACnB;MACF,GACA;QACE,cAAc;UACZc,MAAA,EAAQhB,GAAA,EAAKC,IAAA,EAAMiB;QACrB;MACF;IAEJ;EACF,IACEC,IAAA,CAAMC,GAAA,IAAQA,GAAA,EAAKC,IAAA,GAAO,EAAE,EAAEC,KAAA;EAElC,MAAMC,YAAA,GAAe,MAAMvB,GAAA,CAAIQ,OAAO,CACnCC,IAAI,CAAC;IACJP,UAAA,EAAY;IACZQ,KAAA,EAAO;IACPC,KAAA,EAAO;IACPC,UAAA,EAAY;IACZZ,GAAA;IACAa,KAAA,EAAO;MACLC,GAAA,EAAK,CACH;QACEC,GAAA,EAAK;UACHC,MAAA,EAAQnB,eAAA,CAAgB2B;QAC1B;MACF,GACA;QACE,mBAAmB;UACjBR,MAAA,EAAQhB,GAAA,CAAIC,IAAI,CAACC;QACnB;MACF,GACA;QACE,cAAc;UACZc,MAAA,EAAQhB,GAAA,EAAKC,IAAA,EAAMiB;QACrB;MACF;IAEJ;EACF,IACEC,IAAA,CAAMC,GAAA,IAAQA,GAAA,EAAKC,IAAA,GAAO,EAAE,EAAEC,KAAA;EAElC,OAAO;IACLnB,SAAA,EAAWoB,YAAA,EAAcpB,SAAA;IACzBE,MAAA,EAAQE,QAAA,EAAUF,MAAA,IAAU,CAAC;IAC7BC,IAAA,EAAMC,QAAA,EAAUD,IAAA,IAAQ;EAC1B;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAO7C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,MAAM,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAA;IACxC,cAAc,EAAE,cAAc,CAAA;CAC/B,CAwEA,CAAA"}
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAM7C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,MAAM,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAA;IACxC,cAAc,EAAE,cAAc,CAAA;CAC/B,CA+DA,CAAA"}
@@ -1,19 +1,18 @@
1
1
  'use client';
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
5
  import { getTranslation } from '@payloadcms/translations';
6
- import { BrowseByFolderButton, Link, NavGroup, useConfig, useTranslation } from '@payloadcms/ui';
7
- import { EntityType } from '@payloadcms/ui/shared';
6
+ import { Link, NavGroup, useConfig, useTranslation } from '@payloadcms/ui';
8
7
  import { usePathname } from 'next/navigation.js';
9
- import { formatAdminURL } from 'payload/shared';
8
+ import { EntityType, formatAdminURL } from 'payload/shared';
10
9
  import React, { Fragment } from 'react';
11
10
  const baseClass = 'nav';
12
11
  /**
13
12
  * @internal
14
13
  */
15
14
  export const DefaultNavClient = t0 => {
16
- const $ = _c(13);
15
+ const $ = _c(11);
17
16
  const {
18
17
  groups,
19
18
  navPreferences
@@ -23,45 +22,32 @@ export const DefaultNavClient = t0 => {
23
22
  config: t1
24
23
  } = useConfig();
25
24
  const {
26
- admin: t2,
27
- folders,
28
- routes: t3
25
+ routes: t2
29
26
  } = t1;
30
- const {
31
- routes: t4
32
- } = t2;
33
- const {
34
- browseByFolder: foldersRoute
35
- } = t4;
36
27
  const {
37
28
  admin: adminRoute
38
- } = t3;
29
+ } = t2;
39
30
  const {
40
31
  i18n
41
32
  } = useTranslation();
42
- let t5;
43
- if ($[0] !== adminRoute || $[1] !== folders || $[2] !== foldersRoute || $[3] !== groups || $[4] !== i18n || $[5] !== navPreferences?.groups || $[6] !== pathname) {
44
- const folderURL = formatAdminURL({
45
- adminRoute,
46
- path: foldersRoute
47
- });
48
- const viewingRootFolderView = pathname.startsWith(folderURL);
49
- let t6;
50
- if ($[8] !== adminRoute || $[9] !== i18n || $[10] !== navPreferences?.groups || $[11] !== pathname) {
51
- t6 = (t7, key) => {
33
+ let t3;
34
+ if ($[0] !== adminRoute || $[1] !== groups || $[2] !== i18n || $[3] !== navPreferences?.groups || $[4] !== pathname) {
35
+ let t4;
36
+ if ($[6] !== adminRoute || $[7] !== i18n || $[8] !== navPreferences?.groups || $[9] !== pathname) {
37
+ t4 = (t5, key) => {
52
38
  const {
53
39
  entities,
54
40
  label
55
- } = t7;
41
+ } = t5;
56
42
  return _jsx(NavGroup, {
57
43
  isOpen: navPreferences?.groups?.[label]?.open,
58
44
  label,
59
- children: entities.map((t8, i) => {
45
+ children: entities.map((t6, i) => {
60
46
  const {
61
47
  slug,
62
48
  type,
63
49
  label: label_0
64
- } = t8;
50
+ } = t6;
65
51
  let href;
66
52
  let id;
67
53
  if (type === EntityType.collection) {
@@ -79,55 +65,54 @@ export const DefaultNavClient = t0 => {
79
65
  id = `nav-global-${slug}`;
80
66
  }
81
67
  const isActive = pathname.startsWith(href) && ["/", undefined].includes(pathname[href.length]);
82
- const Label = _jsxs(_Fragment, {
83
- children: [isActive && _jsx("div", {
84
- className: `${baseClass}__link-indicator`
85
- }), _jsx("span", {
86
- className: `${baseClass}__link-label`,
87
- children: getTranslation(label_0, i18n)
88
- })]
68
+ const linkClass = `${baseClass}__link${isActive ? ` ${baseClass}__link--selected` : ""}`;
69
+ const Label = _jsx("span", {
70
+ className: `${baseClass}__link-label`,
71
+ children: getTranslation(label_0, i18n)
89
72
  });
90
73
  if (pathname === href) {
91
74
  return _jsx("div", {
92
- className: `${baseClass}__link`,
93
- id,
94
- children: Label
75
+ className: `${baseClass}__link-wrapper`,
76
+ children: _jsx("div", {
77
+ className: linkClass,
78
+ id,
79
+ children: Label
80
+ })
95
81
  }, i);
96
82
  }
97
- return _jsx(Link, {
98
- className: `${baseClass}__link`,
99
- href,
100
- id,
101
- prefetch: false,
102
- children: Label
83
+ return _jsx("div", {
84
+ className: `${baseClass}__link-wrapper`,
85
+ children: _jsx(Link, {
86
+ className: linkClass,
87
+ href,
88
+ id,
89
+ prefetch: false,
90
+ children: Label
91
+ })
103
92
  }, i);
104
93
  })
105
94
  }, key);
106
95
  };
107
- $[8] = adminRoute;
108
- $[9] = i18n;
109
- $[10] = navPreferences?.groups;
110
- $[11] = pathname;
111
- $[12] = t6;
96
+ $[6] = adminRoute;
97
+ $[7] = i18n;
98
+ $[8] = navPreferences?.groups;
99
+ $[9] = pathname;
100
+ $[10] = t4;
112
101
  } else {
113
- t6 = $[12];
102
+ t4 = $[10];
114
103
  }
115
- t5 = _jsxs(Fragment, {
116
- children: [folders && folders.browseByFolder && _jsx(BrowseByFolderButton, {
117
- active: viewingRootFolderView
118
- }), groups.map(t6)]
104
+ t3 = _jsx(Fragment, {
105
+ children: groups.map(t4)
119
106
  });
120
107
  $[0] = adminRoute;
121
- $[1] = folders;
122
- $[2] = foldersRoute;
123
- $[3] = groups;
124
- $[4] = i18n;
125
- $[5] = navPreferences?.groups;
126
- $[6] = pathname;
127
- $[7] = t5;
108
+ $[1] = groups;
109
+ $[2] = i18n;
110
+ $[3] = navPreferences?.groups;
111
+ $[4] = pathname;
112
+ $[5] = t3;
128
113
  } else {
129
- t5 = $[7];
114
+ t3 = $[5];
130
115
  }
131
- return t5;
116
+ return t3;
132
117
  };
133
118
  //# sourceMappingURL=index.client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.js","names":["c","_c","getTranslation","BrowseByFolderButton","Link","NavGroup","useConfig","useTranslation","EntityType","usePathname","formatAdminURL","React","Fragment","baseClass","DefaultNavClient","t0","$","groups","navPreferences","pathname","config","t1","admin","t2","folders","routes","t3","t4","browseByFolder","foldersRoute","adminRoute","i18n","t5","folderURL","path","viewingRootFolderView","startsWith","t6","t7","key","entities","label","_jsx","isOpen","open","children","map","t8","i","slug","type","label_0","href","id","collection","global","isActive","undefined","includes","length","Label","_jsxs","_Fragment","className","prefetch","active"],"sources":["../../../src/elements/Nav/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { groupNavItems } from '@payloadcms/ui/shared'\nimport type { NavPreferences } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { BrowseByFolderButton, Link, NavGroup, useConfig, useTranslation } from '@payloadcms/ui'\nimport { EntityType } from '@payloadcms/ui/shared'\nimport { usePathname } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nconst baseClass = 'nav'\n\n/**\n * @internal\n */\nexport const DefaultNavClient: React.FC<{\n groups: ReturnType<typeof groupNavItems>\n navPreferences: NavPreferences\n}> = ({ groups, navPreferences }) => {\n const pathname = usePathname()\n\n const {\n config: {\n admin: {\n routes: { browseByFolder: foldersRoute },\n },\n folders,\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n\n const folderURL = formatAdminURL({\n adminRoute,\n path: foldersRoute,\n })\n\n const viewingRootFolderView = pathname.startsWith(folderURL)\n\n return (\n <Fragment>\n {folders && folders.browseByFolder && <BrowseByFolderButton active={viewingRootFolderView} />}\n {groups.map(({ entities, label }, key) => {\n return (\n <NavGroup isOpen={navPreferences?.groups?.[label]?.open} key={key} label={label}>\n {entities.map(({ slug, type, label }, i) => {\n let href: string\n let id: string\n\n if (type === EntityType.collection) {\n href = formatAdminURL({ adminRoute, path: `/collections/${slug}` })\n id = `nav-${slug}`\n }\n\n if (type === EntityType.global) {\n href = formatAdminURL({ adminRoute, path: `/globals/${slug}` })\n id = `nav-global-${slug}`\n }\n\n const isActive =\n pathname.startsWith(href) && ['/', undefined].includes(pathname[href.length])\n\n const Label = (\n <>\n {isActive && <div className={`${baseClass}__link-indicator`} />}\n <span className={`${baseClass}__link-label`}>{getTranslation(label, i18n)}</span>\n </>\n )\n\n // If the URL matches the link exactly\n if (pathname === href) {\n return (\n <div className={`${baseClass}__link`} id={id} key={i}>\n {Label}\n </div>\n )\n }\n\n return (\n <Link className={`${baseClass}__link`} href={href} id={id} key={i} prefetch={false}>\n {Label}\n </Link>\n )\n })}\n </NavGroup>\n )\n })}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.client.js","names":["c","_c","getTranslation","Link","NavGroup","useConfig","useTranslation","usePathname","EntityType","formatAdminURL","React","Fragment","baseClass","DefaultNavClient","t0","$","groups","navPreferences","pathname","config","t1","routes","t2","admin","adminRoute","i18n","t3","t4","t5","key","entities","label","_jsx","isOpen","open","children","map","t6","i","slug","type","label_0","href","id","collection","global","isActive","startsWith","undefined","includes","length","linkClass","Label","className","prefetch"],"sources":["../../../src/elements/Nav/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { groupNavItems } from '@payloadcms/ui/shared'\nimport type { NavPreferences } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { Link, NavGroup, useConfig, useTranslation } from '@payloadcms/ui'\nimport { usePathname } from 'next/navigation.js'\nimport { EntityType, formatAdminURL } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nconst baseClass = 'nav'\n\n/**\n * @internal\n */\nexport const DefaultNavClient: React.FC<{\n groups: ReturnType<typeof groupNavItems>\n navPreferences: NavPreferences\n}> = ({ groups, navPreferences }) => {\n const pathname = usePathname()\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n\n return (\n <Fragment>\n {groups.map(({ entities, label }, key) => {\n return (\n <NavGroup isOpen={navPreferences?.groups?.[label]?.open} key={key} label={label}>\n {entities.map(({ slug, type, label }, i) => {\n let href: string\n let id: string\n\n if (type === EntityType.collection) {\n href = formatAdminURL({ adminRoute, path: `/collections/${slug}` })\n id = `nav-${slug}`\n }\n\n if (type === EntityType.global) {\n href = formatAdminURL({ adminRoute, path: `/globals/${slug}` })\n id = `nav-global-${slug}`\n }\n\n const isActive =\n pathname.startsWith(href) && ['/', undefined].includes(pathname[href.length])\n\n const linkClass = `${baseClass}__link${isActive ? ` ${baseClass}__link--selected` : ''}`\n\n const Label = (\n <span className={`${baseClass}__link-label`}>{getTranslation(label, i18n)}</span>\n )\n\n // If the URL matches the link exactly\n if (pathname === href) {\n return (\n <div className={`${baseClass}__link-wrapper`} key={i}>\n <div className={linkClass} id={id}>\n {Label}\n </div>\n </div>\n )\n }\n\n return (\n <div className={`${baseClass}__link-wrapper`} key={i}>\n <Link className={linkClass} href={href} id={id} prefetch={false}>\n {Label}\n </Link>\n </div>\n )\n })}\n </NavGroup>\n )\n })}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,132 @@
1
+ @layer payload-default {
2
+ .nav {
3
+ position: sticky;
4
+ top: 0;
5
+ left: 0;
6
+ flex-shrink: 0;
7
+ height: 100vh;
8
+ width: var(--nav-width);
9
+ border-right: 1px solid var(--color-border);
10
+ overflow: hidden;
11
+ --nav-padding-inline-start: var(--spacer-2-5);
12
+ --nav-padding-inline-end: var(--spacer-2-5);
13
+ --nav-padding-block-start: var(--spacer-2-5);
14
+ --nav-padding-block-end: var(--spacer-5);
15
+ }
16
+
17
+ [dir='rtl'] .nav {
18
+ border-right: none;
19
+ border-left: 1px solid var(--color-border);
20
+ }
21
+
22
+ .nav__mobile-close {
23
+ display: none;
24
+ background: none;
25
+ border: 0;
26
+ outline: 0;
27
+ padding: var(--spacer-3) 0;
28
+ }
29
+
30
+ .nav__scroll {
31
+ height: 100%;
32
+ display: flex;
33
+ flex-direction: column;
34
+ padding: var(--nav-padding-block-start) var(--nav-padding-inline-end)
35
+ var(--nav-padding-block-end) var(--nav-padding-inline-start);
36
+ overflow-y: auto;
37
+
38
+ &::-webkit-scrollbar {
39
+ display: none;
40
+ }
41
+ }
42
+
43
+ .nav__wrap {
44
+ width: 100%;
45
+ display: flex;
46
+ flex-direction: column;
47
+ align-items: flex-start;
48
+ flex-grow: 1;
49
+ }
50
+
51
+ .nav__label {
52
+ color: var(--color-text-tertiary);
53
+ }
54
+
55
+ .nav__controls {
56
+ display: flex;
57
+ flex-direction: column;
58
+ gap: var(--spacer-2-5);
59
+ margin-top: auto;
60
+ margin-bottom: 0;
61
+
62
+ > :first-child {
63
+ margin-top: var(--spacer-3);
64
+ }
65
+ }
66
+
67
+ .nav__log-out {
68
+ border-radius: var(--radius-medium);
69
+ }
70
+
71
+ .nav__log-out:hover g {
72
+ transform: translateX(calc(-1 * var(--spacer-1) * 0.5));
73
+ }
74
+
75
+ .nav__link-wrapper {
76
+ padding-block: var(--spacer-1);
77
+ width: calc(100% + var(--spacer-1));
78
+ margin-left: calc(-1 * var(--spacer-1));
79
+
80
+ &:first-child {
81
+ padding-block-start: 0;
82
+ }
83
+ }
84
+
85
+ .nav__link {
86
+ display: flex;
87
+ align-items: center;
88
+ position: relative;
89
+ padding-block: var(--spacer-1);
90
+ padding-inline: var(--spacer-2);
91
+ text-decoration: none;
92
+ }
93
+
94
+ a.nav__link {
95
+ border-radius: var(--radius-medium);
96
+
97
+ &:hover {
98
+ background: var(--color-bg-secondary);
99
+ text-decoration: none;
100
+ }
101
+ }
102
+
103
+ .nav__link--selected {
104
+ font-weight: 600;
105
+ border-radius: var(--radius-medium);
106
+ background: var(--color-bg-selected);
107
+ }
108
+
109
+ @media (max-width: 1024px) {
110
+ .nav__scroll {
111
+ --nav-padding-inline-start: var(--spacer-2);
112
+ --nav-padding-inline-end: var(--spacer-2);
113
+ }
114
+ }
115
+
116
+ @media (max-width: 768px) {
117
+ .nav__scroll {
118
+ --nav-padding-inline-start: var(--gutter-h);
119
+ --nav-padding-inline-end: var(--gutter-h);
120
+ }
121
+
122
+ .nav__link {
123
+ font-size: var(--text-body-small-font-size);
124
+ line-height: var(--spacer-4);
125
+ }
126
+
127
+ .nav__mobile-close {
128
+ display: flex;
129
+ align-items: center;
130
+ }
131
+ }
132
+ }
@@ -1,6 +1,6 @@
1
1
  import type { PayloadRequest, ServerProps } from 'payload';
2
2
  import React from 'react';
3
- import './index.scss';
3
+ import './index.css';
4
4
  export type NavProps = {
5
5
  req?: PayloadRequest;
6
6
  } & ServerProps;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAK1D,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAOrB,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,CAAC,EAAE,cAAc,CAAA;CACrB,GAAG,WAAW,CAAA;AAEf,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CA6LzC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAM1D,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,aAAa,CAAA;AAMpB,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,CAAC,EAAE,cAAc,CAAA;CACrB,GAAG,WAAW,CAAA;AAEf,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CA0NzC,CAAA"}
@@ -1,14 +1,15 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Logout } from '@payloadcms/ui';
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { AlignJustifiedIcon, Logout } from '@payloadcms/ui';
3
3
  import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
4
- import { EntityType, groupNavItems } from '@payloadcms/ui/shared';
4
+ import { groupNavItems } from '@payloadcms/ui/shared';
5
+ import { EntityType } from 'payload';
5
6
  import React from 'react';
6
- import { NavHamburger } from './NavHamburger/index.js';
7
+ import { DefaultNavClient } from './index.client.js';
7
8
  import { NavWrapper } from './NavWrapper/index.js';
8
9
  import { SettingsMenuButton } from './SettingsMenuButton/index.js';
10
+ import { SidebarTabs } from './SidebarTabs/index.js';
9
11
  const baseClass = 'nav';
10
12
  import { getNavPrefs } from './getNavPrefs.js';
11
- import { DefaultNavClient } from './index.client.js';
12
13
  export const DefaultNav = async props => {
13
14
  const {
14
15
  documentSubViewType,
@@ -40,6 +41,8 @@ export const DefaultNav = async props => {
40
41
  collections,
41
42
  globals
42
43
  } = payload.config;
44
+ // Group collections and globals for nav display
45
+ // These groups are passed to SidebarTabs -> CollectionsTab to avoid recomputing
43
46
  const groups = groupNavItems([...collections.filter(({
44
47
  slug
45
48
  }) => visibleEntities.collections.includes(slug)).map(collection => ({
@@ -156,28 +159,48 @@ export const DefaultNav = async props => {
156
159
  user
157
160
  }
158
161
  });
162
+ // Build the full tabs array, starting with the default nav tab
163
+ const allTabs = [{
164
+ slug: 'nav',
165
+ components: {
166
+ Content: /*#__PURE__*/_jsxs(_Fragment, {
167
+ children: [RenderedBeforeNavLinks, /*#__PURE__*/_jsx(DefaultNavClient, {
168
+ groups: groups,
169
+ navPreferences: navPreferences
170
+ }), RenderedAfterNavLinks]
171
+ }),
172
+ Icon: /*#__PURE__*/_jsx(AlignJustifiedIcon, {
173
+ size: 24
174
+ })
175
+ },
176
+ isDefaultActive: true,
177
+ label: i18n.t('general:collections')
178
+ }, ...(payload.config.admin?.components?.sidebar?.tabs?.filter(tab => !tab.disabled) || [])];
159
179
  return /*#__PURE__*/_jsxs(NavWrapper, {
160
180
  baseClass: baseClass,
161
181
  children: [RenderedBeforeNav, /*#__PURE__*/_jsxs("nav", {
162
182
  className: `${baseClass}__wrap`,
163
- children: [RenderedBeforeNavLinks, /*#__PURE__*/_jsx(DefaultNavClient, {
164
- groups: groups,
165
- navPreferences: navPreferences
166
- }), RenderedAfterNavLinks, /*#__PURE__*/_jsxs("div", {
183
+ children: [/*#__PURE__*/_jsx(SidebarTabs, {
184
+ documentSubViewType: documentSubViewType,
185
+ i18n: i18n,
186
+ locale: locale,
187
+ navPreferences: navPreferences,
188
+ params: params,
189
+ payload: payload,
190
+ permissions: permissions,
191
+ req: req,
192
+ searchParams: searchParams,
193
+ server: req?.server,
194
+ tabs: allTabs,
195
+ user: user,
196
+ viewType: viewType
197
+ }), /*#__PURE__*/_jsxs("div", {
167
198
  className: `${baseClass}__controls`,
168
199
  children: [/*#__PURE__*/_jsx(SettingsMenuButton, {
169
200
  settingsMenu: RenderedSettingsMenu
170
201
  }), LogoutComponent]
171
202
  })]
172
- }), RenderedAfterNav, /*#__PURE__*/_jsx("div", {
173
- className: `${baseClass}__header`,
174
- children: /*#__PURE__*/_jsx("div", {
175
- className: `${baseClass}__header-content`,
176
- children: /*#__PURE__*/_jsx(NavHamburger, {
177
- baseClass: baseClass
178
- })
179
- })
180
- })]
203
+ }), RenderedAfterNav]
181
204
  });
182
205
  };
183
206
  //# sourceMappingURL=index.js.map