@payloadcms/next 3.0.0-beta.126 → 3.0.0-beta.128

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 (290) hide show
  1. package/dist/cjs/withPayload.cjs +10 -0
  2. package/dist/cjs/withPayload.cjs.map +1 -1
  3. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -1
  4. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  5. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +13 -15
  6. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  8. package/dist/elements/DocumentHeader/Tabs/index.js +9 -14
  9. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  10. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +13 -28
  12. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  13. package/dist/elements/DocumentHeader/index.d.ts +0 -1
  14. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  15. package/dist/elements/DocumentHeader/index.js +9 -12
  16. package/dist/elements/DocumentHeader/index.js.map +1 -1
  17. package/dist/elements/Logo/index.d.ts.map +1 -1
  18. package/dist/elements/Logo/index.js +5 -6
  19. package/dist/elements/Logo/index.js.map +1 -1
  20. package/dist/elements/Nav/index.client.d.ts +4 -1
  21. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  22. package/dist/elements/Nav/index.client.js +40 -95
  23. package/dist/elements/Nav/index.client.js.map +1 -1
  24. package/dist/elements/Nav/index.d.ts.map +1 -1
  25. package/dist/elements/Nav/index.js +60 -23
  26. package/dist/elements/Nav/index.js.map +1 -1
  27. package/dist/exports/layouts.d.ts +1 -0
  28. package/dist/exports/layouts.d.ts.map +1 -1
  29. package/dist/exports/layouts.js +1 -0
  30. package/dist/exports/layouts.js.map +1 -1
  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/exports/views.d.ts +0 -2
  35. package/dist/exports/views.d.ts.map +1 -1
  36. package/dist/exports/views.js +0 -2
  37. package/dist/exports/views.js.map +1 -1
  38. package/dist/fetchAPI-multipart/isEligibleRequest.js +1 -1
  39. package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
  40. package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
  41. package/dist/fetchAPI-multipart/processMultipart.js +9 -11
  42. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
  43. package/dist/layouts/Root/NestProviders.d.ts +11 -0
  44. package/dist/layouts/Root/NestProviders.d.ts.map +1 -0
  45. package/dist/layouts/Root/NestProviders.js +21 -0
  46. package/dist/layouts/Root/NestProviders.js.map +1 -0
  47. package/dist/layouts/Root/index.d.ts +3 -2
  48. package/dist/layouts/Root/index.d.ts.map +1 -1
  49. package/dist/layouts/Root/index.js +14 -18
  50. package/dist/layouts/Root/index.js.map +1 -1
  51. package/dist/prod/styles.css +1 -1
  52. package/dist/routes/rest/index.d.ts.map +1 -1
  53. package/dist/routes/rest/index.js +0 -10
  54. package/dist/routes/rest/index.js.map +1 -1
  55. package/dist/routes/rest/og/image.d.ts +4 -2
  56. package/dist/routes/rest/og/image.d.ts.map +1 -1
  57. package/dist/routes/rest/og/image.js +7 -3
  58. package/dist/routes/rest/og/image.js.map +1 -1
  59. package/dist/routes/rest/og/index.d.ts.map +1 -1
  60. package/dist/routes/rest/og/index.js +5 -8
  61. package/dist/routes/rest/og/index.js.map +1 -1
  62. package/dist/routes/rest/routeError.d.ts.map +1 -1
  63. package/dist/routes/rest/routeError.js +1 -47
  64. package/dist/routes/rest/routeError.js.map +1 -1
  65. package/dist/templates/Default/index.d.ts +2 -1
  66. package/dist/templates/Default/index.d.ts.map +1 -1
  67. package/dist/templates/Default/index.js +97 -41
  68. package/dist/templates/Default/index.js.map +1 -1
  69. package/dist/utilities/getClientConfig.d.ts +7 -0
  70. package/dist/utilities/getClientConfig.d.ts.map +1 -0
  71. package/dist/utilities/getClientConfig.js +14 -0
  72. package/dist/utilities/getClientConfig.js.map +1 -0
  73. package/dist/utilities/handleServerFunctions.d.ts +3 -0
  74. package/dist/utilities/handleServerFunctions.d.ts.map +1 -0
  75. package/dist/utilities/handleServerFunctions.js +35 -0
  76. package/dist/utilities/handleServerFunctions.js.map +1 -0
  77. package/dist/utilities/initPage/handleAdminPage.d.ts +2 -1
  78. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
  79. package/dist/utilities/initPage/handleAdminPage.js +9 -1
  80. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  81. package/dist/utilities/initPage/handleAuthRedirect.js +2 -2
  82. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  83. package/dist/utilities/initPage/index.d.ts.map +1 -1
  84. package/dist/utilities/initPage/index.js +2 -1
  85. package/dist/utilities/initPage/index.js.map +1 -1
  86. package/dist/utilities/initReq.d.ts +1 -1
  87. package/dist/utilities/initReq.d.ts.map +1 -1
  88. package/dist/utilities/initReq.js +3 -2
  89. package/dist/utilities/initReq.js.map +1 -1
  90. package/dist/views/API/LocaleSelector/index.d.ts.map +1 -1
  91. package/dist/views/API/LocaleSelector/index.js +0 -1
  92. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  93. package/dist/views/API/index.client.d.ts.map +1 -1
  94. package/dist/views/API/index.client.js +10 -13
  95. package/dist/views/API/index.client.js.map +1 -1
  96. package/dist/views/Account/Settings/index.js +0 -1
  97. package/dist/views/Account/Settings/index.js.map +1 -1
  98. package/dist/views/Account/index.d.ts.map +1 -1
  99. package/dist/views/Account/index.js +81 -24
  100. package/dist/views/Account/index.js.map +1 -1
  101. package/dist/views/CreateFirstUser/index.client.d.ts +3 -1
  102. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  103. package/dist/views/CreateFirstUser/index.client.js +83 -109
  104. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  105. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  106. package/dist/views/CreateFirstUser/index.js +36 -4
  107. package/dist/views/CreateFirstUser/index.js.map +1 -1
  108. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  109. package/dist/views/Dashboard/Default/index.js +46 -44
  110. package/dist/views/Dashboard/Default/index.js.map +1 -1
  111. package/dist/views/Dashboard/index.d.ts.map +1 -1
  112. package/dist/views/Dashboard/index.js +22 -21
  113. package/dist/views/Dashboard/index.js.map +1 -1
  114. package/dist/views/Document/getDocPreferences.d.ts +11 -0
  115. package/dist/views/Document/getDocPreferences.d.ts.map +1 -0
  116. package/dist/views/Document/getDocPreferences.js +44 -0
  117. package/dist/views/Document/getDocPreferences.js.map +1 -0
  118. package/dist/views/Document/getDocumentData.d.ts +10 -11
  119. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  120. package/dist/views/Document/getDocumentData.js +35 -47
  121. package/dist/views/Document/getDocumentData.js.map +1 -1
  122. package/dist/views/Document/getIsLocked.d.ts +16 -0
  123. package/dist/views/Document/getIsLocked.d.ts.map +1 -0
  124. package/dist/views/Document/getIsLocked.js +55 -0
  125. package/dist/views/Document/getIsLocked.js.map +1 -0
  126. package/dist/views/Document/getVersions.d.ts +19 -0
  127. package/dist/views/Document/getVersions.d.ts.map +1 -0
  128. package/dist/views/Document/getVersions.js +181 -0
  129. package/dist/views/Document/getVersions.js.map +1 -0
  130. package/dist/views/Document/getViewsFromConfig.d.ts +1 -1
  131. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  132. package/dist/views/Document/getViewsFromConfig.js +18 -19
  133. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  134. package/dist/views/Document/handleServerFunction.d.ts +24 -0
  135. package/dist/views/Document/handleServerFunction.d.ts.map +1 -0
  136. package/dist/views/Document/handleServerFunction.js +156 -0
  137. package/dist/views/Document/handleServerFunction.js.map +1 -0
  138. package/dist/views/Document/index.d.ts +5 -1
  139. package/dist/views/Document/index.d.ts.map +1 -1
  140. package/dist/views/Document/index.js +181 -72
  141. package/dist/views/Document/index.js.map +1 -1
  142. package/dist/views/Document/renderDocumentSlots.d.ts +12 -0
  143. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -0
  144. package/dist/views/Document/renderDocumentSlots.js +92 -0
  145. package/dist/views/Document/renderDocumentSlots.js.map +1 -0
  146. package/dist/views/Edit/index.d.ts +3 -2
  147. package/dist/views/Edit/index.d.ts.map +1 -1
  148. package/dist/views/Edit/index.js +7 -3
  149. package/dist/views/Edit/index.js.map +1 -1
  150. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  151. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +3 -1
  152. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  153. package/dist/views/List/handleServerFunction.d.ts +26 -0
  154. package/dist/views/List/handleServerFunction.d.ts.map +1 -0
  155. package/dist/views/List/handleServerFunction.js +155 -0
  156. package/dist/views/List/handleServerFunction.js.map +1 -0
  157. package/dist/views/List/index.d.ts +12 -2
  158. package/dist/views/List/index.d.ts.map +1 -1
  159. package/dist/views/List/index.js +121 -81
  160. package/dist/views/List/index.js.map +1 -1
  161. package/dist/views/List/renderListViewSlots.d.ts +8 -0
  162. package/dist/views/List/renderListViewSlots.d.ts.map +1 -0
  163. package/dist/views/List/renderListViewSlots.js +44 -0
  164. package/dist/views/List/renderListViewSlots.js.map +1 -0
  165. package/dist/views/LivePreview/Context/sizeReducer.d.ts +1 -1
  166. package/dist/views/LivePreview/Context/sizeReducer.d.ts.map +1 -1
  167. package/dist/views/LivePreview/Context/sizeReducer.js +4 -4
  168. package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
  169. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  170. package/dist/views/LivePreview/index.client.js +38 -35
  171. package/dist/views/LivePreview/index.client.js.map +1 -1
  172. package/dist/views/Login/LoginField/index.d.ts.map +1 -1
  173. package/dist/views/Login/LoginField/index.js +3 -1
  174. package/dist/views/Login/LoginField/index.js.map +1 -1
  175. package/dist/views/Login/index.d.ts.map +1 -1
  176. package/dist/views/Login/index.js +26 -20
  177. package/dist/views/Login/index.js.map +1 -1
  178. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  179. package/dist/views/Logout/LogoutClient.js +5 -4
  180. package/dist/views/Logout/LogoutClient.js.map +1 -1
  181. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -1
  182. package/dist/views/ResetPassword/ResetPasswordForm/index.js +24 -10
  183. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  184. package/dist/views/Root/getViewFromConfig.d.ts +3 -1
  185. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  186. package/dist/views/Root/getViewFromConfig.js +128 -7
  187. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  188. package/dist/views/Root/index.d.ts.map +1 -1
  189. package/dist/views/Root/index.js +22 -11
  190. package/dist/views/Root/index.js.map +1 -1
  191. package/dist/views/Version/Default/index.d.ts.map +1 -1
  192. package/dist/views/Version/Default/index.js +2 -4
  193. package/dist/views/Version/Default/index.js.map +1 -1
  194. package/dist/views/Versions/buildColumns.d.ts +3 -2
  195. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  196. package/dist/views/Versions/buildColumns.js +33 -61
  197. package/dist/views/Versions/buildColumns.js.map +1 -1
  198. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +7 -0
  199. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  200. package/dist/views/Versions/cells/AutosaveCell/index.js +48 -37
  201. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  202. package/dist/views/Versions/cells/CreatedAt/index.d.ts +4 -0
  203. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  204. package/dist/views/Versions/cells/CreatedAt/index.js +43 -45
  205. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  206. package/dist/views/Versions/cells/ID/index.d.ts +3 -1
  207. package/dist/views/Versions/cells/ID/index.d.ts.map +1 -1
  208. package/dist/views/Versions/cells/ID/index.js +7 -19
  209. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  210. package/dist/views/Versions/index.client.d.ts.map +1 -1
  211. package/dist/views/Versions/index.client.js +53 -51
  212. package/dist/views/Versions/index.client.js.map +1 -1
  213. package/dist/views/Versions/index.d.ts.map +1 -1
  214. package/dist/views/Versions/index.js +3 -2
  215. package/dist/views/Versions/index.js.map +1 -1
  216. package/dist/withPayload.d.ts.map +1 -1
  217. package/dist/withPayload.js +10 -0
  218. package/dist/withPayload.js.map +1 -1
  219. package/license.md +22 -0
  220. package/package.json +16 -7
  221. package/dist/elements/DocumentLocked/index.d.ts +0 -12
  222. package/dist/elements/DocumentLocked/index.d.ts.map +0 -1
  223. package/dist/elements/DocumentLocked/index.js +0 -152
  224. package/dist/elements/DocumentLocked/index.js.map +0 -1
  225. package/dist/elements/DocumentLocked/index.scss +0 -40
  226. package/dist/elements/DocumentTakeOver/index.d.ts +0 -8
  227. package/dist/elements/DocumentTakeOver/index.d.ts.map +0 -1
  228. package/dist/elements/DocumentTakeOver/index.js +0 -98
  229. package/dist/elements/DocumentTakeOver/index.js.map +0 -1
  230. package/dist/elements/DocumentTakeOver/index.scss +0 -39
  231. package/dist/elements/EmailAndUsername/index.d.ts +0 -14
  232. package/dist/elements/EmailAndUsername/index.d.ts.map +0 -1
  233. package/dist/elements/EmailAndUsername/index.js +0 -121
  234. package/dist/elements/EmailAndUsername/index.js.map +0 -1
  235. package/dist/elements/LeaveWithoutSaving/index.d.ts +0 -4
  236. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +0 -1
  237. package/dist/elements/LeaveWithoutSaving/index.js +0 -162
  238. package/dist/elements/LeaveWithoutSaving/index.js.map +0 -1
  239. package/dist/elements/LeaveWithoutSaving/index.scss +0 -39
  240. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +0 -9
  241. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +0 -1
  242. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +0 -136
  243. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +0 -1
  244. package/dist/routes/rest/buildFormState.d.ts +0 -5
  245. package/dist/routes/rest/buildFormState.d.ts.map +0 -1
  246. package/dist/routes/rest/buildFormState.js +0 -46
  247. package/dist/routes/rest/buildFormState.js.map +0 -1
  248. package/dist/views/Edit/Default/Auth/APIKey.d.ts +0 -6
  249. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +0 -1
  250. package/dist/views/Edit/Default/Auth/APIKey.js +0 -125
  251. package/dist/views/Edit/Default/Auth/APIKey.js.map +0 -1
  252. package/dist/views/Edit/Default/Auth/index.d.ts +0 -5
  253. package/dist/views/Edit/Default/Auth/index.d.ts.map +0 -1
  254. package/dist/views/Edit/Default/Auth/index.js +0 -318
  255. package/dist/views/Edit/Default/Auth/index.js.map +0 -1
  256. package/dist/views/Edit/Default/Auth/index.scss +0 -78
  257. package/dist/views/Edit/Default/Auth/types.d.ts +0 -17
  258. package/dist/views/Edit/Default/Auth/types.d.ts.map +0 -1
  259. package/dist/views/Edit/Default/Auth/types.js +0 -2
  260. package/dist/views/Edit/Default/Auth/types.js.map +0 -1
  261. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts +0 -11
  262. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +0 -1
  263. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +0 -130
  264. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +0 -1
  265. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts +0 -8
  266. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts.map +0 -1
  267. package/dist/views/Edit/Default/SetDocumentTitle/index.js +0 -81
  268. package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +0 -1
  269. package/dist/views/Edit/Default/index.d.ts +0 -4
  270. package/dist/views/Edit/Default/index.d.ts.map +0 -1
  271. package/dist/views/Edit/Default/index.js +0 -349
  272. package/dist/views/Edit/Default/index.js.map +0 -1
  273. package/dist/views/Edit/Default/index.scss +0 -23
  274. package/dist/views/Edit/Default/types.d.ts +0 -6
  275. package/dist/views/Edit/Default/types.d.ts.map +0 -1
  276. package/dist/views/Edit/Default/types.js +0 -2
  277. package/dist/views/Edit/Default/types.js.map +0 -1
  278. package/dist/views/Edit/index.client.d.ts +0 -3
  279. package/dist/views/Edit/index.client.d.ts.map +0 -1
  280. package/dist/views/Edit/index.client.js +0 -54
  281. package/dist/views/Edit/index.client.js.map +0 -1
  282. package/dist/views/List/Default/index.d.ts +0 -4
  283. package/dist/views/List/Default/index.d.ts.map +0 -1
  284. package/dist/views/List/Default/index.js +0 -387
  285. package/dist/views/List/Default/index.js.map +0 -1
  286. package/dist/views/List/Default/index.scss +0 -179
  287. package/dist/views/List/Default/types.d.ts +0 -15
  288. package/dist/views/List/Default/types.d.ts.map +0 -1
  289. package/dist/views/List/Default/types.js +0 -2
  290. package/dist/views/List/Default/types.js.map +0 -1
