@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,81 +0,0 @@
1
- 'use client';
2
-
3
- import { c as _c } from "react/compiler-runtime";
4
- import { useDocumentInfo, useFormFields, useTranslation } from '@payloadcms/ui';
5
- import { formatDocTitle } from '@payloadcms/ui/shared';
6
- import { useEffect, useRef } from 'react';
7
- export const SetDocumentTitle = props => {
8
- const $ = _c(13);
9
- const {
10
- collectionConfig,
11
- config,
12
- fallback,
13
- globalConfig
14
- } = props;
15
- const useAsTitle = collectionConfig?.admin?.useAsTitle;
16
- let t0;
17
- if ($[0] !== useAsTitle) {
18
- t0 = t1 => {
19
- const [fields] = t1;
20
- return useAsTitle && fields && fields?.[useAsTitle] || null;
21
- };
22
- $[0] = useAsTitle;
23
- $[1] = t0;
24
- } else {
25
- t0 = $[1];
26
- }
27
- const field = useFormFields(t0);
28
- const hasInitialized = useRef(false);
29
- const {
30
- i18n
31
- } = useTranslation();
32
- const {
33
- setDocumentTitle
34
- } = useDocumentInfo();
35
- const dateFormatFromConfig = config?.admin?.dateFormat;
36
- let t1;
37
- if ($[2] !== field || $[3] !== fallback || $[4] !== collectionConfig || $[5] !== dateFormatFromConfig || $[6] !== globalConfig || $[7] !== i18n) {
38
- t1 = formatDocTitle({
39
- collectionConfig,
40
- data: {
41
- id: ""
42
- },
43
- dateFormat: dateFormatFromConfig,
44
- fallback: typeof field === "string" ? field : typeof field === "number" ? String(field) : field?.value || fallback,
45
- globalConfig,
46
- i18n
47
- });
48
- $[2] = field;
49
- $[3] = fallback;
50
- $[4] = collectionConfig;
51
- $[5] = dateFormatFromConfig;
52
- $[6] = globalConfig;
53
- $[7] = i18n;
54
- $[8] = t1;
55
- } else {
56
- t1 = $[8];
57
- }
58
- const title = t1;
59
- let t2;
60
- let t3;
61
- if ($[9] !== setDocumentTitle || $[10] !== title) {
62
- t2 = () => {
63
- if (!hasInitialized.current) {
64
- hasInitialized.current = true;
65
- return;
66
- }
67
- setDocumentTitle(title);
68
- };
69
- t3 = [setDocumentTitle, title];
70
- $[9] = setDocumentTitle;
71
- $[10] = title;
72
- $[11] = t2;
73
- $[12] = t3;
74
- } else {
75
- t2 = $[11];
76
- t3 = $[12];
77
- }
78
- useEffect(t2, t3);
79
- return null;
80
- };
81
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useDocumentInfo","useFormFields","useTranslation","formatDocTitle","useEffect","useRef","SetDocumentTitle","props","$","collectionConfig","config","fallback","globalConfig","useAsTitle","admin","t0","t1","fields","field","hasInitialized","i18n","setDocumentTitle","dateFormatFromConfig","dateFormat","data","id","String","value","title","t2","t3","current"],"sources":["../../../../../src/views/Edit/Default/SetDocumentTitle/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientConfig, ClientGlobalConfig } from 'payload'\n\nimport { useDocumentInfo, useFormFields, useTranslation } from '@payloadcms/ui'\nimport { formatDocTitle } from '@payloadcms/ui/shared'\nimport { useEffect, useRef } from 'react'\n\nexport const SetDocumentTitle: React.FC<{\n collectionConfig?: ClientCollectionConfig\n config?: ClientConfig\n fallback: string\n globalConfig?: ClientGlobalConfig\n}> = (props) => {\n const { collectionConfig, config, fallback, globalConfig } = props\n\n const useAsTitle = collectionConfig?.admin?.useAsTitle\n\n const field = useFormFields(([fields]) => (useAsTitle && fields && fields?.[useAsTitle]) || null)\n\n const hasInitialized = useRef(false)\n\n const { i18n } = useTranslation()\n\n const { setDocumentTitle } = useDocumentInfo()\n\n const dateFormatFromConfig = config?.admin?.dateFormat\n\n const title = formatDocTitle({\n collectionConfig,\n data: { id: '' },\n dateFormat: dateFormatFromConfig,\n fallback:\n typeof field === 'string'\n ? field\n : typeof field === 'number'\n ? String(field)\n : (field?.value as string) || fallback,\n globalConfig,\n i18n,\n })\n\n useEffect(() => {\n if (!hasInitialized.current) {\n hasInitialized.current = true\n return\n }\n\n setDocumentTitle(title)\n }, [setDocumentTitle, title])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAGA,SAASC,eAAe,EAAEC,aAAa,EAAEC,cAAc,QAAQ;AAC/D,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,EAAEC,MAAM,QAAQ;AAElC,OAAO,MAAMC,gBAAA,GAKRC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACH;IAAAU,gBAAA;IAAAC,MAAA;IAAAC,QAAA;IAAAC;EAAA,IAA6DL,KAAA;EAE7D,MAAAM,UAAA,GAAmBJ,gBAAA,EAAAK,KAAA,EAAAD,UAAA;EAAyB,IAAAE,EAAA;EAAA,IAAAP,CAAA,QAAAK,UAAA;IAEhBE,EAAA,GAAAC,EAAA;MAAC,OAAAC,MAAA,IAAAD,EAAQ;MAAA,OAAKH,UAAC,IAAcI,MAAA,IAAUA,MAAA,GAASJ,UAAA,CAAW,QAAK;IAAA;IAAAL,CAAA,MAAAK,UAAA;IAAAL,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAA5F,MAAAU,KAAA,GAAcjB,aAAA,CAAcc,EAAgE;EAE5F,MAAAI,cAAA,GAAuBd,MAAA,MAAO;EAE9B;IAAAe;EAAA,IAAiBlB,cAAA;EAEjB;IAAAmB;EAAA,IAA6BrB,eAAA;EAE7B,MAAAsB,oBAAA,GAA6BZ,MAAA,EAAAI,KAAA,EAAAS,UAAA;EAAe,IAAAP,EAAA;EAAA,IAAAR,CAAA,QAAAU,KAAA,IAAAV,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAC,gBAAA,IAAAD,CAAA,QAAAc,oBAAA,IAAAd,CAAA,QAAAI,YAAA,IAAAJ,CAAA,QAAAY,IAAA;IAE9BJ,EAAA,GAAAb,cAAA;MAAAM,gBAAA;MAAAe,IAAA;QAAAC,EAAA,EAEA;MAAA;MAAAF,UAAA,EACAD,oBAAA;MAAAX,QAAA,EAEV,OAAOO,KAAA,KAAU,WACbA,KAAA,GACA,OAAOA,KAAA,KAAU,WACfQ,MAAA,CAAOR,KAAA,IACPA,KAAC,EAAAS,KAAA,IAA2BhB,QAAA;MAAAC,YAAA;MAAAQ;IAAA,CAGtC;IAAAZ,CAAA,MAAAU,KAAA;IAAAV,CAAA,MAAAG,QAAA;IAAAH,CAAA,MAAAC,gBAAA;IAAAD,CAAA,MAAAc,oBAAA;IAAAd,CAAA,MAAAI,YAAA;IAAAJ,CAAA,MAAAY,IAAA;IAAAZ,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAZA,MAAAoB,KAAA,GAAcZ,EAYd;EAAA,IAAAa,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAtB,CAAA,QAAAa,gBAAA,IAAAb,CAAA,SAAAoB,KAAA;IAEUC,EAAA,GAAAA,CAAA;MAAA,KACHV,cAAA,CAAAY,OAAA;QACHZ,cAAA,CAAAY,OAAA;QAAA;MAAA;MAIFV,gBAAA,CAAiBO,KAAA;IAAA;IAChBE,EAAA,IAACT,gBAAA,EAAkBO,KAAA;IAAMpB,CAAA,MAAAa,gBAAA;IAAAb,CAAA,OAAAoB,KAAA;IAAApB,CAAA,OAAAqB,EAAA;IAAArB,CAAA,OAAAsB,EAAA;EAAA;IAAAD,EAAA,GAAArB,CAAA;IAAAsB,EAAA,GAAAtB,CAAA;EAAA;EAP5BJ,SAAA,CAAUyB,EAOV,EAAGC,EAAyB;EAAA;AAAA,CAG9B","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import './index.scss';
3
- export declare const DefaultEditView: React.FC;
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Default/index.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAA6D,MAAM,OAAO,CAAA;AAMjF,OAAO,cAAc,CAAA;AASrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EA4dnC,CAAA"}
@@ -1,349 +0,0 @@
1
- 'use client';
2
-
3
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
- import { DocumentControls, DocumentFields, Form, OperationProvider, RenderComponent, Upload, useAuth, useConfig, useDocumentEvents, useDocumentInfo, useEditDepth, useUploadEdits } from '@payloadcms/ui';
5
- import { formatAdminURL, getFormState, handleBackToDashboard, handleGoBack, handleTakeOver } from '@payloadcms/ui/shared';
6
- import { useRouter, useSearchParams } from 'next/navigation.js';
7
- import React, { Fragment, useCallback, useEffect, useRef, useState } from 'react';
8
- import { DocumentLocked } from '../../../elements/DocumentLocked/index.js';
9
- import { DocumentTakeOver } from '../../../elements/DocumentTakeOver/index.js';
10
- import { LeaveWithoutSaving } from '../../../elements/LeaveWithoutSaving/index.js';
11
- import { Auth } from './Auth/index.js';
12
- import { SetDocumentStepNav } from './SetDocumentStepNav/index.js';
13
- import { SetDocumentTitle } from './SetDocumentTitle/index.js';
14
- const baseClass = 'collection-edit';
15
- // This component receives props only on _pages_
16
- // When rendered within a drawer, props are empty
17
- // This is solely to support custom edit views which get server-rendered
18
- export const DefaultEditView = () => {
19
- const {
20
- id,
21
- action,
22
- AfterDocument,
23
- AfterFields,
24
- apiURL,
25
- BeforeDocument,
26
- BeforeFields,
27
- collectionSlug,
28
- currentEditor,
29
- disableActions,
30
- disableCreate,
31
- disableLeaveWithoutSaving,
32
- docPermissions,
33
- documentIsLocked,
34
- getDocPreferences,
35
- getVersions,
36
- globalSlug,
37
- hasPublishPermission,
38
- hasSavePermission,
39
- initialData: data,
40
- initialState,
41
- isEditing,
42
- isInitializing,
43
- lastUpdateTime,
44
- onDelete,
45
- onDrawerCreate,
46
- onDuplicate,
47
- onSave: onSaveFromContext,
48
- redirectAfterDelete,
49
- redirectAfterDuplicate,
50
- setCurrentEditor,
51
- setDocumentIsLocked,
52
- unlockDocument,
53
- updateDocumentEditor
54
- } = useDocumentInfo();
55
- const {
56
- refreshCookieAsync,
57
- user
58
- } = useAuth();
59
- const {
60
- config,
61
- config: {
62
- admin: {
63
- user: userSlug
64
- },
65
- routes: {
66
- admin: adminRoute,
67
- api: apiRoute
68
- },
69
- serverURL
70
- },
71
- getEntityConfig
72
- } = useConfig();
73
- const router = useRouter();
74
- const depth = useEditDepth();
75
- const params = useSearchParams();
76
- const {
77
- reportUpdate
78
- } = useDocumentEvents();
79
- const {
80
- resetUploadEdits
81
- } = useUploadEdits();
82
- const locale = params.get('locale');
83
- const collectionConfig = getEntityConfig({
84
- collectionSlug
85
- });
86
- const globalConfig = getEntityConfig({
87
- globalSlug
88
- });
89
- const entitySlug = collectionConfig?.slug || globalConfig?.slug;
90
- const operation = collectionSlug && !id ? 'create' : 'update';
91
- const auth = collectionConfig ? collectionConfig.auth : undefined;
92
- const upload = collectionConfig ? collectionConfig.upload : undefined;
93
- const docConfig = collectionConfig || globalConfig;
94
- const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true;
95
- const isLockingEnabled = lockDocumentsProp !== false;
96
- const lockDurationDefault = 300 // Default 5 minutes in seconds
97
- ;
98
- const lockDuration = typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault;
99
- const lockDurationInMilliseconds = lockDuration * 1000;
100
- let preventLeaveWithoutSaving = true;
101
- if (collectionConfig) {
102
- preventLeaveWithoutSaving = !(collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave);
103
- } else if (globalConfig) {
104
- preventLeaveWithoutSaving = !(globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave);
105
- } else if (typeof disableLeaveWithoutSaving !== 'undefined') {
106
- preventLeaveWithoutSaving = !disableLeaveWithoutSaving;
107
- }
108
- const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false);
109
- const [showTakeOverModal, setShowTakeOverModal] = useState(false);
110
- const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now());
111
- const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds;
112
- const isLockExpired = Date.now() > lockExpiryTime;
113
- const documentLockStateRef = useRef({
114
- hasShownLockedModal: false,
115
- isLocked: false,
116
- user: null
117
- });
118
- const classes = [baseClass, (id || globalSlug) && `${baseClass}--is-editing`];
119
- if (globalSlug) {
120
- classes.push(`global-edit--${globalSlug}`);
121
- }
122
- if (collectionSlug) {
123
- classes.push(`collection-edit--${collectionSlug}`);
124
- }
125
- const [schemaPath, setSchemaPath] = useState(() => {
126
- if (operation === 'create' && auth && !auth.disableLocalStrategy) {
127
- return `_${entitySlug}.auth`;
128
- }
129
- return entitySlug;
130
- });
131
- const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {
132
- if (operation === 'create' && auth && !auth.disableLocalStrategy) {
133
- return true;
134
- }
135
- return false;
136
- });
137
- const onSave = useCallback(json => {
138
- reportUpdate({
139
- id,
140
- entitySlug,
141
- updatedAt: json?.result?.updatedAt || new Date().toISOString()
142
- });
143
- // If we're editing the doc of the logged-in user,
144
- // Refresh the cookie to get new permissions
145
- if (user && collectionSlug === userSlug && id === user.id) {
146
- void refreshCookieAsync();
147
- }
148
- void getVersions();
149
- if (typeof onSaveFromContext === 'function') {
150
- void onSaveFromContext({
151
- ...json,
152
- operation: id ? 'update' : 'create'
153
- });
154
- }
155
- // Unlock the document after save
156
- if ((id || globalSlug) && isLockingEnabled) {
157
- setDocumentIsLocked(false);
158
- }
159
- if (!isEditing && depth < 2) {
160
- // Redirect to the same locale if it's been set
161
- const redirectRoute = formatAdminURL({
162
- adminRoute,
163
- path: `/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`
164
- });
165
- router.push(redirectRoute);
166
- } else {
167
- resetUploadEdits();
168
- }
169
- }, [onSaveFromContext, userSlug, reportUpdate, id, entitySlug, user, depth, collectionSlug, getVersions, isEditing, refreshCookieAsync, adminRoute, router, locale, resetUploadEdits, globalSlug, isLockingEnabled, setDocumentIsLocked]);
170
- const onChange = useCallback(async ({
171
- formState: prevFormState
172
- }) => {
173
- const currentTime = Date.now();
174
- const timeSinceLastUpdate = currentTime - editSessionStartTime;
175
- const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds
176
- ;
177
- if (updateLastEdited) {
178
- setEditSessionStartTime(currentTime);
179
- }
180
- const docPreferences = await getDocPreferences();
181
- const {
182
- lockedState,
183
- state
184
- } = await getFormState({
185
- apiRoute,
186
- body: {
187
- id,
188
- collectionSlug,
189
- docPreferences,
190
- formState: prevFormState,
191
- globalSlug,
192
- operation,
193
- returnLockStatus: isLockingEnabled ? true : false,
194
- schemaPath,
195
- updateLastEdited
196
- },
197
- serverURL
198
- });
199
- setDocumentIsLocked(true);
200
- if (isLockingEnabled) {
201
- const previousOwnerId = typeof documentLockStateRef.current?.user === 'object' ? documentLockStateRef.current?.user?.id : documentLockStateRef.current?.user;
202
- if (lockedState) {
203
- if (!documentLockStateRef.current || lockedState.user.id !== previousOwnerId) {
204
- if (previousOwnerId === user.id && lockedState.user.id !== user.id) {
205
- setShowTakeOverModal(true);
206
- documentLockStateRef.current.hasShownLockedModal = true;
207
- }
208
- documentLockStateRef.current = documentLockStateRef.current = {
209
- hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal || false,
210
- isLocked: true,
211
- user: lockedState.user
212
- };
213
- setCurrentEditor(lockedState.user);
214
- }
215
- }
216
- }
217
- return state;
218
- }, [apiRoute, collectionSlug, editSessionStartTime, schemaPath, getDocPreferences, globalSlug, id, operation, serverURL, user, documentLockStateRef, setCurrentEditor, isLockingEnabled, setDocumentIsLocked]);
219
- // Clean up when the component unmounts or when the document is unlocked
220
- useEffect(() => {
221
- return () => {
222
- if (!isLockingEnabled) {
223
- return;
224
- }
225
- const currentPath = window.location.pathname;
226
- const documentId = id || globalSlug;
227
- // Routes where we do NOT want to unlock the document
228
- const stayWithinDocumentPaths = ['preview', 'api', 'versions'];
229
- const isStayingWithinDocument = stayWithinDocumentPaths.some(path => currentPath.includes(path));
230
- // Unlock the document only if we're actually navigating away from the document
231
- if (documentId && documentIsLocked && !isStayingWithinDocument) {
232
- // Check if this user is still the current editor
233
- if (typeof documentLockStateRef.current?.user === 'object' ? documentLockStateRef.current?.user?.id === user?.id : documentLockStateRef.current?.user === user?.id) {
234
- void unlockDocument(id, collectionSlug ?? globalSlug);
235
- setDocumentIsLocked(false);
236
- setCurrentEditor(null);
237
- }
238
- }
239
- setShowTakeOverModal(false);
240
- };
241
- }, [collectionSlug, globalSlug, id, unlockDocument, user, setCurrentEditor, isLockingEnabled, documentIsLocked, setDocumentIsLocked]);
242
- const shouldShowDocumentLockedModal = documentIsLocked && currentEditor && (typeof currentEditor === 'object' ? currentEditor.id !== user?.id : currentEditor !== user?.id) && !isReadOnlyForIncomingUser && !showTakeOverModal && !documentLockStateRef.current?.hasShownLockedModal && !isLockExpired;
243
- return /*#__PURE__*/_jsx("main", {
244
- className: classes.filter(Boolean).join(' '),
245
- children: /*#__PURE__*/_jsx(OperationProvider, {
246
- operation: operation,
247
- children: /*#__PURE__*/_jsxs(Form, {
248
- action: action,
249
- className: `${baseClass}__form`,
250
- disabled: isReadOnlyForIncomingUser || isInitializing || !hasSavePermission,
251
- disableValidationOnSubmit: !validateBeforeSubmit,
252
- initialState: !isInitializing && initialState,
253
- isInitializing: isInitializing,
254
- method: id ? 'PATCH' : 'POST',
255
- onChange: [onChange],
256
- onSuccess: onSave,
257
- children: [BeforeDocument, isLockingEnabled && shouldShowDocumentLockedModal && !isReadOnlyForIncomingUser && /*#__PURE__*/_jsx(DocumentLocked, {
258
- handleGoBack: () => handleGoBack({
259
- adminRoute,
260
- collectionSlug,
261
- router
262
- }),
263
- isActive: shouldShowDocumentLockedModal,
264
- onReadOnly: () => {
265
- setIsReadOnlyForIncomingUser(true);
266
- setShowTakeOverModal(false);
267
- },
268
- onTakeOver: () => handleTakeOver(id, collectionSlug, globalSlug, user, false, updateDocumentEditor, setCurrentEditor, documentLockStateRef, isLockingEnabled),
269
- updatedAt: lastUpdateTime,
270
- user: currentEditor
271
- }), isLockingEnabled && showTakeOverModal && /*#__PURE__*/_jsx(DocumentTakeOver, {
272
- handleBackToDashboard: () => handleBackToDashboard({
273
- adminRoute,
274
- router
275
- }),
276
- isActive: showTakeOverModal,
277
- onReadOnly: () => {
278
- setIsReadOnlyForIncomingUser(true);
279
- setShowTakeOverModal(false);
280
- }
281
- }), !isReadOnlyForIncomingUser && preventLeaveWithoutSaving && /*#__PURE__*/_jsx(LeaveWithoutSaving, {}), /*#__PURE__*/_jsx(SetDocumentStepNav, {
282
- collectionSlug: collectionConfig?.slug,
283
- globalSlug: globalConfig?.slug,
284
- id: id,
285
- pluralLabel: collectionConfig?.labels?.plural,
286
- useAsTitle: collectionConfig?.admin?.useAsTitle
287
- }), /*#__PURE__*/_jsx(SetDocumentTitle, {
288
- collectionConfig: collectionConfig,
289
- config: config,
290
- fallback: depth <= 1 ? id?.toString() : undefined,
291
- globalConfig: globalConfig
292
- }), /*#__PURE__*/_jsx(DocumentControls, {
293
- apiURL: apiURL,
294
- data: data,
295
- disableActions: disableActions,
296
- disableCreate: disableCreate,
297
- hasPublishPermission: hasPublishPermission,
298
- hasSavePermission: hasSavePermission,
299
- id: id,
300
- isEditing: isEditing,
301
- onDelete: onDelete,
302
- onDrawerCreate: onDrawerCreate,
303
- onDuplicate: onDuplicate,
304
- onSave: onSave,
305
- onTakeOver: () => handleTakeOver(id, collectionSlug, globalSlug, user, true, updateDocumentEditor, setCurrentEditor, documentLockStateRef, isLockingEnabled, setIsReadOnlyForIncomingUser),
306
- permissions: docPermissions,
307
- readOnlyForIncomingUser: isReadOnlyForIncomingUser,
308
- redirectAfterDelete: redirectAfterDelete,
309
- redirectAfterDuplicate: redirectAfterDuplicate,
310
- slug: collectionConfig?.slug || globalConfig?.slug,
311
- user: currentEditor
312
- }), /*#__PURE__*/_jsx(DocumentFields, {
313
- AfterFields: AfterFields,
314
- BeforeFields: BeforeFields || /*#__PURE__*/_jsxs(Fragment, {
315
- children: [auth && /*#__PURE__*/_jsx(Auth, {
316
- className: `${baseClass}__auth`,
317
- collectionSlug: collectionConfig.slug,
318
- disableLocalStrategy: collectionConfig.auth?.disableLocalStrategy,
319
- email: data?.email,
320
- loginWithUsername: auth?.loginWithUsername,
321
- operation: operation,
322
- readOnly: !hasSavePermission,
323
- requirePassword: !id,
324
- setSchemaPath: setSchemaPath,
325
- setValidateBeforeSubmit: setValidateBeforeSubmit,
326
- // eslint-disable-next-line react-compiler/react-compiler
327
- useAPIKey: auth.useAPIKey,
328
- username: data?.username,
329
- verify: auth.verify
330
- }), upload && /*#__PURE__*/_jsx(React.Fragment, {
331
- children: collectionConfig?.admin?.components?.edit?.Upload ? /*#__PURE__*/_jsx(RenderComponent, {
332
- mappedComponent: collectionConfig.admin.components.edit.Upload
333
- }) : /*#__PURE__*/_jsx(Upload, {
334
- collectionSlug: collectionConfig.slug,
335
- initialState: initialState,
336
- uploadConfig: upload
337
- })
338
- })]
339
- }),
340
- docPermissions: docPermissions,
341
- fields: (collectionConfig || globalConfig)?.fields,
342
- readOnly: isReadOnlyForIncomingUser || !hasSavePermission,
343
- schemaPath: schemaPath
344
- }), AfterDocument]
345
- })
346
- })
347
- });
348
- };
349
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["DocumentControls","DocumentFields","Form","OperationProvider","RenderComponent","Upload","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useUploadEdits","formatAdminURL","getFormState","handleBackToDashboard","handleGoBack","handleTakeOver","useRouter","useSearchParams","React","Fragment","useCallback","useEffect","useRef","useState","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","id","action","AfterDocument","AfterFields","apiURL","BeforeDocument","BeforeFields","collectionSlug","currentEditor","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","getDocPreferences","getVersions","globalSlug","hasPublishPermission","hasSavePermission","initialData","data","initialState","isEditing","isInitializing","lastUpdateTime","onDelete","onDrawerCreate","onDuplicate","onSave","onSaveFromContext","redirectAfterDelete","redirectAfterDuplicate","setCurrentEditor","setDocumentIsLocked","unlockDocument","updateDocumentEditor","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","api","apiRoute","serverURL","getEntityConfig","router","depth","params","reportUpdate","resetUploadEdits","locale","get","collectionConfig","globalConfig","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","preventLeaveWithoutSaving","versions","drafts","autosave","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","documentLockStateRef","hasShownLockedModal","isLocked","classes","push","schemaPath","setSchemaPath","disableLocalStrategy","validateBeforeSubmit","setValidateBeforeSubmit","json","updatedAt","result","toISOString","redirectRoute","path","doc","onChange","formState","prevFormState","currentTime","timeSinceLastUpdate","updateLastEdited","docPreferences","lockedState","state","body","returnLockStatus","previousOwnerId","current","currentPath","window","location","pathname","documentId","stayWithinDocumentPaths","isStayingWithinDocument","some","includes","shouldShowDocumentLockedModal","_jsx","className","filter","Boolean","join","_jsxs","disabled","disableValidationOnSubmit","method","onSuccess","isActive","onReadOnly","onTakeOver","pluralLabel","labels","plural","useAsTitle","fallback","toString","permissions","readOnlyForIncomingUser","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","components","edit","mappedComponent","uploadConfig","fields"],"sources":["../../../../src/views/Edit/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ClientGlobalConfig, ClientUser } from 'payload'\n\nimport {\n DocumentControls,\n DocumentFields,\n Form,\n type FormProps,\n OperationProvider,\n RenderComponent,\n Upload,\n useAuth,\n useConfig,\n useDocumentEvents,\n useDocumentInfo,\n useEditDepth,\n useUploadEdits,\n} from '@payloadcms/ui'\nimport {\n formatAdminURL,\n getFormState,\n handleBackToDashboard,\n handleGoBack,\n handleTakeOver,\n} from '@payloadcms/ui/shared'\nimport { useRouter, useSearchParams } 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 { Auth } from './Auth/index.js'\nimport './index.scss'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport const DefaultEditView: React.FC = () => {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeDocument,\n BeforeFields,\n collectionSlug,\n currentEditor,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n getDocPreferences,\n getVersions,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isEditing,\n isInitializing,\n lastUpdateTime,\n onDelete,\n onDrawerCreate,\n onDuplicate,\n onSave: onSaveFromContext,\n redirectAfterDelete,\n redirectAfterDuplicate,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n updateDocumentEditor,\n } = useDocumentInfo()\n\n const { refreshCookieAsync, user } = useAuth()\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const router = useRouter()\n const depth = useEditDepth()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n\n const locale = params.get('locale')\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\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 let preventLeaveWithoutSaving = true\n\n if (collectionConfig) {\n preventLeaveWithoutSaving = !(\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave\n )\n } else if (globalConfig) {\n preventLeaveWithoutSaving = !(\n globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave\n )\n } else if (typeof disableLeaveWithoutSaving !== 'undefined') {\n preventLeaveWithoutSaving = !disableLeaveWithoutSaving\n }\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 classes = [baseClass, (id || globalSlug) && `${baseClass}--is-editing`]\n\n if (globalSlug) {\n classes.push(`global-edit--${globalSlug}`)\n }\n if (collectionSlug) {\n classes.push(`collection-edit--${collectionSlug}`)\n }\n\n const [schemaPath, setSchemaPath] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return `_${entitySlug}.auth`\n }\n\n return entitySlug\n })\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n id,\n entitySlug,\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 void getVersions()\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n\n // Unlock the document after save\n if ((id || globalSlug) && isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n router.push(redirectRoute)\n } else {\n resetUploadEdits()\n }\n },\n [\n onSaveFromContext,\n userSlug,\n reportUpdate,\n id,\n entitySlug,\n user,\n depth,\n collectionSlug,\n getVersions,\n isEditing,\n refreshCookieAsync,\n adminRoute,\n router,\n locale,\n resetUploadEdits,\n globalSlug,\n isLockingEnabled,\n setDocumentIsLocked,\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 apiRoute,\n collectionSlug,\n editSessionStartTime,\n schemaPath,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n serverURL,\n user,\n documentLockStateRef,\n setCurrentEditor,\n isLockingEnabled,\n setDocumentIsLocked,\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 !documentLockStateRef.current?.hasShownLockedModal &&\n !isLockExpired\n\n return (\n <main className={classes.filter(Boolean).join(' ')}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {BeforeDocument}\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 {!isReadOnlyForIncomingUser && preventLeaveWithoutSaving && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={data}\n disableActions={disableActions}\n disableCreate={disableCreate}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n onDelete={onDelete}\n onDrawerCreate={onDrawerCreate}\n onDuplicate={onDuplicate}\n onSave={onSave}\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 redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n slug={collectionConfig?.slug || globalConfig?.slug}\n user={currentEditor}\n />\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setSchemaPath={setSchemaPath}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n // eslint-disable-next-line react-compiler/react-compiler\n useAPIKey={auth.useAPIKey}\n username={data?.username}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n {collectionConfig?.admin?.components?.edit?.Upload ? (\n <RenderComponent\n mappedComponent={collectionConfig.admin.components.edit.Upload}\n />\n ) : (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n )}\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n docPermissions={docPermissions}\n fields={(collectionConfig || globalConfig)?.fields}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission}\n schemaPath={schemaPath}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,23 +0,0 @@
1
- @import '../../../scss/styles.scss';
2
-
3
- @layer payload-default {
4
- .collection-edit {
5
- width: 100%;
6
-
7
- &__form {
8
- height: 100%;
9
- }
10
-
11
- &__auth {
12
- margin-bottom: base(1.6);
13
- border-radius: var(--style-radius-s);
14
- }
15
-
16
- @include small-break {
17
- &__auth {
18
- margin-top: 0;
19
- margin-bottom: var(--base);
20
- }
21
- }
22
- }
23
- }
@@ -1,6 +0,0 @@
1
- import type { SanitizedCollectionConfig } from 'payload';
2
- export type IndexProps = {
3
- collection: SanitizedCollectionConfig;
4
- isEditing?: boolean;
5
- };
6
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Default/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,yBAAyB,CAAA;IACrC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/views/Edit/Default/types.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from 'payload'\n\nexport type IndexProps = {\n collection: SanitizedCollectionConfig\n isEditing?: boolean\n}\n"],"mappings":"AAEA","ignoreList":[]}
@@ -1,3 +0,0 @@
1
- import React from 'react';
2
- export declare const EditViewClient: React.FC;
3
- //# sourceMappingURL=index.client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.client.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAyBlC,CAAA"}
@@ -1,54 +0,0 @@
1
- 'use client';
2
-
3
- import { c as _c } from "react/compiler-runtime";
4
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import { RenderComponent, SetViewActions, useConfig, useDocumentInfo } from '@payloadcms/ui';
6
- import React, { Fragment } from 'react';
7
- export const EditViewClient = () => {
8
- const $ = _c(5);
9
- const {
10
- collectionSlug,
11
- globalSlug
12
- } = useDocumentInfo();
13
- const {
14
- getEntityConfig
15
- } = useConfig();
16
- let t0;
17
- let t1;
18
- if ($[0] !== collectionSlug || $[1] !== getEntityConfig || $[2] !== globalSlug) {
19
- t1 = Symbol.for("react.early_return_sentinel");
20
- bb0: {
21
- const collectionConfig = getEntityConfig({
22
- collectionSlug
23
- });
24
- const globalConfig = getEntityConfig({
25
- globalSlug
26
- });
27
- const Edit = (collectionConfig || globalConfig)?.admin?.components?.views?.edit?.default?.Component;
28
- if (!Edit) {
29
- t1 = null;
30
- break bb0;
31
- }
32
- t0 = _jsxs(Fragment, {
33
- children: [_jsx(SetViewActions, {
34
- actions: (collectionConfig || globalConfig)?.admin?.components?.views?.edit?.default?.actions
35
- }), _jsx(RenderComponent, {
36
- mappedComponent: Edit
37
- })]
38
- });
39
- }
40
- $[0] = collectionSlug;
41
- $[1] = getEntityConfig;
42
- $[2] = globalSlug;
43
- $[3] = t0;
44
- $[4] = t1;
45
- } else {
46
- t0 = $[3];
47
- t1 = $[4];
48
- }
49
- if (t1 !== Symbol.for("react.early_return_sentinel")) {
50
- return t1;
51
- }
52
- return t0;
53
- };
54
- //# sourceMappingURL=index.client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.client.js","names":["c","_c","RenderComponent","SetViewActions","useConfig","useDocumentInfo","React","Fragment","EditViewClient","$","collectionSlug","globalSlug","getEntityConfig","t0","t1","Symbol","for","bb0","collectionConfig","globalConfig","Edit","admin","components","views","edit","default","Component","_jsxs","children","_jsx","actions","mappedComponent"],"sources":["../../../src/views/Edit/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\n\nimport { RenderComponent, SetViewActions, useConfig, useDocumentInfo } from '@payloadcms/ui'\nimport React, { Fragment } from 'react'\n\nexport const EditViewClient: React.FC = () => {\n const { collectionSlug, globalSlug } = useDocumentInfo()\n\n const { getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const Edit = (collectionConfig || globalConfig)?.admin?.components?.views?.edit?.default\n ?.Component\n\n if (!Edit) {\n return null\n }\n\n return (\n <Fragment>\n <SetViewActions\n actions={\n (collectionConfig || globalConfig)?.admin?.components?.views?.edit?.default?.actions\n }\n />\n <RenderComponent mappedComponent={Edit} />\n </Fragment>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,eAAe,EAAEC,cAAc,EAAEC,SAAS,EAAEC,eAAe,QAAQ;AAC5E,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,OAAO,MAAMC,cAAA,GAA2BA,CAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EACtC;IAAAS,cAAA;IAAAC;EAAA,IAAuCN,eAAA;EAEvC;IAAAO;EAAA,IAA4BR,SAAA;EAAA,IAAAS,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAL,CAAA,QAAAC,cAAA,IAAAD,CAAA,QAAAG,eAAA,IAAAH,CAAA,QAAAE,UAAA;IASnBG,EAAA,GAAAC,MAAA,CAAAC,GAAA;IAAAC,GAAA;MAPT,MAAAC,gBAAA,GAAyBN,eAAA;QAAAF;MAAA,CAAiC;MAC1D,MAAAS,YAAA,GAAqBP,eAAA;QAAAD;MAAA,CAA6B;MAElD,MAAAS,IAAA,IAAcF,gBAAA,IAAoBC,YAAW,GAAAE,KAAA,EAAAC,UAAA,EAAAC,KAAA,EAAAC,IAAA,EAAAC,OAAA,EAAAC,SAAA;MACzC,KAECN,IAAA;QACIN,EAAA;QAAA,MAAAG,GAAA;MAAA;MAIPJ,EAAA,GAAAc,KAAA,CAAApB,QAAA;QAAAqB,QAAA,GACEC,IAAA,CAAA1B,cAAA;UAAA2B,OAAA,GAEKZ,gBAAA,IAAoBC,YAAW,GAAAE,KAAA,EAAAC,UAAA,EAAAC,KAAA,EAAAC,IAAA,EAAAC,OAAA,EAAAK;QAAA,C,GAGpCD,IAAA,CAAA3B,eAAA;UAAA6B,eAAA,EAAkCX;QAAA,C;;;;;;;;;;;;;;;SANpCP,E;CASJ","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import './index.scss';
3
- export declare const DefaultListView: React.FC;
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/Default/index.tsx"],"names":[],"mappings":"AAsCA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAqNnC,CAAA"}