@payloadcms/next 3.80.0-internal-debug.7019cc9 → 3.80.0-internal.0311fce

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 (523) hide show
  1. package/dist/auth/login.js +58 -52
  2. package/dist/auth/login.js.map +1 -1
  3. package/dist/auth/logout.js +44 -39
  4. package/dist/auth/logout.js.map +1 -1
  5. package/dist/auth/refresh.js +47 -45
  6. package/dist/auth/refresh.js.map +1 -1
  7. package/dist/cjs/withPayload.cjs +24 -65
  8. package/dist/cjs/withPayload.cjs.map +2 -2
  9. package/dist/config.js +0 -1
  10. package/dist/config.js.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +15 -9
  12. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +71 -40
  14. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +59 -65
  16. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/index.js +70 -80
  18. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +23 -16
  20. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  21. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +69 -61
  22. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  23. package/dist/elements/DocumentHeader/index.js +28 -48
  24. package/dist/elements/DocumentHeader/index.js.map +1 -1
  25. package/dist/elements/FormHeader/index.js +16 -30
  26. package/dist/elements/FormHeader/index.js.map +1 -1
  27. package/dist/elements/HierarchyTypeField/index.d.ts +9 -0
  28. package/dist/elements/HierarchyTypeField/index.d.ts.map +1 -0
  29. package/dist/elements/HierarchyTypeField/index.js +114 -0
  30. package/dist/elements/HierarchyTypeField/index.js.map +1 -0
  31. package/dist/elements/HierarchyTypeField/index.server.d.ts +9 -0
  32. package/dist/elements/HierarchyTypeField/index.server.d.ts.map +1 -0
  33. package/dist/elements/HierarchyTypeField/index.server.js +32 -0
  34. package/dist/elements/HierarchyTypeField/index.server.js.map +1 -0
  35. package/dist/elements/Logo/index.js +34 -19
  36. package/dist/elements/Logo/index.js.map +1 -1
  37. package/dist/elements/Nav/NavHamburger/index.js +44 -23
  38. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  39. package/dist/elements/Nav/NavWrapper/index.js +54 -28
  40. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  41. package/dist/elements/Nav/SettingsMenuButton/index.js +39 -33
  42. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  43. package/dist/elements/Nav/SidebarTabs/TabError/index.d.ts +8 -0
  44. package/dist/elements/Nav/SidebarTabs/TabError/index.d.ts.map +1 -0
  45. package/dist/elements/Nav/SidebarTabs/TabError/index.js +42 -0
  46. package/dist/elements/Nav/SidebarTabs/TabError/index.js.map +1 -0
  47. package/dist/elements/Nav/SidebarTabs/constants.d.ts +2 -0
  48. package/dist/elements/Nav/SidebarTabs/constants.d.ts.map +1 -0
  49. package/dist/elements/Nav/SidebarTabs/constants.js +2 -0
  50. package/dist/elements/Nav/SidebarTabs/constants.js.map +1 -0
  51. package/dist/elements/Nav/SidebarTabs/index.client.d.ts +20 -0
  52. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -0
  53. package/dist/elements/Nav/SidebarTabs/index.client.js +155 -0
  54. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -0
  55. package/dist/elements/Nav/SidebarTabs/index.d.ts +17 -0
  56. package/dist/elements/Nav/SidebarTabs/index.d.ts.map +1 -0
  57. package/dist/elements/Nav/SidebarTabs/index.js +80 -0
  58. package/dist/elements/Nav/SidebarTabs/index.js.map +1 -0
  59. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +10 -0
  60. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -0
  61. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +53 -0
  62. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -0
  63. package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -1
  64. package/dist/elements/Nav/getNavPrefs.js +56 -27
  65. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  66. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  67. package/dist/elements/Nav/index.client.js +104 -100
  68. package/dist/elements/Nav/index.client.js.map +1 -1
  69. package/dist/elements/Nav/index.d.ts.map +1 -1
  70. package/dist/elements/Nav/index.js +199 -193
  71. package/dist/elements/Nav/index.js.map +1 -1
  72. package/dist/exports/auth.js +0 -1
  73. package/dist/exports/auth.js.map +1 -1
  74. package/dist/exports/client.d.ts +2 -1
  75. package/dist/exports/client.d.ts.map +1 -1
  76. package/dist/exports/client.js +3 -2
  77. package/dist/exports/client.js.map +1 -1
  78. package/dist/exports/layouts.js +0 -1
  79. package/dist/exports/layouts.js.map +1 -1
  80. package/dist/exports/routes.js +0 -1
  81. package/dist/exports/routes.js.map +1 -1
  82. package/dist/exports/rsc.d.ts +2 -1
  83. package/dist/exports/rsc.d.ts.map +1 -1
  84. package/dist/exports/rsc.js +2 -2
  85. package/dist/exports/rsc.js.map +1 -1
  86. package/dist/exports/templates.js +0 -1
  87. package/dist/exports/templates.js.map +1 -1
  88. package/dist/exports/utilities.d.ts +2 -0
  89. package/dist/exports/utilities.d.ts.map +1 -1
  90. package/dist/exports/utilities.js +13 -7
  91. package/dist/exports/utilities.js.map +1 -1
  92. package/dist/exports/views.js +0 -1
  93. package/dist/exports/views.js.map +1 -1
  94. package/dist/index.js +0 -1
  95. package/dist/index.js.map +1 -1
  96. package/dist/layouts/Root/NestProviders.js +20 -21
  97. package/dist/layouts/Root/NestProviders.js.map +1 -1
  98. package/dist/layouts/Root/checkDependencies.js +41 -49
  99. package/dist/layouts/Root/checkDependencies.js.map +1 -1
  100. package/dist/layouts/Root/index.js +103 -128
  101. package/dist/layouts/Root/index.js.map +1 -1
  102. package/dist/prod/styles.css +1 -5
  103. package/dist/routes/graphql/handler.js +122 -114
  104. package/dist/routes/graphql/handler.js.map +1 -1
  105. package/dist/routes/graphql/index.js +0 -1
  106. package/dist/routes/graphql/index.js.map +1 -1
  107. package/dist/routes/graphql/playground.js +27 -28
  108. package/dist/routes/graphql/playground.js.map +1 -1
  109. package/dist/routes/index.js +0 -1
  110. package/dist/routes/index.js.map +1 -1
  111. package/dist/routes/rest/index.js +22 -23
  112. package/dist/routes/rest/index.js.map +1 -1
  113. package/dist/routes/rest/og/image.js +79 -103
  114. package/dist/routes/rest/og/image.js.map +1 -1
  115. package/dist/routes/rest/og/index.js +54 -59
  116. package/dist/routes/rest/og/index.js.map +1 -1
  117. package/dist/templates/Default/NavHamburger/index.js +20 -12
  118. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  119. package/dist/templates/Default/Wrapper/index.js +44 -20
  120. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  121. package/dist/templates/Default/index.js +116 -147
  122. package/dist/templates/Default/index.js.map +1 -1
  123. package/dist/templates/Minimal/index.js +17 -26
  124. package/dist/templates/Minimal/index.js.map +1 -1
  125. package/dist/utilities/getExistingAuthToken.js +2 -3
  126. package/dist/utilities/getExistingAuthToken.js.map +1 -1
  127. package/dist/utilities/getHierarchyAncestry.d.ts +24 -0
  128. package/dist/utilities/getHierarchyAncestry.d.ts.map +1 -0
  129. package/dist/utilities/getHierarchyAncestry.js +103 -0
  130. package/dist/utilities/getHierarchyAncestry.js.map +1 -0
  131. package/dist/utilities/getNextRequestI18n.js +13 -12
  132. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  133. package/dist/utilities/getPayloadHMR.js +5 -5
  134. package/dist/utilities/getPayloadHMR.js.map +1 -1
  135. package/dist/utilities/getPreferences.js +22 -27
  136. package/dist/utilities/getPreferences.js.map +1 -1
  137. package/dist/utilities/getRequestLocale.js +14 -13
  138. package/dist/utilities/getRequestLocale.js.map +1 -1
  139. package/dist/utilities/getRequestTheme.js +19 -19
  140. package/dist/utilities/getRequestTheme.js.map +1 -1
  141. package/dist/utilities/getRouteWithoutAdmin.js +5 -3
  142. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
  143. package/dist/utilities/handleAuthRedirect.js +36 -22
  144. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  145. package/dist/utilities/handleServerFunctions.js +44 -34
  146. package/dist/utilities/handleServerFunctions.js.map +1 -1
  147. package/dist/utilities/initReq.js +96 -78
  148. package/dist/utilities/initReq.js.map +1 -1
  149. package/dist/utilities/isCustomAdminView.js +26 -22
  150. package/dist/utilities/isCustomAdminView.js.map +1 -1
  151. package/dist/utilities/isPublicAdminRoute.js +20 -26
  152. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  153. package/dist/utilities/meta.js +63 -68
  154. package/dist/utilities/meta.js.map +1 -1
  155. package/dist/utilities/selectiveCache.js +26 -25
  156. package/dist/utilities/selectiveCache.js.map +1 -1
  157. package/dist/utilities/setPayloadAuthCookie.js +22 -19
  158. package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
  159. package/dist/utilities/slugify.js +33 -24
  160. package/dist/utilities/slugify.js.map +1 -1
  161. package/dist/utilities/timestamp.js +6 -7
  162. package/dist/utilities/timestamp.js.map +1 -1
  163. package/dist/views/API/LocaleSelector/index.js +39 -17
  164. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  165. package/dist/views/API/RenderJSON/index.js +126 -171
  166. package/dist/views/API/RenderJSON/index.js.map +1 -1
  167. package/dist/views/API/index.client.js +199 -291
  168. package/dist/views/API/index.client.js.map +1 -1
  169. package/dist/views/API/index.js +2 -7
  170. package/dist/views/API/index.js.map +1 -1
  171. package/dist/views/API/metadata.js +23 -18
  172. package/dist/views/API/metadata.js.map +1 -1
  173. package/dist/views/Account/ResetPreferences/index.js +102 -78
  174. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  175. package/dist/views/Account/Settings/LanguageSelector.js +47 -18
  176. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  177. package/dist/views/Account/Settings/index.js +25 -60
  178. package/dist/views/Account/Settings/index.js.map +1 -1
  179. package/dist/views/Account/ToggleTheme/index.js +55 -38
  180. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  181. package/dist/views/Account/index.client.js +32 -16
  182. package/dist/views/Account/index.client.js.map +1 -1
  183. package/dist/views/Account/index.js +162 -149
  184. package/dist/views/Account/index.js.map +1 -1
  185. package/dist/views/Account/metadata.js +12 -8
  186. package/dist/views/Account/metadata.js.map +1 -1
  187. package/dist/views/CollectionTrash/index.js +17 -17
  188. package/dist/views/CollectionTrash/index.js.map +1 -1
  189. package/dist/views/CollectionTrash/metadata.js +21 -18
  190. package/dist/views/CollectionTrash/metadata.js.map +1 -1
  191. package/dist/views/CreateFirstUser/index.client.js +103 -117
  192. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  193. package/dist/views/CreateFirstUser/index.js +81 -87
  194. package/dist/views/CreateFirstUser/index.js.map +1 -1
  195. package/dist/views/CreateFirstUser/metadata.js +12 -8
  196. package/dist/views/CreateFirstUser/metadata.js.map +1 -1
  197. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +170 -145
  198. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  199. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +118 -144
  200. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  201. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +72 -59
  202. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  203. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +414 -435
  204. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  205. package/dist/views/Dashboard/Default/ModularDashboard/index.js +63 -54
  206. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  207. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +96 -65
  208. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  209. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +54 -44
  210. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
  211. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +72 -65
  212. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  213. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +175 -193
  214. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  215. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +30 -31
  216. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -1
  217. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.js +17 -18
  218. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.js.map +1 -1
  219. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js +5 -6
  220. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -1
  221. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.js +74 -69
  222. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.js.map +1 -1
  223. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +234 -228
  224. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
  225. package/dist/views/Dashboard/Default/index.js +45 -59
  226. package/dist/views/Dashboard/Default/index.js.map +1 -1
  227. package/dist/views/Dashboard/index.js +42 -46
  228. package/dist/views/Dashboard/index.js.map +1 -1
  229. package/dist/views/Dashboard/metadata.js +14 -10
  230. package/dist/views/Dashboard/metadata.js.map +1 -1
  231. package/dist/views/Document/getCustomDocumentViewByKey.js +2 -3
  232. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
  233. package/dist/views/Document/getCustomViewByRoute.js +30 -27
  234. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  235. package/dist/views/Document/getDocPreferences.js +41 -40
  236. package/dist/views/Document/getDocPreferences.js.map +1 -1
  237. package/dist/views/Document/getDocumentData.js +55 -44
  238. package/dist/views/Document/getDocumentData.js.map +1 -1
  239. package/dist/views/Document/getDocumentPermissions.js +117 -114
  240. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  241. package/dist/views/Document/getDocumentView.js +283 -313
  242. package/dist/views/Document/getDocumentView.js.map +1 -1
  243. package/dist/views/Document/getIsLocked.js +73 -73
  244. package/dist/views/Document/getIsLocked.js.map +1 -1
  245. package/dist/views/Document/getMetaBySegment.js +136 -130
  246. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  247. package/dist/views/Document/getVersions.js +213 -220
  248. package/dist/views/Document/getVersions.js.map +1 -1
  249. package/dist/views/Document/handleServerFunction.js +127 -100
  250. package/dist/views/Document/handleServerFunction.js.map +1 -1
  251. package/dist/views/Document/index.js +359 -319
  252. package/dist/views/Document/index.js.map +1 -1
  253. package/dist/views/Document/metadata.js +1 -2
  254. package/dist/views/Document/metadata.js.map +1 -1
  255. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  256. package/dist/views/Document/renderDocumentSlots.js +163 -141
  257. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  258. package/dist/views/Edit/index.js +6 -10
  259. package/dist/views/Edit/index.js.map +1 -1
  260. package/dist/views/Edit/metadata.js +46 -36
  261. package/dist/views/Edit/metadata.js.map +1 -1
  262. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +164 -130
  263. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  264. package/dist/views/ForgotPassword/index.js +62 -79
  265. package/dist/views/ForgotPassword/index.js.map +1 -1
  266. package/dist/views/ForgotPassword/metadata.js +12 -8
  267. package/dist/views/ForgotPassword/metadata.js.map +1 -1
  268. package/dist/views/List/createSerializableValue.js +11 -12
  269. package/dist/views/List/createSerializableValue.js.map +1 -1
  270. package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
  271. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  272. package/dist/views/List/extractRelationshipDisplayValue.js +14 -15
  273. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
  274. package/dist/views/List/extractValueOrRelationshipID.js +15 -16
  275. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
  276. package/dist/views/List/handleGroupBy.js +150 -133
  277. package/dist/views/List/handleGroupBy.js.map +1 -1
  278. package/dist/views/List/handleHierarchy.d.ts +17 -0
  279. package/dist/views/List/handleHierarchy.d.ts.map +1 -0
  280. package/dist/views/List/handleHierarchy.js +243 -0
  281. package/dist/views/List/handleHierarchy.js.map +1 -0
  282. package/dist/views/List/handleServerFunction.js +122 -96
  283. package/dist/views/List/handleServerFunction.js.map +1 -1
  284. package/dist/views/List/index.d.ts.map +1 -1
  285. package/dist/views/List/index.js +382 -310
  286. package/dist/views/List/index.js.map +1 -1
  287. package/dist/views/List/metadata.js +20 -17
  288. package/dist/views/List/metadata.js.map +1 -1
  289. package/dist/views/List/renderListViewSlots.js +75 -82
  290. package/dist/views/List/renderListViewSlots.js.map +1 -1
  291. package/dist/views/List/resolveAllFilterOptions.js +45 -43
  292. package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
  293. package/dist/views/List/transformColumnsToSelect.js +8 -9
  294. package/dist/views/List/transformColumnsToSelect.js.map +1 -1
  295. package/dist/views/Login/LoginField/index.js +89 -57
  296. package/dist/views/Login/LoginField/index.js.map +1 -1
  297. package/dist/views/Login/LoginForm/index.js +160 -107
  298. package/dist/views/Login/LoginForm/index.js.map +1 -1
  299. package/dist/views/Login/index.js +85 -82
  300. package/dist/views/Login/index.js.map +1 -1
  301. package/dist/views/Login/metadata.js +12 -8
  302. package/dist/views/Login/metadata.js.map +1 -1
  303. package/dist/views/Logout/LogoutClient.js +120 -84
  304. package/dist/views/Logout/LogoutClient.js.map +1 -1
  305. package/dist/views/Logout/index.js +29 -29
  306. package/dist/views/Logout/index.js.map +1 -1
  307. package/dist/views/Logout/metadata.js +11 -7
  308. package/dist/views/Logout/metadata.js.map +1 -1
  309. package/dist/views/NotFound/index.client.js +82 -71
  310. package/dist/views/NotFound/index.client.js.map +1 -1
  311. package/dist/views/NotFound/index.js +73 -72
  312. package/dist/views/NotFound/index.js.map +1 -1
  313. package/dist/views/NotFound/metadata.js +9 -7
  314. package/dist/views/NotFound/metadata.js.map +1 -1
  315. package/dist/views/ResetPassword/ResetPasswordForm/index.js +108 -97
  316. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  317. package/dist/views/ResetPassword/index.js +73 -93
  318. package/dist/views/ResetPassword/index.js.map +1 -1
  319. package/dist/views/ResetPassword/metadata.js +12 -8
  320. package/dist/views/ResetPassword/metadata.js.map +1 -1
  321. package/dist/views/Root/attachViewActions.js +23 -18
  322. package/dist/views/Root/attachViewActions.js.map +1 -1
  323. package/dist/views/Root/generateCustomViewMetadata.js +21 -19
  324. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
  325. package/dist/views/Root/getCustomViewByKey.js +14 -12
  326. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  327. package/dist/views/Root/getCustomViewByRoute.js +42 -31
  328. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  329. package/dist/views/Root/getDocumentViewInfo.js +23 -24
  330. package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
  331. package/dist/views/Root/getRouteData.d.ts +1 -4
  332. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  333. package/dist/views/Root/getRouteData.js +264 -336
  334. package/dist/views/Root/getRouteData.js.map +1 -1
  335. package/dist/views/Root/index.d.ts.map +1 -1
  336. package/dist/views/Root/index.js +265 -249
  337. package/dist/views/Root/index.js.map +1 -1
  338. package/dist/views/Root/isPathMatchingRoute.js +26 -21
  339. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  340. package/dist/views/Root/metadata.d.ts.map +1 -1
  341. package/dist/views/Root/metadata.js +148 -179
  342. package/dist/views/Root/metadata.js.map +1 -1
  343. package/dist/views/Unauthorized/index.js +46 -54
  344. package/dist/views/Unauthorized/index.js.map +1 -1
  345. package/dist/views/Unauthorized/metadata.js +12 -8
  346. package/dist/views/Unauthorized/metadata.js.map +1 -1
  347. package/dist/views/Verify/index.client.js +43 -25
  348. package/dist/views/Verify/index.client.js.map +1 -1
  349. package/dist/views/Verify/index.js +64 -69
  350. package/dist/views/Verify/index.js.map +1 -1
  351. package/dist/views/Verify/metadata.js +12 -8
  352. package/dist/views/Verify/metadata.js.map +1 -1
  353. package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
  354. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  355. package/dist/views/Version/Default/SetStepNav.js +127 -86
  356. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  357. package/dist/views/Version/Default/index.js +236 -380
  358. package/dist/views/Version/Default/index.js.map +1 -1
  359. package/dist/views/Version/Default/types.js +1 -2
  360. package/dist/views/Version/Default/types.js.map +1 -1
  361. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +119 -102
  362. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  363. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +73 -78
  364. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  365. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +408 -363
  366. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  367. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +51 -40
  368. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  369. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +70 -38
  370. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  371. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +56 -59
  372. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  373. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +117 -139
  374. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  375. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +61 -56
  376. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  377. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +206 -224
  378. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  379. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +11 -17
  380. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  381. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +74 -49
  382. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  383. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +146 -135
  384. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  385. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +82 -57
  386. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  387. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +211 -252
  388. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  389. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +22 -23
  390. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  391. package/dist/views/Version/RenderFieldsToDiff/index.js +9 -12
  392. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  393. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +228 -213
  394. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  395. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +826 -1005
  396. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  397. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +1 -2
  398. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
  399. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +43 -44
  400. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
  401. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +36 -32
  402. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  403. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +129 -145
  404. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  405. package/dist/views/Version/Restore/index.js +92 -117
  406. package/dist/views/Version/Restore/index.js.map +1 -1
  407. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +50 -33
  408. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  409. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +226 -170
  410. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  411. package/dist/views/Version/SelectComparison/index.js +50 -73
  412. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  413. package/dist/views/Version/SelectComparison/types.js +1 -2
  414. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  415. package/dist/views/Version/SelectLocales/index.js +32 -34
  416. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  417. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +100 -106
  418. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  419. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +35 -30
  420. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
  421. package/dist/views/Version/fetchVersions.js +138 -113
  422. package/dist/views/Version/fetchVersions.js.map +1 -1
  423. package/dist/views/Version/index.js +326 -328
  424. package/dist/views/Version/index.js.map +1 -1
  425. package/dist/views/Version/metadata.js +50 -43
  426. package/dist/views/Version/metadata.js.map +1 -1
  427. package/dist/views/Versions/buildColumns.js +79 -95
  428. package/dist/views/Versions/buildColumns.js.map +1 -1
  429. package/dist/views/Versions/cells/AutosaveCell/index.js +38 -34
  430. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  431. package/dist/views/Versions/cells/CreatedAt/index.js +53 -32
  432. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  433. package/dist/views/Versions/cells/ID/index.js +8 -10
  434. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  435. package/dist/views/Versions/index.client.js +83 -106
  436. package/dist/views/Versions/index.client.js.map +1 -1
  437. package/dist/views/Versions/index.js +164 -164
  438. package/dist/views/Versions/index.js.map +1 -1
  439. package/dist/views/Versions/metadata.js +44 -37
  440. package/dist/views/Versions/metadata.js.map +1 -1
  441. package/dist/views/Versions/types.js +1 -2
  442. package/dist/views/Versions/types.js.map +1 -1
  443. package/dist/withPayload/withPayload.js +177 -236
  444. package/dist/withPayload/withPayload.js.map +1 -1
  445. package/dist/withPayload/withPayload.spec.js +35 -36
  446. package/dist/withPayload/withPayload.spec.js.map +1 -1
  447. package/dist/withPayload/withPayload.utils.js +73 -65
  448. package/dist/withPayload/withPayload.utils.js.map +1 -1
  449. package/dist/withPayload/withPayloadLegacy.js +40 -41
  450. package/dist/withPayload/withPayloadLegacy.js.map +1 -1
  451. package/package.json +6 -6
  452. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +0 -38
  453. package/dist/elements/DocumentHeader/Tabs/index.scss +0 -54
  454. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.scss +0 -10
  455. package/dist/elements/DocumentHeader/index.scss +0 -64
  456. package/dist/elements/FormHeader/index.scss +0 -8
  457. package/dist/elements/Nav/NavWrapper/index.scss +0 -27
  458. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  459. package/dist/elements/Nav/index.scss +0 -173
  460. package/dist/esbuildEntry.d.ts +0 -5
  461. package/dist/esbuildEntry.d.ts.map +0 -1
  462. package/dist/esbuildEntry.js +0 -6
  463. package/dist/esbuildEntry.js.map +0 -1
  464. package/dist/templates/Default/Wrapper/index.scss +0 -58
  465. package/dist/templates/Default/index.scss +0 -79
  466. package/dist/templates/Minimal/index.scss +0 -30
  467. package/dist/views/API/RenderJSON/index.scss +0 -129
  468. package/dist/views/API/index.scss +0 -119
  469. package/dist/views/Account/Settings/index.scss +0 -48
  470. package/dist/views/BrowseByFolder/buildView.d.ts +0 -13
  471. package/dist/views/BrowseByFolder/buildView.d.ts.map +0 -1
  472. package/dist/views/BrowseByFolder/buildView.js +0 -151
  473. package/dist/views/BrowseByFolder/buildView.js.map +0 -1
  474. package/dist/views/BrowseByFolder/index.d.ts +0 -4
  475. package/dist/views/BrowseByFolder/index.d.ts.map +0 -1
  476. package/dist/views/BrowseByFolder/index.js +0 -20
  477. package/dist/views/BrowseByFolder/index.js.map +0 -1
  478. package/dist/views/BrowseByFolder/metadata.d.ts +0 -4
  479. package/dist/views/BrowseByFolder/metadata.d.ts.map +0 -1
  480. package/dist/views/BrowseByFolder/metadata.js +0 -16
  481. package/dist/views/BrowseByFolder/metadata.js.map +0 -1
  482. package/dist/views/CollectionFolders/buildView.d.ts +0 -15
  483. package/dist/views/CollectionFolders/buildView.d.ts.map +0 -1
  484. package/dist/views/CollectionFolders/buildView.js +0 -136
  485. package/dist/views/CollectionFolders/buildView.js.map +0 -1
  486. package/dist/views/CollectionFolders/index.d.ts +0 -4
  487. package/dist/views/CollectionFolders/index.d.ts.map +0 -1
  488. package/dist/views/CollectionFolders/index.js +0 -20
  489. package/dist/views/CollectionFolders/index.js.map +0 -1
  490. package/dist/views/CollectionFolders/metadata.d.ts +0 -7
  491. package/dist/views/CollectionFolders/metadata.d.ts.map +0 -1
  492. package/dist/views/CollectionFolders/metadata.js +0 -22
  493. package/dist/views/CollectionFolders/metadata.js.map +0 -1
  494. package/dist/views/CollectionFolders/renderFolderViewSlots.d.ts +0 -11
  495. package/dist/views/CollectionFolders/renderFolderViewSlots.d.ts.map +0 -1
  496. package/dist/views/CollectionFolders/renderFolderViewSlots.js +0 -61
  497. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +0 -1
  498. package/dist/views/CreateFirstUser/index.scss +0 -21
  499. package/dist/views/Dashboard/Default/ModularDashboard/index.scss +0 -318
  500. package/dist/views/Login/LoginForm/index.scss +0 -10
  501. package/dist/views/Login/index.scss +0 -10
  502. package/dist/views/Logout/index.scss +0 -25
  503. package/dist/views/NotFound/index.scss +0 -57
  504. package/dist/views/ResetPassword/index.scss +0 -11
  505. package/dist/views/Unauthorized/index.scss +0 -14
  506. package/dist/views/Verify/index.scss +0 -16
  507. package/dist/views/Version/Default/index.scss +0 -170
  508. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +0 -81
  509. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +0 -12
  510. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +0 -9
  511. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +0 -59
  512. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +0 -91
  513. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +0 -4
  514. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +0 -9
  515. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +0 -4
  516. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.scss +0 -121
  517. package/dist/views/Version/RenderFieldsToDiff/index.scss +0 -24
  518. package/dist/views/Version/Restore/index.scss +0 -84
  519. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +0 -18
  520. package/dist/views/Version/SelectComparison/index.scss +0 -9
  521. package/dist/views/Version/VersionPillLabel/index.scss +0 -26
  522. package/dist/views/Versions/cells/AutosaveCell/index.scss +0 -9
  523. package/dist/views/Versions/index.scss +0 -110
