@payloadcms/ui 3.69.0-internal.424436e → 3.69.0

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 (241) hide show
  1. package/dist/elements/AppHeader/index.js +1 -2
  2. package/dist/elements/AppHeader/index.js.map +1 -1
  3. package/dist/elements/AppHeader/index.scss +0 -1
  4. package/dist/elements/ArrayAction/index.d.ts +6 -6
  5. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  6. package/dist/elements/ArrayAction/index.js +8 -8
  7. package/dist/elements/ArrayAction/index.js.map +1 -1
  8. package/dist/elements/Autosave/index.d.ts.map +1 -1
  9. package/dist/elements/Autosave/index.js +20 -5
  10. package/dist/elements/Autosave/index.js.map +1 -1
  11. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  12. package/dist/elements/BulkUpload/FormsManager/index.js +10 -6
  13. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  14. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  15. package/dist/elements/CopyLocaleData/index.js +36 -39
  16. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  17. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  18. package/dist/elements/DefaultListViewTabs/index.js +1 -2
  19. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  20. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  21. package/dist/elements/DeleteDocument/index.js +9 -7
  22. package/dist/elements/DeleteDocument/index.js.map +1 -1
  23. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  24. package/dist/elements/DeleteMany/index.js +19 -16
  25. package/dist/elements/DeleteMany/index.js.map +1 -1
  26. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  27. package/dist/elements/DocumentControls/index.js +2 -4
  28. package/dist/elements/DocumentControls/index.js.map +1 -1
  29. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  30. package/dist/elements/DuplicateDocument/index.js +4 -6
  31. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  32. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  33. package/dist/elements/EditMany/DrawerContent.js +8 -12
  34. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  35. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts.map +1 -1
  36. package/dist/elements/FolderView/BrowseByFolderButton/index.js +2 -4
  37. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
  38. package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -1
  39. package/dist/elements/FolderView/Cell/index.client.js +9 -2
  40. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  41. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +1 -1
  42. package/dist/elements/FolderView/CurrentFolderActions/index.js +7 -4
  43. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  44. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts +1 -1
  45. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts.map +1 -1
  46. package/dist/elements/FolderView/MoveDocToFolder/index.js +5 -1
  47. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  48. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  49. package/dist/elements/IDLabel/index.js +11 -14
  50. package/dist/elements/IDLabel/index.js.map +1 -1
  51. package/dist/elements/ItemsDrawer/ItemSearch/index.d.ts +8 -0
  52. package/dist/elements/ItemsDrawer/ItemSearch/index.d.ts.map +1 -0
  53. package/dist/elements/ItemsDrawer/ItemSearch/index.js +56 -0
  54. package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -0
  55. package/dist/elements/ItemsDrawer/ItemSearch/index.scss +38 -0
  56. package/dist/elements/ItemsDrawer/index.d.ts +15 -0
  57. package/dist/elements/ItemsDrawer/index.d.ts.map +1 -0
  58. package/dist/elements/ItemsDrawer/index.js +195 -0
  59. package/dist/elements/ItemsDrawer/index.js.map +1 -0
  60. package/dist/elements/ItemsDrawer/index.scss +102 -0
  61. package/dist/elements/Link/index.d.ts.map +1 -1
  62. package/dist/elements/Link/index.js +5 -3
  63. package/dist/elements/Link/index.js.map +1 -1
  64. package/dist/elements/ListControls/index.d.ts.map +1 -1
  65. package/dist/elements/ListControls/index.js +6 -4
  66. package/dist/elements/ListControls/index.js.map +1 -1
  67. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
  68. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +9 -2
  69. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  70. package/dist/elements/Logout/index.d.ts.map +1 -1
  71. package/dist/elements/Logout/index.js +8 -11
  72. package/dist/elements/Logout/index.js.map +1 -1
  73. package/dist/elements/PermanentlyDeleteButton/index.d.ts.map +1 -1
  74. package/dist/elements/PermanentlyDeleteButton/index.js +19 -14
  75. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  76. package/dist/elements/Popup/PopupButtonList/index.scss +1 -0
  77. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -1
  78. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  79. package/dist/elements/Popup/PopupTrigger/index.js +24 -92
  80. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  81. package/dist/elements/Popup/index.d.ts +32 -1
  82. package/dist/elements/Popup/index.d.ts.map +1 -1
  83. package/dist/elements/Popup/index.js +249 -122
  84. package/dist/elements/Popup/index.js.map +1 -1
  85. package/dist/elements/Popup/index.scss +49 -231
  86. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  87. package/dist/elements/PublishButton/ScheduleDrawer/index.js +6 -2
  88. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  89. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  90. package/dist/elements/PublishButton/index.js +14 -4
  91. package/dist/elements/PublishButton/index.js.map +1 -1
  92. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  93. package/dist/elements/PublishMany/DrawerContent.js +8 -5
  94. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  95. package/dist/elements/QueryPresets/QueryPresetBar/index.d.ts.map +1 -1
  96. package/dist/elements/QueryPresets/QueryPresetBar/index.js +7 -9
  97. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  98. package/dist/elements/RestoreButton/index.d.ts.map +1 -1
  99. package/dist/elements/RestoreButton/index.js +19 -14
  100. package/dist/elements/RestoreButton/index.js.map +1 -1
  101. package/dist/elements/RestoreMany/index.d.ts.map +1 -1
  102. package/dist/elements/RestoreMany/index.js +17 -14
  103. package/dist/elements/RestoreMany/index.js.map +1 -1
  104. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  105. package/dist/elements/SaveDraftButton/index.js +11 -5
  106. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  107. package/dist/elements/Status/index.d.ts.map +1 -1
  108. package/dist/elements/Status/index.js +11 -5
  109. package/dist/elements/Status/index.js.map +1 -1
  110. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  111. package/dist/elements/StayLoggedIn/index.js +17 -20
  112. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  113. package/dist/elements/StepNav/context.d.ts.map +1 -1
  114. package/dist/elements/StepNav/context.js +9 -1
  115. package/dist/elements/StepNav/context.js.map +1 -1
  116. package/dist/elements/StepNav/index.scss +0 -1
  117. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  118. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +39 -41
  119. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  120. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  121. package/dist/elements/Table/DefaultCell/index.js +9 -12
  122. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  123. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  124. package/dist/elements/Table/OrderableTable.js +5 -1
  125. package/dist/elements/Table/OrderableTable.js.map +1 -1
  126. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  127. package/dist/elements/Table/RelationshipProvider/index.js +25 -24
  128. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  129. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  130. package/dist/elements/UnpublishMany/DrawerContent.js +8 -5
  131. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  132. package/dist/elements/Upload/index.d.ts.map +1 -1
  133. package/dist/elements/Upload/index.js +7 -5
  134. package/dist/elements/Upload/index.js.map +1 -1
  135. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  136. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +14 -8
  137. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  138. package/dist/elements/withMergedProps/index.d.ts +1 -1
  139. package/dist/elements/withMergedProps/index.js +1 -1
  140. package/dist/elements/withMergedProps/index.js.map +1 -1
  141. package/dist/exports/client/index.d.ts +1 -2
  142. package/dist/exports/client/index.d.ts.map +1 -1
  143. package/dist/exports/client/index.js +12 -12
  144. package/dist/exports/client/index.js.map +4 -4
  145. package/dist/exports/rsc/index.d.ts +1 -0
  146. package/dist/exports/rsc/index.d.ts.map +1 -1
  147. package/dist/exports/rsc/index.js +1 -0
  148. package/dist/exports/rsc/index.js.map +1 -1
  149. package/dist/exports/shared/index.d.ts +3 -0
  150. package/dist/exports/shared/index.d.ts.map +1 -1
  151. package/dist/exports/shared/index.js +2 -2
  152. package/dist/exports/shared/index.js.map +4 -4
  153. package/dist/fields/Array/ArrayRow.d.ts +7 -18
  154. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  155. package/dist/fields/Array/ArrayRow.js +133 -65
  156. package/dist/fields/Array/ArrayRow.js.map +1 -1
  157. package/dist/fields/Array/index.d.ts.map +1 -1
  158. package/dist/fields/Array/index.js +3 -10
  159. package/dist/fields/Array/index.js.map +1 -1
  160. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  161. package/dist/fields/Relationship/Input.js +9 -3
  162. package/dist/fields/Relationship/Input.js.map +1 -1
  163. package/dist/fields/Upload/Input.d.ts.map +1 -1
  164. package/dist/fields/Upload/Input.js +7 -3
  165. package/dist/fields/Upload/Input.js.map +1 -1
  166. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +8 -1
  167. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -1
  168. package/dist/graphics/Account/index.d.ts.map +1 -1
  169. package/dist/graphics/Account/index.js +2 -4
  170. package/dist/graphics/Account/index.js.map +1 -1
  171. package/dist/providers/Auth/index.d.ts.map +1 -1
  172. package/dist/providers/Auth/index.js +23 -26
  173. package/dist/providers/Auth/index.js.map +1 -1
  174. package/dist/providers/DocumentInfo/index.d.ts +1 -1
  175. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  176. package/dist/providers/DocumentInfo/index.js +16 -15
  177. package/dist/providers/DocumentInfo/index.js.map +1 -1
  178. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts +1 -2
  179. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
  180. package/dist/providers/DocumentInfo/useGetDocPermissions.js +16 -6
  181. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
  182. package/dist/providers/Folders/index.d.ts.map +1 -1
  183. package/dist/providers/Folders/index.js +14 -11
  184. package/dist/providers/Folders/index.js.map +1 -1
  185. package/dist/providers/Locale/index.d.ts.map +1 -1
  186. package/dist/providers/Locale/index.js +45 -34
  187. package/dist/providers/Locale/index.js.map +1 -1
  188. package/dist/providers/Preferences/index.d.ts.map +1 -1
  189. package/dist/providers/Preferences/index.js +16 -7
  190. package/dist/providers/Preferences/index.js.map +1 -1
  191. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  192. package/dist/providers/RouteTransition/index.js +6 -1
  193. package/dist/providers/RouteTransition/index.js.map +1 -1
  194. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  195. package/dist/providers/TableColumns/buildColumnState/renderCell.js +1 -2
  196. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  197. package/dist/scss/app.scss +14 -1
  198. package/dist/styles.css +1 -1
  199. package/dist/utilities/getGlobalData.d.ts +11 -0
  200. package/dist/utilities/getGlobalData.d.ts.map +1 -0
  201. package/dist/utilities/getGlobalData.js +49 -0
  202. package/dist/utilities/getGlobalData.js.map +1 -0
  203. package/dist/utilities/getNavGroups.d.ts +5 -0
  204. package/dist/utilities/getNavGroups.d.ts.map +1 -0
  205. package/dist/utilities/getNavGroups.js +22 -0
  206. package/dist/utilities/getNavGroups.js.map +1 -0
  207. package/dist/utilities/getVisibleEntities.d.ts +5 -0
  208. package/dist/utilities/getVisibleEntities.d.ts.map +1 -0
  209. package/dist/utilities/getVisibleEntities.js +31 -0
  210. package/dist/utilities/getVisibleEntities.js.map +1 -0
  211. package/dist/utilities/groupNavItems.d.ts +3 -0
  212. package/dist/utilities/groupNavItems.d.ts.map +1 -1
  213. package/dist/utilities/groupNavItems.js +3 -0
  214. package/dist/utilities/groupNavItems.js.map +1 -1
  215. package/dist/utilities/handleBackToDashboard.js +1 -1
  216. package/dist/utilities/handleBackToDashboard.js.map +1 -1
  217. package/dist/utilities/handleGoBack.d.ts.map +1 -1
  218. package/dist/utilities/handleGoBack.js +1 -2
  219. package/dist/utilities/handleGoBack.js.map +1 -1
  220. package/dist/utilities/normalizeRelationshipValue.spec.js +1 -1
  221. package/dist/utilities/normalizeRelationshipValue.spec.js.map +1 -1
  222. package/dist/views/CollectionFolder/index.js +2 -4
  223. package/dist/views/CollectionFolder/index.js.map +1 -1
  224. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  225. package/dist/views/Edit/Auth/index.js +22 -21
  226. package/dist/views/Edit/Auth/index.js.map +1 -1
  227. package/dist/views/Edit/SetDocumentStepNav/index.d.ts.map +1 -1
  228. package/dist/views/Edit/SetDocumentStepNav/index.js +36 -22
  229. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  230. package/dist/views/Edit/index.d.ts.map +1 -1
  231. package/dist/views/Edit/index.js +2 -3
  232. package/dist/views/Edit/index.js.map +1 -1
  233. package/dist/views/List/index.d.ts.map +1 -1
  234. package/dist/views/List/index.js +1 -2
  235. package/dist/views/List/index.js.map +1 -1
  236. package/dist/widgets/CollectionCards/index.d.ts +5 -0
  237. package/dist/widgets/CollectionCards/index.d.ts.map +1 -0
  238. package/dist/widgets/CollectionCards/index.js +135 -0
  239. package/dist/widgets/CollectionCards/index.js.map +1 -0
  240. package/dist/widgets/CollectionCards/index.scss +70 -0
  241. package/package.json +5 -5
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import { getFieldPermissions } from 'payload/shared';
5
+ import { formatAdminURL, getFieldPermissions } from 'payload/shared';
6
6
  import React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react';
