@payloadcms/next 3.0.0-canary.f83d96a → 3.0.0-canary.fb81f02

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 (339) hide show
  1. package/dist/cjs/withPayload.cjs +18 -11
  2. package/dist/cjs/withPayload.cjs.map +1 -1
  3. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  4. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +5 -1
  5. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  6. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  8. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  9. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +7 -5
  10. package/dist/elements/DocumentHeader/Tabs/index.scss +0 -1
  11. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  12. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +3 -5
  13. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  14. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +2 -2
  15. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  16. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  17. package/dist/elements/DocumentHeader/index.scss +0 -2
  18. package/dist/elements/EmailAndUsername/index.d.ts +14 -0
  19. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -0
  20. package/dist/elements/EmailAndUsername/index.js +85 -0
  21. package/dist/elements/EmailAndUsername/index.js.map +1 -0
  22. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  23. package/dist/elements/LeaveWithoutSaving/index.js +2 -0
  24. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  25. package/dist/elements/LeaveWithoutSaving/index.scss +1 -0
  26. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  27. package/dist/elements/Nav/index.client.js +20 -11
  28. package/dist/elements/Nav/index.client.js.map +1 -1
  29. package/dist/elements/Nav/index.scss +17 -14
  30. package/dist/layouts/Root/index.d.ts.map +1 -1
  31. package/dist/layouts/Root/index.js +16 -19
  32. package/dist/layouts/Root/index.js.map +1 -1
  33. package/dist/prod/styles.css +1 -1
  34. package/dist/routes/graphql/handler.d.ts.map +1 -1
  35. package/dist/routes/graphql/handler.js +7 -15
  36. package/dist/routes/graphql/handler.js.map +1 -1
  37. package/dist/routes/rest/auth/forgotPassword.d.ts.map +1 -1
  38. package/dist/routes/rest/auth/forgotPassword.js +7 -3
  39. package/dist/routes/rest/auth/forgotPassword.js.map +1 -1
  40. package/dist/routes/rest/auth/login.d.ts.map +1 -1
  41. package/dist/routes/rest/auth/login.js +9 -4
  42. package/dist/routes/rest/auth/login.js.map +1 -1
  43. package/dist/routes/rest/auth/registerFirstUser.d.ts.map +1 -1
  44. package/dist/routes/rest/auth/registerFirstUser.js +9 -2
  45. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  46. package/dist/routes/rest/auth/unlock.d.ts.map +1 -1
  47. package/dist/routes/rest/auth/unlock.js +7 -3
  48. package/dist/routes/rest/auth/unlock.js.map +1 -1
  49. package/dist/routes/rest/auth/verifyEmail.js +1 -1
  50. package/dist/routes/rest/auth/verifyEmail.js.map +1 -1
  51. package/dist/routes/rest/buildFormState.d.ts +2 -2
  52. package/dist/routes/rest/buildFormState.d.ts.map +1 -1
  53. package/dist/routes/rest/buildFormState.js.map +1 -1
  54. package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
  55. package/dist/routes/rest/collections/restoreVersion.js +2 -0
  56. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  57. package/dist/routes/rest/files/checkFileAccess.d.ts +2 -2
  58. package/dist/routes/rest/files/checkFileAccess.d.ts.map +1 -1
  59. package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
  60. package/dist/routes/rest/files/getFile.d.ts +2 -2
  61. package/dist/routes/rest/files/getFile.d.ts.map +1 -1
  62. package/dist/routes/rest/files/getFile.js.map +1 -1
  63. package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
  64. package/dist/routes/rest/globals/restoreVersion.js +2 -0
  65. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  66. package/dist/routes/rest/index.d.ts.map +1 -1
  67. package/dist/routes/rest/index.js +88 -95
  68. package/dist/routes/rest/index.js.map +1 -1
  69. package/dist/routes/rest/og/index.d.ts +2 -2
  70. package/dist/routes/rest/og/index.d.ts.map +1 -1
  71. package/dist/routes/rest/og/index.js.map +1 -1
  72. package/dist/routes/rest/routeError.d.ts +2 -2
  73. package/dist/routes/rest/routeError.d.ts.map +1 -1
  74. package/dist/routes/rest/routeError.js +3 -3
  75. package/dist/routes/rest/routeError.js.map +1 -1
  76. package/dist/routes/rest/types.d.ts +7 -7
  77. package/dist/routes/rest/types.d.ts.map +1 -1
  78. package/dist/routes/rest/types.js.map +1 -1
  79. package/dist/scss/app.scss +10 -15
  80. package/dist/scss/colors.scss +76 -76
  81. package/dist/scss/toastify.scss +59 -0
  82. package/dist/scss/toasts.scss +75 -45
  83. package/dist/scss/type.scss +15 -23
  84. package/dist/scss/vars.scss +26 -47
  85. package/dist/templates/Default/index.d.ts +2 -2
  86. package/dist/templates/Default/index.d.ts.map +1 -1
  87. package/dist/templates/Default/index.js.map +1 -1
  88. package/dist/utilities/addDataAndFileToRequest.d.ts +3 -6
  89. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
  90. package/dist/utilities/addDataAndFileToRequest.js +15 -18
  91. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  92. package/dist/utilities/addLocalesToRequest.d.ts +2 -5
  93. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
  94. package/dist/utilities/addLocalesToRequest.js +8 -9
  95. package/dist/utilities/addLocalesToRequest.js.map +1 -1
  96. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  97. package/dist/utilities/createPayloadRequest.js +11 -8
  98. package/dist/utilities/createPayloadRequest.js.map +1 -1
  99. package/dist/utilities/getNextRequestI18n.d.ts +3 -3
  100. package/dist/utilities/getNextRequestI18n.d.ts.map +1 -1
  101. package/dist/utilities/getNextRequestI18n.js +3 -1
  102. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  103. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  104. package/dist/utilities/getPayloadHMR.js +11 -8
  105. package/dist/utilities/getPayloadHMR.js.map +1 -1
  106. package/dist/utilities/headersWithCors.d.ts +2 -2
  107. package/dist/utilities/headersWithCors.d.ts.map +1 -1
  108. package/dist/utilities/headersWithCors.js +19 -3
  109. package/dist/utilities/headersWithCors.js.map +1 -1
  110. package/dist/utilities/initPage/handleAdminPage.d.ts +4 -0
  111. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
  112. package/dist/utilities/initPage/handleAdminPage.js +17 -4
  113. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  114. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
  115. package/dist/utilities/initPage/handleAuthRedirect.js +16 -4
  116. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  117. package/dist/utilities/initPage/index.d.ts.map +1 -1
  118. package/dist/utilities/initPage/index.js +2 -1
  119. package/dist/utilities/initPage/index.js.map +1 -1
  120. package/dist/utilities/initPage/shared.d.ts +14 -2
  121. package/dist/utilities/initPage/shared.d.ts.map +1 -1
  122. package/dist/utilities/initPage/shared.js +14 -4
  123. package/dist/utilities/initPage/shared.js.map +1 -1
  124. package/dist/utilities/mergeHeaders.d.ts +1 -1
  125. package/dist/utilities/mergeHeaders.d.ts.map +1 -1
  126. package/dist/utilities/mergeHeaders.js +7 -33
  127. package/dist/utilities/mergeHeaders.js.map +1 -1
  128. package/dist/utilities/meta.d.ts +2 -2
  129. package/dist/utilities/meta.d.ts.map +1 -1
  130. package/dist/utilities/meta.js +3 -5
  131. package/dist/utilities/meta.js.map +1 -1
  132. package/dist/views/API/index.scss +1 -2
  133. package/dist/views/Account/index.client.d.ts +3 -0
  134. package/dist/views/Account/index.client.d.ts.map +1 -0
  135. package/dist/views/Account/index.client.js +21 -0
  136. package/dist/views/Account/index.client.js.map +1 -0
  137. package/dist/views/Account/index.d.ts.map +1 -1
  138. package/dist/views/Account/index.js +21 -26
  139. package/dist/views/Account/index.js.map +1 -1
  140. package/dist/views/CreateFirstUser/index.client.d.ts +2 -1
  141. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  142. package/dist/views/CreateFirstUser/index.client.js +14 -12
  143. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  144. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  145. package/dist/views/CreateFirstUser/index.js +11 -29
  146. package/dist/views/CreateFirstUser/index.js.map +1 -1
  147. package/dist/views/CreateFirstUser/index.scss +4 -0
  148. package/dist/views/Dashboard/Default/index.d.ts +2 -2
  149. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  150. package/dist/views/Dashboard/Default/index.js +13 -4
  151. package/dist/views/Dashboard/Default/index.js.map +1 -1
  152. package/dist/views/Dashboard/Default/index.scss +11 -7
  153. package/dist/views/Dashboard/index.js +3 -4
  154. package/dist/views/Dashboard/index.js.map +1 -1
  155. package/dist/views/Document/getDocumentData.d.ts +3 -2
  156. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  157. package/dist/views/Document/getDocumentData.js +4 -3
  158. package/dist/views/Document/getDocumentData.js.map +1 -1
  159. package/dist/views/Document/getMetaBySegment.d.ts +2 -2
  160. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  161. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  162. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  163. package/dist/views/Document/getViewsFromConfig.js +19 -5
  164. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  165. package/dist/views/Document/index.d.ts.map +1 -1
  166. package/dist/views/Document/index.js +26 -40
  167. package/dist/views/Document/index.js.map +1 -1
  168. package/dist/views/Edit/Default/Auth/APIKey.d.ts +2 -2
  169. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -1
  170. package/dist/views/Edit/Default/Auth/APIKey.js +36 -8
  171. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  172. package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
  173. package/dist/views/Edit/Default/Auth/index.js +69 -26
  174. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  175. package/dist/views/Edit/Default/Auth/index.scss +17 -2
  176. package/dist/views/Edit/Default/Auth/types.d.ts +4 -0
  177. package/dist/views/Edit/Default/Auth/types.d.ts.map +1 -1
  178. package/dist/views/Edit/Default/Auth/types.js.map +1 -1
  179. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -1
  180. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +15 -5
  181. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
  182. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  183. package/dist/views/Edit/Default/index.js +34 -25
  184. package/dist/views/Edit/Default/index.js.map +1 -1
  185. package/dist/views/Edit/Default/index.scss +2 -2
  186. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  187. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +34 -6
  188. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  189. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  190. package/dist/views/ForgotPassword/index.js +12 -4
  191. package/dist/views/ForgotPassword/index.js.map +1 -1
  192. package/dist/views/List/Default/index.d.ts.map +1 -1
  193. package/dist/views/List/Default/index.js +28 -30
  194. package/dist/views/List/Default/index.js.map +1 -1
  195. package/dist/views/List/Default/index.scss +7 -17
  196. package/dist/views/List/index.d.ts.map +1 -1
  197. package/dist/views/List/index.js +33 -12
  198. package/dist/views/List/index.js.map +1 -1
  199. package/dist/views/List/meta.d.ts +2 -2
  200. package/dist/views/List/meta.d.ts.map +1 -1
  201. package/dist/views/List/meta.js.map +1 -1
  202. package/dist/views/LivePreview/Preview/index.js +1 -1
  203. package/dist/views/LivePreview/Preview/index.js.map +1 -1
  204. package/dist/views/LivePreview/Toolbar/index.d.ts +2 -2
  205. package/dist/views/LivePreview/Toolbar/index.d.ts.map +1 -1
  206. package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
  207. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  208. package/dist/views/LivePreview/index.client.js.map +1 -1
  209. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  210. package/dist/views/Login/LoginField/index.d.ts +9 -0
  211. package/dist/views/Login/LoginField/index.d.ts.map +1 -0
  212. package/dist/views/Login/LoginField/index.js +46 -0
  213. package/dist/views/Login/LoginField/index.js.map +1 -0
  214. package/dist/views/Login/LoginForm/index.d.ts +3 -0
  215. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  216. package/dist/views/Login/LoginForm/index.js +40 -51
  217. package/dist/views/Login/LoginForm/index.js.map +1 -1
  218. package/dist/views/Login/index.d.ts.map +1 -1
  219. package/dist/views/Login/index.js +7 -0
  220. package/dist/views/Login/index.js.map +1 -1
  221. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  222. package/dist/views/Logout/LogoutClient.js +7 -2
  223. package/dist/views/Logout/LogoutClient.js.map +1 -1
  224. package/dist/views/Logout/index.d.ts +2 -2
  225. package/dist/views/Logout/index.d.ts.map +1 -1
  226. package/dist/views/Logout/index.js +2 -2
  227. package/dist/views/Logout/index.js.map +1 -1
  228. package/dist/views/NotFound/index.client.d.ts.map +1 -1
  229. package/dist/views/NotFound/index.client.js +3 -2
  230. package/dist/views/NotFound/index.client.js.map +1 -1
  231. package/dist/views/NotFound/index.d.ts.map +1 -1
  232. package/dist/views/NotFound/index.js +17 -22
  233. package/dist/views/NotFound/index.js.map +1 -1
  234. package/dist/views/NotFound/meta.d.ts +2 -2
  235. package/dist/views/NotFound/meta.d.ts.map +1 -1
  236. package/dist/views/NotFound/meta.js.map +1 -1
  237. package/dist/views/ResetPassword/index.client.d.ts.map +1 -1
  238. package/dist/views/ResetPassword/index.client.js +19 -31
  239. package/dist/views/ResetPassword/index.client.js.map +1 -1
  240. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  241. package/dist/views/ResetPassword/index.js +7 -3
  242. package/dist/views/ResetPassword/index.js.map +1 -1
  243. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  244. package/dist/views/Root/getViewFromConfig.js +5 -1
  245. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  246. package/dist/views/Root/index.d.ts +2 -2
  247. package/dist/views/Root/index.d.ts.map +1 -1
  248. package/dist/views/Root/index.js +14 -8
  249. package/dist/views/Root/index.js.map +1 -1
  250. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  251. package/dist/views/Unauthorized/index.js +1 -0
  252. package/dist/views/Unauthorized/index.js.map +1 -1
  253. package/dist/views/Verify/index.d.ts.map +1 -1
  254. package/dist/views/Verify/index.js +9 -2
  255. package/dist/views/Verify/index.js.map +1 -1
  256. package/dist/views/Version/Default/SetStepNav.d.ts +1 -3
  257. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  258. package/dist/views/Version/Default/SetStepNav.js +28 -13
  259. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  260. package/dist/views/Version/Default/index.d.ts.map +1 -1
  261. package/dist/views/Version/Default/index.js +15 -15
  262. package/dist/views/Version/Default/index.js.map +1 -1
  263. package/dist/views/Version/Default/types.d.ts +3 -3
  264. package/dist/views/Version/Default/types.d.ts.map +1 -1
  265. package/dist/views/Version/Default/types.js.map +1 -1
  266. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  267. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
  268. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +41 -21
  269. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  270. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +3 -4
  271. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  272. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  273. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +3 -3
  274. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  275. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  276. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +11 -11
  277. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +3 -2
  278. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  279. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +1 -2
  280. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
  281. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  282. package/dist/views/Version/RenderFieldsToDiff/types.d.ts +3 -4
  283. package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  284. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  285. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  286. package/dist/views/Version/Restore/index.js +46 -13
  287. package/dist/views/Version/Restore/index.js.map +1 -1
  288. package/dist/views/Version/Restore/index.scss +31 -0
  289. package/dist/views/Version/Restore/types.d.ts +1 -0
  290. package/dist/views/Version/Restore/types.d.ts.map +1 -1
  291. package/dist/views/Version/Restore/types.js.map +1 -1
  292. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  293. package/dist/views/Version/SelectComparison/index.js +49 -28
  294. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  295. package/dist/views/Version/SelectComparison/index.scss +1 -1
  296. package/dist/views/Version/SelectComparison/types.d.ts +2 -1
  297. package/dist/views/Version/SelectComparison/types.d.ts.map +1 -1
  298. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  299. package/dist/views/Version/index.d.ts +1 -1
  300. package/dist/views/Version/index.d.ts.map +1 -1
  301. package/dist/views/Version/index.js +55 -43
  302. package/dist/views/Version/index.js.map +1 -1
  303. package/dist/views/Versions/buildColumns.d.ts +3 -1
  304. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  305. package/dist/views/Versions/buildColumns.js +7 -4
  306. package/dist/views/Versions/buildColumns.js.map +1 -1
  307. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +7 -1
  308. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  309. package/dist/views/Versions/cells/AutosaveCell/index.js +31 -13
  310. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  311. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  312. package/dist/views/Versions/cells/CreatedAt/index.js +10 -4
  313. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  314. package/dist/views/Versions/getLatestVersion.d.ts +14 -0
  315. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -0
  316. package/dist/views/Versions/getLatestVersion.js +34 -0
  317. package/dist/views/Versions/getLatestVersion.js.map +1 -0
  318. package/dist/views/Versions/index.client.d.ts.map +1 -1
  319. package/dist/views/Versions/index.client.js +3 -2
  320. package/dist/views/Versions/index.client.js.map +1 -1
  321. package/dist/views/Versions/index.d.ts.map +1 -1
  322. package/dist/views/Versions/index.js +45 -3
  323. package/dist/views/Versions/index.js.map +1 -1
  324. package/dist/withPayload.d.ts.map +1 -1
  325. package/dist/withPayload.js +18 -11
  326. package/dist/withPayload.js.map +1 -1
  327. package/package.json +20 -26
  328. package/dist/prod/index.js +0 -62
  329. package/dist/prod/payload/payload-favicon-dark.png +0 -0
  330. package/dist/prod/payload/payload-favicon-light.png +0 -0
  331. package/dist/prod/payload/static-og-image.png +0 -0
  332. package/dist/views/Version/shared.d.ts +0 -9
  333. package/dist/views/Version/shared.d.ts.map +0 -1
  334. package/dist/views/Version/shared.js +0 -10
  335. package/dist/views/Version/shared.js.map +0 -1
  336. package/dist/webpackEntry.d.ts +0 -5
  337. package/dist/webpackEntry.d.ts.map +0 -1
  338. package/dist/webpackEntry.js +0 -6
  339. package/dist/webpackEntry.js.map +0 -1