@@ -1,136 +0,0 @@
1
- 'use client';
2
-
3
- // Credit: @Taiki92777
4
- // - Source: https://github.com/vercel/next.js/discussions/32231#discussioncomment-7284386
5
- // Credit: `react-use` maintainers
6
- // - Source: https://github.com/streamich/react-use/blob/ade8d3905f544305515d010737b4ae604cc51024/src/useBeforeUnload.ts#L2
7
- import { c as _c } from "react/compiler-runtime";
8
- import { useRouter } from 'next/navigation.js';
9
- import { useCallback, useEffect, useRef } from 'react';
10
- function on(obj, ...args) {
11
- if (obj && obj.addEventListener) {
12
- obj.addEventListener(...args);
13
- }
14
- }
15
- function off(obj, ...args) {
16
- if (obj && obj.removeEventListener) {
17
- obj.removeEventListener(...args);
18
- }
19
- }
20
- export const useBeforeUnload = (t0, message) => {
21
- const $ = _c(7);
22
- const enabled = t0 === undefined ? true : t0;
23
- let t1;
24
- if ($[0] !== enabled || $[1] !== message) {
25
- t1 = event => {
26
- const finalEnabled = typeof enabled === "function" ? enabled() : true;
27
- if (!finalEnabled) {
28
- return;
29
- }
30
- event.preventDefault();
31
- if (message) {
32
- event.returnValue = message;
33
- }
34
- return message;
35
- };
36
- $[0] = enabled;
37
- $[1] = message;
38
- $[2] = t1;
39
- } else {
40
- t1 = $[2];
41
- }
42
- const handler = t1;
43
- let t2;
44
- let t3;
45
- if ($[3] !== enabled || $[4] !== handler) {
46
- t2 = () => {
47
- if (!enabled) {
48
- return;
49
- }
50
- on(window, "beforeunload", handler);
51
- return () => off(window, "beforeunload", handler);
52
- };
53
- t3 = [enabled, handler];
54
- $[3] = enabled;
55
- $[4] = handler;
56
- $[5] = t2;
57
- $[6] = t3;
58
- } else {
59
- t2 = $[5];
60
- t3 = $[6];
61
- }
62
- useEffect(t2, t3);
63
- };
64
- export const usePreventLeave = ({
65
- hasAccepted = false,
66
- message = 'Are you sure want to leave this page?',
67
- onAccept,
68
- onPrevent,
69
- prevent = true
70
- }) => {
71
- // check when page is about to be reloaded
72
- useBeforeUnload(prevent, message);
73
- const router = useRouter();
74
- const cancelledURL = useRef('');
75
- // check when page is about to be changed
76
- useEffect(() => {
77
- function isAnchorOfCurrentUrl(currentUrl, newUrl) {
78
- const currentUrlObj = new URL(currentUrl);
79
- const newUrlObj = new URL(newUrl);
80
- // Compare hostname, pathname, and search parameters
81
- if (currentUrlObj.hostname === newUrlObj.hostname && currentUrlObj.pathname === newUrlObj.pathname && currentUrlObj.search === newUrlObj.search) {
82
- // Check if the new URL is just an anchor of the current URL page
83
- const currentHash = currentUrlObj.hash;
84
- const newHash = newUrlObj.hash;
85
- return currentHash !== newHash && currentUrlObj.href.replace(currentHash, '') === newUrlObj.href.replace(newHash, '');
86
- }
87
- return false;
88
- }
89
- function findClosestAnchor(element) {
90
- while (element && element.tagName.toLowerCase() !== 'a') {
91
- element = element.parentElement;
92
- }
93
- return element;
94
- }
95
- function handleClick(event) {
96
- try {
97
- const target = event.target;
98
- const anchor = findClosestAnchor(target);
99
- if (anchor) {
100
- const currentUrl_0 = window.location.href;
101
- const newUrl_0 = anchor.href;
102
- const isAnchor = isAnchorOfCurrentUrl(currentUrl_0, newUrl_0);
103
- const isDownloadLink = anchor.download !== '';
104
- const isPageLeaving = !(newUrl_0 === currentUrl_0 || isAnchor || isDownloadLink);
105
- if (isPageLeaving && prevent && (!onPrevent ? !window.confirm(message) : true)) {
106
- // Keep a reference of the href
107
- cancelledURL.current = newUrl_0;
108
- // Cancel the route change
109
- event.preventDefault();
110
- event.stopPropagation();
111
- if (typeof onPrevent === 'function') {
112
- onPrevent();
113
- }
114
- }
115
- }
116
- } catch (err) {
117
- alert(err);
118
- }
119
- }
120
- // Add the global click event listener
121
- document.addEventListener('click', handleClick, true);
122
- // Clean up the global click event listener when the component is unmounted
123
- return () => {
124
- document.removeEventListener('click', handleClick, true);
125
- };
126
- }, [onPrevent, prevent, message]);
127
- useEffect(() => {
128
- if (hasAccepted && cancelledURL.current) {
129
- if (onAccept) {
130
- onAccept();
131
- }
132
- router.push(cancelledURL.current);
133
- }
134
- }, [hasAccepted, onAccept, router]);
135
- };
136
- //# sourceMappingURL=usePreventLeave.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePreventLeave.js","names":["c","_c","useRouter","useCallback","useEffect","useRef","on","obj","args","addEventListener","off","removeEventListener","useBeforeUnload","t0","message","$","enabled","undefined","t1","event","finalEnabled","preventDefault","returnValue","handler","t2","t3","window","usePreventLeave","hasAccepted","onAccept","onPrevent","prevent","router","cancelledURL","isAnchorOfCurrentUrl","currentUrl","newUrl","currentUrlObj","URL","newUrlObj","hostname","pathname","search","currentHash","hash","newHash","href","replace","findClosestAnchor","element","tagName","toLowerCase","parentElement","handleClick","target","anchor","location","isAnchor","isDownloadLink","download","isPageLeaving","confirm","current","stopPropagation","err","alert","document","push"],"sources":["../../../src/elements/LeaveWithoutSaving/usePreventLeave.tsx"],"sourcesContent":["'use client'\n// Credit: @Taiki92777\n// - Source: https://github.com/vercel/next.js/discussions/32231#discussioncomment-7284386\n// Credit: `react-use` maintainers\n// - Source: https://github.com/streamich/react-use/blob/ade8d3905f544305515d010737b4ae604cc51024/src/useBeforeUnload.ts#L2\nimport { useRouter } from 'next/navigation.js'\nimport { useCallback, useEffect, useRef } from 'react'\n\nfunction on<T extends Document | EventTarget | HTMLElement | Window>(\n obj: null | T,\n ...args: [string, Function | null, ...any] | Parameters<T['addEventListener']>\n): void {\n if (obj && obj.addEventListener) {\n obj.addEventListener(...(args as Parameters<HTMLElement['addEventListener']>))\n }\n}\n\nfunction off<T extends Document | EventTarget | HTMLElement | Window>(\n obj: null | T,\n ...args: [string, Function | null, ...any] | Parameters<T['removeEventListener']>\n): void {\n if (obj && obj.removeEventListener) {\n obj.removeEventListener(...(args as Parameters<HTMLElement['removeEventListener']>))\n }\n}\n\nexport const useBeforeUnload = (enabled: (() => boolean) | boolean = true, message?: string) => {\n const handler = useCallback(\n (event: BeforeUnloadEvent) => {\n const finalEnabled = typeof enabled === 'function' ? enabled() : true\n\n if (!finalEnabled) {\n return\n }\n\n event.preventDefault()\n\n if (message) {\n event.returnValue = message\n }\n\n return message\n },\n [enabled, message],\n )\n\n useEffect(() => {\n if (!enabled) {\n return\n }\n\n on(window, 'beforeunload', handler)\n\n return () => off(window, 'beforeunload', handler)\n }, [enabled, handler])\n}\n\nexport const usePreventLeave = ({\n hasAccepted = false,\n message = 'Are you sure want to leave this page?',\n onAccept,\n onPrevent,\n prevent = true,\n}: {\n hasAccepted: boolean\n // if no `onPrevent` is provided, the message will be displayed in a confirm dialog\n message?: string\n onAccept?: () => void\n // to use a custom confirmation dialog, provide a function that returns a boolean\n onPrevent?: () => void\n prevent: boolean\n}) => {\n // check when page is about to be reloaded\n useBeforeUnload(prevent, message)\n\n const router = useRouter()\n const cancelledURL = useRef<string>('')\n\n // check when page is about to be changed\n useEffect(() => {\n function isAnchorOfCurrentUrl(currentUrl: string, newUrl: string) {\n const currentUrlObj = new URL(currentUrl)\n const newUrlObj = new URL(newUrl)\n // Compare hostname, pathname, and search parameters\n if (\n currentUrlObj.hostname === newUrlObj.hostname &&\n currentUrlObj.pathname === newUrlObj.pathname &&\n currentUrlObj.search === newUrlObj.search\n ) {\n // Check if the new URL is just an anchor of the current URL page\n const currentHash = currentUrlObj.hash\n const newHash = newUrlObj.hash\n return (\n currentHash !== newHash &&\n currentUrlObj.href.replace(currentHash, '') === newUrlObj.href.replace(newHash, '')\n )\n }\n return false\n }\n\n function findClosestAnchor(element: HTMLElement | null): HTMLAnchorElement | null {\n while (element && element.tagName.toLowerCase() !== 'a') {\n element = element.parentElement\n }\n return element as HTMLAnchorElement\n }\n function handleClick(event: MouseEvent) {\n try {\n const target = event.target as HTMLElement\n const anchor = findClosestAnchor(target)\n if (anchor) {\n const currentUrl = window.location.href\n const newUrl = anchor.href\n const isAnchor = isAnchorOfCurrentUrl(currentUrl, newUrl)\n const isDownloadLink = anchor.download !== ''\n\n const isPageLeaving = !(newUrl === currentUrl || isAnchor || isDownloadLink)\n\n if (isPageLeaving && prevent && (!onPrevent ? !window.confirm(message) : true)) {\n // Keep a reference of the href\n cancelledURL.current = newUrl\n\n // Cancel the route change\n event.preventDefault()\n event.stopPropagation()\n\n if (typeof onPrevent === 'function') {\n onPrevent()\n }\n }\n }\n } catch (err) {\n alert(err)\n }\n }\n\n // Add the global click event listener\n document.addEventListener('click', handleClick, true)\n\n // Clean up the global click event listener when the component is unmounted\n return () => {\n document.removeEventListener('click', handleClick, true)\n }\n }, [onPrevent, prevent, message])\n\n useEffect(() => {\n if (hasAccepted && cancelledURL.current) {\n if (onAccept) {\n onAccept()\n }\n router.push(cancelledURL.current)\n }\n }, [hasAccepted, onAccept, router])\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +0,0 @@
1
- import type { PayloadRequest } from 'payload';
2
- export declare const buildFormState: ({ req }: {
3
- req: PayloadRequest;
4
- }) => Promise<Response>;
5
- //# sourceMappingURL=buildFormState.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildFormState.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/buildFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAQ7C,eAAO,MAAM,cAAc,YAAmB;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE,sBAyCpE,CAAA"}
@@ -1,46 +0,0 @@
1
- import { buildFormState as buildFormStateFn } from '@payloadcms/ui/utilities/buildFormState';
2
- import httpStatus from 'http-status';
3
- import { headersWithCors } from '../../utilities/headersWithCors.js';
4
- import { routeError } from './routeError.js';
5
- export const buildFormState = async ({
6
- req
7
- }) => {
8
- const headers = headersWithCors({
9
- headers: new Headers(),
10
- req
11
- });
12
- try {
13
- const result = await buildFormStateFn({
14
- req
15
- });
16
- return Response.json(result, {
17
- headers,
18
- status: httpStatus.OK
19
- });
20
- } catch (err) {
21
- req.payload.logger.error({
22
- err,
23
- msg: `There was an error building form state`
24
- });
25
- if (err.message === 'Could not find field schema for given path') {
26
- return Response.json({
27
- message: err.message
28
- }, {
29
- headers,
30
- status: httpStatus.BAD_REQUEST
31
- });
32
- }
33
- if (err.message === 'Unauthorized') {
34
- return Response.json(null, {
35
- headers,
36
- status: httpStatus.UNAUTHORIZED
37
- });
38
- }
39
- return routeError({
40
- config: req.payload.config,
41
- err,
42
- req
43
- });
44
- }
45
- };
46
- //# sourceMappingURL=buildFormState.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildFormState.js","names":["buildFormState","buildFormStateFn","httpStatus","headersWithCors","routeError","req","headers","Headers","result","Response","json","status","OK","err","payload","logger","error","msg","message","BAD_REQUEST","UNAUTHORIZED","config"],"sources":["../../../src/routes/rest/buildFormState.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { buildFormState as buildFormStateFn } from '@payloadcms/ui/utilities/buildFormState'\nimport httpStatus from 'http-status'\n\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { routeError } from './routeError.js'\n\nexport const buildFormState = async ({ req }: { req: PayloadRequest }) => {\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n try {\n const result = await buildFormStateFn({ req })\n\n return Response.json(result, {\n headers,\n status: httpStatus.OK,\n })\n } catch (err) {\n req.payload.logger.error({ err, msg: `There was an error building form state` })\n\n if (err.message === 'Could not find field schema for given path') {\n return Response.json(\n {\n message: err.message,\n },\n {\n headers,\n status: httpStatus.BAD_REQUEST,\n },\n )\n }\n\n if (err.message === 'Unauthorized') {\n return Response.json(null, {\n headers,\n status: httpStatus.UNAUTHORIZED,\n })\n }\n\n return routeError({\n config: req.payload.config,\n err,\n req,\n })\n }\n}\n"],"mappings":"AAEA,SAASA,cAAA,IAAkBC,gBAAgB,QAAQ;AACnD,OAAOC,UAAA,MAAgB;AAEvB,SAASC,eAAe,QAAQ;AAChC,SAASC,UAAU,QAAQ;AAE3B,OAAO,MAAMJ,cAAA,GAAiB,MAAAA,CAAO;EAAEK;AAAG,CAA2B;EACnE,MAAMC,OAAA,GAAUH,eAAA,CAAgB;IAC9BG,OAAA,EAAS,IAAIC,OAAA;IACbF;EACF;EAEA,IAAI;IACF,MAAMG,MAAA,GAAS,MAAMP,gBAAA,CAAiB;MAAEI;IAAI;IAE5C,OAAOI,QAAA,CAASC,IAAI,CAACF,MAAA,EAAQ;MAC3BF,OAAA;MACAK,MAAA,EAAQT,UAAA,CAAWU;IACrB;EACF,EAAE,OAAOC,GAAA,EAAK;IACZR,GAAA,CAAIS,OAAO,CAACC,MAAM,CAACC,KAAK,CAAC;MAAEH,GAAA;MAAKI,GAAA,EAAK;IAAyC;IAE9E,IAAIJ,GAAA,CAAIK,OAAO,KAAK,8CAA8C;MAChE,OAAOT,QAAA,CAASC,IAAI,CAClB;QACEQ,OAAA,EAASL,GAAA,CAAIK;MACf,GACA;QACEZ,OAAA;QACAK,MAAA,EAAQT,UAAA,CAAWiB;MACrB;IAEJ;IAEA,IAAIN,GAAA,CAAIK,OAAO,KAAK,gBAAgB;MAClC,OAAOT,QAAA,CAASC,IAAI,CAAC,MAAM;QACzBJ,OAAA;QACAK,MAAA,EAAQT,UAAA,CAAWkB;MACrB;IACF;IAEA,OAAOhB,UAAA,CAAW;MAChBiB,MAAA,EAAQhB,GAAA,CAAIS,OAAO,CAACO,MAAM;MAC1BR,GAAA;MACAR;IACF;EACF;AACF","ignoreList":[]}
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- export declare const APIKey: React.FC<{
3
- readonly enabled: boolean;
4
- readonly readOnly?: boolean;
5
- }>;
6
- //# sourceMappingURL=APIKey.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"APIKey.d.ts","sourceRoot":"","sources":["../../../../../src/views/Edit/Default/Auth/APIKey.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAO3D,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAyHvF,CAAA"}
@@ -1,125 +0,0 @@
1
- 'use client';
2
-
3
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
- import { getTranslation } from '@payloadcms/translations';
5
- import { CopyToClipboard, FieldLabel, GenerateConfirmation, useConfig, useDocumentInfo, useField, useFormFields, useTranslation } from '@payloadcms/ui';
6
- import { text } from 'payload/shared';
7
- import React, { useEffect, useMemo, useState } from 'react';
8
- import { v4 as uuidv4 } from 'uuid';
9
- const path = 'apiKey';
10
- const baseClass = 'api-key';
11
- const fieldBaseClass = 'field-type';
12
- export const APIKey = ({
13
- enabled,
14
- readOnly
15
- }) => {
16
- const [initialAPIKey] = useState(uuidv4());
17
- const [highlightedField, setHighlightedField] = useState(false);
18
- const {
19
- i18n,
20
- t
21
- } = useTranslation();
22
- const {
23
- config
24
- } = useConfig();
25
- const {
26
- collectionSlug
27
- } = useDocumentInfo();
28
- const apiKey = useFormFields(([fields]) => fields && fields[path] || null);
29
- const apiKeyField = config.collections.find(collection => {
30
- return collection.slug === collectionSlug;
31
- })?.fields?.find(field => 'name' in field && field.name === 'apiKey');
32
- const validate = val => text(val, {
33
- name: 'apiKey',
34
- type: 'text',
35
- data: {},
36
- maxLength: 48,
37
- minLength: 24,
38
- preferences: {
39
- fields: {}
40
- },
41
- req: {
42
- payload: {
43
- config
44
- },
45
- t
46
- },
47
- siblingData: {}
48
- });
49
- const apiKeyValue = apiKey?.value;
50
- const apiKeyLabel = useMemo(() => {
51
- let label = 'API Key';
52
- if (apiKeyField?.label) {
53
- label = apiKeyField.label;
54
- }
55
- return getTranslation(label, i18n);
56
- }, [apiKeyField, i18n]);
57
- const APIKeyLabel = useMemo(() => /*#__PURE__*/_jsxs("div", {
58
- className: `${baseClass}__label`,
59
- children: [/*#__PURE__*/_jsx("span", {
60
- children: apiKeyLabel
61
- }), /*#__PURE__*/_jsx(CopyToClipboard, {
62
- value: apiKeyValue
63
- })]
64
- }), [apiKeyLabel, apiKeyValue]);
65
- const fieldType = useField({
66
- path: 'apiKey',
67
- validate
68
- });
69
- const highlightField = () => {
70
- if (highlightedField) {
71
- setHighlightedField(false);
72
- }
73
- setTimeout(() => {
74
- setHighlightedField(true);
75
- }, 1);
76
- };
77
- const {
78
- setValue,
79
- value
80
- } = fieldType;
81
- useEffect(() => {
82
- if (!apiKeyValue && enabled) {
83
- setValue(initialAPIKey);
84
- }
85
- if (!enabled && apiKeyValue) {
86
- setValue(null);
87
- }
88
- }, [apiKeyValue, enabled, setValue, initialAPIKey]);
89
- useEffect(() => {
90
- if (highlightedField) {
91
- setTimeout(() => {
92
- setHighlightedField(false);
93
- }, 10000);
94
- }
95
- }, [highlightedField]);
96
- if (!enabled) {
97
- return null;
98
- }
99
- return /*#__PURE__*/_jsxs(React.Fragment, {
100
- children: [/*#__PURE__*/_jsxs("div", {
101
- className: [fieldBaseClass, 'api-key', 'read-only'].filter(Boolean).join(' '),
102
- children: [/*#__PURE__*/_jsx(FieldLabel, {
103
- field: null,
104
- htmlFor: path,
105
- Label: {
106
- type: 'client',
107
- Component: null,
108
- RenderedComponent: APIKeyLabel
109
- }
110
- }), /*#__PURE__*/_jsx("input", {
111
- "aria-label": apiKeyLabel,
112
- className: highlightedField ? 'highlight' : undefined,
113
- disabled: true,
114
- id: "apiKey",
115
- name: "apiKey",
116
- type: "text",
117
- value: value || ''
118
- })]
119
- }), !readOnly && /*#__PURE__*/_jsx(GenerateConfirmation, {
120
- highlightField: highlightField,
121
- setKey: () => setValue(uuidv4())
122
- })]
123
- });
124
- };
125
- //# sourceMappingURL=APIKey.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"APIKey.js","names":["getTranslation","CopyToClipboard","FieldLabel","GenerateConfirmation","useConfig","useDocumentInfo","useField","useFormFields","useTranslation","text","React","useEffect","useMemo","useState","v4","uuidv4","path","baseClass","fieldBaseClass","APIKey","enabled","readOnly","initialAPIKey","highlightedField","setHighlightedField","i18n","t","config","collectionSlug","apiKey","fields","apiKeyField","collections","find","collection","slug","field","name","validate","val","type","data","maxLength","minLength","preferences","req","payload","siblingData","apiKeyValue","value","apiKeyLabel","label","APIKeyLabel","_jsxs","className","_jsx","fieldType","highlightField","setTimeout","setValue","Fragment","filter","Boolean","join","htmlFor","Label","Component","RenderedComponent","undefined","disabled","id","setKey"],"sources":["../../../../../src/views/Edit/Default/Auth/APIKey.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequest, TextFieldClient } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n CopyToClipboard,\n FieldLabel,\n GenerateConfirmation,\n useConfig,\n useDocumentInfo,\n useField,\n useFormFields,\n useTranslation,\n} from '@payloadcms/ui'\nimport { text } from 'payload/shared'\nimport React, { useEffect, useMemo, useState } from 'react'\nimport { v4 as uuidv4 } from 'uuid'\n\nconst path = 'apiKey'\nconst baseClass = 'api-key'\nconst fieldBaseClass = 'field-type'\n\nexport const APIKey: React.FC<{ readonly enabled: boolean; readonly readOnly?: boolean }> = ({\n enabled,\n readOnly,\n}) => {\n const [initialAPIKey] = useState(uuidv4())\n const [highlightedField, setHighlightedField] = useState(false)\n const { i18n, t } = useTranslation()\n const { config } = useConfig()\n const { collectionSlug } = useDocumentInfo()\n\n const apiKey = useFormFields(([fields]) => (fields && fields[path]) || null)\n\n const apiKeyField: TextFieldClient = config.collections\n .find((collection) => {\n return collection.slug === collectionSlug\n })\n ?.fields?.find((field) => 'name' in field && field.name === 'apiKey') as TextFieldClient\n\n const validate = (val) =>\n text(val, {\n name: 'apiKey',\n type: 'text',\n data: {},\n maxLength: 48,\n minLength: 24,\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as unknown as PayloadRequest,\n siblingData: {},\n })\n\n const apiKeyValue = apiKey?.value\n\n const apiKeyLabel = useMemo(() => {\n let label: Record<string, string> | string = 'API Key'\n\n if (apiKeyField?.label) {\n label = apiKeyField.label\n }\n\n return getTranslation(label, i18n)\n }, [apiKeyField, i18n])\n\n const APIKeyLabel = useMemo(\n () => (\n <div className={`${baseClass}__label`}>\n <span>{apiKeyLabel}</span>\n <CopyToClipboard value={apiKeyValue as string} />\n </div>\n ),\n [apiKeyLabel, apiKeyValue],\n )\n\n const fieldType = useField({\n path: 'apiKey',\n validate,\n })\n\n const highlightField = () => {\n if (highlightedField) {\n setHighlightedField(false)\n }\n setTimeout(() => {\n setHighlightedField(true)\n }, 1)\n }\n\n const { setValue, value } = fieldType\n\n useEffect(() => {\n if (!apiKeyValue && enabled) {\n setValue(initialAPIKey)\n }\n if (!enabled && apiKeyValue) {\n setValue(null)\n }\n }, [apiKeyValue, enabled, setValue, initialAPIKey])\n\n useEffect(() => {\n if (highlightedField) {\n setTimeout(() => {\n setHighlightedField(false)\n }, 10000)\n }\n }, [highlightedField])\n\n if (!enabled) {\n return null\n }\n\n return (\n <React.Fragment>\n <div className={[fieldBaseClass, 'api-key', 'read-only'].filter(Boolean).join(' ')}>\n <FieldLabel\n field={null}\n htmlFor={path}\n Label={{\n type: 'client',\n Component: null,\n RenderedComponent: APIKeyLabel,\n }}\n />\n <input\n aria-label={apiKeyLabel}\n className={highlightedField ? 'highlight' : undefined}\n disabled\n id=\"apiKey\"\n name=\"apiKey\"\n type=\"text\"\n value={(value as string) || ''}\n />\n </div>\n {!readOnly && (\n <GenerateConfirmation highlightField={highlightField} setKey={() => setValue(uuidv4())} />\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- import type { Props } from './types.js';
3
- import './index.scss';
4
- export declare const Auth: React.FC<Props>;
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Edit/Default/Auth/index.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAGxE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAIvC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA8MhC,CAAA"}