7
7
  import { toast } from 'sonner';
8
8
  import { Button } from '../../../elements/Button/index.js';
@@ -18,7 +18,7 @@ import './index.scss';
18
18
  import { APIKey } from './APIKey.js';
19
19
  const baseClass = 'auth-fields';
20
20
  export const Auth = props => {
21
- const $ = _c(22);
21
+ const $ = _c(21);
22
22
  const {
23
23
  className,
24
24
  collectionSlug,
@@ -51,8 +51,7 @@ export const Auth = props => {
51
51
  config: t0
52
52
  } = useConfig();
53
53
  const {
54
- routes: t1,
55
- serverURL
54
+ routes: t1
56
55
  } = t0;
57
56
  const {
58
57
  api
@@ -183,9 +182,12 @@ export const Auth = props => {
183
182
  }
184
183
  const handleChangePassword = t3;
185
184
  let t4;
186
- if ($[8] !== api || $[9] !== collectionSlug || $[10] !== email || $[11] !== i18n || $[12] !== loginWithUsername || $[13] !== serverURL || $[14] !== t || $[15] !== username) {
185
+ if ($[8] !== api || $[9] !== collectionSlug || $[10] !== email || $[11] !== i18n || $[12] !== loginWithUsername || $[13] !== t || $[14] !== username) {
187
186
  t4 = async () => {
188
- const url = `${serverURL}${api}/${collectionSlug}/unlock`;
187
+ const url = formatAdminURL({
188
+ apiRoute: api,
189
+ path: `/${collectionSlug}/unlock`
190
+ });
189
191
  const response = await fetch(url, {
190
192
  body: loginWithUsername && username ? JSON.stringify({
191
193
  username
@@ -210,29 +212,28 @@ export const Auth = props => {
210
212
  $[10] = email;
211
213
  $[11] = i18n;
212
214
  $[12] = loginWithUsername;
213
- $[13] = serverURL;
214
- $[14] = t;
215
- $[15] = username;
216
- $[16] = t4;
215
+ $[13] = t;
216
+ $[14] = username;
217
+ $[15] = t4;
217
218
  } else {
218
- t4 = $[16];
219
+ t4 = $[15];
219
220
  }
220
221
  const unlock = t4;
221
222
  let t5;
222
223
  let t6;
223
- if ($[17] !== modified) {
224
+ if ($[16] !== modified) {
224
225
  t5 = () => {
225
226
  if (!modified) {
226
227
  setChangingPassword(false);
227
228
  }
228
229
  };
229
230
  t6 = [modified];
230
- $[17] = modified;
231
- $[18] = t5;
232
- $[19] = t6;
231
+ $[16] = modified;
232
+ $[17] = t5;
233
+ $[18] = t6;
233
234
  } else {
234
- t5 = $[18];
235
- t6 = $[19];
235
+ t5 = $[17];
236
+ t6 = $[18];
236
237
  }
237
238
  useEffect(t5, t6);
238
239
  const showAuthBlock = enableFields;
@@ -242,12 +243,12 @@ export const Auth = props => {
242
243
  return null;
243
244
  }
244
245
  let t7;
245
- if ($[20] !== className) {
246
+ if ($[19] !== className) {
246
247
  t7 = [baseClass, className].filter(Boolean);
247
- $[20] = className;
248
- $[21] = t7;
248
+ $[19] = className;
249
+ $[20] = t7;
249
250
  } else {
250
- t7 = $[21];
251
+ t7 = $[20];
251
252
  }
252
253
  return _jsxs("div", {
253
254
  className: t7.join(" "),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getFieldPermissions","React","Fragment","useCallback","useEffect","useMemo","useState","toast","Button","EmailAndUsernameFields","CheckboxField","ConfirmPasswordField","PasswordField","useFormFields","useFormModified","useConfig","useDocumentInfo","useTranslation","APIKey","baseClass","Auth","props","$","className","collectionSlug","disableLocalStrategy","email","loginWithUsername","operation","readOnly","requirePassword","setValidateBeforeSubmit","useAPIKey","username","verify","changingPassword","setChangingPassword","enableAPIKey","_temp","dispatchFields","_temp2","modified","i18n","t","docPermissions","isEditing","isInitializing","isTrashed","config","t0","routes","t1","serverURL","api","showPasswordFields","showUnlock","hasPasswordFieldOverride","fields","hasLoginFieldOverride","permissions","passwordPermissions","field","name","type","parentName","create","update","hasEmailAndUsernameFields","requireEmail","allowEmailLogin","t2","emailPermission","t3","usernamePermission","enableFields","disabled","apiKeyPermissions","apiKeyReadOnly","enableAPIKeyReadOnly","canReadApiKey","read","bb0","Boolean","unlock","undefined","hasPermissionToUnlock","changingPassword_0","errorMessage","path","valid","handleChangePassword","t4","url","response","fetch","body","JSON","stringify","credentials","headers","language","method","status","success","error","t5","t6","showAuthBlock","showAPIKeyBlock","showVerifyBlock","t7","filter","_jsxs","join","children","_jsx","autoComplete","label","required","indexPath","parentPath","parentSchemaPath","schemaPath","buttonStyle","id","onClick","size","admin","enabled","value","reducer"],"sources":["../../../../src/views/Edit/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SanitizedFieldPermissions } from 'payload'\n\nimport { getFieldPermissions } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { EmailAndUsernameFields } from '../../../elements/EmailAndUsername/index.js'\nimport { CheckboxField } from '../../../fields/Checkbox/index.js'\nimport { ConfirmPasswordField } from '../../../fields/ConfirmPassword/index.js'\nimport { PasswordField } from '../../../fields/Password/index.js'\nimport { useFormFields, useFormModified } from '../../../forms/Form/context.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\nimport { APIKey } from './APIKey.js'\n\nconst baseClass = 'auth-fields'\n\nexport const Auth: React.FC<Props> = (props) => {\n const {\n className,\n collectionSlug,\n disableLocalStrategy,\n email,\n loginWithUsername,\n operation,\n readOnly,\n requirePassword,\n setValidateBeforeSubmit,\n useAPIKey,\n username,\n verify,\n } = props\n\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const enableAPIKey = useFormFields(([fields]) => (fields && fields?.enableAPIKey) || null)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n const { docPermissions, isEditing, isInitializing, isTrashed } = useDocumentInfo()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n let showPasswordFields: SanitizedFieldPermissions = true\n let showUnlock = true\n const hasPasswordFieldOverride =\n typeof docPermissions.fields === 'object' && 'password' in docPermissions.fields\n const hasLoginFieldOverride =\n typeof docPermissions.fields === 'object' &&\n ('username' in docPermissions.fields || 'email' in docPermissions.fields)\n\n if (hasPasswordFieldOverride) {\n const { permissions: passwordPermissions } = getFieldPermissions({\n field: { name: 'password', type: 'text' },\n operation,\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n if (operation === 'create') {\n showPasswordFields =\n passwordPermissions === true ||\n ((typeof passwordPermissions === 'object' &&\n passwordPermissions.create) as SanitizedFieldPermissions)\n } else {\n showPasswordFields =\n passwordPermissions === true ||\n ((typeof passwordPermissions === 'object' &&\n passwordPermissions.update) as SanitizedFieldPermissions)\n }\n }\n\n if (hasLoginFieldOverride) {\n const hasEmailAndUsernameFields =\n loginWithUsername && (loginWithUsername.requireEmail || loginWithUsername.allowEmailLogin)\n\n const { operation: emailPermission } = getFieldPermissions({\n field: { name: 'email', type: 'text' },\n operation: 'read',\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n const { operation: usernamePermission } = getFieldPermissions({\n field: { name: 'username', type: 'text' },\n operation: 'read',\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n if (hasEmailAndUsernameFields) {\n showUnlock = usernamePermission || emailPermission\n } else if (loginWithUsername && !hasEmailAndUsernameFields) {\n showUnlock = usernamePermission\n } else {\n showUnlock = emailPermission\n }\n }\n\n const enableFields =\n (!disableLocalStrategy ||\n (typeof disableLocalStrategy === 'object' && disableLocalStrategy.enableFields === true)) &&\n (showUnlock || showPasswordFields)\n\n const disabled = readOnly || isInitializing || isTrashed\n\n const apiKeyPermissions =\n docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey\n\n const apiKeyReadOnly =\n readOnly ||\n apiKeyPermissions === true ||\n (apiKeyPermissions && typeof apiKeyPermissions === 'object' && !apiKeyPermissions?.update)\n\n const enableAPIKeyReadOnly =\n readOnly || (apiKeyPermissions !== true && !apiKeyPermissions?.update)\n\n const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read\n\n const hasPermissionToUnlock: boolean = useMemo(() => {\n if (docPermissions) {\n return Boolean('unlock' in docPermissions ? docPermissions.unlock : undefined)\n }\n\n return false\n }, [docPermissions])\n\n const handleChangePassword = useCallback(\n (changingPassword: boolean) => {\n if (changingPassword) {\n setValidateBeforeSubmit(true)\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'password',\n valid: false,\n })\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'confirm-password',\n valid: false,\n })\n } else {\n setValidateBeforeSubmit(false)\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(changingPassword)\n },\n [dispatchFields, t, setValidateBeforeSubmit],\n )\n\n const unlock = useCallback(async () => {\n const url = `${serverURL}${api}/${collectionSlug}/unlock`\n const response = await fetch(url, {\n body:\n loginWithUsername && username ? JSON.stringify({ username }) : JSON.stringify({ email }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n if (response.status === 200) {\n toast.success(t('authentication:successfullyUnlocked'))\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, serverURL, api, collectionSlug, email, username, t, loginWithUsername])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n const showAuthBlock = enableFields\n const showAPIKeyBlock = useAPIKey && canReadApiKey\n const showVerifyBlock = verify && isEditing\n\n if (!(showAuthBlock || showAPIKeyBlock || showVerifyBlock)) {\n return null\n }\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n {enableFields && (\n <React.Fragment>\n <EmailAndUsernameFields\n loginWithUsername={loginWithUsername}\n operation={operation}\n permissions={docPermissions?.fields}\n readOnly={readOnly || isTrashed}\n t={t}\n />\n {(changingPassword || requirePassword) && (!disableLocalStrategy || !enableFields) && (\n <div className={`${baseClass}__changing-password`}>\n <PasswordField\n autoComplete=\"new-password\"\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n indexPath=\"\"\n parentPath=\"\"\n parentSchemaPath=\"\"\n path=\"password\"\n schemaPath=\"password\"\n />\n <ConfirmPasswordField disabled={readOnly || isTrashed} />\n </div>\n )}\n <div className={`${baseClass}__controls`}>\n {changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"cancel-change-password\"\n onClick={() => handleChangePassword(false)}\n size=\"medium\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!changingPassword &&\n !requirePassword &&\n !disableLocalStrategy &&\n showPasswordFields && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"medium\"\n >\n {t('authentication:changePassword')}\n </Button>\n )}\n {!changingPassword && operation === 'update' && hasPermissionToUnlock && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled || !showUnlock}\n id=\"force-unlock\"\n onClick={() => void unlock()}\n size=\"medium\"\n >\n {t('authentication:forceUnlock')}\n </Button>\n )}\n </div>\n </React.Fragment>\n )}\n {useAPIKey && (\n <div className={`${baseClass}__api-key`}>\n {canReadApiKey && (\n <Fragment>\n <CheckboxField\n field={{\n name: 'enableAPIKey',\n admin: { disabled, readOnly: enableAPIKeyReadOnly },\n label: t('authentication:enableAPIKey'),\n }}\n path=\"enableAPIKey\"\n schemaPath={`${collectionSlug}.enableAPIKey`}\n />\n <APIKey enabled={!!enableAPIKey?.value} readOnly={apiKeyReadOnly} />\n </Fragment>\n )}\n </div>\n )}\n {verify && isEditing && (\n <CheckboxField\n field={{\n name: '_verified',\n admin: { disabled, readOnly },\n label: t('authentication:verified'),\n }}\n path=\"_verified\"\n schemaPath={`${collectionSlug}._verified`}\n />\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","formatAdminURL","getFieldPermissions","React","Fragment","useCallback","useEffect","useMemo","useState","toast","Button","EmailAndUsernameFields","CheckboxField","ConfirmPasswordField","PasswordField","useFormFields","useFormModified","useConfig","useDocumentInfo","useTranslation","APIKey","baseClass","Auth","props","$","className","collectionSlug","disableLocalStrategy","email","loginWithUsername","operation","readOnly","requirePassword","setValidateBeforeSubmit","useAPIKey","username","verify","changingPassword","setChangingPassword","enableAPIKey","_temp","dispatchFields","_temp2","modified","i18n","t","docPermissions","isEditing","isInitializing","isTrashed","config","t0","routes","t1","api","showPasswordFields","showUnlock","hasPasswordFieldOverride","fields","hasLoginFieldOverride","permissions","passwordPermissions","field","name","type","parentName","create","update","hasEmailAndUsernameFields","requireEmail","allowEmailLogin","t2","emailPermission","t3","usernamePermission","enableFields","disabled","apiKeyPermissions","apiKeyReadOnly","enableAPIKeyReadOnly","canReadApiKey","read","bb0","Boolean","unlock","undefined","hasPermissionToUnlock","changingPassword_0","errorMessage","path","valid","handleChangePassword","t4","url","apiRoute","response","fetch","body","JSON","stringify","credentials","headers","language","method","status","success","error","t5","t6","showAuthBlock","showAPIKeyBlock","showVerifyBlock","t7","filter","_jsxs","join","children","_jsx","autoComplete","label","required","indexPath","parentPath","parentSchemaPath","schemaPath","buttonStyle","id","onClick","size","admin","enabled","value","reducer"],"sources":["../../../../src/views/Edit/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SanitizedFieldPermissions } from 'payload'\n\nimport { formatAdminURL, getFieldPermissions } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { EmailAndUsernameFields } from '../../../elements/EmailAndUsername/index.js'\nimport { CheckboxField } from '../../../fields/Checkbox/index.js'\nimport { ConfirmPasswordField } from '../../../fields/ConfirmPassword/index.js'\nimport { PasswordField } from '../../../fields/Password/index.js'\nimport { useFormFields, useFormModified } from '../../../forms/Form/context.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\nimport { APIKey } from './APIKey.js'\n\nconst baseClass = 'auth-fields'\n\nexport const Auth: React.FC<Props> = (props) => {\n const {\n className,\n collectionSlug,\n disableLocalStrategy,\n email,\n loginWithUsername,\n operation,\n readOnly,\n requirePassword,\n setValidateBeforeSubmit,\n useAPIKey,\n username,\n verify,\n } = props\n\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const enableAPIKey = useFormFields(([fields]) => (fields && fields?.enableAPIKey) || null)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n const { docPermissions, isEditing, isInitializing, isTrashed } = useDocumentInfo()\n\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n\n let showPasswordFields: SanitizedFieldPermissions = true\n let showUnlock = true\n const hasPasswordFieldOverride =\n typeof docPermissions.fields === 'object' && 'password' in docPermissions.fields\n const hasLoginFieldOverride =\n typeof docPermissions.fields === 'object' &&\n ('username' in docPermissions.fields || 'email' in docPermissions.fields)\n\n if (hasPasswordFieldOverride) {\n const { permissions: passwordPermissions } = getFieldPermissions({\n field: { name: 'password', type: 'text' },\n operation,\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n if (operation === 'create') {\n showPasswordFields =\n passwordPermissions === true ||\n ((typeof passwordPermissions === 'object' &&\n passwordPermissions.create) as SanitizedFieldPermissions)\n } else {\n showPasswordFields =\n passwordPermissions === true ||\n ((typeof passwordPermissions === 'object' &&\n passwordPermissions.update) as SanitizedFieldPermissions)\n }\n }\n\n if (hasLoginFieldOverride) {\n const hasEmailAndUsernameFields =\n loginWithUsername && (loginWithUsername.requireEmail || loginWithUsername.allowEmailLogin)\n\n const { operation: emailPermission } = getFieldPermissions({\n field: { name: 'email', type: 'text' },\n operation: 'read',\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n const { operation: usernamePermission } = getFieldPermissions({\n field: { name: 'username', type: 'text' },\n operation: 'read',\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n if (hasEmailAndUsernameFields) {\n showUnlock = usernamePermission || emailPermission\n } else if (loginWithUsername && !hasEmailAndUsernameFields) {\n showUnlock = usernamePermission\n } else {\n showUnlock = emailPermission\n }\n }\n\n const enableFields =\n (!disableLocalStrategy ||\n (typeof disableLocalStrategy === 'object' && disableLocalStrategy.enableFields === true)) &&\n (showUnlock || showPasswordFields)\n\n const disabled = readOnly || isInitializing || isTrashed\n\n const apiKeyPermissions =\n docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey\n\n const apiKeyReadOnly =\n readOnly ||\n apiKeyPermissions === true ||\n (apiKeyPermissions && typeof apiKeyPermissions === 'object' && !apiKeyPermissions?.update)\n\n const enableAPIKeyReadOnly =\n readOnly || (apiKeyPermissions !== true && !apiKeyPermissions?.update)\n\n const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read\n\n const hasPermissionToUnlock: boolean = useMemo(() => {\n if (docPermissions) {\n return Boolean('unlock' in docPermissions ? docPermissions.unlock : undefined)\n }\n\n return false\n }, [docPermissions])\n\n const handleChangePassword = useCallback(\n (changingPassword: boolean) => {\n if (changingPassword) {\n setValidateBeforeSubmit(true)\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'password',\n valid: false,\n })\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'confirm-password',\n valid: false,\n })\n } else {\n setValidateBeforeSubmit(false)\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(changingPassword)\n },\n [dispatchFields, t, setValidateBeforeSubmit],\n )\n\n const unlock = useCallback(async () => {\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}/unlock`,\n })\n const response = await fetch(url, {\n body:\n loginWithUsername && username ? JSON.stringify({ username }) : JSON.stringify({ email }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n if (response.status === 200) {\n toast.success(t('authentication:successfullyUnlocked'))\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, api, collectionSlug, email, username, t, loginWithUsername])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n const showAuthBlock = enableFields\n const showAPIKeyBlock = useAPIKey && canReadApiKey\n const showVerifyBlock = verify && isEditing\n\n if (!(showAuthBlock || showAPIKeyBlock || showVerifyBlock)) {\n return null\n }\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n {enableFields && (\n <React.Fragment>\n <EmailAndUsernameFields\n loginWithUsername={loginWithUsername}\n operation={operation}\n permissions={docPermissions?.fields}\n readOnly={readOnly || isTrashed}\n t={t}\n />\n {(changingPassword || requirePassword) && (!disableLocalStrategy || !enableFields) && (\n <div className={`${baseClass}__changing-password`}>\n <PasswordField\n autoComplete=\"new-password\"\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n indexPath=\"\"\n parentPath=\"\"\n parentSchemaPath=\"\"\n path=\"password\"\n schemaPath=\"password\"\n />\n <ConfirmPasswordField disabled={readOnly || isTrashed} />\n </div>\n )}\n <div className={`${baseClass}__controls`}>\n {changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"cancel-change-password\"\n onClick={() => handleChangePassword(false)}\n size=\"medium\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!changingPassword &&\n !requirePassword &&\n !disableLocalStrategy &&\n showPasswordFields && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"medium\"\n >\n {t('authentication:changePassword')}\n </Button>\n )}\n {!changingPassword && operation === 'update' && hasPermissionToUnlock && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled || !showUnlock}\n id=\"force-unlock\"\n onClick={() => void unlock()}\n size=\"medium\"\n >\n {t('authentication:forceUnlock')}\n </Button>\n )}\n </div>\n </React.Fragment>\n )}\n {useAPIKey && (\n <div className={`${baseClass}__api-key`}>\n {canReadApiKey && (\n <Fragment>\n <CheckboxField\n field={{\n name: 'enableAPIKey',\n admin: { disabled, readOnly: enableAPIKeyReadOnly },\n label: t('authentication:enableAPIKey'),\n }}\n path=\"enableAPIKey\"\n schemaPath={`${collectionSlug}.enableAPIKey`}\n />\n <APIKey enabled={!!enableAPIKey?.value} readOnly={apiKeyReadOnly} />\n </Fragment>\n )}\n </div>\n )}\n {verify && isEditing && (\n <CheckboxField\n field={{\n name: '_verified',\n admin: { disabled, readOnly },\n label: t('authentication:verified'),\n }}\n path=\"_verified\"\n schemaPath={`${collectionSlug}._verified`}\n />\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/SetDocumentStepNav/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAe/E,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC;IACxC,cAAc,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAClD,WAAW,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC5C,UAAU,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAC1C,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC3D,UAAU,CAAC,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAkHA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/SetDocumentStepNav/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAe/E,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC;IACxC,cAAc,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAClD,WAAW,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC5C,UAAU,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAC1C,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC3D,UAAU,CAAC,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CA8GA,CAAA"}
@@ -11,7 +11,7 @@ import { useDocumentTitle } from '../../../providers/DocumentTitle/index.js';
11
11
  import { useEntityVisibility } from '../../../providers/EntityVisibility/index.js';
12
12
  import { useTranslation } from '../../../providers/Translation/index.js';
13
13
  export const SetDocumentStepNav = props => {
14
- const $ = _c(22);
14
+ const $ = _c(37);
15
15
  const {
16
16
  id,
17
17
  collectionSlug,
@@ -63,8 +63,7 @@ export const SetDocumentStepNav = props => {
63
63
  admin: adminRoute
64
64
  } = t2;
65
65
  let t3;
66
- let t4;
67
- if ($[4] !== adminRoute || $[5] !== collectionSlug || $[6] !== globalSlug || $[7] !== i18n || $[8] !== id || $[9] !== isEditing || $[10] !== isInitializing || $[11] !== isTrashed || $[12] !== isVisible || $[13] !== pluralLabel || $[14] !== serverURL || $[15] !== setStepNav || $[16] !== t || $[17] !== title || $[18] !== useAsTitle || $[19] !== view) {
66
+ if ($[4] !== adminRoute || $[5] !== collectionSlug || $[6] !== globalSlug || $[7] !== i18n || $[8] !== id || $[9] !== isEditing || $[10] !== isInitializing || $[11] !== isTrashed || $[12] !== isVisible || $[13] !== pluralLabel || $[14] !== setStepNav || $[15] !== t || $[16] !== title || $[17] !== useAsTitle || $[18] !== view) {
68
67
  t3 = () => {
69
68
  const nav = [];
70
69
  if (!isInitializing) {
@@ -73,8 +72,7 @@ export const SetDocumentStepNav = props => {
73
72
  label: getTranslation(pluralLabel, i18n),
74
73
  url: isVisible ? formatAdminURL({
75
74
  adminRoute,
76
- path: `/collections/${collectionSlug}`,
77
- serverURL
75
+ path: `/collections/${collectionSlug}`
78
76
  }) : undefined
79
77
  });
80
78
  if (isTrashed) {
@@ -82,8 +80,7 @@ export const SetDocumentStepNav = props => {
82
80
  label: t("general:trash"),
83
81
  url: isVisible ? formatAdminURL({
84
82
  adminRoute,
85
- path: `/collections/${collectionSlug}/trash`,
86
- serverURL
83
+ path: `/collections/${collectionSlug}/trash`
87
84
  }) : undefined
88
85
  });
89
86
  }
@@ -92,8 +89,7 @@ export const SetDocumentStepNav = props => {
92
89
  label: useAsTitle && useAsTitle !== "id" && title || `${id}`,
93
90
  url: isVisible ? formatAdminURL({
94
91
  adminRoute,
95
- path: isTrashed ? `/collections/${collectionSlug}/trash/${id}` : `/collections/${collectionSlug}/${id}`,
96
- serverURL
92
+ path: isTrashed ? `/collections/${collectionSlug}/trash/${id}` : `/collections/${collectionSlug}/${id}`
97
93
  }) : undefined
98
94
  });
99
95
  } else {
@@ -107,8 +103,7 @@ export const SetDocumentStepNav = props => {
107
103
  label: title,
108
104
  url: isVisible ? formatAdminURL({
109
105
  adminRoute,
110
- path: `/globals/${globalSlug}`,
111
- serverURL
106
+ path: `/globals/${globalSlug}`
112
107
  }) : undefined
113
108
  });
114
109
  }
@@ -121,7 +116,6 @@ export const SetDocumentStepNav = props => {
121
116
  setStepNav(nav);
122
117
  }
123
118
  };
124
- t4 = [setStepNav, isInitializing, isEditing, pluralLabel, id, isTrashed, useAsTitle, adminRoute, t, i18n, title, collectionSlug, globalSlug, serverURL, view, isVisible];
125
119
  $[4] = adminRoute;
126
120
  $[5] = collectionSlug;
127
121
  $[6] = globalSlug;
@@ -132,17 +126,37 @@ export const SetDocumentStepNav = props => {
132
126
  $[11] = isTrashed;
133
127
  $[12] = isVisible;
134
128
  $[13] = pluralLabel;
135
- $[14] = serverURL;
136
- $[15] = setStepNav;
137
- $[16] = t;
138
- $[17] = title;
139
- $[18] = useAsTitle;
140
- $[19] = view;
141
- $[20] = t3;
142
- $[21] = t4;
129
+ $[14] = setStepNav;
130
+ $[15] = t;
131
+ $[16] = title;
132
+ $[17] = useAsTitle;
133
+ $[18] = view;
134
+ $[19] = t3;
135
+ } else {
136
+ t3 = $[19];
137
+ }
138
+ let t4;
139
+ if ($[20] !== adminRoute || $[21] !== collectionSlug || $[22] !== globalSlug || $[23] !== i18n || $[24] !== id || $[25] !== isEditing || $[26] !== isInitializing || $[27] !== isTrashed || $[28] !== isVisible || $[29] !== pluralLabel || $[30] !== serverURL || $[31] !== setStepNav || $[32] !== t || $[33] !== title || $[34] !== useAsTitle || $[35] !== view) {
140
+ t4 = [setStepNav, isInitializing, isEditing, pluralLabel, id, isTrashed, useAsTitle, adminRoute, t, i18n, title, collectionSlug, globalSlug, serverURL, view, isVisible];
141
+ $[20] = adminRoute;
142
+ $[21] = collectionSlug;
143
+ $[22] = globalSlug;
144
+ $[23] = i18n;
145
+ $[24] = id;
146
+ $[25] = isEditing;
147
+ $[26] = isInitializing;
148
+ $[27] = isTrashed;
149
+ $[28] = isVisible;
150
+ $[29] = pluralLabel;
151
+ $[30] = serverURL;
152
+ $[31] = setStepNav;
153
+ $[32] = t;
154
+ $[33] = title;
155
+ $[34] = useAsTitle;
156
+ $[35] = view;
157
+ $[36] = t4;
143
158
  } else {
144
- t3 = $[20];
145
- t4 = $[21];
159
+ t4 = $[36];
146
160
  }
147
161
  useEffect(t3, t4);
148
162
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","formatAdminURL","useEffect","useStepNav","useConfig","useDocumentInfo","useDocumentTitle","useEntityVisibility","useTranslation","SetDocumentStepNav","props","$","id","collectionSlug","globalSlug","isTrashed","pluralLabel","useAsTitle","view","undefined","isEditing","isInitializing","title","isEntityVisible","t0","isVisible","setStepNav","i18n","t","config","t1","routes","t2","serverURL","admin","adminRoute","t3","t4","nav","push","label","url","path"],"sources":["../../../../src/views/Edit/SetDocumentStepNav/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport { useEffect } from 'react'\n\nimport type { StepNavItem } from '../../../elements/StepNav/index.js'\n\nimport { useStepNav } from '../../../elements/StepNav/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useEntityVisibility } from '../../../providers/EntityVisibility/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nexport const SetDocumentStepNav: React.FC<{\n collectionSlug?: SanitizedCollectionConfig['slug']\n globalLabel?: SanitizedGlobalConfig['label']\n globalSlug?: SanitizedGlobalConfig['slug']\n id?: number | string\n isTrashed?: boolean\n pluralLabel?: SanitizedCollectionConfig['labels']['plural']\n useAsTitle?: SanitizedCollectionConfig['admin']['useAsTitle']\n view?: string\n}> = (props) => {\n const { id, collectionSlug, globalSlug, isTrashed, pluralLabel, useAsTitle } = props\n\n const view: string | undefined = props?.view || undefined\n\n const { isEditing, isInitializing } = useDocumentInfo()\n const { title } = useDocumentTitle()\n\n const { isEntityVisible } = useEntityVisibility()\n const isVisible = isEntityVisible({ collectionSlug, globalSlug })\n\n const { setStepNav } = useStepNav()\n\n const { i18n, t } = useTranslation()\n\n const {\n config: {\n routes: { admin: adminRoute },\n serverURL,\n },\n } = useConfig()\n\n useEffect(() => {\n const nav: StepNavItem[] = []\n\n if (!isInitializing) {\n if (collectionSlug) {\n // Collection label\n nav.push({\n label: getTranslation(pluralLabel, i18n),\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n serverURL,\n })\n : undefined,\n })\n\n // Trash breadcrumb (if in trash view)\n if (isTrashed) {\n nav.push({\n label: t('general:trash'),\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/trash`,\n serverURL,\n })\n : undefined,\n })\n }\n\n // Document label\n if (isEditing) {\n nav.push({\n label: (useAsTitle && useAsTitle !== 'id' && title) || `${id}`,\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: isTrashed\n ? `/collections/${collectionSlug}/trash/${id}`\n : `/collections/${collectionSlug}/${id}`,\n serverURL,\n })\n : undefined,\n })\n } else {\n nav.push({\n label: t('general:createNew'),\n })\n }\n } else if (globalSlug) {\n nav.push({\n label: title,\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n serverURL,\n })\n : undefined,\n })\n }\n\n // Fallback view (used for versions, previews, etc.)\n if (view) {\n nav.push({\n label: view,\n })\n }\n\n setStepNav(nav)\n }\n }, [\n setStepNav,\n isInitializing,\n isEditing,\n pluralLabel,\n id,\n isTrashed,\n useAsTitle,\n adminRoute,\n t,\n i18n,\n title,\n collectionSlug,\n globalSlug,\n serverURL,\n view,\n isVisible,\n ])\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","formatAdminURL","useEffect","useStepNav","useConfig","useDocumentInfo","useDocumentTitle","useEntityVisibility","useTranslation","SetDocumentStepNav","props","$","id","collectionSlug","globalSlug","isTrashed","pluralLabel","useAsTitle","view","undefined","isEditing","isInitializing","title","isEntityVisible","t0","isVisible","setStepNav","i18n","t","config","t1","routes","t2","serverURL","admin","adminRoute","t3","nav","push","label","url","path","t4"],"sources":["../../../../src/views/Edit/SetDocumentStepNav/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport { useEffect } from 'react'\n\nimport type { StepNavItem } from '../../../elements/StepNav/index.js'\n\nimport { useStepNav } from '../../../elements/StepNav/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useEntityVisibility } from '../../../providers/EntityVisibility/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nexport const SetDocumentStepNav: React.FC<{\n collectionSlug?: SanitizedCollectionConfig['slug']\n globalLabel?: SanitizedGlobalConfig['label']\n globalSlug?: SanitizedGlobalConfig['slug']\n id?: number | string\n isTrashed?: boolean\n pluralLabel?: SanitizedCollectionConfig['labels']['plural']\n useAsTitle?: SanitizedCollectionConfig['admin']['useAsTitle']\n view?: string\n}> = (props) => {\n const { id, collectionSlug, globalSlug, isTrashed, pluralLabel, useAsTitle } = props\n\n const view: string | undefined = props?.view || undefined\n\n const { isEditing, isInitializing } = useDocumentInfo()\n const { title } = useDocumentTitle()\n\n const { isEntityVisible } = useEntityVisibility()\n const isVisible = isEntityVisible({ collectionSlug, globalSlug })\n\n const { setStepNav } = useStepNav()\n\n const { i18n, t } = useTranslation()\n\n const {\n config: {\n routes: { admin: adminRoute },\n serverURL,\n },\n } = useConfig()\n\n useEffect(() => {\n const nav: StepNavItem[] = []\n\n if (!isInitializing) {\n if (collectionSlug) {\n // Collection label\n nav.push({\n label: getTranslation(pluralLabel, i18n),\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n })\n : undefined,\n })\n\n // Trash breadcrumb (if in trash view)\n if (isTrashed) {\n nav.push({\n label: t('general:trash'),\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/trash`,\n })\n : undefined,\n })\n }\n\n // Document label\n if (isEditing) {\n nav.push({\n label: (useAsTitle && useAsTitle !== 'id' && title) || `${id}`,\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: isTrashed\n ? `/collections/${collectionSlug}/trash/${id}`\n : `/collections/${collectionSlug}/${id}`,\n })\n : undefined,\n })\n } else {\n nav.push({\n label: t('general:createNew'),\n })\n }\n } else if (globalSlug) {\n nav.push({\n label: title,\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n })\n : undefined,\n })\n }\n\n // Fallback view (used for versions, previews, etc.)\n if (view) {\n nav.push({\n label: view,\n })\n }\n\n setStepNav(nav)\n }\n }, [\n setStepNav,\n isInitializing,\n isEditing,\n pluralLabel,\n id,\n isTrashed,\n useAsTitle,\n adminRoute,\n t,\n i18n,\n title,\n collectionSlug,\n globalSlug,\n serverURL,\n view,\n isVisible,\n ])\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAIlE,OAAO,KAAsE,MAAM,OAAO,CAAA;AAmC1F,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,aAAa,GAAG;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAKD,wBAAgB,eAAe,CAAC,EAC9B,sBAAsB,EACtB,WAAW,EACX,aAAa,EACb,WAAW,EAAE,iBAAiB,EAC9B,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,MAAM,EAAE,YAAY,EACpB,cAAc,GACf,EAAE,uBAAuB,qBAqqBzB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAIlE,OAAO,KAAsE,MAAM,OAAO,CAAA;AAmC1F,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,aAAa,GAAG;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAKD,wBAAgB,eAAe,CAAC,EAC9B,sBAAsB,EACtB,WAAW,EACX,aAAa,EACb,WAAW,EAAE,iBAAiB,EAC9B,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,MAAM,EAAE,YAAY,EACpB,cAAc,GACf,EAAE,uBAAuB,qBAmqBzB"}
@@ -259,8 +259,7 @@ export function DefaultEditView({
259
259
  // Redirect to the same locale if it's been set
260
260
  const redirectRoute = formatAdminURL({
261
261
  adminRoute,
262
- path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`,
263
- serverURL
262
+ path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`
264
263
  });
265
264
  startRouteTransition(() => router.push(redirectRoute));
266
265
  } else {
@@ -327,7 +326,7 @@ export function DefaultEditView({
327
326
  updatedAt
328
327
  });
329
328
  }
330
- }, [user, collectionSlug, userSlug, id, setLastUpdateTime, setData, onSaveFromContext, isEditing, depth, redirectAfterCreate, globalSlug, refreshCookieAsync, incrementVersionCount, adminRoute, locale, serverURL, startRouteTransition, router, resetUploadEdits, getDocPermissions, getDocPreferences, getFormState, docPermissions, operation, isLivePreviewEnabled, typeofLivePreviewURL, isPreviewEnabled, schemaPathSegments, upload, isLockingEnabled, reportUpdate, drawerSlug, entitySlug, setDocumentIsLocked, setLivePreviewURL, setPreviewURL]);
329
+ }, [user, collectionSlug, userSlug, id, setLastUpdateTime, setData, onSaveFromContext, isEditing, depth, redirectAfterCreate, globalSlug, refreshCookieAsync, incrementVersionCount, adminRoute, locale, startRouteTransition, router, resetUploadEdits, getDocPermissions, getDocPreferences, getFormState, docPermissions, operation, isLivePreviewEnabled, typeofLivePreviewURL, isPreviewEnabled, schemaPathSegments, upload, isLockingEnabled, reportUpdate, drawerSlug, entitySlug, setDocumentIsLocked, setLivePreviewURL, setPreviewURL]);
331
330
  const onChange = useCallback(async ({
332
331
  formState: prevFormState,
333
332
  submitted