@@ -31,16 +31,23 @@ const withPayload = (nextConfig = {})=>{
31
31
  env: {
32
32
  ...nextConfig?.env || {}
33
33
  },
34
+ outputFileTracingExcludes: {
35
+ ...nextConfig?.outputFileTracingExcludes || {},
36
+ '**/*': [
37
+ ...nextConfig?.outputFileTracingExcludes?.['**/*'] || [],
38
+ 'drizzle-kit',
39
+ 'drizzle-kit/api'
40
+ ]
41
+ },
42
+ outputFileTracingIncludes: {
43
+ ...nextConfig?.outputFileTracingIncludes || {},
44
+ '**/*': [
45
+ ...nextConfig?.outputFileTracingIncludes?.['**/*'] || [],
46
+ '@libsql/client'
47
+ ]
48
+ },
34
49
  experimental: {
35
50
  ...nextConfig?.experimental || {},
36
- outputFileTracingExcludes: {
37
- '**/*': [
38
- ...nextConfig.experimental?.outputFileTracingExcludes?.['**/*'] || [],
39
- 'drizzle-kit',
40
- 'drizzle-kit/payload',
41
- 'libsql'
42
- ]
43
- },
44
51
  turbo: {
45
52
  ...nextConfig?.experimental?.turbo || {},
46
53
  resolveAlias: {
@@ -75,9 +82,9 @@ const withPayload = (nextConfig = {})=>{
75
82
  serverExternalPackages: [
76
83
  ...nextConfig?.serverExternalPackages || [],
77
84
  'drizzle-kit',
78
- 'drizzle-kit/payload',
79
- 'libsql',
85
+ 'drizzle-kit/api',
80
86
  'pino',
87
+ 'libsql',
81
88
  'pino-pretty',
82
89
  'graphql'
83
90
  ],
@@ -88,7 +95,7 @@ const withPayload = (nextConfig = {})=>{
88
95
  externals: [
89
96
  ...incomingWebpackConfig?.externals || [],
90
97
  'drizzle-kit',
91
- 'drizzle-kit/payload',
98
+ 'drizzle-kit/api',
92
99
  'sharp',
93
100
  'libsql'
94
101
  ],
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/withPayload.js"],"names":[],"mappings":"AAAA;;;;GAIG;;;;;;;;;;;IAqHH,OAA0B;eAA1B;;IApHa,WAAW;eAAX;;;AAAN,MAAM,cAAc,CAAC,aAAa,CAAC,CAAC;IACzC,IAAI,WAAW,YAAY,EAAE,YAAY,SAAS;QAChD,QAAQ,IAAI,CACV;IAEJ;IAEA;;GAEC,GACD,MAAM,WAAW;QACf,GAAG,UAAU;QACb,KAAK;YACH,GAAI,YAAY,OAAO,CAAC,CAAC;QAC3B;QACA,cAAc;YACZ,GAAI,YAAY,gBAAgB,CAAC,CAAC;YAClC,2BAA2B;gBACzB,QAAQ;uBACF,WAAW,YAAY,EAAE,2BAA2B,CAAC,OAAO,IAAI,EAAE;oBACtE;oBACA;oBACA;iBACD;YACH;YACA,OAAO;gBACL,GAAI,YAAY,cAAc,SAAS,CAAC,CAAC;gBACzC,cAAc;oBACZ,GAAI,YAAY,cAAc,OAAO,gBAAgB,CAAC,CAAC;oBACvD,wBAAwB;gBAC1B;YACF;QACF;QACA,SAAS;YACP,MAAM,oBAAoB,aAAa,aAAa,MAAM,WAAW,OAAO,KAAK,EAAE;YAEnF,OAAO;mBACD,qBAAqB,EAAE;gBAC3B;oBACE,QAAQ;oBACR,SAAS;wBACP;4BACE,KAAK;4BACL,OAAO;wBACT;wBACA;4BACE,KAAK;4BACL,OAAO;wBACT;wBACA;4BACE,KAAK;4BACL,OAAO;wBACT;qBACD;gBACH;aACD;QACH;QACA,wBAAwB;eAClB,YAAY,0BAA0B,EAAE;YAC5C;YACA;YACA;YACA;YACA;YACA;SACD;QACD,SAAS,CAAC,eAAe;YACvB,MAAM,wBACJ,OAAO,WAAW,OAAO,KAAK,aAC1B,WAAW,OAAO,CAAC,eAAe,kBAClC;YAEN,OAAO;gBACL,GAAG,qBAAqB;gBACxB,WAAW;uBACL,uBAAuB,aAAa,EAAE;oBAC1C;oBACA;oBACA;oBACA;iBACD;gBACD,gBAAgB;uBACV,uBAAuB,kBAAkB,EAAE;oBAC/C;wBAAE,QAAQ;oBAAwC;oBAClD;wBAAE,MAAM;oBAAwC;oBAChD;wBAAE,QAAQ;oBAAuC;oBACjD;wBAAE,MAAM;oBAAuC;iBAChD;gBACD,SAAS;oBACP,GAAI,uBAAuB,WAAW,CAAC,CAAC;oBACxC,OAAO;wBACL,GAAI,uBAAuB,SAAS,SAAS,CAAC,CAAC;oBACjD;oBACA,UAAU;wBACR,GAAI,uBAAuB,SAAS,YAAY,CAAC,CAAC;wBAClD,iCAAiC;wBACjC,oBAAoB;wBACpB,MAAM;wBACN,UAAU;wBACV,6BAA6B;wBAC7B,QAAQ;wBACR,kBAAkB;wBAClB,eAAe;oBACjB;gBACF;YACF;QACF;IACF;IAEA,IAAI,WAAW,QAAQ,EAAE;QACvB,SAAS,GAAG,CAAC,cAAc,GAAG,WAAW,QAAQ;IACnD;IAEA,OAAO;AACT;MAEA,WAAe","file":"withPayload.cjs","sourcesContent":["/**\n * @param {import('next').NextConfig} nextConfig\n *\n * @returns {import('next').NextConfig}\n * */\nexport const withPayload = (nextConfig = {}) => {\n if (nextConfig.experimental?.staleTimes?.dynamic) {\n console.warn(\n 'Payload detected a non-zero value for the `staleTimes.dynamic` option in your Next.js config. This may cause stale data to load in the Admin Panel. To clear this warning, remove the `staleTimes.dynamic` option from your Next.js config or set it to 0. In the future, Next.js may support scoping this option to specific routes.',\n )\n }\n\n /**\n * @type {import('next').NextConfig}\n */\n const toReturn = {\n ...nextConfig,\n env: {\n ...(nextConfig?.env || {}),\n },\n experimental: {\n ...(nextConfig?.experimental || {}),\n outputFileTracingExcludes: {\n '**/*': [\n ...(nextConfig.experimental?.outputFileTracingExcludes?.['**/*'] || []),\n 'drizzle-kit',\n 'drizzle-kit/payload',\n 'libsql',\n ],\n },\n turbo: {\n ...(nextConfig?.experimental?.turbo || {}),\n resolveAlias: {\n ...(nextConfig?.experimental?.turbo?.resolveAlias || {}),\n 'payload-mock-package': 'payload-mock-package',\n },\n },\n },\n headers: async () => {\n const headersFromConfig = 'headers' in nextConfig ? await nextConfig.headers() : []\n\n return [\n ...(headersFromConfig || []),\n {\n source: '/:path*',\n headers: [\n {\n key: 'Accept-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Vary',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Critical-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n ],\n },\n ]\n },\n serverExternalPackages: [\n ...(nextConfig?.serverExternalPackages || []),\n 'drizzle-kit',\n 'drizzle-kit/payload',\n 'libsql',\n 'pino',\n 'pino-pretty',\n 'graphql',\n ],\n webpack: (webpackConfig, webpackOptions) => {\n const incomingWebpackConfig =\n typeof nextConfig.webpack === 'function'\n ? nextConfig.webpack(webpackConfig, webpackOptions)\n : webpackConfig\n\n return {\n ...incomingWebpackConfig,\n externals: [\n ...(incomingWebpackConfig?.externals || []),\n 'drizzle-kit',\n 'drizzle-kit/payload',\n 'sharp',\n 'libsql',\n ],\n ignoreWarnings: [\n ...(incomingWebpackConfig?.ignoreWarnings || []),\n { module: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { module: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n ],\n resolve: {\n ...(incomingWebpackConfig?.resolve || {}),\n alias: {\n ...(incomingWebpackConfig?.resolve?.alias || {}),\n },\n fallback: {\n ...(incomingWebpackConfig?.resolve?.fallback || {}),\n '@aws-sdk/credential-providers': false,\n '@mongodb-js/zstd': false,\n aws4: false,\n kerberos: false,\n 'mongodb-client-encryption': false,\n snappy: false,\n 'supports-color': false,\n 'yocto-queue': false,\n },\n },\n }\n },\n }\n\n if (nextConfig.basePath) {\n toReturn.env.NEXT_BASE_PATH = nextConfig.basePath\n }\n\n return toReturn\n}\n\nexport default withPayload\n"]}
1
+ {"version":3,"sources":["../../src/withPayload.js"],"names":[],"mappings":"AAAA;;;;GAIG;;;;;;;;;;;IAyHH,OAA0B;eAA1B;;IAxHa,WAAW;eAAX;;;AAAN,MAAM,cAAc,CAAC,aAAa,CAAC,CAAC;IACzC,IAAI,WAAW,YAAY,EAAE,YAAY,SAAS;QAChD,QAAQ,IAAI,CACV;IAEJ;IAEA;;GAEC,GACD,MAAM,WAAW;QACf,GAAG,UAAU;QACb,KAAK;YACH,GAAI,YAAY,OAAO,CAAC,CAAC;QAC3B;QACA,2BAA2B;YACzB,GAAI,YAAY,6BAA6B,CAAC,CAAC;YAC/C,QAAQ;mBACF,YAAY,2BAA2B,CAAC,OAAO,IAAI,EAAE;gBACzD;gBACA;aACD;QACH;QACA,2BAA2B;YACzB,GAAI,YAAY,6BAA6B,CAAC,CAAC;YAC/C,QAAQ;mBAAK,YAAY,2BAA2B,CAAC,OAAO,IAAI,EAAE;gBAAG;aAAiB;QACxF;QACA,cAAc;YACZ,GAAI,YAAY,gBAAgB,CAAC,CAAC;YAClC,OAAO;gBACL,GAAI,YAAY,cAAc,SAAS,CAAC,CAAC;gBACzC,cAAc;oBACZ,GAAI,YAAY,cAAc,OAAO,gBAAgB,CAAC,CAAC;oBACvD,wBAAwB;gBAC1B;YACF;QACF;QACA,SAAS;YACP,MAAM,oBAAoB,aAAa,aAAa,MAAM,WAAW,OAAO,KAAK,EAAE;YAEnF,OAAO;mBACD,qBAAqB,EAAE;gBAC3B;oBACE,QAAQ;oBACR,SAAS;wBACP;4BACE,KAAK;4BACL,OAAO;wBACT;wBACA;4BACE,KAAK;4BACL,OAAO;wBACT;wBACA;4BACE,KAAK;4BACL,OAAO;wBACT;qBACD;gBACH;aACD;QACH;QACA,wBAAwB;eAClB,YAAY,0BAA0B,EAAE;YAC5C;YACA;YACA;YACA;YACA;YACA;SACD;QACD,SAAS,CAAC,eAAe;YACvB,MAAM,wBACJ,OAAO,WAAW,OAAO,KAAK,aAC1B,WAAW,OAAO,CAAC,eAAe,kBAClC;YAEN,OAAO;gBACL,GAAG,qBAAqB;gBACxB,WAAW;uBACL,uBAAuB,aAAa,EAAE;oBAC1C;oBACA;oBACA;oBACA;iBACD;gBACD,gBAAgB;uBACV,uBAAuB,kBAAkB,EAAE;oBAC/C;wBAAE,QAAQ;oBAAwC;oBAClD;wBAAE,MAAM;oBAAwC;oBAChD;wBAAE,QAAQ;oBAAuC;oBACjD;wBAAE,MAAM;oBAAuC;iBAChD;gBACD,SAAS;oBACP,GAAI,uBAAuB,WAAW,CAAC,CAAC;oBACxC,OAAO;wBACL,GAAI,uBAAuB,SAAS,SAAS,CAAC,CAAC;oBACjD;oBACA,UAAU;wBACR,GAAI,uBAAuB,SAAS,YAAY,CAAC,CAAC;wBAClD,iCAAiC;wBACjC,oBAAoB;wBACpB,MAAM;wBACN,UAAU;wBACV,6BAA6B;wBAC7B,QAAQ;wBACR,kBAAkB;wBAClB,eAAe;oBACjB;gBACF;YACF;QACF;IACF;IAEA,IAAI,WAAW,QAAQ,EAAE;QACvB,SAAS,GAAG,CAAC,cAAc,GAAG,WAAW,QAAQ;IACnD;IAEA,OAAO;AACT;MAEA,WAAe","file":"withPayload.cjs","sourcesContent":["/**\n * @param {import('next').NextConfig} nextConfig\n *\n * @returns {import('next').NextConfig}\n * */\nexport const withPayload = (nextConfig = {}) => {\n if (nextConfig.experimental?.staleTimes?.dynamic) {\n console.warn(\n 'Payload detected a non-zero value for the `staleTimes.dynamic` option in your Next.js config. This may cause stale data to load in the Admin Panel. To clear this warning, remove the `staleTimes.dynamic` option from your Next.js config or set it to 0. In the future, Next.js may support scoping this option to specific routes.',\n )\n }\n\n /**\n * @type {import('next').NextConfig}\n */\n const toReturn = {\n ...nextConfig,\n env: {\n ...(nextConfig?.env || {}),\n },\n outputFileTracingExcludes: {\n ...(nextConfig?.outputFileTracingExcludes || {}),\n '**/*': [\n ...(nextConfig?.outputFileTracingExcludes?.['**/*'] || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n ],\n },\n outputFileTracingIncludes: {\n ...(nextConfig?.outputFileTracingIncludes || {}),\n '**/*': [...(nextConfig?.outputFileTracingIncludes?.['**/*'] || []), '@libsql/client'],\n },\n experimental: {\n ...(nextConfig?.experimental || {}),\n turbo: {\n ...(nextConfig?.experimental?.turbo || {}),\n resolveAlias: {\n ...(nextConfig?.experimental?.turbo?.resolveAlias || {}),\n 'payload-mock-package': 'payload-mock-package',\n },\n },\n },\n headers: async () => {\n const headersFromConfig = 'headers' in nextConfig ? await nextConfig.headers() : []\n\n return [\n ...(headersFromConfig || []),\n {\n source: '/:path*',\n headers: [\n {\n key: 'Accept-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Vary',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Critical-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n ],\n },\n ]\n },\n serverExternalPackages: [\n ...(nextConfig?.serverExternalPackages || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n 'pino',\n 'libsql',\n 'pino-pretty',\n 'graphql',\n ],\n webpack: (webpackConfig, webpackOptions) => {\n const incomingWebpackConfig =\n typeof nextConfig.webpack === 'function'\n ? nextConfig.webpack(webpackConfig, webpackOptions)\n : webpackConfig\n\n return {\n ...incomingWebpackConfig,\n externals: [\n ...(incomingWebpackConfig?.externals || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n 'sharp',\n 'libsql',\n ],\n ignoreWarnings: [\n ...(incomingWebpackConfig?.ignoreWarnings || []),\n { module: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { module: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n ],\n resolve: {\n ...(incomingWebpackConfig?.resolve || {}),\n alias: {\n ...(incomingWebpackConfig?.resolve?.alias || {}),\n },\n fallback: {\n ...(incomingWebpackConfig?.resolve?.fallback || {}),\n '@aws-sdk/credential-providers': false,\n '@mongodb-js/zstd': false,\n aws4: false,\n kerberos: false,\n 'mongodb-client-encryption': false,\n snappy: false,\n 'supports-color': false,\n 'yocto-queue': false,\n },\n },\n }\n },\n }\n\n if (nextConfig.basePath) {\n toReturn.env.NEXT_BASE_PATH = nextConfig.basePath\n }\n\n return toReturn\n}\n\nexport default withPayload\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TabLink.d.ts","sourceRoot":"","sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/TabLink.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAK9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,UAAU,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAA;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAmDA,CAAA"}
1
+ {"version":3,"file":"TabLink.d.ts","sourceRoot":"","sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/TabLink.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAM9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,UAAU,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAA;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAwDA,CAAA"}
@@ -1,6 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { useSearchParams } from '@payloadcms/ui';
4
+ import { formatAdminURL } from '@payloadcms/ui/shared';
4
5
  import LinkImport from 'next/link.js';
5
6
  import { useParams, usePathname } from 'next/navigation.js';
6
7
  import React from 'react';
@@ -12,7 +13,10 @@ export const DocumentTabLink = ({ adminRoute, ariaLabel, baseClass, children, hr
12
13
  const locale = 'locale' in searchParams && typeof searchParams.locale === 'string' ? searchParams.locale : undefined;
13
14
  const [entityType, entitySlug, segmentThree, segmentFour, ...rest] = params.segments || [];
14
15
  const isCollection = entityType === 'collections';
15
- let docPath = `${adminRoute}/${isCollection ? 'collections' : 'globals'}/${entitySlug}`;
16
+ let docPath = formatAdminURL({
17
+ adminRoute,
18
+ path: `/${isCollection ? 'collections' : 'globals'}/${entitySlug}`
19
+ });
16
20
  if (isCollection && segmentThree) {
17
21
  // doc ID
18
22
  docPath += `/${segmentThree}`;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/TabLink.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedConfig } from 'payload'\n\nimport { useSearchParams } from '@payloadcms/ui'\nimport LinkImport from 'next/link.js'\nimport { useParams, usePathname } from 'next/navigation.js'\nimport React from 'react'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const DocumentTabLink: React.FC<{\n adminRoute: SanitizedConfig['routes']['admin']\n ariaLabel?: string\n baseClass: string\n children?: React.ReactNode\n href: string\n isActive?: boolean\n isCollection?: boolean\n newTab?: boolean\n}> = ({\n adminRoute,\n ariaLabel,\n baseClass,\n children,\n href: hrefFromProps,\n isActive: isActiveFromProps,\n newTab,\n}) => {\n const pathname = usePathname()\n const params = useParams()\n\n const { searchParams } = useSearchParams()\n\n const locale =\n 'locale' in searchParams && typeof searchParams.locale === 'string'\n ? searchParams.locale\n : undefined\n\n const [entityType, entitySlug, segmentThree, segmentFour, ...rest] = params.segments || []\n const isCollection = entityType === 'collections'\n let docPath = `${adminRoute}/${isCollection ? 'collections' : 'globals'}/${entitySlug}`\n if (isCollection && segmentThree) {\n // doc ID\n docPath += `/${segmentThree}`\n }\n\n const href = `${docPath}${hrefFromProps}`\n // separated the two so it doesn't break checks against pathname\n const hrefWithLocale = `${href}${locale ? `?locale=${locale}` : ''}`\n\n const isActive =\n (href === docPath && pathname === docPath) ||\n (href !== docPath && pathname.startsWith(href)) ||\n isActiveFromProps\n\n return (\n <li\n aria-label={ariaLabel}\n className={[baseClass, isActive && `${baseClass}--active`].filter(Boolean).join(' ')}\n >\n <Link\n className={`${baseClass}__link`}\n href={!isActive || href !== pathname ? hrefWithLocale : ''}\n {...(newTab && { rel: 'noopener noreferrer', target: '_blank' })}\n tabIndex={isActive ? -1 : 0}\n >\n {children}\n </Link>\n </li>\n )\n}\n"],"names":["useSearchParams","LinkImport","useParams","usePathname","React","Link","default","DocumentTabLink","adminRoute","ariaLabel","baseClass","children","href","hrefFromProps","isActive","isActiveFromProps","newTab","pathname","params","searchParams","locale","undefined","entityType","entitySlug","segmentThree","segmentFour","rest","segments","isCollection","docPath","hrefWithLocale","startsWith","li","aria-label","className","filter","Boolean","join","rel","target","tabIndex"],"mappings":"AAAA;;AAGA,SAASA,eAAe,QAAQ,iBAAgB;AAChD,OAAOC,gBAAgB,eAAc;AACrC,SAASC,SAAS,EAAEC,WAAW,QAAQ,qBAAoB;AAC3D,OAAOC,WAAW,QAAO;AAEzB,MAAMC,OAAQJ,WAAWK,OAAO,IAAIL;AAEpC,OAAO,MAAMM,kBASR,CAAC,EACJC,UAAU,EACVC,SAAS,EACTC,SAAS,EACTC,QAAQ,EACRC,MAAMC,aAAa,EACnBC,UAAUC,iBAAiB,EAC3BC,MAAM,EACP;IACC,MAAMC,WAAWd;IACjB,MAAMe,SAAShB;IAEf,MAAM,EAAEiB,YAAY,EAAE,GAAGnB;IAEzB,MAAMoB,SACJ,YAAYD,gBAAgB,OAAOA,aAAaC,MAAM,KAAK,WACvDD,aAAaC,MAAM,GACnBC;IAEN,MAAM,CAACC,YAAYC,YAAYC,cAAcC,aAAa,GAAGC,KAAK,GAAGR,OAAOS,QAAQ,IAAI,EAAE;IAC1F,MAAMC,eAAeN,eAAe;IACpC,IAAIO,UAAU,CAAC,EAAErB,WAAW,CAAC,EAAEoB,eAAe,gBAAgB,UAAU,CAAC,EAAEL,WAAW,CAAC;IACvF,IAAIK,gBAAgBJ,cAAc;QAChC,SAAS;QACTK,WAAW,CAAC,CAAC,EAAEL,aAAa,CAAC;IAC/B;IAEA,MAAMZ,OAAO,CAAC,EAAEiB,QAAQ,EAAEhB,cAAc,CAAC;IACzC,gEAAgE;IAChE,MAAMiB,iBAAiB,CAAC,EAAElB,KAAK,EAAEQ,SAAS,CAAC,QAAQ,EAAEA,OAAO,CAAC,GAAG,GAAG,CAAC;IAEpE,MAAMN,WACJ,AAACF,SAASiB,WAAWZ,aAAaY,WACjCjB,SAASiB,WAAWZ,SAASc,UAAU,CAACnB,SACzCG;IAEF,qBACE,KAACiB;QACCC,cAAYxB;QACZyB,WAAW;YAACxB;YAAWI,YAAY,CAAC,EAAEJ,UAAU,QAAQ,CAAC;SAAC,CAACyB,MAAM,CAACC,SAASC,IAAI,CAAC;kBAEhF,cAAA,KAAChC;YACC6B,WAAW,CAAC,EAAExB,UAAU,MAAM,CAAC;YAC/BE,MAAM,CAACE,YAAYF,SAASK,WAAWa,iBAAiB;YACvD,GAAId,UAAU;gBAAEsB,KAAK;gBAAuBC,QAAQ;YAAS,CAAC;YAC/DC,UAAU1B,WAAW,CAAC,IAAI;sBAEzBH;;;AAIT,EAAC"}
1
+ {"version":3,"sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/TabLink.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedConfig } from 'payload'\n\nimport { useSearchParams } from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport LinkImport from 'next/link.js'\nimport { useParams, usePathname } from 'next/navigation.js'\nimport React from 'react'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const DocumentTabLink: React.FC<{\n adminRoute: SanitizedConfig['routes']['admin']\n ariaLabel?: string\n baseClass: string\n children?: React.ReactNode\n href: string\n isActive?: boolean\n isCollection?: boolean\n newTab?: boolean\n}> = ({\n adminRoute,\n ariaLabel,\n baseClass,\n children,\n href: hrefFromProps,\n isActive: isActiveFromProps,\n newTab,\n}) => {\n const pathname = usePathname()\n const params = useParams()\n\n const { searchParams } = useSearchParams()\n\n const locale =\n 'locale' in searchParams && typeof searchParams.locale === 'string'\n ? searchParams.locale\n : undefined\n\n const [entityType, entitySlug, segmentThree, segmentFour, ...rest] = params.segments || []\n const isCollection = entityType === 'collections'\n\n let docPath = formatAdminURL({\n adminRoute,\n path: `/${isCollection ? 'collections' : 'globals'}/${entitySlug}`,\n })\n\n if (isCollection && segmentThree) {\n // doc ID\n docPath += `/${segmentThree}`\n }\n\n const href = `${docPath}${hrefFromProps}`\n // separated the two so it doesn't break checks against pathname\n const hrefWithLocale = `${href}${locale ? `?locale=${locale}` : ''}`\n\n const isActive =\n (href === docPath && pathname === docPath) ||\n (href !== docPath && pathname.startsWith(href)) ||\n isActiveFromProps\n\n return (\n <li\n aria-label={ariaLabel}\n className={[baseClass, isActive && `${baseClass}--active`].filter(Boolean).join(' ')}\n >\n <Link\n className={`${baseClass}__link`}\n href={!isActive || href !== pathname ? hrefWithLocale : ''}\n {...(newTab && { rel: 'noopener noreferrer', target: '_blank' })}\n tabIndex={isActive ? -1 : 0}\n >\n {children}\n </Link>\n </li>\n )\n}\n"],"names":["useSearchParams","formatAdminURL","LinkImport","useParams","usePathname","React","Link","default","DocumentTabLink","adminRoute","ariaLabel","baseClass","children","href","hrefFromProps","isActive","isActiveFromProps","newTab","pathname","params","searchParams","locale","undefined","entityType","entitySlug","segmentThree","segmentFour","rest","segments","isCollection","docPath","path","hrefWithLocale","startsWith","li","aria-label","className","filter","Boolean","join","rel","target","tabIndex"],"mappings":"AAAA;;AAGA,SAASA,eAAe,QAAQ,iBAAgB;AAChD,SAASC,cAAc,QAAQ,wBAAuB;AACtD,OAAOC,gBAAgB,eAAc;AACrC,SAASC,SAAS,EAAEC,WAAW,QAAQ,qBAAoB;AAC3D,OAAOC,WAAW,QAAO;AAEzB,MAAMC,OAAQJ,WAAWK,OAAO,IAAIL;AAEpC,OAAO,MAAMM,kBASR,CAAC,EACJC,UAAU,EACVC,SAAS,EACTC,SAAS,EACTC,QAAQ,EACRC,MAAMC,aAAa,EACnBC,UAAUC,iBAAiB,EAC3BC,MAAM,EACP;IACC,MAAMC,WAAWd;IACjB,MAAMe,SAAShB;IAEf,MAAM,EAAEiB,YAAY,EAAE,GAAGpB;IAEzB,MAAMqB,SACJ,YAAYD,gBAAgB,OAAOA,aAAaC,MAAM,KAAK,WACvDD,aAAaC,MAAM,GACnBC;IAEN,MAAM,CAACC,YAAYC,YAAYC,cAAcC,aAAa,GAAGC,KAAK,GAAGR,OAAOS,QAAQ,IAAI,EAAE;IAC1F,MAAMC,eAAeN,eAAe;IAEpC,IAAIO,UAAU7B,eAAe;QAC3BQ;QACAsB,MAAM,CAAC,CAAC,EAAEF,eAAe,gBAAgB,UAAU,CAAC,EAAEL,WAAW,CAAC;IACpE;IAEA,IAAIK,gBAAgBJ,cAAc;QAChC,SAAS;QACTK,WAAW,CAAC,CAAC,EAAEL,aAAa,CAAC;IAC/B;IAEA,MAAMZ,OAAO,CAAC,EAAEiB,QAAQ,EAAEhB,cAAc,CAAC;IACzC,gEAAgE;IAChE,MAAMkB,iBAAiB,CAAC,EAAEnB,KAAK,EAAEQ,SAAS,CAAC,QAAQ,EAAEA,OAAO,CAAC,GAAG,GAAG,CAAC;IAEpE,MAAMN,WACJ,AAACF,SAASiB,WAAWZ,aAAaY,WACjCjB,SAASiB,WAAWZ,SAASe,UAAU,CAACpB,SACzCG;IAEF,qBACE,KAACkB;QACCC,cAAYzB;QACZ0B,WAAW;YAACzB;YAAWI,YAAY,CAAC,EAAEJ,UAAU,QAAQ,CAAC;SAAC,CAAC0B,MAAM,CAACC,SAASC,IAAI,CAAC;kBAEhF,cAAA,KAACjC;YACC8B,WAAW,CAAC,EAAEzB,UAAU,MAAM,CAAC;YAC/BE,MAAM,CAACE,YAAYF,SAASK,WAAWc,iBAAiB;YACvD,GAAIf,UAAU;gBAAEuB,KAAK;gBAAuBC,QAAQ;YAAS,CAAC;YAC/DC,UAAU3B,WAAW,CAAC,IAAI;sBAEzBH;;;AAIT,EAAC"}
@@ -2,5 +2,5 @@ import type { DocumentTabConfig, DocumentTabProps } from 'payload';
2
2
  import React from 'react';
3
3
  import './index.scss';
4
4
  export declare const baseClass = "doc-tab";
5
- export declare const DocumentTab: React.FC<DocumentTabProps & DocumentTabConfig>;
5
+ export declare const DocumentTab: React.FC<DocumentTabConfig & DocumentTabProps>;
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAElE,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,YAAY,CAAA;AAElC,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,GAAG,iBAAiB,CAwEtE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAElE,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,YAAY,CAAA;AAElC,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAwEtE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/index.tsx"],"sourcesContent":["import type { DocumentTabConfig, DocumentTabProps } from 'payload'\n\nimport React, { Fragment } from 'react'\n\nimport { DocumentTabLink } from './TabLink.js'\nimport './index.scss'\n\nexport const baseClass = 'doc-tab'\n\nexport const DocumentTab: React.FC<DocumentTabProps & DocumentTabConfig> = (props) => {\n const {\n Pill,\n apiURL,\n collectionConfig,\n condition,\n config,\n globalConfig,\n href: tabHref,\n i18n,\n isActive: tabIsActive,\n label,\n newTab,\n permissions,\n } = props\n\n const { routes } = config\n\n let href = typeof tabHref === 'string' ? tabHref : ''\n let isActive = typeof tabIsActive === 'boolean' ? tabIsActive : false\n\n if (typeof tabHref === 'function') {\n href = tabHref({\n apiURL,\n collection: collectionConfig,\n global: globalConfig,\n routes,\n })\n }\n\n if (typeof tabIsActive === 'function') {\n isActive = tabIsActive({\n href,\n })\n }\n\n const meetsCondition =\n !condition ||\n (condition && Boolean(condition({ collectionConfig, config, globalConfig, permissions })))\n\n if (meetsCondition) {\n const labelToRender =\n typeof label === 'function'\n ? label({\n t: i18n.t,\n })\n : label\n\n return (\n <DocumentTabLink\n adminRoute={routes.admin}\n ariaLabel={labelToRender}\n baseClass={baseClass}\n href={href}\n isActive={isActive}\n isCollection={!!collectionConfig && !globalConfig}\n newTab={newTab}\n >\n <span className={`${baseClass}__label`}>\n {labelToRender}\n {Pill && (\n <Fragment>\n &nbsp;\n <Pill />\n </Fragment>\n )}\n </span>\n </DocumentTabLink>\n )\n }\n\n return null\n}\n"],"names":["React","Fragment","DocumentTabLink","baseClass","DocumentTab","props","Pill","apiURL","collectionConfig","condition","config","globalConfig","href","tabHref","i18n","isActive","tabIsActive","label","newTab","permissions","routes","collection","global","meetsCondition","Boolean","labelToRender","t","adminRoute","admin","ariaLabel","isCollection","span","className"],"mappings":";AAEA,OAAOA,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,eAAe,QAAQ,eAAc;AAG9C,OAAO,MAAMC,YAAY,UAAS;AAElC,OAAO,MAAMC,cAA8D,CAACC;IAC1E,MAAM,EACJC,IAAI,EACJC,MAAM,EACNC,gBAAgB,EAChBC,SAAS,EACTC,MAAM,EACNC,YAAY,EACZC,MAAMC,OAAO,EACbC,IAAI,EACJC,UAAUC,WAAW,EACrBC,KAAK,EACLC,MAAM,EACNC,WAAW,EACZ,GAAGd;IAEJ,MAAM,EAAEe,MAAM,EAAE,GAAGV;IAEnB,IAAIE,OAAO,OAAOC,YAAY,WAAWA,UAAU;IACnD,IAAIE,WAAW,OAAOC,gBAAgB,YAAYA,cAAc;IAEhE,IAAI,OAAOH,YAAY,YAAY;QACjCD,OAAOC,QAAQ;YACbN;YACAc,YAAYb;YACZc,QAAQX;YACRS;QACF;IACF;IAEA,IAAI,OAAOJ,gBAAgB,YAAY;QACrCD,WAAWC,YAAY;YACrBJ;QACF;IACF;IAEA,MAAMW,iBACJ,CAACd,aACAA,aAAae,QAAQf,UAAU;QAAED;QAAkBE;QAAQC;QAAcQ;IAAY;IAExF,IAAII,gBAAgB;QAClB,MAAME,gBACJ,OAAOR,UAAU,aACbA,MAAM;YACJS,GAAGZ,KAAKY,CAAC;QACX,KACAT;QAEN,qBACE,KAACf;YACCyB,YAAYP,OAAOQ,KAAK;YACxBC,WAAWJ;YACXtB,WAAWA;YACXS,MAAMA;YACNG,UAAUA;YACVe,cAAc,CAAC,CAACtB,oBAAoB,CAACG;YACrCO,QAAQA;sBAER,cAAA,MAACa;gBAAKC,WAAW,CAAC,EAAE7B,UAAU,OAAO,CAAC;;oBACnCsB;oBACAnB,sBACC,MAACL;;4BAAS;0CAER,KAACK;;;;;;IAMb;IAEA,OAAO;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/index.tsx"],"sourcesContent":["import type { DocumentTabConfig, DocumentTabProps } from 'payload'\n\nimport React, { Fragment } from 'react'\n\nimport { DocumentTabLink } from './TabLink.js'\nimport './index.scss'\n\nexport const baseClass = 'doc-tab'\n\nexport const DocumentTab: React.FC<DocumentTabConfig & DocumentTabProps> = (props) => {\n const {\n Pill,\n apiURL,\n collectionConfig,\n condition,\n config,\n globalConfig,\n href: tabHref,\n i18n,\n isActive: tabIsActive,\n label,\n newTab,\n permissions,\n } = props\n\n const { routes } = config\n\n let href = typeof tabHref === 'string' ? tabHref : ''\n let isActive = typeof tabIsActive === 'boolean' ? tabIsActive : false\n\n if (typeof tabHref === 'function') {\n href = tabHref({\n apiURL,\n collection: collectionConfig,\n global: globalConfig,\n routes,\n })\n }\n\n if (typeof tabIsActive === 'function') {\n isActive = tabIsActive({\n href,\n })\n }\n\n const meetsCondition =\n !condition ||\n (condition && Boolean(condition({ collectionConfig, config, globalConfig, permissions })))\n\n if (meetsCondition) {\n const labelToRender =\n typeof label === 'function'\n ? label({\n t: i18n.t,\n })\n : label\n\n return (\n <DocumentTabLink\n adminRoute={routes.admin}\n ariaLabel={labelToRender}\n baseClass={baseClass}\n href={href}\n isActive={isActive}\n isCollection={!!collectionConfig && !globalConfig}\n newTab={newTab}\n >\n <span className={`${baseClass}__label`}>\n {labelToRender}\n {Pill && (\n <Fragment>\n &nbsp;\n <Pill />\n </Fragment>\n )}\n </span>\n </DocumentTabLink>\n )\n }\n\n return null\n}\n"],"names":["React","Fragment","DocumentTabLink","baseClass","DocumentTab","props","Pill","apiURL","collectionConfig","condition","config","globalConfig","href","tabHref","i18n","isActive","tabIsActive","label","newTab","permissions","routes","collection","global","meetsCondition","Boolean","labelToRender","t","adminRoute","admin","ariaLabel","isCollection","span","className"],"mappings":";AAEA,OAAOA,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,eAAe,QAAQ,eAAc;AAG9C,OAAO,MAAMC,YAAY,UAAS;AAElC,OAAO,MAAMC,cAA8D,CAACC;IAC1E,MAAM,EACJC,IAAI,EACJC,MAAM,EACNC,gBAAgB,EAChBC,SAAS,EACTC,MAAM,EACNC,YAAY,EACZC,MAAMC,OAAO,EACbC,IAAI,EACJC,UAAUC,WAAW,EACrBC,KAAK,EACLC,MAAM,EACNC,WAAW,EACZ,GAAGd;IAEJ,MAAM,EAAEe,MAAM,EAAE,GAAGV;IAEnB,IAAIE,OAAO,OAAOC,YAAY,WAAWA,UAAU;IACnD,IAAIE,WAAW,OAAOC,gBAAgB,YAAYA,cAAc;IAEhE,IAAI,OAAOH,YAAY,YAAY;QACjCD,OAAOC,QAAQ;YACbN;YACAc,YAAYb;YACZc,QAAQX;YACRS;QACF;IACF;IAEA,IAAI,OAAOJ,gBAAgB,YAAY;QACrCD,WAAWC,YAAY;YACrBJ;QACF;IACF;IAEA,MAAMW,iBACJ,CAACd,aACAA,aAAae,QAAQf,UAAU;QAAED;QAAkBE;QAAQC;QAAcQ;IAAY;IAExF,IAAII,gBAAgB;QAClB,MAAME,gBACJ,OAAOR,UAAU,aACbA,MAAM;YACJS,GAAGZ,KAAKY,CAAC;QACX,KACAT;QAEN,qBACE,KAACf;YACCyB,YAAYP,OAAOQ,KAAK;YACxBC,WAAWJ;YACXtB,WAAWA;YACXS,MAAMA;YACNG,UAAUA;YACVe,cAAc,CAAC,CAACtB,oBAAoB,CAACG;YACrCO,QAAQA;sBAER,cAAA,MAACa;gBAAKC,WAAW,CAAC,EAAE7B,UAAU,OAAO,CAAC;;oBACnCsB;oBACAnB,sBACC,MAACL;;4BAAS;0CAER,KAACK;;;;;;IAMb;IAEA,OAAO;AACT,EAAC"}
@@ -35,7 +35,7 @@
35
35
  position: absolute;
36
36
  width: 100%;
37
37
  height: 100%;
38
- border-radius: 2px;
38
+ border-radius: var(--style-radius-s);
39
39
  background-color: var(--theme-elevation-50);
40
40
  opacity: 0;
41
41
  }
@@ -51,6 +51,7 @@
51
51
  }
52
52
 
53
53
  &--active {
54
+ font-weight: 600;
54
55
  &::before {
55
56
  opacity: 1;
56
57
  background-color: var(--theme-elevation-100);
@@ -78,14 +79,15 @@
78
79
  gap: 4px;
79
80
  width: 100%;
80
81
  height: 100%;
81
- padding: calc(var(--base) / 2) calc(var(--base));
82
+ line-height: base(1.2);
83
+ padding: base(0.2) base(0.6);
82
84
  }
83
85
 
84
86
  &__count {
85
- min-width: 22px;
87
+ line-height: base(0.8);
88
+ min-width: base(0.8);
86
89
  text-align: center;
87
- padding: 2px 7px;
88
90
  background-color: var(--theme-elevation-100);
89
- border-radius: 1px;
91
+ border-radius: var(--style-radius-s);
90
92
  }
91
93
  }
@@ -37,7 +37,6 @@
37
37
 
38
38
  &__tabs {
39
39
  padding: 0;
40
- margin-left: var(--gutter-h);
41
40
  }
42
41
  }
43
42
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAiBhC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAkBhC,CAAA"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { useDocumentInfo } from '@payloadcms/ui';
4
- import React, { Fragment } from 'react';
4
+ import React from 'react';
5
5
  import { baseClass } from '../../Tab/index.js';
6
6
  export const VersionsPill = ()=>{
7
7
  const { versions } = useDocumentInfo();
@@ -9,14 +9,12 @@ export const VersionsPill = ()=>{
9
9
  // The pill is already conditionally rendered to begin with based on whether the document is version-enabled
10
10
  // documents that are version enabled _always_ have at least one version
11
11
  const hasVersions = versions?.totalDocs > 0;
12
- return /*#__PURE__*/ _jsx("span", {
12
+ if (hasVersions) return /*#__PURE__*/ _jsx("span", {
13
13
  className: [
14
14
  `${baseClass}__count`,
15
15
  hasVersions ? `${baseClass}__count--has-count` : ''
16
16
  ].filter(Boolean).join(' '),
17
- children: hasVersions ? versions.totalDocs.toString() : /*#__PURE__*/ _jsx(Fragment, {
18
- children: " "
19
- })
17
+ children: versions.totalDocs.toString()
20
18
  });
21
19
  };
22
20
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.tsx"],"sourcesContent":["'use client'\nimport { useDocumentInfo } from '@payloadcms/ui'\nimport React, { Fragment } from 'react'\n\nimport { baseClass } from '../../Tab/index.js'\n\nexport const VersionsPill: React.FC = () => {\n const { versions } = useDocumentInfo()\n\n // To prevent CLS (versions are currently loaded client-side), render non-breaking space if there are no versions\n // The pill is already conditionally rendered to begin with based on whether the document is version-enabled\n // documents that are version enabled _always_ have at least one version\n const hasVersions = versions?.totalDocs > 0\n\n return (\n <span\n className={[`${baseClass}__count`, hasVersions ? `${baseClass}__count--has-count` : '']\n .filter(Boolean)\n .join(' ')}\n >\n {hasVersions ? versions.totalDocs.toString() : <Fragment>&nbsp;</Fragment>}\n </span>\n )\n}\n"],"names":["useDocumentInfo","React","Fragment","baseClass","VersionsPill","versions","hasVersions","totalDocs","span","className","filter","Boolean","join","toString"],"mappings":"AAAA;;AACA,SAASA,eAAe,QAAQ,iBAAgB;AAChD,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,SAAS,QAAQ,qBAAoB;AAE9C,OAAO,MAAMC,eAAyB;IACpC,MAAM,EAAEC,QAAQ,EAAE,GAAGL;IAErB,iHAAiH;IACjH,4GAA4G;IAC5G,wEAAwE;IACxE,MAAMM,cAAcD,UAAUE,YAAY;IAE1C,qBACE,KAACC;QACCC,WAAW;YAAC,CAAC,EAAEN,UAAU,OAAO,CAAC;YAAEG,cAAc,CAAC,EAAEH,UAAU,kBAAkB,CAAC,GAAG;SAAG,CACpFO,MAAM,CAACC,SACPC,IAAI,CAAC;kBAEPN,cAAcD,SAASE,SAAS,CAACM,QAAQ,mBAAK,KAACX;sBAAS;;;AAG/D,EAAC"}
1
+ {"version":3,"sources":["../../../../../../src/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.tsx"],"sourcesContent":["'use client'\nimport { useDocumentInfo } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { baseClass } from '../../Tab/index.js'\n\nexport const VersionsPill: React.FC = () => {\n const { versions } = useDocumentInfo()\n\n // To prevent CLS (versions are currently loaded client-side), render non-breaking space if there are no versions\n // The pill is already conditionally rendered to begin with based on whether the document is version-enabled\n // documents that are version enabled _always_ have at least one version\n const hasVersions = versions?.totalDocs > 0\n\n if (hasVersions)\n return (\n <span\n className={[`${baseClass}__count`, hasVersions ? `${baseClass}__count--has-count` : '']\n .filter(Boolean)\n .join(' ')}\n >\n {versions.totalDocs.toString()}\n </span>\n )\n}\n"],"names":["useDocumentInfo","React","baseClass","VersionsPill","versions","hasVersions","totalDocs","span","className","filter","Boolean","join","toString"],"mappings":"AAAA;;AACA,SAASA,eAAe,QAAQ,iBAAgB;AAChD,OAAOC,WAAW,QAAO;AAEzB,SAASC,SAAS,QAAQ,qBAAoB;AAE9C,OAAO,MAAMC,eAAyB;IACpC,MAAM,EAAEC,QAAQ,EAAE,GAAGJ;IAErB,iHAAiH;IACjH,4GAA4G;IAC5G,wEAAwE;IACxE,MAAMK,cAAcD,UAAUE,YAAY;IAE1C,IAAID,aACF,qBACE,KAACE;QACCC,WAAW;YAAC,CAAC,EAAEN,UAAU,OAAO,CAAC;YAAEG,cAAc,CAAC,EAAEH,UAAU,kBAAkB,CAAC,GAAG;SAAG,CACpFO,MAAM,CAACC,SACPC,IAAI,CAAC;kBAEPP,SAASE,SAAS,CAACM,QAAQ;;AAGpC,EAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { DocumentTabConfig } from 'payload';
2
2
  export declare const documentViewKeys: string[];
3
3
  export type DocumentViewKey = (typeof documentViewKeys)[number];
4
- export declare const tabs: Record<DocumentViewKey, DocumentTabConfig & {
4
+ export declare const tabs: Record<DocumentViewKey, {
5
5
  order?: number;
6
- }>;
6
+ } & DocumentTabConfig>;
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/DocumentHeader/Tabs/tabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAIhD,eAAO,MAAM,gBAAgB,UAQ5B,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/D,eAAO,MAAM,IAAI,EAAE,MAAM,CACvB,eAAe,EACf,iBAAiB,GAAG;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CA6DF,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/DocumentHeader/Tabs/tabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAIhD,eAAO,MAAM,gBAAgB,UAQ5B,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/D,eAAO,MAAM,IAAI,EAAE,MAAM,CACvB,eAAe,EACf;IACE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,iBAAiB,CA6DtB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/DocumentHeader/Tabs/tabs/index.tsx"],"sourcesContent":["import type { DocumentTabConfig } from 'payload'\n\nimport { VersionsPill } from './VersionsPill/index.js'\n\nexport const documentViewKeys = [\n 'API',\n 'Default',\n 'LivePreview',\n 'References',\n 'Relationships',\n 'Version',\n 'Versions',\n]\n\nexport type DocumentViewKey = (typeof documentViewKeys)[number]\n\nexport const tabs: Record<\n DocumentViewKey,\n DocumentTabConfig & {\n order?: number // TODO: expose this to the globalConfig config\n }\n> = {\n API: {\n condition: ({ collectionConfig, globalConfig }) =>\n (collectionConfig && !collectionConfig?.admin?.hideAPIURL) ||\n (globalConfig && !globalConfig?.admin?.hideAPIURL),\n href: '/api',\n label: 'API',\n order: 1000,\n },\n Default: {\n href: '',\n // isActive: ({ href, location }) =>\n // location.pathname === href || location.pathname === `${href}/create`,\n label: ({ t }) => t('general:edit'),\n order: 0,\n },\n LivePreview: {\n condition: ({ collectionConfig, config, globalConfig }) => {\n if (collectionConfig) {\n return Boolean(\n config?.admin?.livePreview?.collections?.includes(collectionConfig.slug) ||\n collectionConfig?.admin?.livePreview,\n )\n }\n\n if (globalConfig) {\n return Boolean(\n config?.admin?.livePreview?.globals?.includes(globalConfig.slug) ||\n globalConfig?.admin?.livePreview,\n )\n }\n\n return false\n },\n href: '/preview',\n label: ({ t }) => t('general:livePreview'),\n order: 100,\n },\n References: {\n condition: () => false,\n },\n Relationships: {\n condition: () => false,\n },\n Version: {\n condition: () => false,\n },\n Versions: {\n Pill: VersionsPill,\n condition: ({ collectionConfig, globalConfig, permissions }) =>\n Boolean(\n (collectionConfig?.versions &&\n permissions?.collections?.[collectionConfig?.slug]?.readVersions?.permission) ||\n (globalConfig?.versions &&\n permissions?.globals?.[globalConfig?.slug]?.readVersions?.permission),\n ),\n href: '/versions',\n label: ({ t }) => t('version:versions'),\n order: 200,\n },\n}\n"],"names":["VersionsPill","documentViewKeys","tabs","API","condition","collectionConfig","globalConfig","admin","hideAPIURL","href","label","order","Default","t","LivePreview","config","Boolean","livePreview","collections","includes","slug","globals","References","Relationships","Version","Versions","Pill","permissions","versions","readVersions","permission"],"mappings":"AAEA,SAASA,YAAY,QAAQ,0BAAyB;AAEtD,OAAO,MAAMC,mBAAmB;IAC9B;IACA;IACA;IACA;IACA;IACA;IACA;CACD,CAAA;AAID,OAAO,MAAMC,OAKT;IACFC,KAAK;QACHC,WAAW,CAAC,EAAEC,gBAAgB,EAAEC,YAAY,EAAE,GAC5C,AAACD,oBAAoB,CAACA,kBAAkBE,OAAOC,cAC9CF,gBAAgB,CAACA,cAAcC,OAAOC;QACzCC,MAAM;QACNC,OAAO;QACPC,OAAO;IACT;IACAC,SAAS;QACPH,MAAM;QACN,oCAAoC;QACpC,wEAAwE;QACxEC,OAAO,CAAC,EAAEG,CAAC,EAAE,GAAKA,EAAE;QACpBF,OAAO;IACT;IACAG,aAAa;QACXV,WAAW,CAAC,EAAEC,gBAAgB,EAAEU,MAAM,EAAET,YAAY,EAAE;YACpD,IAAID,kBAAkB;gBACpB,OAAOW,QACLD,QAAQR,OAAOU,aAAaC,aAAaC,SAASd,iBAAiBe,IAAI,KACrEf,kBAAkBE,OAAOU;YAE/B;YAEA,IAAIX,cAAc;gBAChB,OAAOU,QACLD,QAAQR,OAAOU,aAAaI,SAASF,SAASb,aAAac,IAAI,KAC7Dd,cAAcC,OAAOU;YAE3B;YAEA,OAAO;QACT;QACAR,MAAM;QACNC,OAAO,CAAC,EAAEG,CAAC,EAAE,GAAKA,EAAE;QACpBF,OAAO;IACT;IACAW,YAAY;QACVlB,WAAW,IAAM;IACnB;IACAmB,eAAe;QACbnB,WAAW,IAAM;IACnB;IACAoB,SAAS;QACPpB,WAAW,IAAM;IACnB;IACAqB,UAAU;QACRC,MAAM1B;QACNI,WAAW,CAAC,EAAEC,gBAAgB,EAAEC,YAAY,EAAEqB,WAAW,EAAE,GACzDX,QACE,AAACX,kBAAkBuB,YACjBD,aAAaT,aAAa,CAACb,kBAAkBe,KAAK,EAAES,cAAcC,cACjExB,cAAcsB,YACbD,aAAaN,SAAS,CAACf,cAAcc,KAAK,EAAES,cAAcC;QAElErB,MAAM;QACNC,OAAO,CAAC,EAAEG,CAAC,EAAE,GAAKA,EAAE;QACpBF,OAAO;IACT;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../../src/elements/DocumentHeader/Tabs/tabs/index.tsx"],"sourcesContent":["import type { DocumentTabConfig } from 'payload'\n\nimport { VersionsPill } from './VersionsPill/index.js'\n\nexport const documentViewKeys = [\n 'API',\n 'Default',\n 'LivePreview',\n 'References',\n 'Relationships',\n 'Version',\n 'Versions',\n]\n\nexport type DocumentViewKey = (typeof documentViewKeys)[number]\n\nexport const tabs: Record<\n DocumentViewKey,\n {\n order?: number // TODO: expose this to the globalConfig config\n } & DocumentTabConfig\n> = {\n API: {\n condition: ({ collectionConfig, globalConfig }) =>\n (collectionConfig && !collectionConfig?.admin?.hideAPIURL) ||\n (globalConfig && !globalConfig?.admin?.hideAPIURL),\n href: '/api',\n label: 'API',\n order: 1000,\n },\n Default: {\n href: '',\n // isActive: ({ href, location }) =>\n // location.pathname === href || location.pathname === `${href}/create`,\n label: ({ t }) => t('general:edit'),\n order: 0,\n },\n LivePreview: {\n condition: ({ collectionConfig, config, globalConfig }) => {\n if (collectionConfig) {\n return Boolean(\n config?.admin?.livePreview?.collections?.includes(collectionConfig.slug) ||\n collectionConfig?.admin?.livePreview,\n )\n }\n\n if (globalConfig) {\n return Boolean(\n config?.admin?.livePreview?.globals?.includes(globalConfig.slug) ||\n globalConfig?.admin?.livePreview,\n )\n }\n\n return false\n },\n href: '/preview',\n label: ({ t }) => t('general:livePreview'),\n order: 100,\n },\n References: {\n condition: () => false,\n },\n Relationships: {\n condition: () => false,\n },\n Version: {\n condition: () => false,\n },\n Versions: {\n Pill: VersionsPill,\n condition: ({ collectionConfig, globalConfig, permissions }) =>\n Boolean(\n (collectionConfig?.versions &&\n permissions?.collections?.[collectionConfig?.slug]?.readVersions?.permission) ||\n (globalConfig?.versions &&\n permissions?.globals?.[globalConfig?.slug]?.readVersions?.permission),\n ),\n href: '/versions',\n label: ({ t }) => t('version:versions'),\n order: 200,\n },\n}\n"],"names":["VersionsPill","documentViewKeys","tabs","API","condition","collectionConfig","globalConfig","admin","hideAPIURL","href","label","order","Default","t","LivePreview","config","Boolean","livePreview","collections","includes","slug","globals","References","Relationships","Version","Versions","Pill","permissions","versions","readVersions","permission"],"mappings":"AAEA,SAASA,YAAY,QAAQ,0BAAyB;AAEtD,OAAO,MAAMC,mBAAmB;IAC9B;IACA;IACA;IACA;IACA;IACA;IACA;CACD,CAAA;AAID,OAAO,MAAMC,OAKT;IACFC,KAAK;QACHC,WAAW,CAAC,EAAEC,gBAAgB,EAAEC,YAAY,EAAE,GAC5C,AAACD,oBAAoB,CAACA,kBAAkBE,OAAOC,cAC9CF,gBAAgB,CAACA,cAAcC,OAAOC;QACzCC,MAAM;QACNC,OAAO;QACPC,OAAO;IACT;IACAC,SAAS;QACPH,MAAM;QACN,oCAAoC;QACpC,wEAAwE;QACxEC,OAAO,CAAC,EAAEG,CAAC,EAAE,GAAKA,EAAE;QACpBF,OAAO;IACT;IACAG,aAAa;QACXV,WAAW,CAAC,EAAEC,gBAAgB,EAAEU,MAAM,EAAET,YAAY,EAAE;YACpD,IAAID,kBAAkB;gBACpB,OAAOW,QACLD,QAAQR,OAAOU,aAAaC,aAAaC,SAASd,iBAAiBe,IAAI,KACrEf,kBAAkBE,OAAOU;YAE/B;YAEA,IAAIX,cAAc;gBAChB,OAAOU,QACLD,QAAQR,OAAOU,aAAaI,SAASF,SAASb,aAAac,IAAI,KAC7Dd,cAAcC,OAAOU;YAE3B;YAEA,OAAO;QACT;QACAR,MAAM;QACNC,OAAO,CAAC,EAAEG,CAAC,EAAE,GAAKA,EAAE;QACpBF,OAAO;IACT;IACAW,YAAY;QACVlB,WAAW,IAAM;IACnB;IACAmB,eAAe;QACbnB,WAAW,IAAM;IACnB;IACAoB,SAAS;QACPpB,WAAW,IAAM;IACnB;IACAqB,UAAU;QACRC,MAAM1B;QACNI,WAAW,CAAC,EAAEC,gBAAgB,EAAEC,YAAY,EAAEqB,WAAW,EAAE,GACzDX,QACE,AAACX,kBAAkBuB,YACjBD,aAAaT,aAAa,CAACb,kBAAkBe,KAAK,EAAES,cAAcC,cACjExB,cAAcsB,YACbD,aAAaN,SAAS,CAACf,cAAcc,KAAK,EAAES,cAAcC;QAElErB,MAAM;QACNC,OAAO,CAAC,EAAEG,CAAC,EAAE,GAAKA,EAAE;QACpBF,OAAO;IACT;AACF,EAAC"}
@@ -40,8 +40,6 @@
40
40
 
41
41
  &__title {
42
42
  width: 100%;
43
- padding-left: var(--gutter-h);
44
- padding-right: var(--gutter-h);
45
43
  }
46
44
  }
47
45
 
@@ -0,0 +1,14 @@
1
+ import type { FieldPermissions, LoginWithUsernameOptions } from 'payload';
2
+ import React from 'react';
3
+ type RenderEmailAndUsernameFieldsProps = {
4
+ className?: string;
5
+ loginWithUsername?: LoginWithUsernameOptions | false;
6
+ operation?: 'create' | 'update';
7
+ permissions?: {
8
+ [fieldName: string]: FieldPermissions;
9
+ };
10
+ readOnly: boolean;
11
+ };
12
+ export declare function RenderEmailAndUsernameFields(props: RenderEmailAndUsernameFieldsProps): React.JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/EmailAndUsername/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAIzE,OAAO,KAAK,MAAM,OAAO,CAAA;AAmDzB,KAAK,iCAAiC,GAAG;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,wBAAwB,GAAG,KAAK,CAAA;IACpD,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC/B,WAAW,CAAC,EAAE;QACZ,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAAA;KACtC,CAAA;IACD,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AACD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,iCAAiC,qBAoCpF"}
@@ -0,0 +1,85 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { EmailField, RenderFields, TextField, useTranslation } from '@payloadcms/ui';
4
+ import { email, username } from 'payload/shared';
5
+ import React from 'react';
6
+ function EmailFieldComponent(props) {
7
+ const { loginWithUsername } = props;
8
+ const { t } = useTranslation();
9
+ const requireEmail = !loginWithUsername || loginWithUsername && loginWithUsername.requireEmail;
10
+ const showEmailField = !loginWithUsername || loginWithUsername?.requireEmail || loginWithUsername?.allowEmailLogin;
11
+ if (showEmailField) {
12
+ return /*#__PURE__*/ _jsx(EmailField, {
13
+ autoComplete: "off",
14
+ label: t('general:email'),
15
+ name: "email",
16
+ path: "email",
17
+ required: requireEmail,
18
+ validate: email
19
+ });
20
+ }
21
+ return null;
22
+ }
23
+ function UsernameFieldComponent(props) {
24
+ const { loginWithUsername } = props;
25
+ const { t } = useTranslation();
26
+ const requireUsername = loginWithUsername && loginWithUsername.requireUsername;
27
+ const showUsernameField = Boolean(loginWithUsername);
28
+ if (showUsernameField) {
29
+ return /*#__PURE__*/ _jsx(TextField, {
30
+ label: t('authentication:username'),
31
+ name: "username",
32
+ path: "username",
33
+ required: requireUsername,
34
+ validate: username
35
+ });
36
+ }
37
+ return null;
38
+ }
39
+ export function RenderEmailAndUsernameFields(props) {
40
+ const { className, loginWithUsername, operation, permissions, readOnly } = props;
41
+ return /*#__PURE__*/ _jsx(RenderFields, {
42
+ className: className,
43
+ fieldMap: [
44
+ {
45
+ name: 'email',
46
+ type: 'text',
47
+ CustomField: /*#__PURE__*/ _jsx(EmailFieldComponent, {
48
+ loginWithUsername: loginWithUsername
49
+ }),
50
+ cellComponentProps: null,
51
+ fieldComponentProps: {
52
+ type: 'email',
53
+ autoComplete: 'off',
54
+ readOnly
55
+ },
56
+ fieldIsPresentational: false,
57
+ isFieldAffectingData: true,
58
+ localized: false
59
+ },
60
+ {
61
+ name: 'username',
62
+ type: 'text',
63
+ CustomField: /*#__PURE__*/ _jsx(UsernameFieldComponent, {
64
+ loginWithUsername: loginWithUsername
65
+ }),
66
+ cellComponentProps: null,
67
+ fieldComponentProps: {
68
+ type: 'text',
69
+ readOnly
70
+ },
71
+ fieldIsPresentational: false,
72
+ isFieldAffectingData: true,
73
+ localized: false
74
+ }
75
+ ],
76
+ forceRender: true,
77
+ operation: operation,
78
+ path: "",
79
+ permissions: permissions,
80
+ readOnly: readOnly,
81
+ schemaPath: ""
82
+ });
83
+ }
84
+
85
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/elements/EmailAndUsername/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldPermissions, LoginWithUsernameOptions } from 'payload'\n\nimport { EmailField, RenderFields, TextField, useTranslation } from '@payloadcms/ui'\nimport { email, username } from 'payload/shared'\nimport React from 'react'\n\ntype Props = {\n loginWithUsername?: LoginWithUsernameOptions | false\n}\nfunction EmailFieldComponent(props: Props) {\n const { loginWithUsername } = props\n const { t } = useTranslation()\n\n const requireEmail = !loginWithUsername || (loginWithUsername && loginWithUsername.requireEmail)\n const showEmailField =\n !loginWithUsername || loginWithUsername?.requireEmail || loginWithUsername?.allowEmailLogin\n\n if (showEmailField) {\n return (\n <EmailField\n autoComplete=\"off\"\n label={t('general:email')}\n name=\"email\"\n path=\"email\"\n required={requireEmail}\n validate={email}\n />\n )\n }\n\n return null\n}\n\nfunction UsernameFieldComponent(props: Props) {\n const { loginWithUsername } = props\n const { t } = useTranslation()\n\n const requireUsername = loginWithUsername && loginWithUsername.requireUsername\n const showUsernameField = Boolean(loginWithUsername)\n\n if (showUsernameField) {\n return (\n <TextField\n label={t('authentication:username')}\n name=\"username\"\n path=\"username\"\n required={requireUsername}\n validate={username}\n />\n )\n }\n\n return null\n}\n\ntype RenderEmailAndUsernameFieldsProps = {\n className?: string\n loginWithUsername?: LoginWithUsernameOptions | false\n operation?: 'create' | 'update'\n permissions?: {\n [fieldName: string]: FieldPermissions\n }\n readOnly: boolean\n}\nexport function RenderEmailAndUsernameFields(props: RenderEmailAndUsernameFieldsProps) {\n const { className, loginWithUsername, operation, permissions, readOnly } = props\n\n return (\n <RenderFields\n className={className}\n fieldMap={[\n {\n name: 'email',\n type: 'text',\n CustomField: <EmailFieldComponent loginWithUsername={loginWithUsername} />,\n cellComponentProps: null,\n fieldComponentProps: { type: 'email', autoComplete: 'off', readOnly },\n fieldIsPresentational: false,\n isFieldAffectingData: true,\n localized: false,\n },\n {\n name: 'username',\n type: 'text',\n CustomField: <UsernameFieldComponent loginWithUsername={loginWithUsername} />,\n cellComponentProps: null,\n fieldComponentProps: { type: 'text', readOnly },\n fieldIsPresentational: false,\n isFieldAffectingData: true,\n localized: false,\n },\n ]}\n forceRender\n operation={operation}\n path=\"\"\n permissions={permissions}\n readOnly={readOnly}\n schemaPath=\"\"\n />\n )\n}\n"],"names":["EmailField","RenderFields","TextField","useTranslation","email","username","React","EmailFieldComponent","props","loginWithUsername","t","requireEmail","showEmailField","allowEmailLogin","autoComplete","label","name","path","required","validate","UsernameFieldComponent","requireUsername","showUsernameField","Boolean","RenderEmailAndUsernameFields","className","operation","permissions","readOnly","fieldMap","type","CustomField","cellComponentProps","fieldComponentProps","fieldIsPresentational","isFieldAffectingData","localized","forceRender","schemaPath"],"mappings":"AAAA;;AAIA,SAASA,UAAU,EAAEC,YAAY,EAAEC,SAAS,EAAEC,cAAc,QAAQ,iBAAgB;AACpF,SAASC,KAAK,EAAEC,QAAQ,QAAQ,iBAAgB;AAChD,OAAOC,WAAW,QAAO;AAKzB,SAASC,oBAAoBC,KAAY;IACvC,MAAM,EAAEC,iBAAiB,EAAE,GAAGD;IAC9B,MAAM,EAAEE,CAAC,EAAE,GAAGP;IAEd,MAAMQ,eAAe,CAACF,qBAAsBA,qBAAqBA,kBAAkBE,YAAY;IAC/F,MAAMC,iBACJ,CAACH,qBAAqBA,mBAAmBE,gBAAgBF,mBAAmBI;IAE9E,IAAID,gBAAgB;QAClB,qBACE,KAACZ;YACCc,cAAa;YACbC,OAAOL,EAAE;YACTM,MAAK;YACLC,MAAK;YACLC,UAAUP;YACVQ,UAAUf;;IAGhB;IAEA,OAAO;AACT;AAEA,SAASgB,uBAAuBZ,KAAY;IAC1C,MAAM,EAAEC,iBAAiB,EAAE,GAAGD;IAC9B,MAAM,EAAEE,CAAC,EAAE,GAAGP;IAEd,MAAMkB,kBAAkBZ,qBAAqBA,kBAAkBY,eAAe;IAC9E,MAAMC,oBAAoBC,QAAQd;IAElC,IAAIa,mBAAmB;QACrB,qBACE,KAACpB;YACCa,OAAOL,EAAE;YACTM,MAAK;YACLC,MAAK;YACLC,UAAUG;YACVF,UAAUd;;IAGhB;IAEA,OAAO;AACT;AAWA,OAAO,SAASmB,6BAA6BhB,KAAwC;IACnF,MAAM,EAAEiB,SAAS,EAAEhB,iBAAiB,EAAEiB,SAAS,EAAEC,WAAW,EAAEC,QAAQ,EAAE,GAAGpB;IAE3E,qBACE,KAACP;QACCwB,WAAWA;QACXI,UAAU;YACR;gBACEb,MAAM;gBACNc,MAAM;gBACNC,2BAAa,KAACxB;oBAAoBE,mBAAmBA;;gBACrDuB,oBAAoB;gBACpBC,qBAAqB;oBAAEH,MAAM;oBAAShB,cAAc;oBAAOc;gBAAS;gBACpEM,uBAAuB;gBACvBC,sBAAsB;gBACtBC,WAAW;YACb;YACA;gBACEpB,MAAM;gBACNc,MAAM;gBACNC,2BAAa,KAACX;oBAAuBX,mBAAmBA;;gBACxDuB,oBAAoB;gBACpBC,qBAAqB;oBAAEH,MAAM;oBAAQF;gBAAS;gBAC9CM,uBAAuB;gBACvBC,sBAAsB;gBACtBC,WAAW;YACb;SACD;QACDC,WAAW;QACXX,WAAWA;QACXT,MAAK;QACLU,aAAaA;QACbC,UAAUA;QACVU,YAAW;;AAGjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/LeaveWithoutSaving/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiC,MAAM,OAAO,CAAA;AAErD,OAAO,cAAc,CAAA;AA6CrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAyBtC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/LeaveWithoutSaving/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiC,MAAM,OAAO,CAAA;AAErD,OAAO,cAAc,CAAA;AA+CrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAyBtC,CAAA"}
@@ -46,10 +46,12 @@ const Component = ({ isActive, onCancel, onConfirm })=>{
46
46
  /*#__PURE__*/ _jsx(Button, {
47
47
  buttonStyle: "secondary",
48
48
  onClick: onCancel,
49
+ size: "large",
49
50
  children: t('general:stayOnThisPage')
50
51
  }),
51
52
  /*#__PURE__*/ _jsx(Button, {
52
53
  onClick: onConfirm,
54
+ size: "large",
53
55
  children: t('general:leaveAnyway')
54
56
  })
55
57
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/LeaveWithoutSaving/index.tsx"],"sourcesContent":["'use client'\nimport { Button, Modal, useAuth, useFormModified, useModal, useTranslation } from '@payloadcms/ui'\nimport React, { useCallback, useEffect } from 'react'\n\nimport './index.scss'\nimport { usePreventLeave } from './usePreventLeave.js'\n\nconst modalSlug = 'leave-without-saving'\n\nconst baseClass = 'leave-without-saving'\n\nconst Component: React.FC<{\n isActive: boolean\n onCancel: () => void\n onConfirm: () => void\n}> = ({ isActive, onCancel, onConfirm }) => {\n const { closeModal, modalState, openModal } = useModal()\n const { t } = useTranslation()\n\n // Manually check for modal state as 'esc' key will not trigger the nav inactivity\n // useEffect(() => {\n // if (!modalState?.[modalSlug]?.isOpen && isActive) {\n // onCancel()\n // }\n // }, [modalState, isActive, onCancel])\n\n useEffect(() => {\n if (isActive) openModal(modalSlug)\n else closeModal(modalSlug)\n }, [isActive, openModal, closeModal])\n\n return (\n <Modal className={baseClass} onClose={onCancel} slug={modalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('general:leaveWithoutSaving')}</h1>\n <p>{t('general:changesNotSaved')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button buttonStyle=\"secondary\" onClick={onCancel}>\n {t('general:stayOnThisPage')}\n </Button>\n <Button onClick={onConfirm}>{t('general:leaveAnyway')}</Button>\n </div>\n </div>\n </Modal>\n )\n}\n\nexport const LeaveWithoutSaving: React.FC = () => {\n const modified = useFormModified()\n const { user } = useAuth()\n const [show, setShow] = React.useState(false)\n const [hasAccepted, setHasAccepted] = React.useState(false)\n\n const prevent = Boolean(modified && user)\n\n const onPrevent = useCallback(() => {\n setShow(true)\n }, [])\n\n usePreventLeave({ hasAccepted, onPrevent, prevent })\n\n return (\n <Component\n isActive={show}\n onCancel={() => {\n setShow(false)\n }}\n onConfirm={() => {\n setHasAccepted(true)\n }}\n />\n )\n}\n"],"names":["Button","Modal","useAuth","useFormModified","useModal","useTranslation","React","useCallback","useEffect","usePreventLeave","modalSlug","baseClass","Component","isActive","onCancel","onConfirm","closeModal","modalState","openModal","t","className","onClose","slug","div","h1","p","buttonStyle","onClick","LeaveWithoutSaving","modified","user","show","setShow","useState","hasAccepted","setHasAccepted","prevent","Boolean","onPrevent"],"mappings":"AAAA;;AACA,SAASA,MAAM,EAAEC,KAAK,EAAEC,OAAO,EAAEC,eAAe,EAAEC,QAAQ,EAAEC,cAAc,QAAQ,iBAAgB;AAClG,OAAOC,SAASC,WAAW,EAAEC,SAAS,QAAQ,QAAO;AAGrD,SAASC,eAAe,QAAQ,uBAAsB;AAEtD,MAAMC,YAAY;AAElB,MAAMC,YAAY;AAElB,MAAMC,YAID,CAAC,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,SAAS,EAAE;IACrC,MAAM,EAAEC,UAAU,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGd;IAC9C,MAAM,EAAEe,CAAC,EAAE,GAAGd;IAEd,kFAAkF;IAClF,oBAAoB;IACpB,wDAAwD;IACxD,iBAAiB;IACjB,MAAM;IACN,uCAAuC;IAEvCG,UAAU;QACR,IAAIK,UAAUK,UAAUR;aACnBM,WAAWN;IAClB,GAAG;QAACG;QAAUK;QAAWF;KAAW;IAEpC,qBACE,KAACf;QAAMmB,WAAWT;QAAWU,SAASP;QAAUQ,MAAMZ;kBACpD,cAAA,MAACa;YAAIH,WAAW,CAAC,EAAET,UAAU,SAAS,CAAC;;8BACrC,MAACY;oBAAIH,WAAW,CAAC,EAAET,UAAU,SAAS,CAAC;;sCACrC,KAACa;sCAAIL,EAAE;;sCACP,KAACM;sCAAGN,EAAE;;;;8BAER,MAACI;oBAAIH,WAAW,CAAC,EAAET,UAAU,UAAU,CAAC;;sCACtC,KAACX;4BAAO0B,aAAY;4BAAYC,SAASb;sCACtCK,EAAE;;sCAEL,KAACnB;4BAAO2B,SAASZ;sCAAYI,EAAE;;;;;;;AAKzC;AAEA,OAAO,MAAMS,qBAA+B;IAC1C,MAAMC,WAAW1B;IACjB,MAAM,EAAE2B,IAAI,EAAE,GAAG5B;IACjB,MAAM,CAAC6B,MAAMC,QAAQ,GAAG1B,MAAM2B,QAAQ,CAAC;IACvC,MAAM,CAACC,aAAaC,eAAe,GAAG7B,MAAM2B,QAAQ,CAAC;IAErD,MAAMG,UAAUC,QAAQR,YAAYC;IAEpC,MAAMQ,YAAY/B,YAAY;QAC5ByB,QAAQ;IACV,GAAG,EAAE;IAELvB,gBAAgB;QAAEyB;QAAaI;QAAWF;IAAQ;IAElD,qBACE,KAACxB;QACCC,UAAUkB;QACVjB,UAAU;YACRkB,QAAQ;QACV;QACAjB,WAAW;YACToB,eAAe;QACjB;;AAGN,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/LeaveWithoutSaving/index.tsx"],"sourcesContent":["'use client'\nimport { Button, Modal, useAuth, useFormModified, useModal, useTranslation } from '@payloadcms/ui'\nimport React, { useCallback, useEffect } from 'react'\n\nimport './index.scss'\nimport { usePreventLeave } from './usePreventLeave.js'\n\nconst modalSlug = 'leave-without-saving'\n\nconst baseClass = 'leave-without-saving'\n\nconst Component: React.FC<{\n isActive: boolean\n onCancel: () => void\n onConfirm: () => void\n}> = ({ isActive, onCancel, onConfirm }) => {\n const { closeModal, modalState, openModal } = useModal()\n const { t } = useTranslation()\n\n // Manually check for modal state as 'esc' key will not trigger the nav inactivity\n // useEffect(() => {\n // if (!modalState?.[modalSlug]?.isOpen && isActive) {\n // onCancel()\n // }\n // }, [modalState, isActive, onCancel])\n\n useEffect(() => {\n if (isActive) openModal(modalSlug)\n else closeModal(modalSlug)\n }, [isActive, openModal, closeModal])\n\n return (\n <Modal className={baseClass} onClose={onCancel} slug={modalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('general:leaveWithoutSaving')}</h1>\n <p>{t('general:changesNotSaved')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button buttonStyle=\"secondary\" onClick={onCancel} size=\"large\">\n {t('general:stayOnThisPage')}\n </Button>\n <Button onClick={onConfirm} size=\"large\">\n {t('general:leaveAnyway')}\n </Button>\n </div>\n </div>\n </Modal>\n )\n}\n\nexport const LeaveWithoutSaving: React.FC = () => {\n const modified = useFormModified()\n const { user } = useAuth()\n const [show, setShow] = React.useState(false)\n const [hasAccepted, setHasAccepted] = React.useState(false)\n\n const prevent = Boolean(modified && user)\n\n const onPrevent = useCallback(() => {\n setShow(true)\n }, [])\n\n usePreventLeave({ hasAccepted, onPrevent, prevent })\n\n return (\n <Component\n isActive={show}\n onCancel={() => {\n setShow(false)\n }}\n onConfirm={() => {\n setHasAccepted(true)\n }}\n />\n )\n}\n"],"names":["Button","Modal","useAuth","useFormModified","useModal","useTranslation","React","useCallback","useEffect","usePreventLeave","modalSlug","baseClass","Component","isActive","onCancel","onConfirm","closeModal","modalState","openModal","t","className","onClose","slug","div","h1","p","buttonStyle","onClick","size","LeaveWithoutSaving","modified","user","show","setShow","useState","hasAccepted","setHasAccepted","prevent","Boolean","onPrevent"],"mappings":"AAAA;;AACA,SAASA,MAAM,EAAEC,KAAK,EAAEC,OAAO,EAAEC,eAAe,EAAEC,QAAQ,EAAEC,cAAc,QAAQ,iBAAgB;AAClG,OAAOC,SAASC,WAAW,EAAEC,SAAS,QAAQ,QAAO;AAGrD,SAASC,eAAe,QAAQ,uBAAsB;AAEtD,MAAMC,YAAY;AAElB,MAAMC,YAAY;AAElB,MAAMC,YAID,CAAC,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,SAAS,EAAE;IACrC,MAAM,EAAEC,UAAU,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGd;IAC9C,MAAM,EAAEe,CAAC,EAAE,GAAGd;IAEd,kFAAkF;IAClF,oBAAoB;IACpB,wDAAwD;IACxD,iBAAiB;IACjB,MAAM;IACN,uCAAuC;IAEvCG,UAAU;QACR,IAAIK,UAAUK,UAAUR;aACnBM,WAAWN;IAClB,GAAG;QAACG;QAAUK;QAAWF;KAAW;IAEpC,qBACE,KAACf;QAAMmB,WAAWT;QAAWU,SAASP;QAAUQ,MAAMZ;kBACpD,cAAA,MAACa;YAAIH,WAAW,CAAC,EAAET,UAAU,SAAS,CAAC;;8BACrC,MAACY;oBAAIH,WAAW,CAAC,EAAET,UAAU,SAAS,CAAC;;sCACrC,KAACa;sCAAIL,EAAE;;sCACP,KAACM;sCAAGN,EAAE;;;;8BAER,MAACI;oBAAIH,WAAW,CAAC,EAAET,UAAU,UAAU,CAAC;;sCACtC,KAACX;4BAAO0B,aAAY;4BAAYC,SAASb;4BAAUc,MAAK;sCACrDT,EAAE;;sCAEL,KAACnB;4BAAO2B,SAASZ;4BAAWa,MAAK;sCAC9BT,EAAE;;;;;;;AAMf;AAEA,OAAO,MAAMU,qBAA+B;IAC1C,MAAMC,WAAW3B;IACjB,MAAM,EAAE4B,IAAI,EAAE,GAAG7B;IACjB,MAAM,CAAC8B,MAAMC,QAAQ,GAAG3B,MAAM4B,QAAQ,CAAC;IACvC,MAAM,CAACC,aAAaC,eAAe,GAAG9B,MAAM4B,QAAQ,CAAC;IAErD,MAAMG,UAAUC,QAAQR,YAAYC;IAEpC,MAAMQ,YAAYhC,YAAY;QAC5B0B,QAAQ;IACV,GAAG,EAAE;IAELxB,gBAAgB;QAAE0B;QAAaI;QAAWF;IAAQ;IAElD,qBACE,KAACzB;QACCC,UAAUmB;QACVlB,UAAU;YACRmB,QAAQ;QACV;QACAlB,WAAW;YACTqB,eAAe;QACjB;;AAGN,EAAC"}
@@ -13,6 +13,7 @@
13
13
  display: flex;
14
14
  flex-direction: column;
15
15
  gap: var(--base);
16
+ padding: base(2);
16
17
  }
17
18
 
18
19
  &__content {
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.client.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAuFpC,CAAA"}
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.client.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAyFpC,CAAA"}
@@ -1,15 +1,17 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { getTranslation } from '@payloadcms/translations';
4
- import { ChevronIcon, NavGroup, useAuth, useConfig, useEntityVisibility, useNav, useTranslation } from '@payloadcms/ui';
5
- import { EntityType, groupNavItems } from '@payloadcms/ui/shared';
4
+ import { NavGroup, useAuth, useConfig, useEntityVisibility, useNav, useTranslation } from '@payloadcms/ui';
5
+ import { EntityType, formatAdminURL, groupNavItems } from '@payloadcms/ui/shared';
6
6
  import LinkWithDefault from 'next/link.js';
7
+ import { usePathname } from 'next/navigation.js';
7
8
  import React, { Fragment } from 'react';
8
9
  const baseClass = 'nav';
9
10
  export const DefaultNavClient = ()=>{
10
11
  const { permissions } = useAuth();
11
12
  const { isEntityVisible } = useEntityVisibility();
12
- const { collections, globals, routes: { admin } } = useConfig();
13
+ const pathname = usePathname();
14
+ const { collections, globals, routes: { admin: adminRoute } } = useConfig();
13
15
  const { i18n } = useTranslation();
14
16
  const { navOpen } = useNav();
15
17
  const groups = groupNavItems([
@@ -41,28 +43,35 @@ export const DefaultNavClient = ()=>{
41
43
  let href;
42
44
  let id;
43
45
  if (type === EntityType.collection) {
44
- href = `${admin}/collections/${entity.slug}`;
46
+ href = formatAdminURL({
47
+ adminRoute,
48
+ path: `/collections/${entity.slug}`
49
+ });
45
50
  entityLabel = getTranslation(entity.labels.plural, i18n);
46
51
  id = `nav-${entity.slug}`;
47
52
  }
48
53
  if (type === EntityType.global) {
49
- href = `${admin}/globals/${entity.slug}`;
54
+ href = formatAdminURL({
55
+ adminRoute,
56
+ path: `/globals/${entity.slug}`
57
+ });
50
58
  entityLabel = getTranslation(entity.label, i18n);
51
59
  id = `nav-global-${entity.slug}`;
52
60
  }
53
61
  const Link = LinkWithDefault.default || LinkWithDefault;
54
62
  const LinkElement = Link || 'a';
63
+ const activeCollection = pathname.endsWith(href);
55
64
  return /*#__PURE__*/ _jsxs(LinkElement, {
56
- className: `${baseClass}__link`,
65
+ className: [
66
+ `${baseClass}__link`,
67
+ activeCollection && `active`
68
+ ].filter(Boolean).join(' '),
57
69
  href: href,
58
70
  id: id,
59
71
  tabIndex: !navOpen ? -1 : undefined,
60
72
  children: [
61
- /*#__PURE__*/ _jsx("span", {
62
- className: `${baseClass}__link-icon`,
63
- children: /*#__PURE__*/ _jsx(ChevronIcon, {
64
- direction: "right"
65
- })
73
+ activeCollection && /*#__PURE__*/ _jsx("div", {
74
+ className: `${baseClass}__link-indicator`
66
75
  }),
67
76
  /*#__PURE__*/ _jsx("span", {
68
77
  className: `${baseClass}__link-label`,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Nav/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { EntityToGroup } from '@payloadcms/ui/shared'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n ChevronIcon,\n NavGroup,\n useAuth,\n useConfig,\n useEntityVisibility,\n useNav,\n useTranslation,\n} from '@payloadcms/ui'\nimport { EntityType, groupNavItems } from '@payloadcms/ui/shared'\nimport LinkWithDefault from 'next/link.js'\nimport React, { Fragment } from 'react'\n\nconst baseClass = 'nav'\n\nexport const DefaultNavClient: React.FC = () => {\n const { permissions } = useAuth()\n const { isEntityVisible } = useEntityVisibility()\n\n const {\n collections,\n globals,\n routes: { admin },\n } = useConfig()\n\n const { i18n } = useTranslation()\n const { navOpen } = useNav()\n\n const groups = groupNavItems(\n [\n ...collections\n .filter(({ slug }) => isEntityVisible({ collectionSlug: slug }))\n .map((collection) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.collection,\n entity: collection,\n }\n\n return entityToGroup\n }),\n ...globals\n .filter(({ slug }) => isEntityVisible({ globalSlug: slug }))\n .map((global) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.global,\n entity: global,\n }\n\n return entityToGroup\n }),\n ],\n permissions,\n i18n,\n )\n\n return (\n <Fragment>\n {groups.map(({ entities, label }, key) => {\n return (\n <NavGroup key={key} label={label}>\n {entities.map(({ type, entity }, i) => {\n let entityLabel: string\n let href: string\n let id: string\n\n if (type === EntityType.collection) {\n href = `${admin}/collections/${entity.slug}`\n entityLabel = getTranslation(entity.labels.plural, i18n)\n id = `nav-${entity.slug}`\n }\n\n if (type === EntityType.global) {\n href = `${admin}/globals/${entity.slug}`\n entityLabel = getTranslation(entity.label, i18n)\n id = `nav-global-${entity.slug}`\n }\n\n const Link = (LinkWithDefault.default ||\n LinkWithDefault) as typeof LinkWithDefault.default\n\n const LinkElement = Link || 'a'\n\n return (\n <LinkElement\n className={`${baseClass}__link`}\n href={href}\n id={id}\n key={i}\n tabIndex={!navOpen ? -1 : undefined}\n >\n <span className={`${baseClass}__link-icon`}>\n <ChevronIcon direction=\"right\" />\n </span>\n <span className={`${baseClass}__link-label`}>{entityLabel}</span>\n </LinkElement>\n )\n })}\n </NavGroup>\n )\n })}\n </Fragment>\n )\n}\n"],"names":["getTranslation","ChevronIcon","NavGroup","useAuth","useConfig","useEntityVisibility","useNav","useTranslation","EntityType","groupNavItems","LinkWithDefault","React","Fragment","baseClass","DefaultNavClient","permissions","isEntityVisible","collections","globals","routes","admin","i18n","navOpen","groups","filter","slug","collectionSlug","map","collection","entityToGroup","type","entity","globalSlug","global","entities","label","key","i","entityLabel","href","id","labels","plural","Link","default","LinkElement","className","tabIndex","undefined","span","direction"],"mappings":"AAAA;;AAIA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SACEC,WAAW,EACXC,QAAQ,EACRC,OAAO,EACPC,SAAS,EACTC,mBAAmB,EACnBC,MAAM,EACNC,cAAc,QACT,iBAAgB;AACvB,SAASC,UAAU,EAAEC,aAAa,QAAQ,wBAAuB;AACjE,OAAOC,qBAAqB,eAAc;AAC1C,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAEvC,MAAMC,YAAY;AAElB,OAAO,MAAMC,mBAA6B;IACxC,MAAM,EAAEC,WAAW,EAAE,GAAGZ;IACxB,MAAM,EAAEa,eAAe,EAAE,GAAGX;IAE5B,MAAM,EACJY,WAAW,EACXC,OAAO,EACPC,QAAQ,EAAEC,KAAK,EAAE,EAClB,GAAGhB;IAEJ,MAAM,EAAEiB,IAAI,EAAE,GAAGd;IACjB,MAAM,EAAEe,OAAO,EAAE,GAAGhB;IAEpB,MAAMiB,SAASd,cACb;WACKQ,YACAO,MAAM,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKT,gBAAgB;gBAAEU,gBAAgBD;YAAK,IAC5DE,GAAG,CAAC,CAACC;YACJ,MAAMC,gBAA+B;gBACnCC,MAAMtB,WAAWoB,UAAU;gBAC3BG,QAAQH;YACV;YAEA,OAAOC;QACT;WACCX,QACAM,MAAM,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKT,gBAAgB;gBAAEgB,YAAYP;YAAK,IACxDE,GAAG,CAAC,CAACM;YACJ,MAAMJ,gBAA+B;gBACnCC,MAAMtB,WAAWyB,MAAM;gBACvBF,QAAQE;YACV;YAEA,OAAOJ;QACT;KACH,EACDd,aACAM;IAGF,qBACE,KAACT;kBACEW,OAAOI,GAAG,CAAC,CAAC,EAAEO,QAAQ,EAAEC,KAAK,EAAE,EAAEC;YAChC,qBACE,KAAClC;gBAAmBiC,OAAOA;0BACxBD,SAASP,GAAG,CAAC,CAAC,EAAEG,IAAI,EAAEC,MAAM,EAAE,EAAEM;oBAC/B,IAAIC;oBACJ,IAAIC;oBACJ,IAAIC;oBAEJ,IAAIV,SAAStB,WAAWoB,UAAU,EAAE;wBAClCW,OAAO,CAAC,EAAEnB,MAAM,aAAa,EAAEW,OAAON,IAAI,CAAC,CAAC;wBAC5Ca,cAActC,eAAe+B,OAAOU,MAAM,CAACC,MAAM,EAAErB;wBACnDmB,KAAK,CAAC,IAAI,EAAET,OAAON,IAAI,CAAC,CAAC;oBAC3B;oBAEA,IAAIK,SAAStB,WAAWyB,MAAM,EAAE;wBAC9BM,OAAO,CAAC,EAAEnB,MAAM,SAAS,EAAEW,OAAON,IAAI,CAAC,CAAC;wBACxCa,cAActC,eAAe+B,OAAOI,KAAK,EAAEd;wBAC3CmB,KAAK,CAAC,WAAW,EAAET,OAAON,IAAI,CAAC,CAAC;oBAClC;oBAEA,MAAMkB,OAAQjC,gBAAgBkC,OAAO,IACnClC;oBAEF,MAAMmC,cAAcF,QAAQ;oBAE5B,qBACE,MAACE;wBACCC,WAAW,CAAC,EAAEjC,UAAU,MAAM,CAAC;wBAC/B0B,MAAMA;wBACNC,IAAIA;wBAEJO,UAAU,CAACzB,UAAU,CAAC,IAAI0B;;0CAE1B,KAACC;gCAAKH,WAAW,CAAC,EAAEjC,UAAU,WAAW,CAAC;0CACxC,cAAA,KAACZ;oCAAYiD,WAAU;;;0CAEzB,KAACD;gCAAKH,WAAW,CAAC,EAAEjC,UAAU,YAAY,CAAC;0CAAGyB;;;uBANzCD;gBASX;eArCaD;QAwCnB;;AAGN,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/Nav/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { EntityToGroup } from '@payloadcms/ui/shared'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n ChevronIcon,\n NavGroup,\n useAuth,\n useConfig,\n useEntityVisibility,\n useNav,\n useTranslation,\n} from '@payloadcms/ui'\nimport { EntityType, formatAdminURL, groupNavItems } from '@payloadcms/ui/shared'\nimport LinkWithDefault from 'next/link.js'\nimport { usePathname } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nconst baseClass = 'nav'\n\nexport const DefaultNavClient: React.FC = () => {\n const { permissions } = useAuth()\n const { isEntityVisible } = useEntityVisibility()\n const pathname = usePathname()\n\n const {\n collections,\n globals,\n routes: { admin: adminRoute },\n } = useConfig()\n\n const { i18n } = useTranslation()\n const { navOpen } = useNav()\n\n const groups = groupNavItems(\n [\n ...collections\n .filter(({ slug }) => isEntityVisible({ collectionSlug: slug }))\n .map((collection) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.collection,\n entity: collection,\n }\n\n return entityToGroup\n }),\n ...globals\n .filter(({ slug }) => isEntityVisible({ globalSlug: slug }))\n .map((global) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.global,\n entity: global,\n }\n\n return entityToGroup\n }),\n ],\n permissions,\n i18n,\n )\n\n return (\n <Fragment>\n {groups.map(({ entities, label }, key) => {\n return (\n <NavGroup key={key} label={label}>\n {entities.map(({ type, entity }, i) => {\n let entityLabel: string\n let href: string\n let id: string\n\n if (type === EntityType.collection) {\n href = formatAdminURL({ adminRoute, path: `/collections/${entity.slug}` })\n entityLabel = getTranslation(entity.labels.plural, i18n)\n id = `nav-${entity.slug}`\n }\n\n if (type === EntityType.global) {\n href = formatAdminURL({ adminRoute, path: `/globals/${entity.slug}` })\n entityLabel = getTranslation(entity.label, i18n)\n id = `nav-global-${entity.slug}`\n }\n\n const Link = (LinkWithDefault.default ||\n LinkWithDefault) as typeof LinkWithDefault.default\n\n const LinkElement = Link || 'a'\n const activeCollection = pathname.endsWith(href)\n\n return (\n <LinkElement\n className={[`${baseClass}__link`, activeCollection && `active`]\n .filter(Boolean)\n .join(' ')}\n href={href}\n id={id}\n key={i}\n tabIndex={!navOpen ? -1 : undefined}\n >\n {activeCollection && <div className={`${baseClass}__link-indicator`} />}\n <span className={`${baseClass}__link-label`}>{entityLabel}</span>\n </LinkElement>\n )\n })}\n </NavGroup>\n )\n })}\n </Fragment>\n )\n}\n"],"names":["getTranslation","NavGroup","useAuth","useConfig","useEntityVisibility","useNav","useTranslation","EntityType","formatAdminURL","groupNavItems","LinkWithDefault","usePathname","React","Fragment","baseClass","DefaultNavClient","permissions","isEntityVisible","pathname","collections","globals","routes","admin","adminRoute","i18n","navOpen","groups","filter","slug","collectionSlug","map","collection","entityToGroup","type","entity","globalSlug","global","entities","label","key","i","entityLabel","href","id","path","labels","plural","Link","default","LinkElement","activeCollection","endsWith","className","Boolean","join","tabIndex","undefined","div","span"],"mappings":"AAAA;;AAIA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAEEC,QAAQ,EACRC,OAAO,EACPC,SAAS,EACTC,mBAAmB,EACnBC,MAAM,EACNC,cAAc,QACT,iBAAgB;AACvB,SAASC,UAAU,EAAEC,cAAc,EAAEC,aAAa,QAAQ,wBAAuB;AACjF,OAAOC,qBAAqB,eAAc;AAC1C,SAASC,WAAW,QAAQ,qBAAoB;AAChD,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAEvC,MAAMC,YAAY;AAElB,OAAO,MAAMC,mBAA6B;IACxC,MAAM,EAAEC,WAAW,EAAE,GAAGd;IACxB,MAAM,EAAEe,eAAe,EAAE,GAAGb;IAC5B,MAAMc,WAAWP;IAEjB,MAAM,EACJQ,WAAW,EACXC,OAAO,EACPC,QAAQ,EAAEC,OAAOC,UAAU,EAAE,EAC9B,GAAGpB;IAEJ,MAAM,EAAEqB,IAAI,EAAE,GAAGlB;IACjB,MAAM,EAAEmB,OAAO,EAAE,GAAGpB;IAEpB,MAAMqB,SAASjB,cACb;WACKU,YACAQ,MAAM,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKX,gBAAgB;gBAAEY,gBAAgBD;YAAK,IAC5DE,GAAG,CAAC,CAACC;YACJ,MAAMC,gBAA+B;gBACnCC,MAAM1B,WAAWwB,UAAU;gBAC3BG,QAAQH;YACV;YAEA,OAAOC;QACT;WACCZ,QACAO,MAAM,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKX,gBAAgB;gBAAEkB,YAAYP;YAAK,IACxDE,GAAG,CAAC,CAACM;YACJ,MAAMJ,gBAA+B;gBACnCC,MAAM1B,WAAW6B,MAAM;gBACvBF,QAAQE;YACV;YAEA,OAAOJ;QACT;KACH,EACDhB,aACAQ;IAGF,qBACE,KAACX;kBACEa,OAAOI,GAAG,CAAC,CAAC,EAAEO,QAAQ,EAAEC,KAAK,EAAE,EAAEC;YAChC,qBACE,KAACtC;gBAAmBqC,OAAOA;0BACxBD,SAASP,GAAG,CAAC,CAAC,EAAEG,IAAI,EAAEC,MAAM,EAAE,EAAEM;oBAC/B,IAAIC;oBACJ,IAAIC;oBACJ,IAAIC;oBAEJ,IAAIV,SAAS1B,WAAWwB,UAAU,EAAE;wBAClCW,OAAOlC,eAAe;4BAAEe;4BAAYqB,MAAM,CAAC,aAAa,EAAEV,OAAON,IAAI,CAAC,CAAC;wBAAC;wBACxEa,cAAczC,eAAekC,OAAOW,MAAM,CAACC,MAAM,EAAEtB;wBACnDmB,KAAK,CAAC,IAAI,EAAET,OAAON,IAAI,CAAC,CAAC;oBAC3B;oBAEA,IAAIK,SAAS1B,WAAW6B,MAAM,EAAE;wBAC9BM,OAAOlC,eAAe;4BAAEe;4BAAYqB,MAAM,CAAC,SAAS,EAAEV,OAAON,IAAI,CAAC,CAAC;wBAAC;wBACpEa,cAAczC,eAAekC,OAAOI,KAAK,EAAEd;wBAC3CmB,KAAK,CAAC,WAAW,EAAET,OAAON,IAAI,CAAC,CAAC;oBAClC;oBAEA,MAAMmB,OAAQrC,gBAAgBsC,OAAO,IACnCtC;oBAEF,MAAMuC,cAAcF,QAAQ;oBAC5B,MAAMG,mBAAmBhC,SAASiC,QAAQ,CAACT;oBAE3C,qBACE,MAACO;wBACCG,WAAW;4BAAC,CAAC,EAAEtC,UAAU,MAAM,CAAC;4BAAEoC,oBAAoB,CAAC,MAAM,CAAC;yBAAC,CAC5DvB,MAAM,CAAC0B,SACPC,IAAI,CAAC;wBACRZ,MAAMA;wBACNC,IAAIA;wBAEJY,UAAU,CAAC9B,UAAU,CAAC,IAAI+B;;4BAEzBN,kCAAoB,KAACO;gCAAIL,WAAW,CAAC,EAAEtC,UAAU,gBAAgB,CAAC;;0CACnE,KAAC4C;gCAAKN,WAAW,CAAC,EAAEtC,UAAU,YAAY,CAAC;0CAAG2B;;;uBAJzCD;gBAOX;eAtCaD;QAyCnB;;AAGN,EAAC"}