@@ -1,30 +1,51 @@
1
1
  'use client';
2
- import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
3
5
  import { Hamburger, useNav } from '@payloadcms/ui';
4
6
  import React from 'react';
5
7
  /**
6
8
  * @internal
7
- */ export const NavHamburger = ({ baseClass })=>{
8
- const { navOpen, setNavOpen } = useNav();
9
- return /*#__PURE__*/ _jsxDEV("button", {
10
- className: `${baseClass}__mobile-close`,
11
- onClick: ()=>{
12
- setNavOpen(false);
13
- },
14
- tabIndex: !navOpen ? -1 : undefined,
15
- type: "button",
16
- children: /*#__PURE__*/ _jsxDEV(Hamburger, {
17
- isActive: true
18
- }, void 0, false, {
19
- fileName: "src/elements/Nav/NavHamburger/index.tsx",
20
- lineNumber: 22,
21
- columnNumber: 7
22
- }, this)
23
- }, void 0, false, {
24
- fileName: "src/elements/Nav/NavHamburger/index.tsx",
25
- lineNumber: 14,
26
- columnNumber: 5
27
- }, this);
9
+ */
10
+ export const NavHamburger = t0 => {
11
+ const $ = _c(6);
12
+ const {
13
+ baseClass
14
+ } = t0;
15
+ const {
16
+ navOpen,
17
+ setNavOpen
18
+ } = useNav();
19
+ const t1 = `${baseClass}__mobile-close`;
20
+ let t2;
21
+ if ($[0] !== setNavOpen) {
22
+ t2 = () => {
23
+ setNavOpen(false);
24
+ };
25
+ $[0] = setNavOpen;
26
+ $[1] = t2;
27
+ } else {
28
+ t2 = $[1];
29
+ }
30
+ const t3 = !navOpen ? -1 : undefined;
31
+ let t4;
32
+ if ($[2] !== t1 || $[3] !== t2 || $[4] !== t3) {
33
+ t4 = _jsx("button", {
34
+ className: t1,
35
+ onClick: t2,
36
+ tabIndex: t3,
37
+ type: "button",
38
+ children: _jsx(Hamburger, {
39
+ isActive: true
40
+ })
41
+ });
42
+ $[2] = t1;
43
+ $[3] = t2;
44
+ $[4] = t3;
45
+ $[5] = t4;
46
+ } else {
47
+ t4 = $[5];
48
+ }
49
+ return t4;
28
50
  };
29
-
30
51
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/Nav/NavHamburger/index.tsx"],"sourcesContent":["'use client'\nimport { Hamburger, useNav } from '@payloadcms/ui'\nimport React from 'react'\n\n/**\n * @internal\n */\nexport const NavHamburger: React.FC<{\n baseClass?: string\n}> = ({ baseClass }) => {\n const { navOpen, setNavOpen } = useNav()\n\n return (\n <button\n className={`${baseClass}__mobile-close`}\n onClick={() => {\n setNavOpen(false)\n }}\n tabIndex={!navOpen ? -1 : undefined}\n type=\"button\"\n >\n <Hamburger isActive />\n </button>\n )\n}\n"],"names":["Hamburger","useNav","React","NavHamburger","baseClass","navOpen","setNavOpen","button","className","onClick","tabIndex","undefined","type","isActive"],"mappings":"AAAA;;AACA,SAASA,SAAS,EAAEC,MAAM,QAAQ,iBAAgB;AAClD,OAAOC,WAAW,QAAO;AAEzB;;CAEC,GACD,OAAO,MAAMC,eAER,CAAC,EAAEC,SAAS,EAAE;IACjB,MAAM,EAAEC,OAAO,EAAEC,UAAU,EAAE,GAAGL;IAEhC,qBACE,QAACM;QACCC,WAAW,GAAGJ,UAAU,cAAc,CAAC;QACvCK,SAAS;YACPH,WAAW;QACb;QACAI,UAAU,CAACL,UAAU,CAAC,IAAIM;QAC1BC,MAAK;kBAEL,cAAA,QAACZ;YAAUa,QAAQ;;;;;;;;;;;AAGzB,EAAC"}
1
+ {"version":3,"file":"index.js","names":["c","_c","Hamburger","useNav","React","NavHamburger","t0","$","baseClass","navOpen","setNavOpen","t1","t2","t3","undefined","t4","_jsx","className","onClick","tabIndex","type","children","isActive"],"sources":["../../../../src/elements/Nav/NavHamburger/index.tsx"],"sourcesContent":["'use client'\nimport { Hamburger, useNav } from '@payloadcms/ui'\nimport React from 'react'\n\n/**\n * @internal\n */\nexport const NavHamburger: React.FC<{\n baseClass?: string\n}> = ({ baseClass }) => {\n const { navOpen, setNavOpen } = useNav()\n\n return (\n <button\n className={`${baseClass}__mobile-close`}\n onClick={() => {\n setNavOpen(false)\n }}\n tabIndex={!navOpen ? -1 : undefined}\n type=\"button\"\n >\n <Hamburger isActive />\n </button>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,SAAS,EAAEC,MAAM,QAAQ;AAClC,OAAOC,KAAA,MAAW;AAElB;;;AAGA,OAAO,MAAMC,YAAA,GAERC,EAAA;EAAA,MAAAC,CAAA,GAAAN,EAAA;EAAC;IAAAO;EAAA,IAAAF,EAAa;EACjB;IAAAG,OAAA;IAAAC;EAAA,IAAgCP,MAAA;EAIjB,MAAAQ,EAAA,MAAGH,SAAA,gBAAyB;EAAA,IAAAI,EAAA;EAAA,IAAAL,CAAA,QAAAG,UAAA;IAC9BE,EAAA,GAAAA,CAAA;MACPF,UAAA,MAAW;IAAA;IACbH,CAAA,MAAAG,UAAA;IAAAH,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EACU,MAAAM,EAAA,IAACJ,OAAA,QAAAK,SAAe;EAAA,IAAAC,EAAA;EAAA,IAAAR,CAAA,QAAAI,EAAA,IAAAJ,CAAA,QAAAK,EAAA,IAAAL,CAAA,QAAAM,EAAA;IAL5BE,EAAA,GAAAC,IAAA,CAAC;MAAAC,SAAA,EACYN,EAA4B;MAAAO,OAAA,EAC9BN,EAET;MAAAO,QAAA,EACUN,EAAgB;MAAAO,IAAA,EACrB;MAAAC,QAAA,EAELL,IAAA,CAAAd,SAAA;QAAAoB,QAAA;MAAA,C;;;;;;;;;SARFP,E;CAWJ","ignoreList":[]}
@@ -1,35 +1,61 @@
1
1
  'use client';
2
- import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
3
5
  import { useNav } from '@payloadcms/ui';
4
6
  import React from 'react';
5
- import './index.scss';
6
7
  /**
7
8
  * @internal
8
- */ export const NavWrapper = (props)=>{
9
- const { baseClass, children } = props;
10
- const { hydrated, navOpen, navRef, shouldAnimate } = useNav();
11
- return /*#__PURE__*/ _jsxDEV("aside", {
12
- className: [
13
- baseClass,
14
- navOpen && `${baseClass}--nav-open`,
15
- shouldAnimate && `${baseClass}--nav-animate`,
16
- hydrated && `${baseClass}--nav-hydrated`
17
- ].filter(Boolean).join(' '),
18
- inert: !navOpen ? true : undefined,
19
- children: /*#__PURE__*/ _jsxDEV("div", {
20
- className: `${baseClass}__scroll`,
21
- ref: navRef,
22
- children: children
23
- }, void 0, false, {
24
- fileName: "src/elements/Nav/NavWrapper/index.tsx",
25
- lineNumber: 30,
26
- columnNumber: 7
27
- }, this)
28
- }, void 0, false, {
29
- fileName: "src/elements/Nav/NavWrapper/index.tsx",
30
- lineNumber: 19,
31
- columnNumber: 5
32
- }, this);
9
+ */
10
+ export const NavWrapper = props => {
11
+ const $ = _c(11);
12
+ const {
13
+ baseClass,
14
+ children
15
+ } = props;
16
+ const {
17
+ hydrated,
18
+ navOpen,
19
+ navRef,
20
+ shouldAnimate
21
+ } = useNav();
22
+ const t0 = navOpen && `${baseClass}--nav-open`;
23
+ const t1 = shouldAnimate && `${baseClass}--nav-animate`;
24
+ const t2 = hydrated && `${baseClass}--nav-hydrated`;
25
+ let t3;
26
+ if ($[0] !== baseClass || $[1] !== t0 || $[2] !== t1 || $[3] !== t2) {
27
+ t3 = [baseClass, t0, t1, t2].filter(Boolean);
28
+ $[0] = baseClass;
29
+ $[1] = t0;
30
+ $[2] = t1;
31
+ $[3] = t2;
32
+ $[4] = t3;
33
+ } else {
34
+ t3 = $[4];
35
+ }
36
+ const t4 = t3.join(" ");
37
+ const t5 = !navOpen ? true : undefined;
38
+ const t6 = `${baseClass}__scroll`;
39
+ let t7;
40
+ if ($[5] !== children || $[6] !== navRef || $[7] !== t4 || $[8] !== t5 || $[9] !== t6) {
41
+ t7 = _jsx("aside", {
42
+ className: t4,
43
+ inert: t5,
44
+ children: _jsx("div", {
45
+ className: t6,
46
+ ref: navRef,
47
+ children
48
+ })
49
+ });
50
+ $[5] = children;
51
+ $[6] = navRef;
52
+ $[7] = t4;
53
+ $[8] = t5;
54
+ $[9] = t6;
55
+ $[10] = t7;
56
+ } else {
57
+ t7 = $[10];
58
+ }
59
+ return t7;
33
60
  };
34
-
35
61
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/Nav/NavWrapper/index.tsx"],"sourcesContent":["'use client'\nimport { useNav } from '@payloadcms/ui'\nimport React from 'react'\n\nimport './index.scss'\n\n/**\n * @internal\n */\nexport const NavWrapper: React.FC<{\n baseClass?: string\n children: React.ReactNode\n}> = (props) => {\n const { baseClass, children } = props\n\n const { hydrated, navOpen, navRef, shouldAnimate } = useNav()\n\n return (\n <aside\n className={[\n baseClass,\n navOpen && `${baseClass}--nav-open`,\n shouldAnimate && `${baseClass}--nav-animate`,\n hydrated && `${baseClass}--nav-hydrated`,\n ]\n .filter(Boolean)\n .join(' ')}\n inert={!navOpen ? true : undefined}\n >\n <div className={`${baseClass}__scroll`} ref={navRef}>\n {children}\n </div>\n </aside>\n )\n}\n"],"names":["useNav","React","NavWrapper","props","baseClass","children","hydrated","navOpen","navRef","shouldAnimate","aside","className","filter","Boolean","join","inert","undefined","div","ref"],"mappings":"AAAA;;AACA,SAASA,MAAM,QAAQ,iBAAgB;AACvC,OAAOC,WAAW,QAAO;AAEzB,OAAO,eAAc;AAErB;;CAEC,GACD,OAAO,MAAMC,aAGR,CAACC;IACJ,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAE,GAAGF;IAEhC,MAAM,EAAEG,QAAQ,EAAEC,OAAO,EAAEC,MAAM,EAAEC,aAAa,EAAE,GAAGT;IAErD,qBACE,QAACU;QACCC,WAAW;YACTP;YACAG,WAAW,GAAGH,UAAU,UAAU,CAAC;YACnCK,iBAAiB,GAAGL,UAAU,aAAa,CAAC;YAC5CE,YAAY,GAAGF,UAAU,cAAc,CAAC;SACzC,CACEQ,MAAM,CAACC,SACPC,IAAI,CAAC;QACRC,OAAO,CAACR,UAAU,OAAOS;kBAEzB,cAAA,QAACC;YAAIN,WAAW,GAAGP,UAAU,QAAQ,CAAC;YAAEc,KAAKV;sBAC1CH;;;;;;;;;;;AAIT,EAAC"}
1
+ {"version":3,"file":"index.js","names":["c","_c","useNav","React","NavWrapper","props","$","baseClass","children","hydrated","navOpen","navRef","shouldAnimate","t0","t1","t2","t3","filter","Boolean","t4","join","t5","undefined","t6","t7","_jsx","className","inert","ref"],"sources":["../../../../src/elements/Nav/NavWrapper/index.tsx"],"sourcesContent":["'use client'\nimport { useNav } from '@payloadcms/ui'\nimport React from 'react'\n\nimport './index.scss'\n\n/**\n * @internal\n */\nexport const NavWrapper: React.FC<{\n baseClass?: string\n children: React.ReactNode\n}> = (props) => {\n const { baseClass, children } = props\n\n const { hydrated, navOpen, navRef, shouldAnimate } = useNav()\n\n return (\n <aside\n className={[\n baseClass,\n navOpen && `${baseClass}--nav-open`,\n shouldAnimate && `${baseClass}--nav-animate`,\n hydrated && `${baseClass}--nav-hydrated`,\n ]\n .filter(Boolean)\n .join(' ')}\n inert={!navOpen ? true : undefined}\n >\n <div className={`${baseClass}__scroll`} ref={navRef}>\n {children}\n </div>\n </aside>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,MAAM,QAAQ;AACvB,OAAOC,KAAA,MAAW;AAIlB;;;AAGA,OAAO,MAAMC,UAAA,GAGRC,KAAA;EAAA,MAAAC,CAAA,GAAAL,EAAA;EACH;IAAAM,SAAA;IAAAC;EAAA,IAAgCH,KAAA;EAEhC;IAAAI,QAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC;EAAA,IAAqDV,MAAA;EAM/C,MAAAW,EAAA,GAAAH,OAAA,IAAW,GAAGH,SAAA,YAAqB;EACnC,MAAAO,EAAA,GAAAF,aAAA,IAAiB,GAAGL,SAAA,eAAwB;EAC5C,MAAAQ,EAAA,GAAAN,QAAA,IAAY,GAAGF,SAAA,gBAAyB;EAAA,IAAAS,EAAA;EAAA,IAAAV,CAAA,QAAAC,SAAA,IAAAD,CAAA,QAAAO,EAAA,IAAAP,CAAA,QAAAQ,EAAA,IAAAR,CAAA,QAAAS,EAAA;IAJ/BC,EAAA,IACTT,SAAA,EACAM,EAAmC,EACnCC,EAA4C,EAC5CC,EAAwC,EAAAE,MAAA,CAAAC,OAEhC;IAAAZ,CAAA,MAAAC,SAAA;IAAAD,CAAA,MAAAO,EAAA;IAAAP,CAAA,MAAAQ,EAAA;IAAAR,CAAA,MAAAS,EAAA;IAAAT,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EANC,MAAAa,EAAA,GAAAH,EAMD,CAAAI,IAAA,CACF;EACD,MAAAC,EAAA,IAACX,OAAA,UAAAY,SAAiB;EAET,MAAAC,EAAA,MAAGhB,SAAA,UAAmB;EAAA,IAAAiB,EAAA;EAAA,IAAAlB,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAK,MAAA,IAAAL,CAAA,QAAAa,EAAA,IAAAb,CAAA,QAAAe,EAAA,IAAAf,CAAA,QAAAiB,EAAA;IAXxCC,EAAA,GAAAC,IAAA,CAAC;MAAAC,SAAA,EACYP,EAOH;MAAAQ,KAAA,EACDN,EAAkB;MAAAb,QAAA,EAEzBiB,IAAA,CAAC;QAAAC,SAAA,EAAeH,EAAsB;QAAAK,GAAA,EAAOjB,MAAA;QAAAH;MAAA,C;;;;;;;;;;;SAX/CgB,E;CAgBJ","ignoreList":[]}
@@ -1,39 +1,45 @@
1
1
  'use client';
2
- import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
3
5
  import { GearIcon, Popup, useTranslation } from '@payloadcms/ui';
4
6
  import React, { Fragment } from 'react';
5
- import './index.scss';
6
7
  const baseClass = 'settings-menu-button';
7
- export const SettingsMenuButton = ({ settingsMenu })=>{
8
- const { t } = useTranslation();
9
- if (!settingsMenu || settingsMenu.length === 0) {
10
- return null;
11
- }
12
- return /*#__PURE__*/ _jsxDEV(Popup, {
13
- button: /*#__PURE__*/ _jsxDEV(GearIcon, {
14
- ariaLabel: t('general:menu')
15
- }, void 0, false, {
16
- fileName: "src/elements/Nav/SettingsMenuButton/index.tsx",
17
- lineNumber: 22,
18
- columnNumber: 15
19
- }, void 0),
20
- className: baseClass,
21
- horizontalAlign: "left",
22
- id: "settings-menu",
23
- size: "small",
24
- verticalAlign: "bottom",
25
- children: settingsMenu.map((item, i)=>/*#__PURE__*/ _jsxDEV(Fragment, {
26
- children: item
27
- }, `settings-menu-item-${i}`, false, {
28
- fileName: "src/elements/Nav/SettingsMenuButton/index.tsx",
29
- lineNumber: 30,
30
- columnNumber: 9
31
- }, this))
32
- }, void 0, false, {
33
- fileName: "src/elements/Nav/SettingsMenuButton/index.tsx",
34
- lineNumber: 21,
35
- columnNumber: 5
36
- }, this);
8
+ export const SettingsMenuButton = t0 => {
9
+ const $ = _c(3);
10
+ const {
11
+ settingsMenu
12
+ } = t0;
13
+ const {
14
+ t
15
+ } = useTranslation();
16
+ if (!settingsMenu || settingsMenu.length === 0) {
17
+ return null;
18
+ }
19
+ let t1;
20
+ if ($[0] !== settingsMenu || $[1] !== t) {
21
+ t1 = _jsx(Popup, {
22
+ button: _jsx(GearIcon, {
23
+ ariaLabel: t("general:menu")
24
+ }),
25
+ className: baseClass,
26
+ horizontalAlign: "left",
27
+ id: "settings-menu",
28
+ size: "small",
29
+ verticalAlign: "bottom",
30
+ children: settingsMenu.map(_temp)
31
+ });
32
+ $[0] = settingsMenu;
33
+ $[1] = t;
34
+ $[2] = t1;
35
+ } else {
36
+ t1 = $[2];
37
+ }
38
+ return t1;
37
39
  };
38
-
40
+ function _temp(item, i) {
41
+ return _jsx(Fragment, {
42
+ children: item
43
+ }, `settings-menu-item-${i}`);
44
+ }
39
45
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/Nav/SettingsMenuButton/index.tsx"],"sourcesContent":["'use client'\nimport { GearIcon, Popup, useTranslation } from '@payloadcms/ui'\nimport React, { Fragment } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'settings-menu-button'\n\nexport type SettingsMenuButtonProps = {\n settingsMenu?: React.ReactNode[]\n}\n\nexport const SettingsMenuButton: React.FC<SettingsMenuButtonProps> = ({ settingsMenu }) => {\n const { t } = useTranslation()\n\n if (!settingsMenu || settingsMenu.length === 0) {\n return null\n }\n\n return (\n <Popup\n button={<GearIcon ariaLabel={t('general:menu')} />}\n className={baseClass}\n horizontalAlign=\"left\"\n id=\"settings-menu\"\n size=\"small\"\n verticalAlign=\"bottom\"\n >\n {settingsMenu.map((item, i) => (\n <Fragment key={`settings-menu-item-${i}`}>{item}</Fragment>\n ))}\n </Popup>\n )\n}\n"],"names":["GearIcon","Popup","useTranslation","React","Fragment","baseClass","SettingsMenuButton","settingsMenu","t","length","button","ariaLabel","className","horizontalAlign","id","size","verticalAlign","map","item","i"],"mappings":"AAAA;;AACA,SAASA,QAAQ,EAAEC,KAAK,EAAEC,cAAc,QAAQ,iBAAgB;AAChE,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAEvC,OAAO,eAAc;AAErB,MAAMC,YAAY;AAMlB,OAAO,MAAMC,qBAAwD,CAAC,EAAEC,YAAY,EAAE;IACpF,MAAM,EAAEC,CAAC,EAAE,GAAGN;IAEd,IAAI,CAACK,gBAAgBA,aAAaE,MAAM,KAAK,GAAG;QAC9C,OAAO;IACT;IAEA,qBACE,QAACR;QACCS,sBAAQ,QAACV;YAASW,WAAWH,EAAE;;;;;;QAC/BI,WAAWP;QACXQ,iBAAgB;QAChBC,IAAG;QACHC,MAAK;QACLC,eAAc;kBAEbT,aAAaU,GAAG,CAAC,CAACC,MAAMC,kBACvB,QAACf;0BAA0Cc;eAA5B,CAAC,mBAAmB,EAAEC,GAAG;;;;;;;;;;AAIhD,EAAC"}
1
+ {"version":3,"file":"index.js","names":["c","_c","GearIcon","Popup","useTranslation","React","Fragment","baseClass","SettingsMenuButton","t0","$","settingsMenu","t","length","t1","_jsx","button","ariaLabel","id","size","verticalAlign","children","map","_temp","item","i"],"sources":["../../../../src/elements/Nav/SettingsMenuButton/index.tsx"],"sourcesContent":["'use client'\nimport { GearIcon, Popup, useTranslation } from '@payloadcms/ui'\nimport React, { Fragment } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'settings-menu-button'\n\nexport type SettingsMenuButtonProps = {\n settingsMenu?: React.ReactNode[]\n}\n\nexport const SettingsMenuButton: React.FC<SettingsMenuButtonProps> = ({ settingsMenu }) => {\n const { t } = useTranslation()\n\n if (!settingsMenu || settingsMenu.length === 0) {\n return null\n }\n\n return (\n <Popup\n button={<GearIcon ariaLabel={t('general:menu')} />}\n className={baseClass}\n horizontalAlign=\"left\"\n id=\"settings-menu\"\n size=\"small\"\n verticalAlign=\"bottom\"\n >\n {settingsMenu.map((item, i) => (\n <Fragment key={`settings-menu-item-${i}`}>{item}</Fragment>\n ))}\n </Popup>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,QAAQ,EAAEC,KAAK,EAAEC,cAAc,QAAQ;AAChD,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAIhC,MAAMC,SAAA,GAAY;AAMlB,OAAO,MAAMC,kBAAA,GAAwDC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU;EAAA,IAAAF,EAAgB;EACpF;IAAAG;EAAA,IAAcR,cAAA;EAAA,IAEV,CAACO,YAAA,IAAgBA,YAAA,CAAAE,MAAA,MAAwB;IAAA;EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAJ,CAAA,QAAAC,YAAA,IAAAD,CAAA,QAAAE,CAAA;IAK3CE,EAAA,GAAAC,IAAA,CAAAZ,KAAA;MAAAa,MAAA,EACUD,IAAA,CAAAb,QAAA;QAAAe,SAAA,EAAqBL,CAAA,CAAE;MAAA,C;;uBAEf;MAAAM,EAAA,EACb;MAAAC,IAAA,EACE;MAAAC,aAAA,EACS;MAAAC,QAAA,EAEbV,YAAA,CAAAW,GAAA,CAAAC,KACyC;IAAA,C;;;;;;;SAT5CT,E;CAaJ;AArBqE,SAAAS,MAAAC,IAAA,EAAAC,CAAA;EAAA,OAiB7DV,IAAA,CAAAT,QAAA;IAAAe,QAAA,EAA2CG;EAAA,GAA5B,sBAAsBC,CAAA,EAAG;AAAA","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import './index.scss';
3
+ export type TabErrorProps = {
4
+ message: string;
5
+ onRetry: () => void;
6
+ };
7
+ export declare const TabError: React.FC<TabErrorProps>;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/Nav/SidebarTabs/TabError/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAY5C,CAAA"}
@@ -0,0 +1,42 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ import { useTranslation } from '@payloadcms/ui';
6
+ import React from 'react';
7
+ const baseClass = 'sidebar-tab-error';
8
+ export const TabError = t0 => {
9
+ const $ = _c(4);
10
+ const {
11
+ message,
12
+ onRetry
13
+ } = t0;
14
+ const {
15
+ t
16
+ } = useTranslation();
17
+ let t1;
18
+ if ($[0] !== message || $[1] !== onRetry || $[2] !== t) {
19
+ t1 = _jsx("div", {
20
+ className: baseClass,
21
+ children: _jsxs("div", {
22
+ className: `${baseClass}__content`,
23
+ children: [_jsx("span", {
24
+ children: message
25
+ }), _jsx("button", {
26
+ className: `${baseClass}__retry`,
27
+ onClick: onRetry,
28
+ type: "button",
29
+ children: t("general:retry")
30
+ })]
31
+ })
32
+ });
33
+ $[0] = message;
34
+ $[1] = onRetry;
35
+ $[2] = t;
36
+ $[3] = t1;
37
+ } else {
38
+ t1 = $[3];
39
+ }
40
+ return t1;
41
+ };
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","useTranslation","React","baseClass","TabError","t0","$","message","onRetry","t","t1","_jsx","className","children","_jsxs","onClick","type"],"sources":["../../../../../src/elements/Nav/SidebarTabs/TabError/index.tsx"],"sourcesContent":["'use client'\n\nimport { useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'sidebar-tab-error'\n\nexport type TabErrorProps = {\n message: string\n onRetry: () => void\n}\n\nexport const TabError: React.FC<TabErrorProps> = ({ message, onRetry }) => {\n const { t } = useTranslation()\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__content`}>\n <span>{message}</span>\n <button className={`${baseClass}__retry`} onClick={onRetry} type=\"button\">\n {t('general:retry')}\n </button>\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAIlB,MAAMC,SAAA,GAAY;AAOlB,OAAO,MAAMC,QAAA,GAAoCC,EAAA;EAAA,MAAAC,CAAA,GAAAN,EAAA;EAAC;IAAAO,OAAA;IAAAC;EAAA,IAAAH,EAAoB;EACpE;IAAAI;EAAA,IAAcR,cAAA;EAAA,IAAAS,EAAA;EAAA,IAAAJ,CAAA,QAAAC,OAAA,IAAAD,CAAA,QAAAE,OAAA,IAAAF,CAAA,QAAAG,CAAA;IAEZC,EAAA,GAAAC,IAAA,CAAC;MAAAC,SAAA,EAAAT,SAAA;MAAAU,QAAA,EACCC,KAAA,CAAC;QAAAF,SAAA,EAAe,GAAAT,SAAA,WAAuB;QAAAU,QAAA,GACrCF,IAAA,CAAC;UAAAE,QAAA,EAAMN;QAAA,C,GACPI,IAAA,CAAC;UAAAC,SAAA,EAAkB,GAAAT,SAAA,SAAqB;UAAAY,OAAA,EAAWP,OAAA;UAAAQ,IAAA,EAAc;UAAAH,QAAA,EAC9DJ,CAAA,CAAE;QAAA,C;;;;;;;;;;SAJTC,E;CASJ","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export declare const DEFAULT_NAV_TAB_SLUG = "nav";
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/elements/Nav/SidebarTabs/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,QAAQ,CAAA"}
@@ -0,0 +1,2 @@
1
+ export const DEFAULT_NAV_TAB_SLUG = 'nav';
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","names":["DEFAULT_NAV_TAB_SLUG"],"sources":["../../../../src/elements/Nav/SidebarTabs/constants.ts"],"sourcesContent":["export const DEFAULT_NAV_TAB_SLUG = 'nav'\n"],"mappings":"AAAA,OAAO,MAAMA,oBAAA,GAAuB","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ export type TabMetadata = {
3
+ icon: React.ReactNode;
4
+ isDefaultActive?: boolean;
5
+ label: string;
6
+ slug: string;
7
+ };
8
+ export type SidebarTabsClientProps = {
9
+ baseClass: string;
10
+ initialActiveTabID: string;
11
+ initialTabContents: Record<string, React.ReactNode>;
12
+ /**
13
+ * Delay before showing loading spinner (in ms), prevents flashing on fast loads
14
+ * @default 200
15
+ */
16
+ loadingDelay?: number;
17
+ tabs: TabMetadata[];
18
+ };
19
+ export declare const SidebarTabsClient: React.FC<SidebarTabsClientProps>;
20
+ //# sourceMappingURL=index.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../../src/elements/Nav/SidebarTabs/index.client.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAwC,MAAM,OAAO,CAAA;AAM5D,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IACnD;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,WAAW,EAAE,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA0J9D,CAAA"}
@@ -0,0 +1,155 @@
1
+ 'use client';
2
+
3
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
4
+ import { DelayedSpinner, Tooltip, usePreferences, useServerFunctions } from '@payloadcms/ui';
5
+ import { PREFERENCE_KEYS } from 'payload/shared';
6
+ import React, { useCallback, useRef, useState } from 'react';
7
+ import { TabError } from './TabError/index.js';
8
+ export const SidebarTabsClient = ({
9
+ baseClass,
10
+ initialActiveTabID,
11
+ initialTabContents,
12
+ loadingDelay = 200,
13
+ tabs
14
+ }) => {
15
+ const {
16
+ setPreference
17
+ } = usePreferences();
18
+ const {
19
+ serverFunction
20
+ } = useServerFunctions();
21
+ const [activeTabID, setActiveTabID] = useState(initialActiveTabID);
22
+ const [tabContent, setTabContent] = useState(initialTabContents);
23
+ const [loadingTab, setLoadingTab] = useState(null);
24
+ const [hoveredTab, setHoveredTab] = useState(null);
25
+ const loadingTabsRef = useRef(new Set());
26
+ const tabContentRef = useRef(initialTabContents);
27
+ const loadTabContent = useCallback(async tabSlug => {
28
+ // Check if already loaded or currently loading
29
+ if (tabContentRef.current[tabSlug] || loadingTabsRef.current.has(tabSlug)) {
30
+ return;
31
+ }
32
+ // Mark as loading
33
+ loadingTabsRef.current.add(tabSlug);
34
+ setLoadingTab(tabSlug);
35
+ try {
36
+ const result = await serverFunction({
37
+ name: 'render-tab',
38
+ args: {
39
+ tabSlug
40
+ }
41
+ });
42
+ const newContent_0 = {
43
+ ...tabContentRef.current,
44
+ [tabSlug]: result.component
45
+ };
46
+ tabContentRef.current = newContent_0;
47
+ setTabContent(newContent_0);
48
+ } catch (error) {
49
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
50
+ const handleRetry = () => {
51
+ // Clear the error and retry loading
52
+ const clearedContent = {
53
+ ...tabContentRef.current
54
+ };
55
+ delete clearedContent[tabSlug];
56
+ tabContentRef.current = clearedContent;
57
+ setTabContent(clearedContent);
58
+ void loadTabContent(tabSlug);
59
+ };
60
+ const newContent = {
61
+ ...tabContentRef.current,
62
+ [tabSlug]: /*#__PURE__*/_jsx(TabError, {
63
+ message: errorMessage,
64
+ onRetry: handleRetry
65
+ })
66
+ };
67
+ tabContentRef.current = newContent;
68
+ setTabContent(newContent);
69
+ } finally {
70
+ loadingTabsRef.current.delete(tabSlug);
71
+ setLoadingTab(null);
72
+ }
73
+ }, [serverFunction]);
74
+ const handleTabChange = useCallback(slug => {
75
+ setActiveTabID(slug);
76
+ void setPreference(PREFERENCE_KEYS.NAV_SIDEBAR_ACTIVE_TAB, {
77
+ activeTab: slug
78
+ });
79
+ void loadTabContent(slug);
80
+ }, [setPreference, loadTabContent]);
81
+ const handleTabKeyDown = useCallback((e, currentIndex) => {
82
+ if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') {
83
+ e.preventDefault();
84
+ const direction = e.key === 'ArrowLeft' ? -1 : 1;
85
+ const newIndex = (currentIndex + direction + tabs.length) % tabs.length;
86
+ const newTab = tabs[newIndex];
87
+ handleTabChange(newTab.slug);
88
+ // Focus will be handled by the tabIndex change
89
+ setTimeout(() => {
90
+ document.querySelector(`.${baseClass}__tab--active`)?.focus();
91
+ }, 0);
92
+ }
93
+ }, [baseClass, handleTabChange, tabs]);
94
+ const activeContent = tabContent[activeTabID];
95
+ // If there's only one tab (the default nav), render it without tab UI
96
+ if (tabs.length === 1) {
97
+ return /*#__PURE__*/_jsx(_Fragment, {
98
+ children: activeContent
99
+ });
100
+ }
101
+ return /*#__PURE__*/_jsxs("div", {
102
+ className: baseClass,
103
+ children: [/*#__PURE__*/_jsx("div", {
104
+ className: `${baseClass}__tabs`,
105
+ role: "tablist",
106
+ children: tabs.map((tab, index) => {
107
+ const isActive = tab.slug === activeTabID;
108
+ return /*#__PURE__*/_jsxs("button", {
109
+ "aria-selected": isActive,
110
+ className: `${baseClass}__tab ${isActive ? `${baseClass}__tab--active` : ''}`,
111
+ onClick: () => handleTabChange(tab.slug),
112
+ onKeyDown: e_0 => handleTabKeyDown(e_0, index),
113
+ onMouseEnter: () => setHoveredTab(tab.slug),
114
+ onMouseLeave: () => setHoveredTab(null),
115
+ role: "tab",
116
+ tabIndex: isActive ? 0 : -1,
117
+ type: "button",
118
+ children: [/*#__PURE__*/_jsx(Tooltip, {
119
+ className: `${baseClass}__tooltip`,
120
+ position: index === 0 ? 'bottom' : 'top',
121
+ show: hoveredTab === tab.slug,
122
+ children: tab.label
123
+ }), /*#__PURE__*/_jsx("span", {
124
+ className: `${baseClass}__tab-icon`,
125
+ children: tab.icon
126
+ }), /*#__PURE__*/_jsx("span", {
127
+ className: `${baseClass}__tab-label`,
128
+ children: tab.label
129
+ })]
130
+ }, tab.slug);
131
+ })
132
+ }), /*#__PURE__*/_jsxs("div", {
133
+ className: `${baseClass}__content`,
134
+ role: "tabpanel",
135
+ children: [/*#__PURE__*/_jsx(DelayedSpinner, {
136
+ baseClass: baseClass,
137
+ delay: loadingDelay,
138
+ isLoading: loadingTab === activeTabID
139
+ }), tabs.map(tab_0 => {
140
+ const content = tabContent[tab_0.slug];
141
+ if (!content) {
142
+ return null;
143
+ }
144
+ const isActive_0 = tab_0.slug === activeTabID && loadingTab !== activeTabID;
145
+ return /*#__PURE__*/_jsx("div", {
146
+ style: isActive_0 ? undefined : {
147
+ display: 'none'
148
+ },
149
+ children: content
150
+ }, tab_0.slug);
151
+ })]
152
+ })]
153
+ });
154
+ };
155
+ //# sourceMappingURL=index.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.client.js","names":["DelayedSpinner","Tooltip","usePreferences","useServerFunctions","PREFERENCE_KEYS","React","useCallback","useRef","useState","TabError","SidebarTabsClient","baseClass","initialActiveTabID","initialTabContents","loadingDelay","tabs","setPreference","serverFunction","activeTabID","setActiveTabID","tabContent","setTabContent","loadingTab","setLoadingTab","hoveredTab","setHoveredTab","loadingTabsRef","Set","tabContentRef","loadTabContent","tabSlug","current","has","add","result","name","args","newContent","component","error","errorMessage","Error","message","handleRetry","clearedContent","_jsx","onRetry","delete","handleTabChange","slug","NAV_SIDEBAR_ACTIVE_TAB","activeTab","handleTabKeyDown","e","currentIndex","key","preventDefault","direction","newIndex","length","newTab","setTimeout","document","querySelector","focus","activeContent","_Fragment","_jsxs","className","role","map","tab","index","isActive","onClick","onKeyDown","onMouseEnter","onMouseLeave","tabIndex","type","position","show","label","icon","delay","isLoading","content","style","undefined","display"],"sources":["../../../../src/elements/Nav/SidebarTabs/index.client.tsx"],"sourcesContent":["'use client'\n\nimport { DelayedSpinner, Tooltip, usePreferences, useServerFunctions } from '@payloadcms/ui'\nimport { PREFERENCE_KEYS } from 'payload/shared'\nimport React, { useCallback, useRef, useState } from 'react'\n\nimport type { RenderTabServerFnArgs, RenderTabServerFnReturnType } from './renderTabServerFn.js'\n\nimport { TabError } from './TabError/index.js'\n\nexport type TabMetadata = {\n icon: React.ReactNode\n isDefaultActive?: boolean\n label: string\n slug: string\n}\n\nexport type SidebarTabsClientProps = {\n baseClass: string\n initialActiveTabID: string\n initialTabContents: Record<string, React.ReactNode>\n /**\n * Delay before showing loading spinner (in ms), prevents flashing on fast loads\n * @default 200\n */\n loadingDelay?: number\n tabs: TabMetadata[]\n}\n\nexport const SidebarTabsClient: React.FC<SidebarTabsClientProps> = ({\n baseClass,\n initialActiveTabID,\n initialTabContents,\n loadingDelay = 200,\n tabs,\n}) => {\n const { setPreference } = usePreferences()\n const { serverFunction } = useServerFunctions()\n\n const [activeTabID, setActiveTabID] = useState(initialActiveTabID)\n const [tabContent, setTabContent] = useState<Record<string, React.ReactNode>>(initialTabContents)\n const [loadingTab, setLoadingTab] = useState<null | string>(null)\n const [hoveredTab, setHoveredTab] = useState<null | string>(null)\n const loadingTabsRef = useRef<Set<string>>(new Set())\n const tabContentRef = useRef(initialTabContents)\n\n const loadTabContent = useCallback(\n async (tabSlug: string) => {\n // Check if already loaded or currently loading\n if (tabContentRef.current[tabSlug] || loadingTabsRef.current.has(tabSlug)) {\n return\n }\n\n // Mark as loading\n loadingTabsRef.current.add(tabSlug)\n setLoadingTab(tabSlug)\n\n try {\n const result = (await serverFunction({\n name: 'render-tab',\n args: { tabSlug } as RenderTabServerFnArgs,\n })) as RenderTabServerFnReturnType\n\n const newContent = {\n ...tabContentRef.current,\n [tabSlug]: result.component,\n }\n\n tabContentRef.current = newContent\n setTabContent(newContent)\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n\n const handleRetry = () => {\n // Clear the error and retry loading\n const clearedContent = { ...tabContentRef.current }\n delete clearedContent[tabSlug]\n tabContentRef.current = clearedContent\n setTabContent(clearedContent)\n void loadTabContent(tabSlug)\n }\n\n const newContent = {\n ...tabContentRef.current,\n [tabSlug]: <TabError message={errorMessage} onRetry={handleRetry} />,\n }\n\n tabContentRef.current = newContent\n setTabContent(newContent)\n } finally {\n loadingTabsRef.current.delete(tabSlug)\n setLoadingTab(null)\n }\n },\n [serverFunction],\n )\n\n const handleTabChange = useCallback(\n (slug: string) => {\n setActiveTabID(slug)\n void setPreference(PREFERENCE_KEYS.NAV_SIDEBAR_ACTIVE_TAB, { activeTab: slug })\n void loadTabContent(slug)\n },\n [setPreference, loadTabContent],\n )\n\n const handleTabKeyDown = useCallback(\n (e: React.KeyboardEvent, currentIndex: number) => {\n if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') {\n e.preventDefault()\n const direction = e.key === 'ArrowLeft' ? -1 : 1\n const newIndex = (currentIndex + direction + tabs.length) % tabs.length\n const newTab = tabs[newIndex]\n handleTabChange(newTab.slug)\n // Focus will be handled by the tabIndex change\n setTimeout(() => {\n document.querySelector<HTMLButtonElement>(`.${baseClass}__tab--active`)?.focus()\n }, 0)\n }\n },\n [baseClass, handleTabChange, tabs],\n )\n\n const activeContent = tabContent[activeTabID]\n\n // If there's only one tab (the default nav), render it without tab UI\n if (tabs.length === 1) {\n return <>{activeContent}</>\n }\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__tabs`} role=\"tablist\">\n {tabs.map((tab, index) => {\n const isActive = tab.slug === activeTabID\n\n return (\n <button\n aria-selected={isActive}\n className={`${baseClass}__tab ${isActive ? `${baseClass}__tab--active` : ''}`}\n key={tab.slug}\n onClick={() => handleTabChange(tab.slug)}\n onKeyDown={(e) => handleTabKeyDown(e, index)}\n onMouseEnter={() => setHoveredTab(tab.slug)}\n onMouseLeave={() => setHoveredTab(null)}\n role=\"tab\"\n tabIndex={isActive ? 0 : -1}\n type=\"button\"\n >\n <Tooltip\n className={`${baseClass}__tooltip`}\n position={index === 0 ? 'bottom' : 'top'} // TODO: set to \"top\" when we portal tooltips\n show={hoveredTab === tab.slug}\n >\n {tab.label}\n </Tooltip>\n <span className={`${baseClass}__tab-icon`}>{tab.icon}</span>\n <span className={`${baseClass}__tab-label`}>{tab.label}</span>\n </button>\n )\n })}\n </div>\n <div className={`${baseClass}__content`} role=\"tabpanel\">\n <DelayedSpinner\n baseClass={baseClass}\n delay={loadingDelay}\n isLoading={loadingTab === activeTabID}\n />\n {tabs.map((tab) => {\n const content = tabContent[tab.slug]\n if (!content) {\n return null\n }\n const isActive = tab.slug === activeTabID && loadingTab !== activeTabID\n return (\n <div key={tab.slug} style={isActive ? undefined : { display: 'none' }}>\n {content}\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import type { NavPreferences, PayloadComponent, SidebarTab } from 'payload';
2
+ import React from 'react';
3
+ import type { NavProps } from '../index.js';
4
+ import './index.scss';
5
+ type SidebarTabWithReactNode = {
6
+ components: {
7
+ Content: PayloadComponent | React.ReactNode;
8
+ Icon: PayloadComponent | React.ReactNode;
9
+ };
10
+ } & Omit<SidebarTab, 'components'>;
11
+ export type SidebarTabsProps = {
12
+ navPreferences: NavPreferences;
13
+ tabs: SidebarTabWithReactNode[];
14
+ } & NavProps;
15
+ export declare const SidebarTabs: React.FC<SidebarTabsProps>;
16
+ export {};
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Nav/SidebarTabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAI3E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAG3C,OAAO,cAAc,CAAA;AAErB,KAAK,uBAAuB,GAAG;IAC7B,UAAU,EAAE;QACV,OAAO,EAAE,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAA;QAC3C,IAAI,EAAE,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAA;KACzC,CAAA;CACF,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;AAElC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,EAAE,cAAc,CAAA;IAC9B,IAAI,EAAE,uBAAuB,EAAE,CAAA;CAChC,GAAG,QAAQ,CAAA;AAIZ,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAuFlD,CAAA"}