@payloadcms/next 3.0.0-canary.a5aaf21 → 3.0.0-canary.a6e7305

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 (301) hide show
  1. package/dist/cjs/withPayload.cjs +156 -0
  2. package/dist/cjs/withPayload.cjs.map +1 -0
  3. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  4. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +1 -0
  5. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  6. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +70 -68
  7. package/dist/elements/DocumentHeader/Tabs/index.scss +41 -39
  8. package/dist/elements/DocumentHeader/index.scss +44 -42
  9. package/dist/elements/DocumentLocked/index.d.ts +1 -1
  10. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  11. package/dist/elements/DocumentLocked/index.js +24 -14
  12. package/dist/elements/DocumentLocked/index.js.map +1 -1
  13. package/dist/elements/DocumentLocked/index.scss +29 -26
  14. package/dist/elements/DocumentTakeOver/index.scss +28 -26
  15. package/dist/elements/FormHeader/index.d.ts +9 -0
  16. package/dist/elements/FormHeader/index.d.ts.map +1 -0
  17. package/dist/elements/FormHeader/index.js +20 -0
  18. package/dist/elements/FormHeader/index.js.map +1 -0
  19. package/dist/elements/FormHeader/index.scss +8 -0
  20. package/dist/elements/LeaveWithoutSaving/index.scss +28 -26
  21. package/dist/elements/Nav/NavWrapper/index.scss +20 -18
  22. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  23. package/dist/elements/Nav/index.client.js +1 -0
  24. package/dist/elements/Nav/index.client.js.map +1 -1
  25. package/dist/elements/Nav/index.scss +127 -125
  26. package/dist/exports/routes.d.ts +1 -1
  27. package/dist/exports/routes.d.ts.map +1 -1
  28. package/dist/exports/routes.js +1 -1
  29. package/dist/exports/routes.js.map +1 -1
  30. package/dist/exports/utilities.d.ts +1 -0
  31. package/dist/exports/utilities.d.ts.map +1 -1
  32. package/dist/exports/utilities.js +1 -0
  33. package/dist/exports/utilities.js.map +1 -1
  34. package/dist/layouts/Root/index.js +6 -6
  35. package/dist/layouts/Root/index.js.map +1 -1
  36. package/dist/prod/styles.css +1 -1
  37. package/dist/routes/graphql/handler.d.ts.map +1 -1
  38. package/dist/routes/graphql/handler.js +23 -11
  39. package/dist/routes/graphql/handler.js.map +1 -1
  40. package/dist/routes/rest/auth/login.js +2 -2
  41. package/dist/routes/rest/auth/login.js.map +1 -1
  42. package/dist/routes/rest/auth/logout.d.ts.map +1 -1
  43. package/dist/routes/rest/auth/logout.js +3 -2
  44. package/dist/routes/rest/auth/logout.js.map +1 -1
  45. package/dist/routes/rest/auth/refresh.js +2 -2
  46. package/dist/routes/rest/auth/refresh.js.map +1 -1
  47. package/dist/routes/rest/auth/registerFirstUser.js +2 -2
  48. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  49. package/dist/routes/rest/auth/resetPassword.js +2 -2
  50. package/dist/routes/rest/auth/resetPassword.js.map +1 -1
  51. package/dist/routes/rest/collections/create.d.ts.map +1 -1
  52. package/dist/routes/rest/collections/create.js +5 -1
  53. package/dist/routes/rest/collections/create.js.map +1 -1
  54. package/dist/routes/rest/collections/delete.d.ts.map +1 -1
  55. package/dist/routes/rest/collections/delete.js +8 -0
  56. package/dist/routes/rest/collections/delete.js.map +1 -1
  57. package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
  58. package/dist/routes/rest/collections/deleteByID.js +7 -1
  59. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  60. package/dist/routes/rest/collections/duplicate.d.ts.map +1 -1
  61. package/dist/routes/rest/collections/duplicate.js +5 -1
  62. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  63. package/dist/routes/rest/collections/find.d.ts.map +1 -1
  64. package/dist/routes/rest/collections/find.js +7 -1
  65. package/dist/routes/rest/collections/find.js.map +1 -1
  66. package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
  67. package/dist/routes/rest/collections/findByID.js +5 -1
  68. package/dist/routes/rest/collections/findByID.js.map +1 -1
  69. package/dist/routes/rest/collections/findVersionByID.d.ts.map +1 -1
  70. package/dist/routes/rest/collections/findVersionByID.js +5 -1
  71. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  72. package/dist/routes/rest/collections/findVersions.d.ts.map +1 -1
  73. package/dist/routes/rest/collections/findVersions.js +7 -1
  74. package/dist/routes/rest/collections/findVersions.js.map +1 -1
  75. package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
  76. package/dist/routes/rest/collections/restoreVersion.js +2 -0
  77. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  78. package/dist/routes/rest/collections/update.d.ts.map +1 -1
  79. package/dist/routes/rest/collections/update.js +10 -0
  80. package/dist/routes/rest/collections/update.js.map +1 -1
  81. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  82. package/dist/routes/rest/collections/updateByID.js +7 -1
  83. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  84. package/dist/routes/rest/globals/findOne.d.ts.map +1 -1
  85. package/dist/routes/rest/globals/findOne.js +5 -1
  86. package/dist/routes/rest/globals/findOne.js.map +1 -1
  87. package/dist/routes/rest/globals/findVersionByID.d.ts.map +1 -1
  88. package/dist/routes/rest/globals/findVersionByID.js +5 -1
  89. package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
  90. package/dist/routes/rest/globals/findVersions.d.ts.map +1 -1
  91. package/dist/routes/rest/globals/findVersions.js +7 -1
  92. package/dist/routes/rest/globals/findVersions.js.map +1 -1
  93. package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
  94. package/dist/routes/rest/globals/restoreVersion.js +2 -0
  95. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  96. package/dist/routes/rest/globals/update.d.ts.map +1 -1
  97. package/dist/routes/rest/globals/update.js +5 -1
  98. package/dist/routes/rest/globals/update.js.map +1 -1
  99. package/dist/routes/rest/index.d.ts +17 -12
  100. package/dist/routes/rest/index.d.ts.map +1 -1
  101. package/dist/routes/rest/index.js +90 -15
  102. package/dist/routes/rest/index.js.map +1 -1
  103. package/dist/routes/rest/og/index.js +2 -4
  104. package/dist/routes/rest/og/index.js.map +1 -1
  105. package/dist/routes/rest/routeError.d.ts +2 -7
  106. package/dist/routes/rest/routeError.d.ts.map +1 -1
  107. package/dist/routes/rest/routeError.js +33 -19
  108. package/dist/routes/rest/routeError.js.map +1 -1
  109. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts +1 -1
  110. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts.map +1 -1
  111. package/dist/routes/rest/utilities/sanitizeJoinParams.js +9 -5
  112. package/dist/routes/rest/utilities/sanitizeJoinParams.js.map +1 -1
  113. package/dist/routes/rest/utilities/sanitizePopulate.d.ts +3 -0
  114. package/dist/routes/rest/utilities/sanitizePopulate.d.ts.map +1 -0
  115. package/dist/routes/rest/utilities/sanitizePopulate.js +11 -0
  116. package/dist/routes/rest/utilities/sanitizePopulate.js.map +1 -0
  117. package/dist/routes/rest/utilities/sanitizeSelect.d.ts +6 -0
  118. package/dist/routes/rest/utilities/sanitizeSelect.d.ts.map +1 -0
  119. package/dist/routes/rest/utilities/sanitizeSelect.js +17 -0
  120. package/dist/routes/rest/utilities/sanitizeSelect.js.map +1 -0
  121. package/dist/scss/app.scss +166 -162
  122. package/dist/scss/colors.scss +256 -254
  123. package/dist/scss/resets.scss +9 -7
  124. package/dist/scss/toastify.scss +42 -40
  125. package/dist/scss/toasts.scss +105 -103
  126. package/dist/scss/type.scss +80 -79
  127. package/dist/templates/Default/Wrapper/index.scss +38 -36
  128. package/dist/templates/Default/index.scss +60 -58
  129. package/dist/templates/Minimal/index.scss +22 -20
  130. package/dist/utilities/getNextRequestI18n.js +2 -2
  131. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  132. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  133. package/dist/utilities/getRequestTheme.js +3 -0
  134. package/dist/utilities/getRequestTheme.js.map +1 -1
  135. package/dist/utilities/initPage/handleAdminPage.d.ts +12 -11
  136. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
  137. package/dist/utilities/initPage/handleAdminPage.js +9 -21
  138. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  139. package/dist/utilities/initPage/handleAuthRedirect.d.ts +6 -3
  140. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
  141. package/dist/utilities/initPage/handleAuthRedirect.js +23 -36
  142. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  143. package/dist/utilities/initPage/index.d.ts +1 -1
  144. package/dist/utilities/initPage/index.d.ts.map +1 -1
  145. package/dist/utilities/initPage/index.js +27 -10
  146. package/dist/utilities/initPage/index.js.map +1 -1
  147. package/dist/utilities/initPage/isCustomAdminView.d.ts +10 -0
  148. package/dist/utilities/initPage/isCustomAdminView.d.ts.map +1 -0
  149. package/dist/utilities/initPage/isCustomAdminView.js +31 -0
  150. package/dist/utilities/initPage/isCustomAdminView.js.map +1 -0
  151. package/dist/utilities/initPage/shared.d.ts +2 -2
  152. package/dist/utilities/initPage/shared.d.ts.map +1 -1
  153. package/dist/utilities/initPage/shared.js +19 -13
  154. package/dist/utilities/initPage/shared.js.map +1 -1
  155. package/dist/utilities/initReq.js +1 -1
  156. package/dist/utilities/initReq.js.map +1 -1
  157. package/dist/views/API/RenderJSON/index.scss +68 -66
  158. package/dist/views/API/index.scss +98 -96
  159. package/dist/views/Account/Settings/index.d.ts +2 -1
  160. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  161. package/dist/views/Account/Settings/index.js +3 -2
  162. package/dist/views/Account/Settings/index.js.map +1 -1
  163. package/dist/views/Account/Settings/index.scss +37 -35
  164. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  165. package/dist/views/Account/ToggleTheme/index.js +1 -0
  166. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  167. package/dist/views/Account/index.d.ts.map +1 -1
  168. package/dist/views/Account/index.js +4 -2
  169. package/dist/views/Account/index.js.map +1 -1
  170. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  171. package/dist/views/CreateFirstUser/index.client.js +31 -15
  172. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  173. package/dist/views/CreateFirstUser/index.scss +13 -11
  174. package/dist/views/Dashboard/Default/index.d.ts +3 -1
  175. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  176. package/dist/views/Dashboard/Default/index.js +12 -3
  177. package/dist/views/Dashboard/Default/index.js.map +1 -1
  178. package/dist/views/Dashboard/Default/index.scss +51 -49
  179. package/dist/views/Dashboard/index.d.ts.map +1 -1
  180. package/dist/views/Dashboard/index.js +31 -13
  181. package/dist/views/Dashboard/index.js.map +1 -1
  182. package/dist/views/Document/getDocumentData.js +4 -2
  183. package/dist/views/Document/getDocumentData.js.map +1 -1
  184. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -1
  185. package/dist/views/Document/getDocumentPermissions.js +6 -5
  186. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  187. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  188. package/dist/views/Document/getViewsFromConfig.js +6 -0
  189. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  190. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -1
  191. package/dist/views/Edit/Default/Auth/APIKey.js +2 -8
  192. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  193. package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
  194. package/dist/views/Edit/Default/Auth/index.js +37 -26
  195. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  196. package/dist/views/Edit/Default/Auth/index.scss +56 -54
  197. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  198. package/dist/views/Edit/Default/index.js +45 -73
  199. package/dist/views/Edit/Default/index.js.map +1 -1
  200. package/dist/views/Edit/Default/index.scss +15 -13
  201. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  202. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +9 -11
  203. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  204. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  205. package/dist/views/ForgotPassword/index.js +10 -8
  206. package/dist/views/ForgotPassword/index.js.map +1 -1
  207. package/dist/views/List/Default/index.scss +136 -134
  208. package/dist/views/List/index.d.ts.map +1 -1
  209. package/dist/views/List/index.js +1 -1
  210. package/dist/views/List/index.js.map +1 -1
  211. package/dist/views/LivePreview/IFrame/index.scss +8 -6
  212. package/dist/views/LivePreview/Preview/index.scss +32 -30
  213. package/dist/views/LivePreview/Toolbar/Controls/index.scss +49 -47
  214. package/dist/views/LivePreview/Toolbar/SizeInput/index.scss +11 -9
  215. package/dist/views/LivePreview/Toolbar/index.scss +33 -31
  216. package/dist/views/LivePreview/ToolbarArea/index.scss +5 -3
  217. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  218. package/dist/views/LivePreview/index.client.js +221 -203
  219. package/dist/views/LivePreview/index.client.js.map +1 -1
  220. package/dist/views/LivePreview/index.scss +48 -46
  221. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  222. package/dist/views/Login/LoginForm/index.js +2 -1
  223. package/dist/views/Login/LoginForm/index.js.map +1 -1
  224. package/dist/views/Login/LoginForm/index.scss +8 -6
  225. package/dist/views/Login/index.scss +8 -6
  226. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  227. package/dist/views/Logout/LogoutClient.js +77 -55
  228. package/dist/views/Logout/LogoutClient.js.map +1 -1
  229. package/dist/views/Logout/index.scss +17 -15
  230. package/dist/views/NotFound/index.d.ts +5 -5
  231. package/dist/views/NotFound/index.d.ts.map +1 -1
  232. package/dist/views/NotFound/index.js +7 -2
  233. package/dist/views/NotFound/index.js.map +1 -1
  234. package/dist/views/NotFound/index.scss +38 -36
  235. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts +7 -0
  236. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -0
  237. package/dist/views/ResetPassword/{index.client.js → ResetPasswordForm/index.js} +16 -19
  238. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -0
  239. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  240. package/dist/views/ResetPassword/index.js +19 -10
  241. package/dist/views/ResetPassword/index.js.map +1 -1
  242. package/dist/views/ResetPassword/index.scss +6 -26
  243. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  244. package/dist/views/Root/getViewFromConfig.js +1 -7
  245. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  246. package/dist/views/Root/index.d.ts +5 -5
  247. package/dist/views/Root/index.d.ts.map +1 -1
  248. package/dist/views/Root/index.js +23 -10
  249. package/dist/views/Root/index.js.map +1 -1
  250. package/dist/views/Root/meta.d.ts +5 -5
  251. package/dist/views/Root/meta.d.ts.map +1 -1
  252. package/dist/views/Root/meta.js +3 -2
  253. package/dist/views/Root/meta.js.map +1 -1
  254. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  255. package/dist/views/Unauthorized/index.js +14 -7
  256. package/dist/views/Unauthorized/index.js.map +1 -1
  257. package/dist/views/Unauthorized/index.scss +4 -31
  258. package/dist/views/Verify/index.client.d.ts +7 -0
  259. package/dist/views/Verify/index.client.d.ts.map +1 -0
  260. package/dist/views/Verify/index.client.js +46 -0
  261. package/dist/views/Verify/index.client.js.map +1 -0
  262. package/dist/views/Verify/index.d.ts.map +1 -1
  263. package/dist/views/Verify/index.js +12 -11
  264. package/dist/views/Verify/index.js.map +1 -1
  265. package/dist/views/Verify/index.scss +13 -11
  266. package/dist/views/Version/Default/index.scss +52 -50
  267. package/dist/views/Version/RenderFieldsToDiff/Label/index.scss +5 -3
  268. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +29 -27
  269. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.scss +11 -9
  270. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +12 -10
  271. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +12 -10
  272. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +12 -10
  273. package/dist/views/Version/RenderFieldsToDiff/index.scss +12 -10
  274. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  275. package/dist/views/Version/Restore/index.js +8 -14
  276. package/dist/views/Version/Restore/index.js.map +1 -1
  277. package/dist/views/Version/Restore/index.scss +57 -55
  278. package/dist/views/Version/SelectComparison/index.scss +12 -10
  279. package/dist/views/Version/SelectLocales/index.scss +6 -4
  280. package/dist/views/Version/index.d.ts.map +1 -1
  281. package/dist/views/Version/index.js +2 -0
  282. package/dist/views/Version/index.js.map +1 -1
  283. package/dist/views/Versions/cells/CreatedAt/index.js +1 -0
  284. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  285. package/dist/views/Versions/getLatestVersion.d.ts +1 -0
  286. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -1
  287. package/dist/views/Versions/getLatestVersion.js +15 -4
  288. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  289. package/dist/views/Versions/index.d.ts.map +1 -1
  290. package/dist/views/Versions/index.js +4 -4
  291. package/dist/views/Versions/index.js.map +1 -1
  292. package/dist/views/Versions/index.scss +78 -76
  293. package/dist/withPayload.d.ts.map +1 -1
  294. package/dist/withPayload.js +9 -1
  295. package/dist/withPayload.js.map +1 -1
  296. package/package.json +10 -10
  297. package/dist/cjs/withPayload.js +0 -111
  298. package/dist/cjs/withPayload.js.map +0 -1
  299. package/dist/views/ResetPassword/index.client.d.ts +0 -7
  300. package/dist/views/ResetPassword/index.client.d.ts.map +0 -1
  301. package/dist/views/ResetPassword/index.client.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.js","names":["c","_c","DocumentControls","DocumentFields","Form","OperationProvider","SetViewActions","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useTranslation","getFormState","React","Fragment","useCallback","LeaveWithoutSaving","SetDocumentStepNav","SetDocumentTitle","useLivePreviewContext","LivePreviewProvider","LivePreview","usePopupWindow","baseClass","PreviewView","t0","$","apiRoute","collectionConfig","config","fields","globalConfig","schemaPath","serverURL","id","action","AfterDocument","AfterFields","apiURL","BeforeDocument","BeforeFields","collectionSlug","disableActions","disableLeaveWithoutSaving","docPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","initialData","initialState","isEditing","isInitializing","onSave","onSaveFromProps","operation","t1","admin","t2","user","userSlug","t","previewWindowType","refreshCookieAsync","reportUpdate","t3","json","entitySlug","updatedAt","result","Date","toISOString","t4","t5","formState","prevFormState","docPreferences","state","body","onChange","t6","t7","t8","versions","drafts","autosave","_jsx","t9","globalLabel","label","pluralLabel","labels","plural","undefined","useAsTitle","view","t10","fallback","toString","t11","data","permissions","slug","t12","t13","filter","Boolean","t14","join","t15","t16","children","_jsxs","className","disabled","method","onSuccess","forceSidebarWrap","readOnly","LivePreviewClient","props","breakpoints","url","getEntityConfig","routes","api","eventType","isPopupOpen","openPopupWindow","popupRef","actions","components","views","edit","livePreview","fieldSchema"],"sources":["../../../src/views/LivePreview/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps } from '@payloadcms/ui'\nimport type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n ClientGlobalConfig,\n Data,\n LivePreviewConfig,\n} from 'payload'\n\nimport {\n DocumentControls,\n DocumentFields,\n Form,\n OperationProvider,\n SetViewActions,\n useAuth,\n useConfig,\n useDocumentEvents,\n useDocumentInfo,\n useTranslation,\n} from '@payloadcms/ui'\nimport { getFormState } from '@payloadcms/ui/shared'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from '../Edit/Default/SetDocumentTitle/index.js'\nimport { useLivePreviewContext } from './Context/context.js'\nimport { LivePreviewProvider } from './Context/index.js'\nimport './index.scss'\nimport { LivePreview } from './Preview/index.js'\nimport { usePopupWindow } from './usePopupWindow.js'\n\nconst baseClass = 'live-preview'\n\ntype Props = {\n readonly apiRoute: string\n readonly collectionConfig?: ClientCollectionConfig\n readonly config: ClientConfig\n readonly fields: ClientField[]\n readonly globalConfig?: ClientGlobalConfig\n readonly schemaPath: string\n readonly serverURL: string\n}\n\nconst PreviewView: React.FC<Props> = ({\n apiRoute,\n collectionConfig,\n config,\n fields,\n globalConfig,\n schemaPath,\n serverURL,\n}) => {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeDocument,\n BeforeFields,\n collectionSlug,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n initialData,\n initialState,\n isEditing,\n isInitializing,\n onSave: onSaveFromProps,\n } = useDocumentInfo()\n\n const operation = id ? 'update' : 'create'\n\n const {\n config: {\n admin: { user: userSlug },\n },\n } = useConfig()\n const { t } = useTranslation()\n const { previewWindowType } = useLivePreviewContext()\n const { refreshCookieAsync, user } = useAuth()\n const { reportUpdate } = useDocumentEvents()\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n id,\n entitySlug: collectionSlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n },\n [collectionSlug, id, onSaveFromProps, refreshCookieAsync, reportUpdate, user, userSlug],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n\n const { state } = await getFormState({\n apiRoute,\n body: {\n id,\n docPreferences,\n formState: prevFormState,\n operation,\n schemaPath,\n },\n serverURL,\n })\n\n return state\n },\n [serverURL, apiRoute, id, operation, schemaPath, getDocPreferences],\n )\n\n return (\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={!hasSavePermission}\n initialState={initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {((collectionConfig &&\n !(collectionConfig.versions?.drafts && collectionConfig.versions?.drafts?.autosave)) ||\n (globalConfig &&\n !(globalConfig.versions?.drafts && globalConfig.versions?.drafts?.autosave))) &&\n !disableLeaveWithoutSaving && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalConfig?.label}\n globalSlug={globalSlug}\n id={id}\n pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}\n useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}\n view={t('general:livePreview')}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={id?.toString() || ''}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={initialData}\n disableActions={disableActions}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n permissions={docPermissions}\n slug={collectionConfig?.slug || globalConfig?.slug}\n />\n <div\n className={[baseClass, previewWindowType === 'popup' && `${baseClass}--detached`]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[\n `${baseClass}__main`,\n previewWindowType === 'popup' && `${baseClass}__main--popup-open`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {BeforeDocument}\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={BeforeFields}\n docPermissions={docPermissions}\n fields={fields}\n forceSidebarWrap\n readOnly={!hasSavePermission}\n schemaPath={collectionSlug || globalSlug}\n />\n {AfterDocument}\n </div>\n <LivePreview collectionSlug={collectionSlug} globalSlug={globalSlug} />\n </div>\n </Form>\n </OperationProvider>\n )\n}\n\nexport const LivePreviewClient: React.FC<{\n readonly breakpoints: LivePreviewConfig['breakpoints']\n readonly initialData: Data\n readonly url: string\n}> = (props) => {\n const { breakpoints, url } = props\n const { collectionSlug, globalSlug } = useDocumentInfo()\n\n const {\n config,\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { isPopupOpen, openPopupWindow, popupRef } = usePopupWindow({\n eventType: 'payload-live-preview',\n url,\n })\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const schemaPath = collectionSlug || globalSlug\n\n return (\n <Fragment>\n <SetViewActions\n actions={\n (collectionConfig || globalConfig)?.admin?.components?.views?.edit?.livePreview?.actions\n }\n />\n <LivePreviewProvider\n breakpoints={breakpoints}\n fieldSchema={collectionConfig?.fields || globalConfig?.fields}\n isPopupOpen={isPopupOpen}\n openPopupWindow={openPopupWindow}\n popupRef={popupRef}\n url={url}\n >\n <PreviewView\n apiRoute={apiRoute}\n collectionConfig={collectionConfig}\n config={config}\n fields={(collectionConfig || globalConfig)?.fields}\n globalConfig={globalConfig}\n schemaPath={schemaPath}\n serverURL={serverURL}\n />\n </LivePreviewProvider>\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.client.js","names":["c","_c","DocumentControls","DocumentFields","Form","OperationProvider","SetViewActions","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useTranslation","getFormState","handleBackToDashboard","handleGoBack","handleTakeOver","useRouter","React","Fragment","useCallback","useEffect","useRef","useState","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","SetDocumentStepNav","SetDocumentTitle","useLivePreviewContext","LivePreviewProvider","LivePreview","usePopupWindow","baseClass","PreviewView","apiRoute","collectionConfig","config","fields","globalConfig","schemaPath","serverURL","id","action","AfterDocument","AfterFields","apiURL","BeforeDocument","BeforeFields","collectionSlug","currentEditor","disableActions","disableLeaveWithoutSaving","docPermissions","documentIsLocked","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","initialData","initialState","isEditing","isInitializing","lastUpdateTime","onSave","onSaveFromProps","setCurrentEditor","setDocumentIsLocked","unlockDocument","updateDocumentEditor","operation","admin","user","userSlug","routes","adminRoute","router","t","previewWindowType","refreshCookieAsync","reportUpdate","docConfig","lockDocumentsProp","lockDocuments","undefined","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","documentLockStateRef","hasShownLockedModal","isLocked","json","entitySlug","updatedAt","result","toISOString","onChange","formState","prevFormState","currentTime","timeSinceLastUpdate","updateLastEdited","docPreferences","lockedState","state","body","returnLockStatus","previousOwnerId","current","currentPath","window","location","pathname","documentId","stayWithinDocumentPaths","isStayingWithinDocument","some","path","includes","shouldShowDocumentLockedModal","_jsx","_jsxs","className","disabled","method","onSuccess","isActive","onReadOnly","onTakeOver","versions","drafts","autosave","globalLabel","label","pluralLabel","labels","plural","useAsTitle","view","fallback","toString","data","permissions","readOnlyForIncomingUser","slug","filter","Boolean","join","forceSidebarWrap","readOnly","LivePreviewClient","props","$","breakpoints","url","t0","getEntityConfig","t1","api","t2","eventType","isPopupOpen","openPopupWindow","popupRef","t3","children","actions","components","views","edit","livePreview","fieldSchema"],"sources":["../../../src/views/LivePreview/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps } from '@payloadcms/ui'\nimport type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n ClientGlobalConfig,\n ClientUser,\n Data,\n LivePreviewConfig,\n} from 'payload'\n\nimport {\n DocumentControls,\n DocumentFields,\n Form,\n OperationProvider,\n SetViewActions,\n useAuth,\n useConfig,\n useDocumentEvents,\n useDocumentInfo,\n useTranslation,\n} from '@payloadcms/ui'\nimport {\n getFormState,\n handleBackToDashboard,\n handleGoBack,\n handleTakeOver,\n} from '@payloadcms/ui/shared'\nimport { useRouter } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\n\nimport { DocumentLocked } from '../../elements/DocumentLocked/index.js'\nimport { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js'\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from '../Edit/Default/SetDocumentTitle/index.js'\nimport { useLivePreviewContext } from './Context/context.js'\nimport { LivePreviewProvider } from './Context/index.js'\nimport './index.scss'\nimport { LivePreview } from './Preview/index.js'\nimport { usePopupWindow } from './usePopupWindow.js'\n\nconst baseClass = 'live-preview'\n\ntype Props = {\n readonly apiRoute: string\n readonly collectionConfig?: ClientCollectionConfig\n readonly config: ClientConfig\n readonly fields: ClientField[]\n readonly globalConfig?: ClientGlobalConfig\n readonly schemaPath: string\n readonly serverURL: string\n}\n\nconst PreviewView: React.FC<Props> = ({\n apiRoute,\n collectionConfig,\n config,\n fields,\n globalConfig,\n schemaPath,\n serverURL,\n}) => {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeDocument,\n BeforeFields,\n collectionSlug,\n currentEditor,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n initialData,\n initialState,\n isEditing,\n isInitializing,\n lastUpdateTime,\n onSave: onSaveFromProps,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n updateDocumentEditor,\n } = useDocumentInfo()\n\n const operation = id ? 'update' : 'create'\n\n const {\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n },\n } = useConfig()\n const router = useRouter()\n const { t } = useTranslation()\n const { previewWindowType } = useLivePreviewContext()\n const { refreshCookieAsync, user } = useAuth()\n const { reportUpdate } = useDocumentEvents()\n\n const docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n\n const isLockExpired = Date.now() > lockExpiryTime\n\n const documentLockStateRef = useRef<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\n } | null>({\n hasShownLockedModal: false,\n isLocked: false,\n user: null,\n })\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n id,\n entitySlug: collectionSlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n // Unlock the document after save\n if ((id || globalSlug) && isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n },\n [\n collectionSlug,\n globalSlug,\n id,\n isLockingEnabled,\n onSaveFromProps,\n refreshCookieAsync,\n reportUpdate,\n setDocumentIsLocked,\n user,\n userSlug,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n const docPreferences = await getDocPreferences()\n\n const { lockedState, state } = await getFormState({\n apiRoute,\n body: {\n id,\n collectionSlug,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n returnLockStatus: isLockingEnabled ? true : false,\n schemaPath,\n updateLastEdited,\n },\n serverURL,\n })\n\n setDocumentIsLocked(true)\n\n if (isLockingEnabled) {\n const previousOwnerId =\n typeof documentLockStateRef.current?.user === 'object'\n ? documentLockStateRef.current?.user?.id\n : documentLockStateRef.current?.user\n\n if (lockedState) {\n if (!documentLockStateRef.current || lockedState.user.id !== previousOwnerId) {\n if (previousOwnerId === user.id && lockedState.user.id !== user.id) {\n setShowTakeOverModal(true)\n documentLockStateRef.current.hasShownLockedModal = true\n }\n\n documentLockStateRef.current = documentLockStateRef.current = {\n hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user,\n }\n setCurrentEditor(lockedState.user)\n }\n }\n }\n\n return state\n },\n [\n collectionSlug,\n editSessionStartTime,\n globalSlug,\n serverURL,\n apiRoute,\n id,\n isLockingEnabled,\n operation,\n schemaPath,\n getDocPreferences,\n setCurrentEditor,\n setDocumentIsLocked,\n user,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n if (!isLockingEnabled) {\n return\n }\n\n const currentPath = window.location.pathname\n\n const documentId = id || globalSlug\n\n // Routes where we do NOT want to unlock the document\n const stayWithinDocumentPaths = ['preview', 'api', 'versions']\n\n const isStayingWithinDocument = stayWithinDocumentPaths.some((path) =>\n currentPath.includes(path),\n )\n\n // Unlock the document only if we're actually navigating away from the document\n if (documentId && documentIsLocked && !isStayingWithinDocument) {\n // Check if this user is still the current editor\n if (\n typeof documentLockStateRef.current?.user === 'object'\n ? documentLockStateRef.current?.user?.id === user?.id\n : documentLockStateRef.current?.user === user?.id\n ) {\n void unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n }\n }\n\n setShowTakeOverModal(false)\n }\n }, [\n collectionSlug,\n globalSlug,\n id,\n unlockDocument,\n user,\n setCurrentEditor,\n isLockingEnabled,\n documentIsLocked,\n setDocumentIsLocked,\n ])\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n (typeof currentEditor === 'object'\n ? currentEditor.id !== user?.id\n : currentEditor !== user?.id) &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n // eslint-disable-next-line react-compiler/react-compiler\n !documentLockStateRef.current?.hasShownLockedModal &&\n !isLockExpired\n\n return (\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || !hasSavePermission}\n initialState={initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {isLockingEnabled && shouldShowDocumentLockedModal && !isReadOnlyForIncomingUser && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n false,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n )\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {((collectionConfig &&\n !(collectionConfig.versions?.drafts && collectionConfig.versions?.drafts?.autosave)) ||\n (globalConfig &&\n !(globalConfig.versions?.drafts && globalConfig.versions?.drafts?.autosave))) &&\n !disableLeaveWithoutSaving &&\n !isReadOnlyForIncomingUser && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalConfig?.label}\n globalSlug={globalSlug}\n id={id}\n pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}\n useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}\n view={t('general:livePreview')}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={id?.toString() || ''}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={initialData}\n disableActions={disableActions}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n true,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n setIsReadOnlyForIncomingUser,\n )\n }\n permissions={docPermissions}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n slug={collectionConfig?.slug || globalConfig?.slug}\n user={currentEditor}\n />\n <div\n className={[baseClass, previewWindowType === 'popup' && `${baseClass}--detached`]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[\n `${baseClass}__main`,\n previewWindowType === 'popup' && `${baseClass}__main--popup-open`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {BeforeDocument}\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={BeforeFields}\n docPermissions={docPermissions}\n fields={fields}\n forceSidebarWrap\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission}\n schemaPath={collectionSlug || globalSlug}\n />\n {AfterDocument}\n </div>\n <LivePreview collectionSlug={collectionSlug} globalSlug={globalSlug} />\n </div>\n </Form>\n </OperationProvider>\n )\n}\n\nexport const LivePreviewClient: React.FC<{\n readonly breakpoints: LivePreviewConfig['breakpoints']\n readonly initialData: Data\n readonly url: string\n}> = (props) => {\n const { breakpoints, url } = props\n const { collectionSlug, globalSlug } = useDocumentInfo()\n\n const {\n config,\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { isPopupOpen, openPopupWindow, popupRef } = usePopupWindow({\n eventType: 'payload-live-preview',\n url,\n })\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const schemaPath = collectionSlug || globalSlug\n\n return (\n <Fragment>\n <SetViewActions\n actions={\n (collectionConfig || globalConfig)?.admin?.components?.views?.edit?.livePreview?.actions\n }\n />\n <LivePreviewProvider\n breakpoints={breakpoints}\n fieldSchema={collectionConfig?.fields || globalConfig?.fields}\n isPopupOpen={isPopupOpen}\n openPopupWindow={openPopupWindow}\n popupRef={popupRef}\n url={url}\n >\n <PreviewView\n apiRoute={apiRoute}\n collectionConfig={collectionConfig}\n config={config}\n fields={(collectionConfig || globalConfig)?.fields}\n globalConfig={globalConfig}\n schemaPath={schemaPath}\n serverURL={serverURL}\n />\n </LivePreviewProvider>\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,66 +1,68 @@
1
1
  @import '../../scss/styles.scss';
2
2
 
3
- .live-preview {
4
- width: 100%;
5
- display: flex;
6
- --gradient: linear-gradient(to left, rgba(0, 0, 0, 0.04) 0%, transparent 100%);
3
+ @layer payload-default {
4
+ .live-preview {
5
+ width: 100%;
6
+ display: flex;
7
+ --gradient: linear-gradient(to left, rgba(0, 0, 0, 0.04) 0%, transparent 100%);
7
8
 
8
- [dir='rtl'] & {
9
- flex-direction: row-reverse;
10
- }
9
+ [dir='rtl'] & {
10
+ flex-direction: row-reverse;
11
+ }
11
12
 
12
- &--popup-open {
13
- .live-preview {
14
- &__edit {
15
- padding-right: var(--gutter-h);
13
+ &--popup-open {
14
+ .live-preview {
15
+ &__edit {
16
+ padding-right: var(--gutter-h);
17
+ }
16
18
  }
17
19
  }
18
- }
19
20
 
20
- &__main {
21
- width: 40%;
22
- display: flex;
23
- flex-direction: column;
24
- min-height: 100%;
25
- position: relative;
21
+ &__main {
22
+ width: 40%;
23
+ display: flex;
24
+ flex-direction: column;
25
+ min-height: 100%;
26
+ position: relative;
26
27
 
27
- &--popup-open {
28
- width: 100%;
29
- }
28
+ &--popup-open {
29
+ width: 100%;
30
+ }
30
31
 
31
- &::after {
32
- content: ' ';
33
- position: absolute;
34
- top: 0;
35
- right: 0;
36
- width: calc(var(--base) * 2);
37
- height: 100%;
38
- background: var(--gradient);
39
- pointer-events: none;
40
- z-index: -1;
32
+ &::after {
33
+ content: ' ';
34
+ position: absolute;
35
+ top: 0;
36
+ right: 0;
37
+ width: calc(var(--base) * 2);
38
+ height: 100%;
39
+ background: var(--gradient);
40
+ pointer-events: none;
41
+ z-index: -1;
42
+ }
41
43
  }
42
- }
43
44
 
44
- @include mid-break {
45
- flex-direction: column;
45
+ @include mid-break {
46
+ flex-direction: column;
46
47
 
47
- &__main {
48
- min-height: initial;
49
- width: 100%;
48
+ &__main {
49
+ min-height: initial;
50
+ width: 100%;
50
51
 
51
- &::after {
52
- display: none;
52
+ &::after {
53
+ display: none;
54
+ }
53
55
  }
54
- }
55
56
 
56
- &__form {
57
- display: block;
57
+ &__form {
58
+ display: block;
59
+ }
58
60
  }
59
61
  }
60
- }
61
62
 
62
- html[data-theme='dark'] {
63
- .live-preview {
64
- --gradient: linear-gradient(to left, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 100%);
63
+ html[data-theme='dark'] {
64
+ .live-preview {
65
+ --gradient: linear-gradient(to left, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 100%);
66
+ }
65
67
  }
66
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Login/LoginForm/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAazB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,CAyFA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Login/LoginForm/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,CA0FA,CAAA"}
@@ -102,7 +102,7 @@ export const LoginForm = t0 => {
102
102
  let t9;
103
103
  if ($[20] !== setUser) {
104
104
  t9 = data => {
105
- setUser(data.user);
105
+ setUser(data);
106
106
  };
107
107
  $[20] = setUser;
108
108
  $[21] = t9;
@@ -135,6 +135,7 @@ export const LoginForm = t0 => {
135
135
  adminRoute,
136
136
  path: forgotRoute
137
137
  }),
138
+ prefetch: false,
138
139
  children: t("authentication:forgotPasswordQuestion")
139
140
  }), _jsx(FormSubmit, {
140
141
  size: "large",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","LinkImport","React","baseClass","Link","default","Form","FormSubmit","PasswordField","useAuth","useConfig","useTranslation","formatAdminURL","LoginField","LoginForm","t0","$","prefillEmail","prefillPassword","prefillUsername","searchParams","config","admin","t1","routes","t2","t3","user","userSlug","forgot","forgotRoute","adminRoute","api","apiRoute","t4","collections","find","collection","slug","collectionConfig","auth","authOptions","loginWithUsername","canLoginWithEmail","allowEmailLogin","canLoginWithUsername","t5","loginType","useState","t","setUser","t6","undefined","t7","t8","redirect","initialState","password","initialValue","valid","value","username","email","t9","data","handleLogin","_jsxs","action","className","disableSuccessStatus","method","onSuccess","waitForAutocomplete","children","_jsx","type","field","name","label","required","href","path","size"],"sources":["../../../../src/views/Login/LoginForm/index.tsx"],"sourcesContent":["'use client'\n\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nconst baseClass = 'login__form'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nimport type { ClientUser, FormState } from 'payload'\n\nimport { Form, FormSubmit, PasswordField, useAuth, useConfig, useTranslation } from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\n\nimport type { LoginFieldProps } from '../LoginField/index.js'\n\nimport { LoginField } from '../LoginField/index.js'\nimport './index.scss'\n\nexport const LoginForm: React.FC<{\n prefillEmail?: string\n prefillPassword?: string\n prefillUsername?: string\n searchParams: { [key: string]: string | string[] | undefined }\n}> = ({ prefillEmail, prefillPassword, prefillUsername, searchParams }) => {\n const { config } = useConfig()\n\n const {\n admin: {\n routes: { forgot: forgotRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n } = config\n\n const collectionConfig = config.collections?.find((collection) => collection?.slug === userSlug)\n const { auth: authOptions } = collectionConfig\n const loginWithUsername = authOptions.loginWithUsername\n const canLoginWithEmail =\n !authOptions.loginWithUsername || authOptions.loginWithUsername.allowEmailLogin\n const canLoginWithUsername = authOptions.loginWithUsername\n\n const [loginType] = React.useState<LoginFieldProps['type']>(() => {\n if (canLoginWithEmail && canLoginWithUsername) {\n return 'emailOrUsername'\n }\n if (canLoginWithUsername) {\n return 'username'\n }\n return 'email'\n })\n\n const { t } = useTranslation()\n const { setUser } = useAuth()\n\n const initialState: FormState = {\n password: {\n initialValue: prefillPassword ?? undefined,\n valid: true,\n value: prefillPassword ?? undefined,\n },\n }\n\n if (loginWithUsername) {\n initialState.username = {\n initialValue: prefillUsername ?? undefined,\n valid: true,\n value: prefillUsername ?? undefined,\n }\n } else {\n initialState.email = {\n initialValue: prefillEmail ?? undefined,\n valid: true,\n value: prefillEmail ?? undefined,\n }\n }\n\n const handleLogin = (data: { user: ClientUser }) => {\n setUser(data.user)\n }\n\n return (\n <Form\n action={`${apiRoute}/${userSlug}/login`}\n className={baseClass}\n disableSuccessStatus\n initialState={initialState}\n method=\"POST\"\n onSuccess={handleLogin}\n redirect={typeof searchParams?.redirect === 'string' ? searchParams.redirect : adminRoute}\n waitForAutocomplete\n >\n <div className={`${baseClass}__inputWrap`}>\n <LoginField type={loginType} />\n <PasswordField\n field={{\n name: 'password',\n label: t('general:password'),\n required: true,\n }}\n />\n </div>\n <Link\n href={formatAdminURL({\n adminRoute,\n path: forgotRoute,\n })}\n >\n {t('authentication:forgotPasswordQuestion')}\n </Link>\n <FormSubmit size=\"large\">{t('authentication:login')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","LinkImport","React","baseClass","Link","default","Form","FormSubmit","PasswordField","useAuth","useConfig","useTranslation","formatAdminURL","LoginField","LoginForm","t0","$","prefillEmail","prefillPassword","prefillUsername","searchParams","config","admin","t1","routes","t2","t3","user","userSlug","forgot","forgotRoute","adminRoute","api","apiRoute","t4","collections","find","collection","slug","collectionConfig","auth","authOptions","loginWithUsername","canLoginWithEmail","allowEmailLogin","canLoginWithUsername","t5","loginType","useState","t","setUser","t6","undefined","t7","t8","redirect","initialState","password","initialValue","valid","value","username","email","t9","data","handleLogin","_jsxs","action","className","disableSuccessStatus","method","onSuccess","waitForAutocomplete","children","_jsx","type","field","name","label","required","href","path","prefetch","size"],"sources":["../../../../src/views/Login/LoginForm/index.tsx"],"sourcesContent":["'use client'\n\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nconst baseClass = 'login__form'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nimport type { UserWithToken } from '@payloadcms/ui'\nimport type { FormState } from 'payload'\n\nimport { Form, FormSubmit, PasswordField, useAuth, useConfig, useTranslation } from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\n\nimport type { LoginFieldProps } from '../LoginField/index.js'\n\nimport { LoginField } from '../LoginField/index.js'\nimport './index.scss'\n\nexport const LoginForm: React.FC<{\n prefillEmail?: string\n prefillPassword?: string\n prefillUsername?: string\n searchParams: { [key: string]: string | string[] | undefined }\n}> = ({ prefillEmail, prefillPassword, prefillUsername, searchParams }) => {\n const { config } = useConfig()\n\n const {\n admin: {\n routes: { forgot: forgotRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n } = config\n\n const collectionConfig = config.collections?.find((collection) => collection?.slug === userSlug)\n const { auth: authOptions } = collectionConfig\n const loginWithUsername = authOptions.loginWithUsername\n const canLoginWithEmail =\n !authOptions.loginWithUsername || authOptions.loginWithUsername.allowEmailLogin\n const canLoginWithUsername = authOptions.loginWithUsername\n\n const [loginType] = React.useState<LoginFieldProps['type']>(() => {\n if (canLoginWithEmail && canLoginWithUsername) {\n return 'emailOrUsername'\n }\n if (canLoginWithUsername) {\n return 'username'\n }\n return 'email'\n })\n\n const { t } = useTranslation()\n const { setUser } = useAuth()\n\n const initialState: FormState = {\n password: {\n initialValue: prefillPassword ?? undefined,\n valid: true,\n value: prefillPassword ?? undefined,\n },\n }\n\n if (loginWithUsername) {\n initialState.username = {\n initialValue: prefillUsername ?? undefined,\n valid: true,\n value: prefillUsername ?? undefined,\n }\n } else {\n initialState.email = {\n initialValue: prefillEmail ?? undefined,\n valid: true,\n value: prefillEmail ?? undefined,\n }\n }\n\n const handleLogin = (data: UserWithToken) => {\n setUser(data)\n }\n\n return (\n <Form\n action={`${apiRoute}/${userSlug}/login`}\n className={baseClass}\n disableSuccessStatus\n initialState={initialState}\n method=\"POST\"\n onSuccess={handleLogin}\n redirect={typeof searchParams?.redirect === 'string' ? searchParams.redirect : adminRoute}\n waitForAutocomplete\n >\n <div className={`${baseClass}__inputWrap`}>\n <LoginField type={loginType} />\n <PasswordField\n field={{\n name: 'password',\n label: t('general:password'),\n required: true,\n }}\n />\n </div>\n <Link\n href={formatAdminURL({\n adminRoute,\n path: forgotRoute,\n })}\n prefetch={false}\n >\n {t('authentication:forgotPasswordQuestion')}\n </Link>\n <FormSubmit size=\"large\">{t('authentication:login')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,10 @@
1
- .login__form {
2
- &__inputWrap {
3
- display: flex;
4
- flex-direction: column;
5
- gap: var(--base);
6
- margin-bottom: calc(var(--base) / 4);
1
+ @layer payload-default {
2
+ .login__form {
3
+ &__inputWrap {
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: var(--base);
7
+ margin-bottom: calc(var(--base) / 4);
8
+ }
7
9
  }
8
10
  }
@@ -1,8 +1,10 @@
1
- .login {
2
- &__brand {
3
- display: flex;
4
- justify-content: center;
5
- width: 100%;
6
- margin-bottom: calc(var(--base) * 2);
1
+ @layer payload-default {
2
+ .login {
3
+ &__brand {
4
+ display: flex;
5
+ justify-content: center;
6
+ width: 100%;
7
+ margin-bottom: calc(var(--base) * 2);
8
+ }
7
9
  }
8
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LogoutClient.d.ts","sourceRoot":"","sources":["../../../src/views/Logout/LogoutClient.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,cAAc,CAAA;AAMrB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAsCA,CAAA"}
1
+ {"version":3,"file":"LogoutClient.d.ts","sourceRoot":"","sources":["../../../src/views/Logout/LogoutClient.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAExC,OAAO,cAAc,CAAA;AAMrB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAgDA,CAAA"}
@@ -2,96 +2,118 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import { Button, useAuth, useTranslation } from '@payloadcms/ui';
5
+ import { Button, LoadingOverlay, toast, useAuth, useTranslation } from '@payloadcms/ui';
6
6
  import { formatAdminURL } from '@payloadcms/ui/shared';
7
7
  import LinkImport from 'next/link.js';
8
- import React, { Fragment, useEffect } from 'react';
8
+ import { useRouter } from 'next/navigation.js';
9
+ import React, { useEffect } from 'react';
9
10
  const baseClass = 'logout';
10
11
  const Link = LinkImport.default || LinkImport;
11
12
  export const LogoutClient = props => {
12
- const $ = _c(15);
13
+ const $ = _c(19);
13
14
  const {
14
15
  adminRoute,
15
16
  inactivity,
16
17
  redirect
17
18
  } = props;
18
- const [isLoggingOut, setIsLoggingOut] = React.useState(undefined);
19
+ const [isLoggedOut, setIsLoggedOut] = React.useState(undefined);
20
+ const logOutSuccessRef = React.useRef(false);
21
+ let t0;
22
+ if ($[0] !== adminRoute || $[1] !== inactivity || $[2] !== redirect) {
23
+ t0 = () => formatAdminURL({
24
+ adminRoute,
25
+ path: `/login${inactivity && redirect && redirect.length > 0 ? `?redirect=${encodeURIComponent(redirect)}` : ""}`
26
+ });
27
+ $[0] = adminRoute;
28
+ $[1] = inactivity;
29
+ $[2] = redirect;
30
+ $[3] = t0;
31
+ } else {
32
+ t0 = $[3];
33
+ }
34
+ const [loginRoute] = React.useState(t0);
19
35
  const {
20
36
  logOut
21
37
  } = useAuth();
22
38
  const {
23
39
  t
24
40
  } = useTranslation();
25
- let t0;
41
+ const router = useRouter();
26
42
  let t1;
27
- if ($[0] !== isLoggingOut || $[1] !== logOut) {
28
- t0 = () => {
29
- if (!isLoggingOut) {
30
- setIsLoggingOut(true);
31
- logOut();
43
+ if ($[4] !== logOut || $[5] !== inactivity || $[6] !== t || $[7] !== router || $[8] !== loginRoute) {
44
+ t1 = async () => {
45
+ const loggedOut = await logOut();
46
+ setIsLoggedOut(loggedOut);
47
+ if (!inactivity && loggedOut && !logOutSuccessRef.current) {
48
+ toast.success(t("authentication:loggedOutSuccessfully"));
49
+ logOutSuccessRef.current = true;
50
+ router.push(loginRoute);
51
+ return;
32
52
  }
33
53
  };
34
- t1 = [isLoggingOut, logOut];
35
- $[0] = isLoggingOut;
36
- $[1] = logOut;
37
- $[2] = t0;
38
- $[3] = t1;
54
+ $[4] = logOut;
55
+ $[5] = inactivity;
56
+ $[6] = t;
57
+ $[7] = router;
58
+ $[8] = loginRoute;
59
+ $[9] = t1;
39
60
  } else {
40
- t0 = $[2];
41
- t1 = $[3];
61
+ t1 = $[9];
42
62
  }
43
- useEffect(t0, t1);
44
- if (isLoggingOut) {
45
- let t2;
46
- if ($[4] !== inactivity || $[5] !== t) {
47
- t2 = inactivity && _jsx("h2", {
48
- children: t("authentication:loggedOutInactivity")
49
- });
50
- $[4] = inactivity;
51
- $[5] = t;
52
- $[6] = t2;
53
- } else {
54
- t2 = $[6];
55
- }
56
- let t3;
57
- if ($[7] !== inactivity || $[8] !== t || $[9] !== redirect || $[10] !== adminRoute || $[11] !== t2) {
58
- t3 = _jsxs("div", {
63
+ const handleLogOut = t1;
64
+ let t2;
65
+ let t3;
66
+ if ($[10] !== isLoggedOut || $[11] !== handleLogOut) {
67
+ t2 = () => {
68
+ if (!isLoggedOut) {
69
+ handleLogOut();
70
+ }
71
+ };
72
+ t3 = [handleLogOut, isLoggedOut];
73
+ $[10] = isLoggedOut;
74
+ $[11] = handleLogOut;
75
+ $[12] = t2;
76
+ $[13] = t3;
77
+ } else {
78
+ t2 = $[12];
79
+ t3 = $[13];
80
+ }
81
+ useEffect(t2, t3);
82
+ if (isLoggedOut && inactivity) {
83
+ let t4;
84
+ if ($[14] !== t || $[15] !== loginRoute) {
85
+ t4 = _jsxs("div", {
59
86
  className: `${baseClass}__wrap`,
60
- children: [t2, !inactivity && _jsx("h2", {
61
- children: t("authentication:loggedOutSuccessfully")
87
+ children: [_jsx("h2", {
88
+ children: t("authentication:loggedOutInactivity")
62
89
  }), _jsx(Button, {
63
90
  buttonStyle: "secondary",
64
91
  el: "link",
65
92
  Link,
66
93
  size: "large",
67
- url: formatAdminURL({
68
- adminRoute,
69
- path: `/login${redirect && redirect.length > 0 ? `?redirect=${encodeURIComponent(redirect)}` : ""}`
70
- }),
94
+ url: loginRoute,
71
95
  children: t("authentication:logBackIn")
72
96
  })]
73
97
  });
74
- $[7] = inactivity;
75
- $[8] = t;
76
- $[9] = redirect;
77
- $[10] = adminRoute;
78
- $[11] = t2;
79
- $[12] = t3;
98
+ $[14] = t;
99
+ $[15] = loginRoute;
100
+ $[16] = t4;
80
101
  } else {
81
- t3 = $[12];
102
+ t4 = $[16];
82
103
  }
83
- return t3;
104
+ return t4;
84
105
  }
85
- let t2;
86
- if ($[13] !== t) {
87
- t2 = _jsx(Fragment, {
88
- children: t("authentication:loggingOut")
106
+ let t4;
107
+ if ($[17] !== t) {
108
+ t4 = _jsx(LoadingOverlay, {
109
+ animationDuration: "0ms",
110
+ loadingText: t("authentication:loggingOut")
89
111
  });
90
- $[13] = t;
91
- $[14] = t2;
112
+ $[17] = t;
113
+ $[18] = t4;
92
114
  } else {
93
- t2 = $[14];
115
+ t4 = $[18];
94
116
  }
95
- return t2;
117
+ return t4;
96
118
  };
97
119
  //# sourceMappingURL=LogoutClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LogoutClient.js","names":["c","_c","Button","useAuth","useTranslation","formatAdminURL","LinkImport","React","Fragment","useEffect","baseClass","Link","default","LogoutClient","props","$","adminRoute","inactivity","redirect","isLoggingOut","setIsLoggingOut","useState","undefined","logOut","t","t0","t1","t2","_jsx","children","t3","_jsxs","className","buttonStyle","el","size","url","path","length","encodeURIComponent"],"sources":["../../../src/views/Logout/LogoutClient.tsx"],"sourcesContent":["'use client'\nimport { Button, useAuth, useTranslation } from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport LinkImport from 'next/link.js'\nimport React, { Fragment, useEffect } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'logout'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const LogoutClient: React.FC<{\n adminRoute: string\n inactivity?: boolean\n redirect: string\n}> = (props) => {\n const { adminRoute, inactivity, redirect } = props\n\n const [isLoggingOut, setIsLoggingOut] = React.useState<boolean | undefined>(undefined)\n const { logOut } = useAuth()\n const { t } = useTranslation()\n\n useEffect(() => {\n if (!isLoggingOut) {\n setIsLoggingOut(true)\n void logOut()\n }\n }, [isLoggingOut, logOut])\n\n if (isLoggingOut) {\n return (\n <div className={`${baseClass}__wrap`}>\n {inactivity && <h2>{t('authentication:loggedOutInactivity')}</h2>}\n {!inactivity && <h2>{t('authentication:loggedOutSuccessfully')}</h2>}\n <Button\n buttonStyle=\"secondary\"\n el=\"link\"\n Link={Link}\n size=\"large\"\n url={formatAdminURL({\n adminRoute,\n path: `/login${\n redirect && redirect.length > 0 ? `?redirect=${encodeURIComponent(redirect)}` : ''\n }`,\n })}\n >\n {t('authentication:logBackIn')}\n </Button>\n </div>\n )\n }\n\n return <Fragment>{t('authentication:loggingOut')}</Fragment>\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,MAAM,EAAEC,OAAO,EAAEC,cAAc,QAAQ;AAChD,SAASC,cAAc,QAAQ;AAC/B,OAAOC,UAAA,MAAgB;AACvB,OAAOC,KAAA,IAASC,QAAQ,EAAEC,SAAS,QAAQ;AAI3C,MAAMC,SAAA,GAAY;AAElB,MAAMC,IAAA,GAAQL,UAAA,CAAWM,OAAO,IAAIN,UAAA;AAEpC,OAAO,MAAMO,YAAA,GAIRC,KAAA;EAAA,MAAAC,CAAA,GAAAd,EAAA;EACH;IAAAe,UAAA;IAAAC,UAAA;IAAAC;EAAA,IAA6CJ,KAAA;EAE7C,OAAAK,YAAA,EAAAC,eAAA,IAAwCb,KAAA,CAAAc,QAAA,CAAAC,SAAoC;EAC5E;IAAAC;EAAA,IAAmBpB,OAAA;EACnB;IAAAqB;EAAA,IAAcpB,cAAA;EAAA,IAAAqB,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAX,CAAA,QAAAI,YAAA,IAAAJ,CAAA,QAAAQ,MAAA;IAEJE,EAAA,GAAAA,CAAA;MAAA,KACHN,YAAA;QACHC,eAAA,KAAgB;QACXG,MAAA;MAAA;IAAA;IAENG,EAAA,IAACP,YAAA,EAAcI,MAAA;IAAOR,CAAA,MAAAI,YAAA;IAAAJ,CAAA,MAAAQ,MAAA;IAAAR,CAAA,MAAAU,EAAA;IAAAV,CAAA,MAAAW,EAAA;EAAA;IAAAD,EAAA,GAAAV,CAAA;IAAAW,EAAA,GAAAX,CAAA;EAAA;EALzBN,SAAA,CAAUgB,EAKV,EAAGC,EAAsB;EAAA,IAErBP,YAAA;IAAA,IAAAQ,EAAA;IAAA,IAAAZ,CAAA,QAAAE,UAAA,IAAAF,CAAA,QAAAS,CAAA;MAGGG,EAAA,GAAAV,UAAA,IAAcW,IAAA,CAAC;QAAAC,QAAA,EAAIL,CAAA,CAAE;MAAA,C;;;;;;;;;MADxBM,EAAA,GAAAC,KAAA,CAAC;QAAAC,SAAA,EAAe,GAAAtB,SAAA,QAAoB;QAAAmB,QAAA,GACjCF,E,EACA,CAACV,UAAA,IAAcW,IAAA,CAAC;UAAAC,QAAA,EAAIL,CAAA,CAAE;QAAA,C,GACvBI,IAAA,CAAA1B,MAAA;UAAA+B,WAAA,EACc;UAAAC,EAAA,EACT;UAAAvB,IAAA;UAAAwB,IAAA,EAEE;UAAAC,GAAA,EACA/B,cAAA;YAAAW,UAAA;YAAAqB,IAAA,EAEG,SACJnB,QAAA,IAAYA,QAAA,CAAAoB,MAAA,IAAkB,GAAI,aAAaC,kBAAA,CAAmBrB,QAAA,GAAW,GAAG;UAChF,CACJ;UAAAW,QAAA,EAECL,CAAA,CAAE;QAAA,C;;;;;;;;;;;WAfPM,E;;;;IAqBGH,EAAA,GAAAC,IAAA,CAAApB,QAAA;MAAAqB,QAAA,EAAWL,CAAA,CAAE;IAAA,C;;;;;;SAAbG,E;CACT","ignoreList":[]}
1
+ {"version":3,"file":"LogoutClient.js","names":["c","_c","Button","LoadingOverlay","toast","useAuth","useTranslation","formatAdminURL","LinkImport","useRouter","React","useEffect","baseClass","Link","default","LogoutClient","props","$","adminRoute","inactivity","redirect","isLoggedOut","setIsLoggedOut","useState","undefined","logOutSuccessRef","useRef","t0","path","length","encodeURIComponent","loginRoute","logOut","t","router","t1","loggedOut","current","success","push","handleLogOut","t2","t3","t4","_jsxs","className","children","_jsx","buttonStyle","el","size","url","animationDuration","loadingText"],"sources":["../../../src/views/Logout/LogoutClient.tsx"],"sourcesContent":["'use client'\nimport { Button, LoadingOverlay, toast, useAuth, useTranslation } from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport LinkImport from 'next/link.js'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useEffect } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'logout'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const LogoutClient: React.FC<{\n adminRoute: string\n inactivity?: boolean\n redirect: string\n}> = (props) => {\n const { adminRoute, inactivity, redirect } = props\n\n const [isLoggedOut, setIsLoggedOut] = React.useState<boolean | undefined>(undefined)\n const logOutSuccessRef = React.useRef(false)\n const [loginRoute] = React.useState(() =>\n formatAdminURL({\n adminRoute,\n path: `/login${\n inactivity && redirect && redirect.length > 0\n ? `?redirect=${encodeURIComponent(redirect)}`\n : ''\n }`,\n }),\n )\n const { logOut } = useAuth()\n const { t } = useTranslation()\n const router = useRouter()\n\n const handleLogOut = React.useCallback(async () => {\n const loggedOut = await logOut()\n setIsLoggedOut(loggedOut)\n if (!inactivity && loggedOut && !logOutSuccessRef.current) {\n toast.success(t('authentication:loggedOutSuccessfully'))\n logOutSuccessRef.current = true\n router.push(loginRoute)\n return\n }\n }, [inactivity, logOut, loginRoute, router, t])\n\n useEffect(() => {\n if (!isLoggedOut) {\n void handleLogOut()\n }\n }, [handleLogOut, isLoggedOut])\n\n if (isLoggedOut && inactivity) {\n return (\n <div className={`${baseClass}__wrap`}>\n <h2>{t('authentication:loggedOutInactivity')}</h2>\n <Button buttonStyle=\"secondary\" el=\"link\" Link={Link} size=\"large\" url={loginRoute}>\n {t('authentication:logBackIn')}\n </Button>\n </div>\n )\n }\n\n return <LoadingOverlay animationDuration={'0ms'} loadingText={t('authentication:loggingOut')} />\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,23 +1,25 @@
1
1
  @import '../../scss/styles.scss';
2
2
 
3
- .logout {
4
- display: flex;
5
- flex-direction: column;
6
- align-items: center;
7
- flex-wrap: wrap;
8
-
9
- &__wrap {
10
- z-index: 1;
11
- position: relative;
3
+ @layer payload-default {
4
+ .logout {
12
5
  display: flex;
13
6
  flex-direction: column;
14
- align-items: flex-start;
15
- gap: base(0.8);
16
- width: 100%;
17
- max-width: base(36);
7
+ align-items: center;
8
+ flex-wrap: wrap;
9
+
10
+ &__wrap {
11
+ z-index: 1;
12
+ position: relative;
13
+ display: flex;
14
+ flex-direction: column;
15
+ align-items: flex-start;
16
+ gap: base(0.8);
17
+ width: 100%;
18
+ max-width: base(36);
18
19
 
19
- & > * {
20
- margin: 0;
20
+ & > * {
21
+ margin: 0;
22
+ }
21
23
  }
22
24
  }
23
25
  }
@@ -15,15 +15,15 @@ export type GenerateViewMetadata = (args: {
15
15
  [key: string]: string | string[];
16
16
  };
17
17
  }) => Promise<Metadata>;
18
- export declare const NotFoundPage: ({ config: configPromise, importMap, params, searchParams, }: {
18
+ export declare const NotFoundPage: ({ config: configPromise, importMap, params: paramsPromise, searchParams: searchParamsPromise, }: {
19
19
  config: Promise<SanitizedConfig>;
20
20
  importMap: ImportMap;
21
- params: {
21
+ params: Promise<{
22
22
  segments: string[];
23
- };
24
- searchParams: {
23
+ }>;
24
+ searchParams: Promise<{
25
25
  [key: string]: string | string[];
26
- };
26
+ }>;
27
27
  }) => Promise<React.JSX.Element>;
28
28
  export declare const NotFoundView: PayloadServerReactComponent<AdminViewComponent>;
29
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/NotFound/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EACV,kBAAkB,EAClB,SAAS,EACT,2BAA2B,EAC3B,eAAe,EAChB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,eAAO,MAAM,oBAAoB,+BAE9B;IACD,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAG,OAAO,CAAC,QAAQ,CAUnB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,YAAY,gEAKtB;IACD,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;IACD,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;CACF,+BA0BA,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,2BAA2B,CAAC,kBAAkB,CAExE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/NotFound/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EACV,kBAAkB,EAClB,SAAS,EACT,2BAA2B,EAC3B,eAAe,EAChB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,eAAO,MAAM,oBAAoB,+BAE9B;IACD,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAG,OAAO,CAAC,QAAQ,CAUnB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,YAAY,oGAKtB;IACD,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC,CAAA;IACF,YAAY,EAAE,OAAO,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,+BAiCA,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,2BAA2B,CAAC,kBAAkB,CAExE,CAAA"}