@payloadcms/ui 3.0.0-beta.94 → 3.0.0-beta.96

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 (219) hide show
  1. package/dist/elements/Autosave/index.d.ts.map +1 -1
  2. package/dist/elements/Autosave/index.js +6 -2
  3. package/dist/elements/Autosave/index.js.map +1 -1
  4. package/dist/elements/Banner/index.d.ts.map +1 -1
  5. package/dist/elements/Banner/index.js +6 -2
  6. package/dist/elements/Banner/index.js.map +1 -1
  7. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  8. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  9. package/dist/elements/BulkUpload/ActionsBar/index.scss +4 -4
  10. package/dist/elements/BulkUpload/AddFilesView/index.js +1 -0
  11. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  12. package/dist/elements/BulkUpload/AddFilesView/index.scss +1 -1
  13. package/dist/elements/BulkUpload/EditForm/index.js +6 -2
  14. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  15. package/dist/elements/BulkUpload/FileSidebar/index.scss +8 -10
  16. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  17. package/dist/elements/BulkUpload/FormsManager/index.js +3 -1
  18. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  19. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  20. package/dist/elements/BulkUpload/index.js.map +1 -1
  21. package/dist/elements/Button/index.d.ts.map +1 -1
  22. package/dist/elements/Button/index.js +23 -15
  23. package/dist/elements/Button/index.js.map +1 -1
  24. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  25. package/dist/elements/Collapsible/index.js.map +1 -1
  26. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  27. package/dist/elements/ColumnSelector/index.js.map +1 -1
  28. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  29. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  30. package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
  31. package/dist/elements/DraggableSortable/index.js.map +1 -1
  32. package/dist/elements/Drawer/index.d.ts.map +1 -1
  33. package/dist/elements/Drawer/index.js.map +1 -1
  34. package/dist/elements/Dropzone/index.scss +1 -1
  35. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  36. package/dist/elements/EditUpload/index.js +23 -11
  37. package/dist/elements/EditUpload/index.js.map +1 -1
  38. package/dist/elements/ErrorPill/index.d.ts.map +1 -1
  39. package/dist/elements/ErrorPill/index.js +3 -1
  40. package/dist/elements/ErrorPill/index.js.map +1 -1
  41. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  42. package/dist/elements/FieldSelect/index.js +3 -1
  43. package/dist/elements/FieldSelect/index.js.map +1 -1
  44. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  45. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  46. package/dist/elements/ListDrawer/index.scss +1 -1
  47. package/dist/elements/Pagination/index.d.ts.map +1 -1
  48. package/dist/elements/Pagination/index.js +19 -9
  49. package/dist/elements/Pagination/index.js.map +1 -1
  50. package/dist/elements/PerPage/index.d.ts.map +1 -1
  51. package/dist/elements/PerPage/index.js.map +1 -1
  52. package/dist/elements/Pill/index.d.ts.map +1 -1
  53. package/dist/elements/Pill/index.js +11 -5
  54. package/dist/elements/Pill/index.js.map +1 -1
  55. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  56. package/dist/elements/Popup/PopupTrigger/index.js +3 -1
  57. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  58. package/dist/elements/Popup/index.d.ts.map +1 -1
  59. package/dist/elements/Popup/index.js +3 -1
  60. package/dist/elements/Popup/index.js.map +1 -1
  61. package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -1
  62. package/dist/elements/PreviewButton/usePreviewURL.js +18 -6
  63. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  64. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  65. package/dist/elements/PreviewSizes/index.js +15 -5
  66. package/dist/elements/PreviewSizes/index.js.map +1 -1
  67. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  68. package/dist/elements/PublishButton/index.js +5 -3
  69. package/dist/elements/PublishButton/index.js.map +1 -1
  70. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  71. package/dist/elements/ReactSelect/DropdownIndicator/index.js +3 -1
  72. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  73. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  74. package/dist/elements/ReactSelect/index.js +3 -1
  75. package/dist/elements/ReactSelect/index.js.map +1 -1
  76. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  77. package/dist/elements/SaveButton/index.js +5 -3
  78. package/dist/elements/SaveButton/index.js.map +1 -1
  79. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  80. package/dist/elements/SaveDraftButton/index.js +11 -5
  81. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  82. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  83. package/dist/elements/SearchFilter/index.js +3 -1
  84. package/dist/elements/SearchFilter/index.js.map +1 -1
  85. package/dist/elements/ShimmerEffect/index.d.ts.map +1 -1
  86. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  87. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  88. package/dist/elements/SortColumn/index.js.map +1 -1
  89. package/dist/elements/SortComplex/index.d.ts.map +1 -1
  90. package/dist/elements/SortComplex/index.js.map +1 -1
  91. package/dist/elements/Table/DefaultCell/fields/File/index.scss +5 -5
  92. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  93. package/dist/elements/TableColumns/buildColumnState.js +9 -3
  94. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  95. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  96. package/dist/elements/TableColumns/index.js.map +1 -1
  97. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  98. package/dist/elements/Tooltip/index.js.map +1 -1
  99. package/dist/elements/Upload/index.d.ts.map +1 -1
  100. package/dist/elements/Upload/index.js +37 -32
  101. package/dist/elements/Upload/index.js.map +1 -1
  102. package/dist/elements/Upload/index.scss +27 -1
  103. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
  104. package/dist/elements/WhereBuilder/reduceClientFields.js +3 -1
  105. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
  106. package/dist/exports/client/{CodeEditor-P66JEENA.js → CodeEditor-CHKRX3U2.js} +4 -4
  107. package/dist/exports/client/{CodeEditor-P66JEENA.js.map → CodeEditor-CHKRX3U2.js.map} +4 -4
  108. package/dist/exports/client/{DatePicker-E6IJFDN2.js → DatePicker-OLRZVTAD.js} +2 -2
  109. package/dist/exports/client/{chunk-XKP472RX.js → chunk-BGA6EPOL.js} +1 -1
  110. package/dist/exports/client/{chunk-XKP472RX.js.map → chunk-BGA6EPOL.js.map} +2 -2
  111. package/dist/exports/client/{chunk-OBXEO4WP.js → chunk-JINNHJP7.js} +1 -1
  112. package/dist/exports/client/{chunk-OBXEO4WP.js.map → chunk-JINNHJP7.js.map} +2 -2
  113. package/dist/exports/client/index.js +19 -19
  114. package/dist/exports/client/index.js.map +3 -3
  115. package/dist/exports/shared/index.js.map +2 -2
  116. package/dist/fields/Array/index.d.ts.map +1 -1
  117. package/dist/fields/Array/index.js.map +1 -1
  118. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  119. package/dist/fields/Blocks/BlocksDrawer/index.js +3 -1
  120. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  121. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  122. package/dist/fields/Checkbox/index.js.map +1 -1
  123. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  124. package/dist/fields/Collapsible/index.js.map +1 -1
  125. package/dist/fields/DateTime/index.d.ts.map +1 -1
  126. package/dist/fields/DateTime/index.js.map +1 -1
  127. package/dist/fields/JSON/index.d.ts.map +1 -1
  128. package/dist/fields/JSON/index.js +16 -8
  129. package/dist/fields/JSON/index.js.map +1 -1
  130. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  131. package/dist/fields/RadioGroup/index.js.map +1 -1
  132. package/dist/fields/Relationship/index.d.ts.map +1 -1
  133. package/dist/fields/Relationship/index.js +9 -3
  134. package/dist/fields/Relationship/index.js.map +1 -1
  135. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
  136. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  137. package/dist/fields/Select/index.d.ts.map +1 -1
  138. package/dist/fields/Select/index.js +8 -6
  139. package/dist/fields/Select/index.js.map +1 -1
  140. package/dist/fields/Text/index.d.ts.map +1 -1
  141. package/dist/fields/Text/index.js.map +1 -1
  142. package/dist/fields/Textarea/index.d.ts.map +1 -1
  143. package/dist/fields/Textarea/index.js.map +1 -1
  144. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
  145. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  146. package/dist/fields/Upload/HasOne/index.scss +0 -1
  147. package/dist/fields/Upload/Input.d.ts.map +1 -1
  148. package/dist/fields/Upload/Input.js +575 -268
  149. package/dist/fields/Upload/Input.js.map +1 -1
  150. package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -1
  151. package/dist/fields/Upload/RelationshipContent/index.js +9 -4
  152. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  153. package/dist/fields/Upload/RelationshipContent/index.scss +6 -3
  154. package/dist/fields/Upload/UploadCard/index.scss +3 -3
  155. package/dist/fields/Upload/index.d.ts.map +1 -1
  156. package/dist/fields/Upload/index.js +4 -3
  157. package/dist/fields/Upload/index.js.map +1 -1
  158. package/dist/fields/Upload/index.scss +8 -6
  159. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  160. package/dist/forms/Form/fieldReducer.js +6 -2
  161. package/dist/forms/Form/fieldReducer.js.map +1 -1
  162. package/dist/forms/Form/index.d.ts.map +1 -1
  163. package/dist/forms/Form/index.js +18 -6
  164. package/dist/forms/Form/index.js.map +1 -1
  165. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  166. package/dist/forms/Form/mergeServerFormState.js +3 -1
  167. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  168. package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
  169. package/dist/forms/Form/rowHelpers.js +9 -3
  170. package/dist/forms/Form/rowHelpers.js.map +1 -1
  171. package/dist/forms/Form/rows.d.ts.map +1 -1
  172. package/dist/forms/Form/rows.js +3 -1
  173. package/dist/forms/Form/rows.js.map +1 -1
  174. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  175. package/dist/forms/NullifyField/index.js.map +1 -1
  176. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  177. package/dist/forms/RenderFields/RenderField.js +3 -1
  178. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  179. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
  180. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +6 -2
  181. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  182. package/dist/graphics/Account/index.d.ts.map +1 -1
  183. package/dist/graphics/Account/index.js.map +1 -1
  184. package/dist/hooks/useHotkey.d.ts.map +1 -1
  185. package/dist/hooks/useHotkey.js.map +1 -1
  186. package/dist/hooks/useIntersect.d.ts.map +1 -1
  187. package/dist/hooks/useIntersect.js.map +1 -1
  188. package/dist/providers/Auth/index.d.ts.map +1 -1
  189. package/dist/providers/Auth/index.js +6 -2
  190. package/dist/providers/Auth/index.js.map +1 -1
  191. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  192. package/dist/providers/Config/createClientConfig/collections.js +3 -1
  193. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  194. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +1 -1
  195. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +3 -1
  196. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +1 -1
  197. package/dist/providers/Config/createClientConfig/index.d.ts.map +1 -1
  198. package/dist/providers/Config/createClientConfig/index.js +15 -0
  199. package/dist/providers/Config/createClientConfig/index.js.map +1 -1
  200. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  201. package/dist/providers/DocumentInfo/index.js +12 -4
  202. package/dist/providers/DocumentInfo/index.js.map +1 -1
  203. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  204. package/dist/providers/ListQuery/index.js +6 -2
  205. package/dist/providers/ListQuery/index.js.map +1 -1
  206. package/dist/providers/Locale/index.d.ts.map +1 -1
  207. package/dist/providers/Locale/index.js.map +1 -1
  208. package/dist/providers/Preferences/index.d.ts.map +1 -1
  209. package/dist/providers/Preferences/index.js +3 -1
  210. package/dist/providers/Preferences/index.js.map +1 -1
  211. package/dist/styles.css +1 -1
  212. package/dist/utilities/buildFormState.d.ts.map +1 -1
  213. package/dist/utilities/buildFormState.js +6 -2
  214. package/dist/utilities/buildFormState.js.map +1 -1
  215. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  216. package/dist/utilities/reduceFieldsToValuesWithValidation.js +6 -2
  217. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  218. package/package.json +8 -8
  219. /package/dist/exports/client/{DatePicker-E6IJFDN2.js.map → DatePicker-OLRZVTAD.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Auth/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAqB,WAAW,EAAE,MAAM,SAAS,CAAA;AAKzE,OAAO,KAAsE,MAAM,OAAO,CAAA;AAU1F,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,UAAU,IAAI;IACxC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,aAAa,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/C,kBAAkB,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;IAC7C,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,cAAc,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAA;IAClD,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;CAChB,CAAA;AAMD,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;CACzB,CAAA;AACD,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,WAAW,EAAE,kBAAkB,EAC/B,IAAI,EAAE,WAAW,GAClB,EAAE,KAAK,qBAgSP;AAED,eAAO,MAAM,OAAO,GAAI,CAAC,oBAAmB,WAAW,CAAC,CAAC,CAA0C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Auth/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAqB,WAAW,EAAE,MAAM,SAAS,CAAA;AAKzE,OAAO,KAAsE,MAAM,OAAO,CAAA;AAU1F,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,UAAU,IAAI;IACxC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,aAAa,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/C,kBAAkB,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;IAC7C,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,cAAc,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAA;IAClD,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;CAChB,CAAA;AAMD,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;CACzB,CAAA;AACD,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,WAAW,EAAE,kBAAkB,EAC/B,IAAI,EAAE,WAAW,GAClB,EAAE,KAAK,qBAoSP;AAED,eAAO,MAAM,OAAO,GAAI,CAAC,oBAAmB,WAAW,CAAC,CAAC,CAA0C,CAAA"}
@@ -213,7 +213,9 @@ export function AuthProvider({
213
213
  }, Math.max(Math.min((remainingTime_0 - 60) * 1000, maxTimeoutTime)));
214
214
  }
215
215
  return () => {
216
- if (reminder) clearTimeout(reminder);
216
+ if (reminder) {
217
+ clearTimeout(reminder);
218
+ }
217
219
  };
218
220
  }, [tokenExpiration, openModal]);
219
221
  useEffect(() => {
@@ -228,7 +230,9 @@ export function AuthProvider({
228
230
  }, Math.max(Math.min(remainingTime_1 * 1000, maxTimeoutTime), 0));
229
231
  }
230
232
  return () => {
231
- if (forceLogOut) clearTimeout(forceLogOut);
233
+ if (forceLogOut) {
234
+ clearTimeout(forceLogOut);
235
+ }
232
236
  };
233
237
  }, [tokenExpiration, closeAllModals, i18n, redirectToInactivityRoute, revokeTokenAndExpire]);
234
238
  return /*#__PURE__*/_jsx(Context.Provider, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","usePathname","useRouter","qs","React","createContext","useCallback","useContext","useEffect","useState","toast","stayLoggedInModalSlug","useDebounce","useTranslation","requests","formatAdminURL","useConfig","Context","maxTimeoutTime","AuthProvider","children","permissions","initialPermissions","user","initialUser","setUser","tokenInMemory","setTokenInMemory","tokenExpiration","setTokenExpiration","pathname","router","config","admin","routes","inactivity","logoutInactivityRoute","userSlug","adminRoute","api","apiRoute","serverURL","setPermissions","i18n","closeAllModals","openModal","lastLocationChange","setLastLocationChange","debouncedLocationChange","id","redirectToInactivityRoute","window","location","startsWith","redirectParam","encodeURIComponent","replace","path","revokeTokenAndExpire","undefined","setTokenAndExpiration","json","token","refreshedToken","exp","refreshCookie","forceRefresh","now","Math","round","Date","getTime","remainingTime","setTimeout","refresh","request","post","headers","language","status","e","error","message","refreshCookieAsync","skipSetUser","logOut","refreshPermissions","locale","params","stringify","addQueryPrefix","get","Error","fetchFullUser","reminder","max","min","clearTimeout","forceLogOut","_jsx","Provider","value","useAuth"],"sources":["../../../src/providers/Auth/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser, MeOperationResult, Permissions } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { usePathname, useRouter } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { stayLoggedInModalSlug } from '../../elements/StayLoggedIn/index.js'\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { useConfig } from '../Config/index.js'\n\nexport type AuthContext<T = ClientUser> = {\n fetchFullUser: () => Promise<void>\n logOut: () => Promise<void>\n permissions?: Permissions\n refreshCookie: (forceRefresh?: boolean) => void\n refreshCookieAsync: () => Promise<ClientUser>\n refreshPermissions: () => Promise<void>\n setPermissions: (permissions: Permissions) => void\n setUser: (user: T) => void\n strategy?: string\n token?: string\n tokenExpiration?: number\n user?: T | null\n}\n\nconst Context = createContext({} as AuthContext)\n\nconst maxTimeoutTime = 2147483647\n\ntype Props = {\n children: React.ReactNode\n permissions?: Permissions\n user?: ClientUser | null\n}\nexport function AuthProvider({\n children,\n permissions: initialPermissions,\n user: initialUser,\n}: Props) {\n const [user, setUser] = useState<ClientUser | null>(initialUser)\n const [tokenInMemory, setTokenInMemory] = useState<string>()\n const [tokenExpiration, setTokenExpiration] = useState<number>()\n const pathname = usePathname()\n const router = useRouter()\n\n const { config } = useConfig()\n\n const {\n admin: {\n routes: { inactivity: logoutInactivityRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = config\n\n const [permissions, setPermissions] = useState<Permissions>(initialPermissions)\n\n const { i18n } = useTranslation()\n const { closeAllModals, openModal } = useModal()\n const [lastLocationChange, setLastLocationChange] = useState(0)\n const debouncedLocationChange = useDebounce(lastLocationChange, 10000)\n\n const id = user?.id\n\n const redirectToInactivityRoute = useCallback(() => {\n if (window.location.pathname.startsWith(adminRoute)) {\n const redirectParam = `?redirect=${encodeURIComponent(window.location.pathname)}`\n router.replace(\n formatAdminURL({\n adminRoute,\n path: `${logoutInactivityRoute}${redirectParam}`,\n }),\n )\n } else {\n router.replace(\n formatAdminURL({\n adminRoute,\n path: logoutInactivityRoute,\n }),\n )\n }\n closeAllModals()\n }, [router, adminRoute, logoutInactivityRoute, closeAllModals])\n\n const revokeTokenAndExpire = useCallback(() => {\n setTokenInMemory(undefined)\n setTokenExpiration(undefined)\n }, [])\n\n const setTokenAndExpiration = useCallback(\n (json) => {\n const token = json?.token || json?.refreshedToken\n if (token && json?.exp) {\n setTokenInMemory(token)\n setTokenExpiration(json.exp)\n } else {\n revokeTokenAndExpire()\n }\n },\n [revokeTokenAndExpire],\n )\n\n const refreshCookie = useCallback(\n (forceRefresh?: boolean) => {\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = (typeof tokenExpiration === 'number' ? tokenExpiration : 0) - now\n\n if (forceRefresh || (tokenExpiration && remainingTime < 120)) {\n setTimeout(() => {\n async function refresh() {\n try {\n const request = await requests.post(\n `${serverURL}${apiRoute}/${userSlug}/refresh-token`,\n {\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status === 200) {\n const json = await request.json()\n setUser(json.user)\n\n setTokenAndExpiration(json)\n } else {\n setUser(null)\n redirectToInactivityRoute()\n }\n } catch (e) {\n toast.error(e.message)\n }\n }\n\n void refresh()\n }, 1000)\n }\n },\n [\n tokenExpiration,\n serverURL,\n apiRoute,\n userSlug,\n i18n,\n redirectToInactivityRoute,\n setTokenAndExpiration,\n ],\n )\n\n const refreshCookieAsync = useCallback(\n async (skipSetUser?: boolean): Promise<ClientUser> => {\n try {\n const request = await requests.post(`${serverURL}${apiRoute}/${userSlug}/refresh-token`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json = await request.json()\n if (!skipSetUser) {\n setUser(json.user)\n setTokenAndExpiration(json)\n }\n return json.user\n }\n\n setUser(null)\n redirectToInactivityRoute()\n return null\n } catch (e) {\n toast.error(`Refreshing token failed: ${e.message}`)\n return null\n }\n },\n [serverURL, apiRoute, userSlug, i18n, redirectToInactivityRoute, setTokenAndExpiration],\n )\n\n const logOut = useCallback(async () => {\n setUser(null)\n revokeTokenAndExpire()\n try {\n await requests.post(`${serverURL}${apiRoute}/${userSlug}/logout`)\n } catch (e) {\n toast.error(`Logging out failed: ${e.message}`)\n }\n }, [serverURL, apiRoute, userSlug, revokeTokenAndExpire])\n\n const refreshPermissions = useCallback(\n async ({ locale }: { locale?: string } = {}) => {\n const params = qs.stringify(\n {\n locale,\n },\n {\n addQueryPrefix: true,\n },\n )\n\n try {\n const request = await requests.get(`${serverURL}${apiRoute}/access${params}`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json: Permissions = await request.json()\n setPermissions(json)\n } else {\n throw new Error(`Fetching permissions failed with status code ${request.status}`)\n }\n } catch (e) {\n toast.error(`Refreshing permissions failed: ${e.message}`)\n }\n },\n [serverURL, apiRoute, i18n],\n )\n\n const fetchFullUser = React.useCallback(async () => {\n try {\n const request = await requests.get(`${serverURL}${apiRoute}/${userSlug}/me`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json: MeOperationResult = await request.json()\n\n if (json?.user) {\n setUser(json.user)\n\n if (json?.token) {\n setTokenAndExpiration(json)\n }\n } else {\n setUser(null)\n revokeTokenAndExpire()\n }\n }\n } catch (e) {\n toast.error(`Fetching user failed: ${e.message}`)\n }\n }, [serverURL, apiRoute, userSlug, i18n.language, setTokenAndExpiration, revokeTokenAndExpire])\n\n // On mount, get user and set\n useEffect(() => {\n void fetchFullUser()\n }, [fetchFullUser])\n\n // When location changes, refresh cookie\n useEffect(() => {\n if (id) {\n refreshCookie()\n }\n }, [debouncedLocationChange, refreshCookie, id])\n\n // When initialUser changes, reset in state\n useEffect(() => {\n setUser(initialUser)\n }, [initialUser])\n\n useEffect(() => {\n setLastLocationChange(Date.now())\n }, [pathname])\n\n useEffect(() => {\n let reminder: ReturnType<typeof setTimeout>\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0\n\n if (remainingTime > 0) {\n reminder = setTimeout(\n () => {\n openModal(stayLoggedInModalSlug)\n },\n Math.max(Math.min((remainingTime - 60) * 1000, maxTimeoutTime)),\n )\n }\n\n return () => {\n if (reminder) clearTimeout(reminder)\n }\n }, [tokenExpiration, openModal])\n\n useEffect(() => {\n let forceLogOut: ReturnType<typeof setTimeout>\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0\n\n if (remainingTime > 0) {\n forceLogOut = setTimeout(\n () => {\n setUser(null)\n revokeTokenAndExpire()\n redirectToInactivityRoute()\n },\n Math.max(Math.min(remainingTime * 1000, maxTimeoutTime), 0),\n )\n }\n\n return () => {\n if (forceLogOut) clearTimeout(forceLogOut)\n }\n }, [tokenExpiration, closeAllModals, i18n, redirectToInactivityRoute, revokeTokenAndExpire])\n\n return (\n <Context.Provider\n value={{\n fetchFullUser,\n logOut,\n permissions,\n refreshCookie,\n refreshCookieAsync,\n refreshPermissions,\n setPermissions,\n setUser,\n token: tokenInMemory,\n user,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nexport const useAuth = <T = ClientUser,>(): AuthContext<T> => useContext(Context) as AuthContext<T>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","usePathname","useRouter","qs","React","createContext","useCallback","useContext","useEffect","useState","toast","stayLoggedInModalSlug","useDebounce","useTranslation","requests","formatAdminURL","useConfig","Context","maxTimeoutTime","AuthProvider","children","permissions","initialPermissions","user","initialUser","setUser","tokenInMemory","setTokenInMemory","tokenExpiration","setTokenExpiration","pathname","router","config","admin","routes","inactivity","logoutInactivityRoute","userSlug","adminRoute","api","apiRoute","serverURL","setPermissions","i18n","closeAllModals","openModal","lastLocationChange","setLastLocationChange","debouncedLocationChange","id","redirectToInactivityRoute","window","location","startsWith","redirectParam","encodeURIComponent","replace","path","revokeTokenAndExpire","undefined","setTokenAndExpiration","json","token","refreshedToken","exp","refreshCookie","forceRefresh","now","Math","round","Date","getTime","remainingTime","setTimeout","refresh","request","post","headers","language","status","e","error","message","refreshCookieAsync","skipSetUser","logOut","refreshPermissions","locale","params","stringify","addQueryPrefix","get","Error","fetchFullUser","reminder","max","min","clearTimeout","forceLogOut","_jsx","Provider","value","useAuth"],"sources":["../../../src/providers/Auth/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser, MeOperationResult, Permissions } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { usePathname, useRouter } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { stayLoggedInModalSlug } from '../../elements/StayLoggedIn/index.js'\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { useConfig } from '../Config/index.js'\n\nexport type AuthContext<T = ClientUser> = {\n fetchFullUser: () => Promise<void>\n logOut: () => Promise<void>\n permissions?: Permissions\n refreshCookie: (forceRefresh?: boolean) => void\n refreshCookieAsync: () => Promise<ClientUser>\n refreshPermissions: () => Promise<void>\n setPermissions: (permissions: Permissions) => void\n setUser: (user: T) => void\n strategy?: string\n token?: string\n tokenExpiration?: number\n user?: T | null\n}\n\nconst Context = createContext({} as AuthContext)\n\nconst maxTimeoutTime = 2147483647\n\ntype Props = {\n children: React.ReactNode\n permissions?: Permissions\n user?: ClientUser | null\n}\nexport function AuthProvider({\n children,\n permissions: initialPermissions,\n user: initialUser,\n}: Props) {\n const [user, setUser] = useState<ClientUser | null>(initialUser)\n const [tokenInMemory, setTokenInMemory] = useState<string>()\n const [tokenExpiration, setTokenExpiration] = useState<number>()\n const pathname = usePathname()\n const router = useRouter()\n\n const { config } = useConfig()\n\n const {\n admin: {\n routes: { inactivity: logoutInactivityRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = config\n\n const [permissions, setPermissions] = useState<Permissions>(initialPermissions)\n\n const { i18n } = useTranslation()\n const { closeAllModals, openModal } = useModal()\n const [lastLocationChange, setLastLocationChange] = useState(0)\n const debouncedLocationChange = useDebounce(lastLocationChange, 10000)\n\n const id = user?.id\n\n const redirectToInactivityRoute = useCallback(() => {\n if (window.location.pathname.startsWith(adminRoute)) {\n const redirectParam = `?redirect=${encodeURIComponent(window.location.pathname)}`\n router.replace(\n formatAdminURL({\n adminRoute,\n path: `${logoutInactivityRoute}${redirectParam}`,\n }),\n )\n } else {\n router.replace(\n formatAdminURL({\n adminRoute,\n path: logoutInactivityRoute,\n }),\n )\n }\n closeAllModals()\n }, [router, adminRoute, logoutInactivityRoute, closeAllModals])\n\n const revokeTokenAndExpire = useCallback(() => {\n setTokenInMemory(undefined)\n setTokenExpiration(undefined)\n }, [])\n\n const setTokenAndExpiration = useCallback(\n (json) => {\n const token = json?.token || json?.refreshedToken\n if (token && json?.exp) {\n setTokenInMemory(token)\n setTokenExpiration(json.exp)\n } else {\n revokeTokenAndExpire()\n }\n },\n [revokeTokenAndExpire],\n )\n\n const refreshCookie = useCallback(\n (forceRefresh?: boolean) => {\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = (typeof tokenExpiration === 'number' ? tokenExpiration : 0) - now\n\n if (forceRefresh || (tokenExpiration && remainingTime < 120)) {\n setTimeout(() => {\n async function refresh() {\n try {\n const request = await requests.post(\n `${serverURL}${apiRoute}/${userSlug}/refresh-token`,\n {\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status === 200) {\n const json = await request.json()\n setUser(json.user)\n\n setTokenAndExpiration(json)\n } else {\n setUser(null)\n redirectToInactivityRoute()\n }\n } catch (e) {\n toast.error(e.message)\n }\n }\n\n void refresh()\n }, 1000)\n }\n },\n [\n tokenExpiration,\n serverURL,\n apiRoute,\n userSlug,\n i18n,\n redirectToInactivityRoute,\n setTokenAndExpiration,\n ],\n )\n\n const refreshCookieAsync = useCallback(\n async (skipSetUser?: boolean): Promise<ClientUser> => {\n try {\n const request = await requests.post(`${serverURL}${apiRoute}/${userSlug}/refresh-token`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json = await request.json()\n if (!skipSetUser) {\n setUser(json.user)\n setTokenAndExpiration(json)\n }\n return json.user\n }\n\n setUser(null)\n redirectToInactivityRoute()\n return null\n } catch (e) {\n toast.error(`Refreshing token failed: ${e.message}`)\n return null\n }\n },\n [serverURL, apiRoute, userSlug, i18n, redirectToInactivityRoute, setTokenAndExpiration],\n )\n\n const logOut = useCallback(async () => {\n setUser(null)\n revokeTokenAndExpire()\n try {\n await requests.post(`${serverURL}${apiRoute}/${userSlug}/logout`)\n } catch (e) {\n toast.error(`Logging out failed: ${e.message}`)\n }\n }, [serverURL, apiRoute, userSlug, revokeTokenAndExpire])\n\n const refreshPermissions = useCallback(\n async ({ locale }: { locale?: string } = {}) => {\n const params = qs.stringify(\n {\n locale,\n },\n {\n addQueryPrefix: true,\n },\n )\n\n try {\n const request = await requests.get(`${serverURL}${apiRoute}/access${params}`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json: Permissions = await request.json()\n setPermissions(json)\n } else {\n throw new Error(`Fetching permissions failed with status code ${request.status}`)\n }\n } catch (e) {\n toast.error(`Refreshing permissions failed: ${e.message}`)\n }\n },\n [serverURL, apiRoute, i18n],\n )\n\n const fetchFullUser = React.useCallback(async () => {\n try {\n const request = await requests.get(`${serverURL}${apiRoute}/${userSlug}/me`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json: MeOperationResult = await request.json()\n\n if (json?.user) {\n setUser(json.user)\n\n if (json?.token) {\n setTokenAndExpiration(json)\n }\n } else {\n setUser(null)\n revokeTokenAndExpire()\n }\n }\n } catch (e) {\n toast.error(`Fetching user failed: ${e.message}`)\n }\n }, [serverURL, apiRoute, userSlug, i18n.language, setTokenAndExpiration, revokeTokenAndExpire])\n\n // On mount, get user and set\n useEffect(() => {\n void fetchFullUser()\n }, [fetchFullUser])\n\n // When location changes, refresh cookie\n useEffect(() => {\n if (id) {\n refreshCookie()\n }\n }, [debouncedLocationChange, refreshCookie, id])\n\n // When initialUser changes, reset in state\n useEffect(() => {\n setUser(initialUser)\n }, [initialUser])\n\n useEffect(() => {\n setLastLocationChange(Date.now())\n }, [pathname])\n\n useEffect(() => {\n let reminder: ReturnType<typeof setTimeout>\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0\n\n if (remainingTime > 0) {\n reminder = setTimeout(\n () => {\n openModal(stayLoggedInModalSlug)\n },\n Math.max(Math.min((remainingTime - 60) * 1000, maxTimeoutTime)),\n )\n }\n\n return () => {\n if (reminder) {\n clearTimeout(reminder)\n }\n }\n }, [tokenExpiration, openModal])\n\n useEffect(() => {\n let forceLogOut: ReturnType<typeof setTimeout>\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0\n\n if (remainingTime > 0) {\n forceLogOut = setTimeout(\n () => {\n setUser(null)\n revokeTokenAndExpire()\n redirectToInactivityRoute()\n },\n Math.max(Math.min(remainingTime * 1000, maxTimeoutTime), 0),\n )\n }\n\n return () => {\n if (forceLogOut) {\n clearTimeout(forceLogOut)\n }\n }\n }, [tokenExpiration, closeAllModals, i18n, redirectToInactivityRoute, revokeTokenAndExpire])\n\n return (\n <Context.Provider\n value={{\n fetchFullUser,\n logOut,\n permissions,\n refreshCookie,\n refreshCookieAsync,\n refreshPermissions,\n setPermissions,\n setUser,\n token: tokenInMemory,\n user,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nexport const useAuth = <T = ClientUser,>(): AuthContext<T> => useContext(Context) as AuthContext<T>\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../../../src/providers/Config/createClientConfig/collections.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EAErB,aAAa,EACb,SAAS,EAET,OAAO,EACP,yBAAyB,EAI1B,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AA8B9B,eAAO,MAAM,4BAA4B,yHAStC;IACD,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,UAAU,EAAE,yBAAyB,CAAA;IACrC,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,sBAkTH,CAAA;AAED,eAAO,MAAM,6BAA6B,2HASvC;IACD,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,iBAAiB,EAAE,sBAAsB,EAAE,CAAA;IAC3C,WAAW,EAAE,yBAAyB,EAAE,CAAA;IACxC,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,sBAAsB,EAiBzB,CAAA"}
1
+ {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../../../src/providers/Config/createClientConfig/collections.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EAErB,aAAa,EACb,SAAS,EAET,OAAO,EACP,yBAAyB,EAI1B,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AA8B9B,eAAO,MAAM,4BAA4B,yHAStC;IACD,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,UAAU,EAAE,yBAAyB,CAAA;IACrC,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,sBAoTH,CAAA;AAED,eAAO,MAAM,6BAA6B,2HASvC;IACD,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,iBAAiB,EAAE,sBAAsB,EAAE,CAAA;IAC3C,WAAW,EAAE,yBAAyB,EAAE,CAAA;IACxC,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,sBAAsB,EAiBzB,CAAA"}
@@ -37,7 +37,9 @@ export const createClientCollectionConfig = ({
37
37
  const sanitizedSize = {
38
38
  ...size
39
39
  };
40
- if ('generateImageName' in sanitizedSize) delete sanitizedSize.generateImageName;
40
+ if ('generateImageName' in sanitizedSize) {
41
+ delete sanitizedSize.generateImageName;
42
+ }
41
43
  return sanitizedSize;
42
44
  });
43
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"collections.js","names":["deepCopyObjectSimple","createClientFields","serverOnlyCollectionProperties","serverOnlyUploadProperties","serverOnlyCollectionAdminProperties","createClientCollectionConfig","DefaultEditView","DefaultListView","clientCollection","collection","createMappedComponent","i18n","importMap","payload","fields","clientFields","forEach","key","upload","imageSizes","length","map","size","sanitizedSize","generateImageName","auth","strategies","forgotPassword","verify","labels","Object","entries","labelType","collectionLabel","t","admin","preview","_isPreviewEnabled","components","edit","PreviewButton","undefined","PublishButton","SaveButton","SaveDraftButton","Upload","beforeList","Component","beforeListTable","afterList","afterListTable","description","Description","clientProps","views","hasEditView","default","collectionSlug","slug","view","actions","hasListView","list","livePreview","url","createClientCollectionConfigs","clientCollections","collections","i"],"sources":["../../../../src/providers/Config/createClientConfig/collections.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n AdminViewProps,\n ClientCollectionConfig,\n CreateMappedComponent,\n EditViewConfig,\n EditViewProps,\n ImportMap,\n MappedView,\n Payload,\n SanitizedCollectionConfig,\n ServerOnlyCollectionAdminProperties,\n ServerOnlyCollectionProperties,\n ServerOnlyUploadProperties,\n} from 'payload'\nimport type React from 'react'\n\nimport { deepCopyObjectSimple } from 'payload'\n\nimport { createClientFields } from './fields.js'\n\nconst serverOnlyCollectionProperties: Partial<ServerOnlyCollectionProperties>[] = [\n 'hooks',\n 'access',\n 'endpoints',\n 'custom',\n // `upload`\n // `admin`\n // are all handled separately\n]\n\nconst serverOnlyUploadProperties: Partial<ServerOnlyUploadProperties>[] = [\n 'adminThumbnail',\n 'externalFileHeaderFilter',\n 'handlers',\n 'modifyResponseHeaders',\n 'withMetadata',\n]\n\nconst serverOnlyCollectionAdminProperties: Partial<ServerOnlyCollectionAdminProperties>[] = [\n 'hidden',\n 'preview',\n // `livePreview` is handled separately\n]\n\nexport const createClientCollectionConfig = ({\n DefaultEditView,\n DefaultListView,\n clientCollection,\n collection,\n createMappedComponent,\n i18n,\n importMap,\n payload,\n}: {\n DefaultEditView: React.FC<EditViewProps>\n DefaultListView: React.FC<AdminViewProps>\n clientCollection: ClientCollectionConfig\n collection: SanitizedCollectionConfig\n createMappedComponent: CreateMappedComponent\n i18n: I18nClient\n importMap: ImportMap\n payload: Payload\n}): ClientCollectionConfig => {\n clientCollection.fields = createClientFields({\n clientFields: clientCollection.fields,\n createMappedComponent,\n fields: collection.fields,\n i18n,\n importMap,\n payload,\n })\n\n serverOnlyCollectionProperties.forEach((key) => {\n if (key in clientCollection) {\n delete clientCollection[key]\n }\n })\n\n if ('upload' in clientCollection && typeof clientCollection.upload === 'object') {\n serverOnlyUploadProperties.forEach((key) => {\n if (key in clientCollection.upload) {\n delete clientCollection.upload[key]\n }\n })\n\n if ('imageSizes' in clientCollection.upload && clientCollection.upload.imageSizes.length) {\n clientCollection.upload.imageSizes = clientCollection.upload.imageSizes.map((size) => {\n const sanitizedSize = { ...size }\n if ('generateImageName' in sanitizedSize) delete sanitizedSize.generateImageName\n return sanitizedSize\n })\n }\n }\n\n if ('auth' in clientCollection && typeof clientCollection.auth === 'object') {\n delete clientCollection.auth.strategies\n delete clientCollection.auth.forgotPassword\n delete clientCollection.auth.verify\n }\n\n if (collection.labels) {\n Object.entries(collection.labels).forEach(([labelType, collectionLabel]) => {\n if (typeof collectionLabel === 'function') {\n clientCollection.labels[labelType] = collectionLabel({ t: i18n.t })\n }\n })\n }\n\n serverOnlyCollectionAdminProperties.forEach((key) => {\n if (key in clientCollection.admin) {\n delete clientCollection.admin[key]\n }\n })\n\n if (collection.admin.preview) {\n clientCollection._isPreviewEnabled = true\n }\n\n clientCollection.admin.components = {} as ClientCollectionConfig['admin']['components']\n\n if (collection?.admin?.components) {\n if (collection.admin.components?.edit) {\n clientCollection.admin.components.edit =\n {} as ClientCollectionConfig['admin']['components']['edit']\n\n if (collection.admin.components.edit?.PreviewButton) {\n clientCollection.admin.components.edit.PreviewButton = createMappedComponent(\n collection.admin.components.edit.PreviewButton,\n undefined,\n undefined,\n 'collection.admin.components.edit.PreviewButton',\n )\n }\n\n if (collection.admin.components.edit?.PublishButton) {\n clientCollection.admin.components.edit.PublishButton = createMappedComponent(\n collection.admin.components.edit.PublishButton,\n undefined,\n undefined,\n 'collection.admin.components.edit.PublishButton',\n )\n }\n\n if (collection.admin.components.edit?.SaveButton) {\n clientCollection.admin.components.edit.SaveButton = createMappedComponent(\n collection.admin.components.edit.SaveButton,\n undefined,\n undefined,\n 'collection.admin.components.edit.SaveButton',\n )\n }\n\n if (collection.admin.components.edit?.SaveDraftButton) {\n clientCollection.admin.components.edit.SaveDraftButton = createMappedComponent(\n collection.admin.components.edit.SaveDraftButton,\n undefined,\n undefined,\n 'collection.admin.components.edit.SaveDraftButton',\n )\n }\n\n if (collection.admin.components.edit?.Upload) {\n clientCollection.admin.components.edit.Upload = createMappedComponent(\n collection.admin.components.edit.Upload,\n undefined,\n undefined,\n 'collection.admin.components.edit.Upload',\n )\n }\n }\n\n if (collection.admin.components?.beforeList) {\n clientCollection.admin.components.beforeList = collection.admin.components.beforeList.map(\n (Component) =>\n createMappedComponent(\n Component,\n undefined,\n undefined,\n 'collection.admin.components.beforeList',\n ),\n )\n }\n\n if (collection.admin.components?.beforeListTable) {\n clientCollection.admin.components.beforeListTable =\n collection.admin.components.beforeListTable.map((Component) =>\n createMappedComponent(\n Component,\n undefined,\n undefined,\n 'collection.admin.components.beforeListTable',\n ),\n )\n }\n\n if (collection.admin.components?.afterList) {\n clientCollection.admin.components.afterList = collection.admin.components.afterList.map(\n (Component) =>\n createMappedComponent(\n Component,\n undefined,\n undefined,\n 'collection.admin.components.afterList',\n ),\n )\n }\n\n if (collection.admin.components?.afterListTable) {\n clientCollection.admin.components.afterListTable =\n collection.admin.components.afterListTable.map((Component) =>\n createMappedComponent(\n Component,\n undefined,\n undefined,\n 'collection.admin.components.afterListTable',\n ),\n )\n }\n }\n\n let description = undefined\n\n if (collection.admin?.description) {\n if (\n typeof collection.admin?.description === 'string' ||\n typeof collection.admin?.description === 'object'\n ) {\n description = collection.admin.description\n } else if (typeof collection.admin?.description === 'function') {\n description = collection.admin?.description({ t: i18n.t })\n }\n }\n\n clientCollection.admin.description = description\n\n if (collection.admin.components?.Description) {\n clientCollection.admin.components.Description = createMappedComponent(\n collection.admin.components.Description,\n {\n clientProps: {\n description,\n },\n },\n undefined,\n 'collection.admin.components.Description',\n )\n }\n\n clientCollection.admin.components.views = (\n collection?.admin?.components?.views\n ? deepCopyObjectSimple(collection?.admin?.components?.views)\n : {}\n ) as ClientCollectionConfig['admin']['components']['views']\n\n const hasEditView =\n 'admin' in collection &&\n 'components' in collection.admin &&\n 'views' in collection.admin.components &&\n 'edit' in collection.admin.components.views &&\n 'default' in collection.admin.components.views.edit\n\n if (!clientCollection.admin.components.views.edit) {\n clientCollection.admin.components.views.edit =\n {} as ClientCollectionConfig['admin']['components']['views']['edit']\n }\n\n clientCollection.admin.components.views.edit.default = {\n Component: createMappedComponent(\n hasEditView &&\n 'Component' in collection.admin.components.views.edit.default &&\n collection.admin.components.views.edit.default.Component\n ? collection.admin.components.views.edit.default.Component\n : null,\n {\n clientProps: {\n collectionSlug: collection.slug,\n },\n },\n DefaultEditView,\n 'collection.admin.components.views.edit.default',\n ),\n }\n\n if (collection?.admin?.components?.views?.edit) {\n for (const key in collection.admin.components.views.edit) {\n const view: EditViewConfig = collection.admin.components.views.edit[key]\n\n if (!clientCollection.admin.components.views.edit[key]) {\n clientCollection.admin.components.views.edit[key] = {} as MappedView\n }\n\n if ('Component' in view && key !== 'default') {\n clientCollection.admin.components.views.edit[key].Component = createMappedComponent(\n view.Component,\n {\n clientProps: {\n collectionSlug: collection.slug,\n },\n },\n undefined,\n 'collection.admin.components.views.edit.key.Component',\n )\n }\n\n if ('actions' in view && view.actions?.length) {\n clientCollection.admin.components.views.edit[key].actions = view.actions.map((Component) =>\n createMappedComponent(\n Component,\n undefined,\n undefined,\n 'collection.admin.components.views.key.admin',\n ),\n )\n }\n }\n }\n\n const hasListView =\n 'admin' in collection &&\n 'components' in collection.admin &&\n 'views' in collection.admin.components &&\n 'list' in collection.admin.components.views\n\n if (!clientCollection.admin.components.views.list) {\n clientCollection.admin.components.views.list =\n {} as ClientCollectionConfig['admin']['components']['views']['list']\n }\n\n clientCollection.admin.components.views.list.Component = createMappedComponent(\n hasListView &&\n 'Component' in collection.admin.components.views.list &&\n collection.admin.components.views.list.Component\n ? collection.admin.components.views.list.Component\n : null,\n {\n clientProps: {\n collectionSlug: collection.slug,\n },\n },\n DefaultListView,\n 'collection.admin.components.views.list',\n )\n\n if (\n hasListView &&\n 'actions' in collection.admin.components.views.list &&\n collection.admin.components.views.list.actions\n ) {\n clientCollection.admin.components.views.list.actions =\n collection.admin.components.views.list.actions.map((Component) =>\n createMappedComponent(\n Component,\n undefined,\n undefined,\n 'collection.admin.components.views.list',\n ),\n )\n }\n\n if (\n 'livePreview' in clientCollection.admin &&\n clientCollection.admin.livePreview &&\n 'url' in clientCollection.admin.livePreview\n ) {\n delete clientCollection.admin.livePreview.url\n }\n\n return clientCollection\n}\n\nexport const createClientCollectionConfigs = ({\n DefaultEditView,\n DefaultListView,\n clientCollections,\n collections,\n createMappedComponent,\n i18n,\n importMap,\n payload,\n}: {\n DefaultEditView: React.FC<EditViewProps>\n DefaultListView: React.FC<AdminViewProps>\n clientCollections: ClientCollectionConfig[]\n collections: SanitizedCollectionConfig[]\n createMappedComponent: CreateMappedComponent\n i18n: I18nClient\n importMap: ImportMap\n payload: Payload\n}): ClientCollectionConfig[] => {\n for (let i = 0; i < collections.length; i++) {\n const collection = collections[i]\n const clientCollection = clientCollections[i]\n clientCollections[i] = createClientCollectionConfig({\n DefaultEditView,\n DefaultListView,\n clientCollection,\n collection,\n createMappedComponent,\n i18n,\n importMap,\n payload,\n })\n }\n\n return clientCollections\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"collections.js","names":["deepCopyObjectSimple","createClientFields","serverOnlyCollectionProperties","serverOnlyUploadProperties","serverOnlyCollectionAdminProperties","createClientCollectionConfig","DefaultEditView","DefaultListView","clientCollection","collection","createMappedComponent","i18n","importMap","payload","fields","clientFields","forEach","key","upload","imageSizes","length","map","size","sanitizedSize","generateImageName","auth","strategies","forgotPassword","verify","labels","Object","entries","labelType","collectionLabel","t","admin","preview","_isPreviewEnabled","components","edit","PreviewButton","undefined","PublishButton","SaveButton","SaveDraftButton","Upload","beforeList","Component","beforeListTable","afterList","afterListTable","description","Description","clientProps","views","hasEditView","default","collectionSlug","slug","view","actions","hasListView","list","livePreview","url","createClientCollectionConfigs","clientCollections","collections","i"],"sources":["../../../../src/providers/Config/createClientConfig/collections.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n AdminViewProps,\n ClientCollectionConfig,\n CreateMappedComponent,\n EditViewConfig,\n EditViewProps,\n ImportMap,\n MappedView,\n Payload,\n SanitizedCollectionConfig,\n ServerOnlyCollectionAdminProperties,\n ServerOnlyCollectionProperties,\n ServerOnlyUploadProperties,\n} from 'payload'\nimport type React from 'react'\n\nimport { deepCopyObjectSimple } from 'payload'\n\nimport { createClientFields } from './fields.js'\n\nconst serverOnlyCollectionProperties: Partial<ServerOnlyCollectionProperties>[] = [\n 'hooks',\n 'access',\n 'endpoints',\n 'custom',\n // `upload`\n // `admin`\n // are all handled separately\n]\n\nconst serverOnlyUploadProperties: Partial<ServerOnlyUploadProperties>[] = [\n 'adminThumbnail',\n 'externalFileHeaderFilter',\n 'handlers',\n 'modifyResponseHeaders',\n 'withMetadata',\n]\n\nconst serverOnlyCollectionAdminProperties: Partial<ServerOnlyCollectionAdminProperties>[] = [\n 'hidden',\n 'preview',\n // `livePreview` is handled separately\n]\n\nexport const createClientCollectionConfig = ({\n DefaultEditView,\n DefaultListView,\n clientCollection,\n collection,\n createMappedComponent,\n i18n,\n importMap,\n payload,\n}: {\n DefaultEditView: React.FC<EditViewProps>\n DefaultListView: React.FC<AdminViewProps>\n clientCollection: ClientCollectionConfig\n collection: SanitizedCollectionConfig\n createMappedComponent: CreateMappedComponent\n i18n: I18nClient\n importMap: ImportMap\n payload: Payload\n}): ClientCollectionConfig => {\n clientCollection.fields = createClientFields({\n clientFields: clientCollection.fields,\n createMappedComponent,\n fields: collection.fields,\n i18n,\n importMap,\n payload,\n })\n\n serverOnlyCollectionProperties.forEach((key) => {\n if (key in clientCollection) {\n delete clientCollection[key]\n }\n })\n\n if ('upload' in clientCollection && typeof clientCollection.upload === 'object') {\n serverOnlyUploadProperties.forEach((key) => {\n if (key in clientCollection.upload) {\n delete clientCollection.upload[key]\n }\n })\n\n if ('imageSizes' in clientCollection.upload && clientCollection.upload.imageSizes.length) {\n clientCollection.upload.imageSizes = clientCollection.upload.imageSizes.map((size) => {\n const sanitizedSize = { ...size }\n if ('generateImageName' in sanitizedSize) {\n delete sanitizedSize.generateImageName\n }\n return sanitizedSize\n })\n }\n }\n\n if ('auth' in clientCollection && typeof clientCollection.auth === 'object') {\n delete clientCollection.auth.strategies\n delete clientCollection.auth.forgotPassword\n delete clientCollection.auth.verify\n }\n\n if (collection.labels) {\n Object.entries(collection.labels).forEach(([labelType, collectionLabel]) => {\n if (typeof collectionLabel === 'function') {\n clientCollection.labels[labelType] = collectionLabel({ t: i18n.t })\n }\n })\n }\n\n serverOnlyCollectionAdminProperties.forEach((key) => {\n if (key in clientCollection.admin) {\n delete clientCollection.admin[key]\n }\n })\n\n if (collection.admin.preview) {\n clientCollection._isPreviewEnabled = true\n }\n\n clientCollection.admin.components = {} as ClientCollectionConfig['admin']['components']\n\n if (collection?.admin?.components) {\n if (collection.admin.components?.edit) {\n clientCollection.admin.components.edit =\n {} as ClientCollectionConfig['admin']['components']['edit']\n\n if (collection.admin.components.edit?.PreviewButton) {\n clientCollection.admin.components.edit.PreviewButton = createMappedComponent(\n collection.admin.components.edit.PreviewButton,\n undefined,\n undefined,\n 'collection.admin.components.edit.PreviewButton',\n )\n }\n\n if (collection.admin.components.edit?.PublishButton) {\n clientCollection.admin.components.edit.PublishButton = createMappedComponent(\n collection.admin.components.edit.PublishButton,\n undefined,\n undefined,\n 'collection.admin.components.edit.PublishButton',\n )\n }\n\n if (collection.admin.components.edit?.SaveButton) {\n clientCollection.admin.components.edit.SaveButton = createMappedComponent(\n collection.admin.components.edit.SaveButton,\n undefined,\n undefined,\n 'collection.admin.components.edit.SaveButton',\n )\n }\n\n if (collection.admin.components.edit?.SaveDraftButton) {\n clientCollection.admin.components.edit.SaveDraftButton = createMappedComponent(\n collection.admin.components.edit.SaveDraftButton,\n undefined,\n undefined,\n 'collection.admin.components.edit.SaveDraftButton',\n )\n }\n\n if (collection.admin.components.edit?.Upload) {\n clientCollection.admin.components.edit.Upload = createMappedComponent(\n collection.admin.components.edit.Upload,\n undefined,\n undefined,\n 'collection.admin.components.edit.Upload',\n )\n }\n }\n\n if (collection.admin.components?.beforeList) {\n clientCollection.admin.components.beforeList = collection.admin.components.beforeList.map(\n (Component) =>\n createMappedComponent(\n Component,\n undefined,\n undefined,\n 'collection.admin.components.beforeList',\n ),\n )\n }\n\n if (collection.admin.components?.beforeListTable) {\n clientCollection.admin.components.beforeListTable =\n collection.admin.components.beforeListTable.map((Component) =>\n createMappedComponent(\n Component,\n undefined,\n undefined,\n 'collection.admin.components.beforeListTable',\n ),\n )\n }\n\n if (collection.admin.components?.afterList) {\n clientCollection.admin.components.afterList = collection.admin.components.afterList.map(\n (Component) =>\n createMappedComponent(\n Component,\n undefined,\n undefined,\n 'collection.admin.components.afterList',\n ),\n )\n }\n\n if (collection.admin.components?.afterListTable) {\n clientCollection.admin.components.afterListTable =\n collection.admin.components.afterListTable.map((Component) =>\n createMappedComponent(\n Component,\n undefined,\n undefined,\n 'collection.admin.components.afterListTable',\n ),\n )\n }\n }\n\n let description = undefined\n\n if (collection.admin?.description) {\n if (\n typeof collection.admin?.description === 'string' ||\n typeof collection.admin?.description === 'object'\n ) {\n description = collection.admin.description\n } else if (typeof collection.admin?.description === 'function') {\n description = collection.admin?.description({ t: i18n.t })\n }\n }\n\n clientCollection.admin.description = description\n\n if (collection.admin.components?.Description) {\n clientCollection.admin.components.Description = createMappedComponent(\n collection.admin.components.Description,\n {\n clientProps: {\n description,\n },\n },\n undefined,\n 'collection.admin.components.Description',\n )\n }\n\n clientCollection.admin.components.views = (\n collection?.admin?.components?.views\n ? deepCopyObjectSimple(collection?.admin?.components?.views)\n : {}\n ) as ClientCollectionConfig['admin']['components']['views']\n\n const hasEditView =\n 'admin' in collection &&\n 'components' in collection.admin &&\n 'views' in collection.admin.components &&\n 'edit' in collection.admin.components.views &&\n 'default' in collection.admin.components.views.edit\n\n if (!clientCollection.admin.components.views.edit) {\n clientCollection.admin.components.views.edit =\n {} as ClientCollectionConfig['admin']['components']['views']['edit']\n }\n\n clientCollection.admin.components.views.edit.default = {\n Component: createMappedComponent(\n hasEditView &&\n 'Component' in collection.admin.components.views.edit.default &&\n collection.admin.components.views.edit.default.Component\n ? collection.admin.components.views.edit.default.Component\n : null,\n {\n clientProps: {\n collectionSlug: collection.slug,\n },\n },\n DefaultEditView,\n 'collection.admin.components.views.edit.default',\n ),\n }\n\n if (collection?.admin?.components?.views?.edit) {\n for (const key in collection.admin.components.views.edit) {\n const view: EditViewConfig = collection.admin.components.views.edit[key]\n\n if (!clientCollection.admin.components.views.edit[key]) {\n clientCollection.admin.components.views.edit[key] = {} as MappedView\n }\n\n if ('Component' in view && key !== 'default') {\n clientCollection.admin.components.views.edit[key].Component = createMappedComponent(\n view.Component,\n {\n clientProps: {\n collectionSlug: collection.slug,\n },\n },\n undefined,\n 'collection.admin.components.views.edit.key.Component',\n )\n }\n\n if ('actions' in view && view.actions?.length) {\n clientCollection.admin.components.views.edit[key].actions = view.actions.map((Component) =>\n createMappedComponent(\n Component,\n undefined,\n undefined,\n 'collection.admin.components.views.key.admin',\n ),\n )\n }\n }\n }\n\n const hasListView =\n 'admin' in collection &&\n 'components' in collection.admin &&\n 'views' in collection.admin.components &&\n 'list' in collection.admin.components.views\n\n if (!clientCollection.admin.components.views.list) {\n clientCollection.admin.components.views.list =\n {} as ClientCollectionConfig['admin']['components']['views']['list']\n }\n\n clientCollection.admin.components.views.list.Component = createMappedComponent(\n hasListView &&\n 'Component' in collection.admin.components.views.list &&\n collection.admin.components.views.list.Component\n ? collection.admin.components.views.list.Component\n : null,\n {\n clientProps: {\n collectionSlug: collection.slug,\n },\n },\n DefaultListView,\n 'collection.admin.components.views.list',\n )\n\n if (\n hasListView &&\n 'actions' in collection.admin.components.views.list &&\n collection.admin.components.views.list.actions\n ) {\n clientCollection.admin.components.views.list.actions =\n collection.admin.components.views.list.actions.map((Component) =>\n createMappedComponent(\n Component,\n undefined,\n undefined,\n 'collection.admin.components.views.list',\n ),\n )\n }\n\n if (\n 'livePreview' in clientCollection.admin &&\n clientCollection.admin.livePreview &&\n 'url' in clientCollection.admin.livePreview\n ) {\n delete clientCollection.admin.livePreview.url\n }\n\n return clientCollection\n}\n\nexport const createClientCollectionConfigs = ({\n DefaultEditView,\n DefaultListView,\n clientCollections,\n collections,\n createMappedComponent,\n i18n,\n importMap,\n payload,\n}: {\n DefaultEditView: React.FC<EditViewProps>\n DefaultListView: React.FC<AdminViewProps>\n clientCollections: ClientCollectionConfig[]\n collections: SanitizedCollectionConfig[]\n createMappedComponent: CreateMappedComponent\n i18n: I18nClient\n importMap: ImportMap\n payload: Payload\n}): ClientCollectionConfig[] => {\n for (let i = 0; i < collections.length; i++) {\n const collection = collections[i]\n const clientCollection = clientCollections[i]\n clientCollections[i] = createClientCollectionConfig({\n DefaultEditView,\n DefaultListView,\n clientCollection,\n collection,\n createMappedComponent,\n i18n,\n importMap,\n payload,\n })\n }\n\n return clientCollections\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getCreateMappedComponent.d.ts","sourceRoot":"","sources":["../../../../src/providers/Config/createClientConfig/getCreateMappedComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,qBAAqB,EACrB,SAAS,EAGT,OAAO,EAER,MAAM,SAAS,CAAA;AAOhB,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EACT,WAAW,GACZ,EAAE;IACD,SAAS,EAAE,SAAS,CAAA;IACpB,WAAW,EAAE;QACX,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;QAClB,IAAI,CAAC,EAAE,UAAU,CAAA;QACjB,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,CAAA;CACF,GAAG,qBAAqB,CAoIxB"}
1
+ {"version":3,"file":"getCreateMappedComponent.d.ts","sourceRoot":"","sources":["../../../../src/providers/Config/createClientConfig/getCreateMappedComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,qBAAqB,EACrB,SAAS,EAGT,OAAO,EAER,MAAM,SAAS,CAAA;AAOhB,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EACT,WAAW,GACZ,EAAE;IACD,SAAS,EAAE,SAAS,CAAA;IACpB,WAAW,EAAE;QACX,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;QAClB,IAAI,CAAC,EAAE,UAAU,CAAA;QACjB,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,CAAA;CACF,GAAG,qBAAqB,CAsIxB"}
@@ -31,7 +31,9 @@ export function getCreateMappedComponent({
31
31
  Component: Fallback
32
32
  };
33
33
  // conditionally set props here to avoid bloating the HTML with `$undefined` props
34
- if (clientProps) toReturn.props = clientProps;
34
+ if (clientProps) {
35
+ toReturn.props = clientProps;
36
+ }
35
37
  return toReturn;
36
38
  }
37
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getCreateMappedComponent.js","names":["isReactServerComponentOrFunction","React","getComponent","getCreateMappedComponent","importMap","serverProps","createSingleMappedComponent","payloadComponent","key","props","Fallback","identifier","clientProps","componentServerProps","undefined","type","Component","RenderedComponent","_jsx","toReturn","resolvedComponent","ReactComponent","console","error","createMappedComponent","fallback","Array","isArray","mappedComponents","i","length","component","push"],"sources":["../../../../src/providers/Config/createClientConfig/getCreateMappedComponent.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n CreateMappedComponent,\n ImportMap,\n JsonObject,\n MappedComponent,\n Payload,\n PayloadComponent,\n} from 'payload'\n\nimport { isReactServerComponentOrFunction } from 'payload/shared'\nimport React from 'react'\n\nimport { getComponent } from './getComponent.js'\n\nexport function getCreateMappedComponent({\n importMap,\n serverProps,\n}: {\n importMap: ImportMap\n serverProps: {\n [key: string]: any\n i18n?: I18nClient\n payload?: Payload\n }\n}): CreateMappedComponent {\n const createSingleMappedComponent = (\n payloadComponent: { ReactComponent: React.FC<any> } | PayloadComponent,\n key: number | string,\n props: {\n clientProps: JsonObject\n serverProps: object\n },\n Fallback: React.FC<any>,\n identifier: string,\n ): MappedComponent => {\n const { clientProps, serverProps: componentServerProps } = props || {}\n\n if (payloadComponent === undefined || payloadComponent === null) {\n if (!Fallback) {\n return undefined\n }\n\n if (isReactServerComponentOrFunction(Fallback)) {\n return {\n type: 'server',\n Component: null,\n RenderedComponent: (\n <Fallback key={key} {...serverProps} {...componentServerProps} {...clientProps} />\n ),\n }\n } else {\n const toReturn: MappedComponent = {\n type: 'client',\n Component: Fallback,\n }\n\n // conditionally set props here to avoid bloating the HTML with `$undefined` props\n if (clientProps) toReturn.props = clientProps\n\n return toReturn\n }\n }\n\n if (payloadComponent === false) {\n return {\n type: 'empty',\n }\n }\n\n const resolvedComponent =\n payloadComponent &&\n typeof payloadComponent === 'object' &&\n 'ReactComponent' in payloadComponent\n ? {\n Component: payloadComponent.ReactComponent,\n }\n : getComponent({\n identifier,\n importMap,\n payloadComponent: payloadComponent as any,\n })\n\n if (!resolvedComponent.Component) {\n console.error(`getCreateMappedComponent: Component not found in importMap`, {\n identifier,\n key,\n })\n }\n\n if (isReactServerComponentOrFunction(resolvedComponent.Component)) {\n const Component: React.FC<any> = resolvedComponent.Component\n\n return {\n type: 'server',\n Component: null,\n RenderedComponent: (\n <Component\n key={key}\n {...serverProps}\n {...resolvedComponent.serverProps}\n {...componentServerProps}\n {...clientProps}\n />\n ),\n }\n } else {\n if (!resolvedComponent.Component) {\n return undefined\n }\n\n return {\n type: 'client',\n Component: resolvedComponent.Component,\n props: {\n ...(resolvedComponent.clientProps || {}),\n ...clientProps,\n },\n }\n }\n }\n\n const createMappedComponent: CreateMappedComponent = (\n payloadComponent,\n props,\n fallback,\n identifier,\n ) => {\n if ((payloadComponent === undefined || payloadComponent === null) && !fallback) {\n return undefined as any\n }\n\n if (payloadComponent && Array.isArray(payloadComponent)) {\n const mappedComponents: MappedComponent[] = []\n for (let i = 0; i < payloadComponent.length; i++) {\n const component = createSingleMappedComponent(\n payloadComponent[i],\n i,\n props,\n fallback,\n identifier,\n )\n mappedComponents.push(component)\n }\n return mappedComponents as any\n } else {\n return createSingleMappedComponent(\n payloadComponent,\n undefined,\n props,\n fallback,\n identifier,\n ) as any\n }\n }\n\n return createMappedComponent\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getCreateMappedComponent.js","names":["isReactServerComponentOrFunction","React","getComponent","getCreateMappedComponent","importMap","serverProps","createSingleMappedComponent","payloadComponent","key","props","Fallback","identifier","clientProps","componentServerProps","undefined","type","Component","RenderedComponent","_jsx","toReturn","resolvedComponent","ReactComponent","console","error","createMappedComponent","fallback","Array","isArray","mappedComponents","i","length","component","push"],"sources":["../../../../src/providers/Config/createClientConfig/getCreateMappedComponent.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n CreateMappedComponent,\n ImportMap,\n JsonObject,\n MappedComponent,\n Payload,\n PayloadComponent,\n} from 'payload'\n\nimport { isReactServerComponentOrFunction } from 'payload/shared'\nimport React from 'react'\n\nimport { getComponent } from './getComponent.js'\n\nexport function getCreateMappedComponent({\n importMap,\n serverProps,\n}: {\n importMap: ImportMap\n serverProps: {\n [key: string]: any\n i18n?: I18nClient\n payload?: Payload\n }\n}): CreateMappedComponent {\n const createSingleMappedComponent = (\n payloadComponent: { ReactComponent: React.FC<any> } | PayloadComponent,\n key: number | string,\n props: {\n clientProps: JsonObject\n serverProps: object\n },\n Fallback: React.FC<any>,\n identifier: string,\n ): MappedComponent => {\n const { clientProps, serverProps: componentServerProps } = props || {}\n\n if (payloadComponent === undefined || payloadComponent === null) {\n if (!Fallback) {\n return undefined\n }\n\n if (isReactServerComponentOrFunction(Fallback)) {\n return {\n type: 'server',\n Component: null,\n RenderedComponent: (\n <Fallback key={key} {...serverProps} {...componentServerProps} {...clientProps} />\n ),\n }\n } else {\n const toReturn: MappedComponent = {\n type: 'client',\n Component: Fallback,\n }\n\n // conditionally set props here to avoid bloating the HTML with `$undefined` props\n if (clientProps) {\n toReturn.props = clientProps\n }\n\n return toReturn\n }\n }\n\n if (payloadComponent === false) {\n return {\n type: 'empty',\n }\n }\n\n const resolvedComponent =\n payloadComponent &&\n typeof payloadComponent === 'object' &&\n 'ReactComponent' in payloadComponent\n ? {\n Component: payloadComponent.ReactComponent,\n }\n : getComponent({\n identifier,\n importMap,\n payloadComponent: payloadComponent as any,\n })\n\n if (!resolvedComponent.Component) {\n console.error(`getCreateMappedComponent: Component not found in importMap`, {\n identifier,\n key,\n })\n }\n\n if (isReactServerComponentOrFunction(resolvedComponent.Component)) {\n const Component: React.FC<any> = resolvedComponent.Component\n\n return {\n type: 'server',\n Component: null,\n RenderedComponent: (\n <Component\n key={key}\n {...serverProps}\n {...resolvedComponent.serverProps}\n {...componentServerProps}\n {...clientProps}\n />\n ),\n }\n } else {\n if (!resolvedComponent.Component) {\n return undefined\n }\n\n return {\n type: 'client',\n Component: resolvedComponent.Component,\n props: {\n ...(resolvedComponent.clientProps || {}),\n ...clientProps,\n },\n }\n }\n }\n\n const createMappedComponent: CreateMappedComponent = (\n payloadComponent,\n props,\n fallback,\n identifier,\n ) => {\n if ((payloadComponent === undefined || payloadComponent === null) && !fallback) {\n return undefined as any\n }\n\n if (payloadComponent && Array.isArray(payloadComponent)) {\n const mappedComponents: MappedComponent[] = []\n for (let i = 0; i < payloadComponent.length; i++) {\n const component = createSingleMappedComponent(\n payloadComponent[i],\n i,\n props,\n fallback,\n identifier,\n )\n mappedComponents.push(component)\n }\n return mappedComponents as any\n } else {\n return createSingleMappedComponent(\n payloadComponent,\n undefined,\n props,\n fallback,\n identifier,\n ) as any\n }\n }\n\n return createMappedComponent\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/Config/createClientConfig/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,eAAe,EAGrB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAGnE,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAElF,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,wBAAwB,EACxB,yBAAyB,GAC1B,CAAA;AAED,eAAO,MAAM,kBAAkB,sFAQ5B;IACD,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CAEjB,KAAG,OAAO,CAAC;IAAE,YAAY,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CA4IlE,CAAA;AACD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/Config/createClientConfig/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,OAAO,EAEZ,KAAK,eAAe,EAGrB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAGnE,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAElF,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,wBAAwB,EACxB,yBAAyB,GAC1B,CAAA;AAED,eAAO,MAAM,kBAAkB,sFAQ5B;IACD,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CAEjB,KAAG,OAAO,CAAC;IAAE,YAAY,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAmKlE,CAAA;AACD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAA"}
@@ -51,6 +51,21 @@ export const createClientConfig = async ({
51
51
  if (config.admin?.components?.graphics?.Logo) {
52
52
  clientConfig.admin.components.graphics.Logo = createMappedComponent(config.admin.components.graphics.Logo, undefined, undefined, 'config.admin.components.graphics.Logo');
53
53
  }
54
+ if (config.admin?.dependencies) {
55
+ clientConfig.admin.dependencies = {};
56
+ for (const key in config.admin.dependencies) {
57
+ const dependency = config.admin.dependencies[key];
58
+ if (dependency.type === 'component') {
59
+ const payloadComponent = {
60
+ clientProps: dependency.clientProps,
61
+ path: dependency.path,
62
+ serverProps: dependency.serverProps
63
+ };
64
+ clientConfig.admin.dependencies[key] = createMappedComponent(payloadComponent, undefined, undefined, `config.admin.dependencies.${key}`);
65
+ continue;
66
+ }
67
+ }
68
+ }
54
69
  }
55
70
  if ('livePreview' in clientConfig.admin && clientConfig.admin.livePreview && 'url' in clientConfig.admin.livePreview) {
56
71
  delete clientConfig.admin.livePreview.url;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["deepCopyObjectSimple","serverOnlyConfigProperties","React","createClientCollectionConfig","createClientCollectionConfigs","createClientField","createClientFields","getComponent","getCreateMappedComponent","createClientGlobalConfig","createClientGlobalConfigs","createClientConfig","DefaultEditView","DefaultListView","children","config","i18n","importMap","payload","clientConfig","createMappedComponent","serverProps","key","localization","locale","locales","toString","admin","avatar","components","Avatar","Component","undefined","logout","Button","LogoutButton","actions","length","map","graphics","Icon","Logo","livePreview","url","collections","clientCollections","globals","clientGlobals","NestProviders","providers","_jsx","slice","render","Array","isArray","identifier","payloadComponent"],"sources":["../../../../src/providers/Config/createClientConfig/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport {\n type AdminViewProps,\n type ClientConfig,\n type EditViewProps,\n type ImportMap,\n type Payload,\n type SanitizedConfig,\n deepCopyObjectSimple,\n serverOnlyConfigProperties,\n} from 'payload'\nimport React from 'react'\n\nimport { createClientCollectionConfig, createClientCollectionConfigs } from './collections.js'\nimport { createClientField, createClientFields } from './fields.js'\nimport { getComponent } from './getComponent.js'\nimport { getCreateMappedComponent } from './getCreateMappedComponent.js'\nimport { createClientGlobalConfig, createClientGlobalConfigs } from './globals.js'\n\nexport {\n createClientCollectionConfig,\n createClientCollectionConfigs,\n createClientGlobalConfig,\n createClientGlobalConfigs,\n}\n\nexport const createClientConfig = async ({\n DefaultEditView,\n DefaultListView,\n children,\n config,\n i18n,\n importMap,\n payload,\n}: {\n DefaultEditView: React.FC<EditViewProps>\n DefaultListView: React.FC<AdminViewProps>\n children: React.ReactNode\n config: SanitizedConfig\n i18n: I18nClient\n importMap: ImportMap\n payload: Payload\n // eslint-disable-next-line @typescript-eslint/require-await\n}): Promise<{ clientConfig: ClientConfig; render: React.ReactNode }> => {\n // We can use deepCopySimple here, as the clientConfig should be JSON serializable anyways, since it will be sent from server => client\n const clientConfig: ClientConfig = deepCopyObjectSimple(config) as unknown as ClientConfig\n\n const createMappedComponent = getCreateMappedComponent({\n importMap,\n serverProps: {\n i18n,\n payload,\n },\n })\n\n for (const key of serverOnlyConfigProperties) {\n if (key in clientConfig) {\n delete clientConfig[key]\n }\n }\n\n if ('localization' in clientConfig && clientConfig.localization) {\n for (const locale of clientConfig.localization.locales) {\n delete locale.toString\n }\n }\n\n if ('admin' in clientConfig) {\n if (\n config.admin?.avatar &&\n typeof config.admin?.avatar === 'object' &&\n config.admin?.avatar &&\n 'Component' in config.admin.avatar\n ) {\n clientConfig.admin.components.Avatar = createMappedComponent(\n config.admin.avatar.Component,\n undefined,\n undefined,\n 'config.admin.avatar.Component',\n )\n }\n\n if (config.admin?.components?.logout?.Button) {\n clientConfig.admin.components.LogoutButton = createMappedComponent(\n config.admin.components.logout.Button,\n undefined,\n undefined,\n 'config.admin.components.logout.Button',\n )\n }\n\n if (config.admin?.components?.actions && config.admin?.components?.actions.length > 0) {\n clientConfig.admin.components.actions = config.admin.components.actions.map((Component) =>\n createMappedComponent(Component, undefined, undefined, 'config.admin.components.actions'),\n )\n }\n\n if (config.admin?.components?.graphics?.Icon) {\n clientConfig.admin.components.graphics.Icon = createMappedComponent(\n config.admin.components.graphics.Icon,\n undefined,\n undefined,\n 'config.admin.components.graphics.Icon',\n )\n }\n\n if (config.admin?.components?.graphics?.Logo) {\n clientConfig.admin.components.graphics.Logo = createMappedComponent(\n config.admin.components.graphics.Logo,\n undefined,\n undefined,\n 'config.admin.components.graphics.Logo',\n )\n }\n }\n\n if (\n 'livePreview' in clientConfig.admin &&\n clientConfig.admin.livePreview &&\n 'url' in clientConfig.admin.livePreview\n ) {\n delete clientConfig.admin.livePreview.url\n }\n\n clientConfig.collections = createClientCollectionConfigs({\n DefaultEditView,\n DefaultListView,\n clientCollections: clientConfig.collections,\n collections: config.collections,\n createMappedComponent,\n i18n,\n importMap,\n payload,\n })\n\n clientConfig.globals = createClientGlobalConfigs({\n DefaultEditView,\n clientGlobals: clientConfig.globals,\n createMappedComponent,\n globals: config.globals,\n i18n,\n importMap,\n payload,\n })\n\n const NestProviders = ({\n children,\n providers,\n }: {\n readonly children: React.ReactNode\n readonly providers: React.FC<{ children?: React.ReactNode }>[]\n }) => {\n const Component = providers[0]\n if (providers.length > 1) {\n return (\n <Component>\n <NestProviders providers={providers.slice(1)}>{children}</NestProviders>\n </Component>\n )\n }\n return <Component>{children}</Component>\n }\n\n const render =\n Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders\n providers={config.admin?.components?.providers.map(\n (Component) =>\n getComponent({\n identifier: 'config.admin?.components?.providers',\n importMap,\n payloadComponent: Component,\n }).Component,\n )}\n >\n {children}\n </NestProviders>\n ) : (\n children\n )\n\n return { clientConfig, render }\n}\nexport { createClientField, createClientFields }\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["deepCopyObjectSimple","serverOnlyConfigProperties","React","createClientCollectionConfig","createClientCollectionConfigs","createClientField","createClientFields","getComponent","getCreateMappedComponent","createClientGlobalConfig","createClientGlobalConfigs","createClientConfig","DefaultEditView","DefaultListView","children","config","i18n","importMap","payload","clientConfig","createMappedComponent","serverProps","key","localization","locale","locales","toString","admin","avatar","components","Avatar","Component","undefined","logout","Button","LogoutButton","actions","length","map","graphics","Icon","Logo","dependencies","dependency","type","payloadComponent","clientProps","path","livePreview","url","collections","clientCollections","globals","clientGlobals","NestProviders","providers","_jsx","slice","render","Array","isArray","identifier"],"sources":["../../../../src/providers/Config/createClientConfig/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport {\n type AdminViewProps,\n type ClientConfig,\n type EditViewProps,\n type ImportMap,\n type Payload,\n type PayloadComponent,\n type SanitizedConfig,\n deepCopyObjectSimple,\n serverOnlyConfigProperties,\n} from 'payload'\nimport React from 'react'\n\nimport { createClientCollectionConfig, createClientCollectionConfigs } from './collections.js'\nimport { createClientField, createClientFields } from './fields.js'\nimport { getComponent } from './getComponent.js'\nimport { getCreateMappedComponent } from './getCreateMappedComponent.js'\nimport { createClientGlobalConfig, createClientGlobalConfigs } from './globals.js'\n\nexport {\n createClientCollectionConfig,\n createClientCollectionConfigs,\n createClientGlobalConfig,\n createClientGlobalConfigs,\n}\n\nexport const createClientConfig = async ({\n DefaultEditView,\n DefaultListView,\n children,\n config,\n i18n,\n importMap,\n payload,\n}: {\n DefaultEditView: React.FC<EditViewProps>\n DefaultListView: React.FC<AdminViewProps>\n children: React.ReactNode\n config: SanitizedConfig\n i18n: I18nClient\n importMap: ImportMap\n payload: Payload\n // eslint-disable-next-line @typescript-eslint/require-await\n}): Promise<{ clientConfig: ClientConfig; render: React.ReactNode }> => {\n // We can use deepCopySimple here, as the clientConfig should be JSON serializable anyways, since it will be sent from server => client\n const clientConfig: ClientConfig = deepCopyObjectSimple(config) as unknown as ClientConfig\n\n const createMappedComponent = getCreateMappedComponent({\n importMap,\n serverProps: {\n i18n,\n payload,\n },\n })\n\n for (const key of serverOnlyConfigProperties) {\n if (key in clientConfig) {\n delete clientConfig[key]\n }\n }\n\n if ('localization' in clientConfig && clientConfig.localization) {\n for (const locale of clientConfig.localization.locales) {\n delete locale.toString\n }\n }\n\n if ('admin' in clientConfig) {\n if (\n config.admin?.avatar &&\n typeof config.admin?.avatar === 'object' &&\n config.admin?.avatar &&\n 'Component' in config.admin.avatar\n ) {\n clientConfig.admin.components.Avatar = createMappedComponent(\n config.admin.avatar.Component,\n undefined,\n undefined,\n 'config.admin.avatar.Component',\n )\n }\n\n if (config.admin?.components?.logout?.Button) {\n clientConfig.admin.components.LogoutButton = createMappedComponent(\n config.admin.components.logout.Button,\n undefined,\n undefined,\n 'config.admin.components.logout.Button',\n )\n }\n\n if (config.admin?.components?.actions && config.admin?.components?.actions.length > 0) {\n clientConfig.admin.components.actions = config.admin.components.actions.map((Component) =>\n createMappedComponent(Component, undefined, undefined, 'config.admin.components.actions'),\n )\n }\n\n if (config.admin?.components?.graphics?.Icon) {\n clientConfig.admin.components.graphics.Icon = createMappedComponent(\n config.admin.components.graphics.Icon,\n undefined,\n undefined,\n 'config.admin.components.graphics.Icon',\n )\n }\n\n if (config.admin?.components?.graphics?.Logo) {\n clientConfig.admin.components.graphics.Logo = createMappedComponent(\n config.admin.components.graphics.Logo,\n undefined,\n undefined,\n 'config.admin.components.graphics.Logo',\n )\n }\n\n if (config.admin?.dependencies) {\n clientConfig.admin.dependencies = {}\n for (const key in config.admin.dependencies) {\n const dependency = config.admin.dependencies[key]\n\n if (dependency.type === 'component') {\n const payloadComponent: PayloadComponent = {\n clientProps: dependency.clientProps,\n path: dependency.path,\n serverProps: dependency.serverProps,\n }\n\n clientConfig.admin.dependencies[key] = createMappedComponent(\n payloadComponent,\n undefined,\n undefined,\n `config.admin.dependencies.${key}`,\n )\n continue\n }\n }\n }\n }\n\n if (\n 'livePreview' in clientConfig.admin &&\n clientConfig.admin.livePreview &&\n 'url' in clientConfig.admin.livePreview\n ) {\n delete clientConfig.admin.livePreview.url\n }\n\n clientConfig.collections = createClientCollectionConfigs({\n DefaultEditView,\n DefaultListView,\n clientCollections: clientConfig.collections,\n collections: config.collections,\n createMappedComponent,\n i18n,\n importMap,\n payload,\n })\n\n clientConfig.globals = createClientGlobalConfigs({\n DefaultEditView,\n clientGlobals: clientConfig.globals,\n createMappedComponent,\n globals: config.globals,\n i18n,\n importMap,\n payload,\n })\n\n const NestProviders = ({\n children,\n providers,\n }: {\n readonly children: React.ReactNode\n readonly providers: React.FC<{ children?: React.ReactNode }>[]\n }) => {\n const Component = providers[0]\n if (providers.length > 1) {\n return (\n <Component>\n <NestProviders providers={providers.slice(1)}>{children}</NestProviders>\n </Component>\n )\n }\n return <Component>{children}</Component>\n }\n\n const render =\n Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders\n providers={config.admin?.components?.providers.map(\n (Component) =>\n getComponent({\n identifier: 'config.admin?.components?.providers',\n importMap,\n payloadComponent: Component,\n }).Component,\n )}\n >\n {children}\n </NestProviders>\n ) : (\n children\n )\n\n return { clientConfig, render }\n}\nexport { createClientField, createClientFields }\n"],"mappings":";AAEA,SAQEA,oBAAoB,EACpBC,0BAA0B,QACrB;AACP,OAAOC,KAAA,MAAW;AAElB,SAASC,4BAA4B,EAAEC,6BAA6B,QAAQ;AAC5E,SAASC,iBAAiB,EAAEC,kBAAkB,QAAQ;AACtD,SAASC,YAAY,QAAQ;AAC7B,SAASC,wBAAwB,QAAQ;AACzC,SAASC,wBAAwB,EAAEC,yBAAyB,QAAQ;AAEpE,SACEP,4BAA4B,EAC5BC,6BAA6B,EAC7BK,wBAAwB,EACxBC,yBAAyB;AAG3B,OAAO,MAAMC,kBAAA,GAAqB,MAAAA,CAAO;EACvCC,eAAe;EACfC,eAAe;EACfC,QAAQ;EACRC,MAAM;EACNC,IAAI;EACJC,SAAS;EACTC;AAAO,CAUR;EACC;EACA,MAAMC,YAAA,GAA6BnB,oBAAA,CAAqBe,MAAA;EAExD,MAAMK,qBAAA,GAAwBZ,wBAAA,CAAyB;IACrDS,SAAA;IACAI,WAAA,EAAa;MACXL,IAAA;MACAE;IACF;EACF;EAEA,KAAK,MAAMI,GAAA,IAAOrB,0BAAA,EAA4B;IAC5C,IAAIqB,GAAA,IAAOH,YAAA,EAAc;MACvB,OAAOA,YAAY,CAACG,GAAA,CAAI;IAC1B;EACF;EAEA,IAAI,kBAAkBH,YAAA,IAAgBA,YAAA,CAAaI,YAAY,EAAE;IAC/D,KAAK,MAAMC,MAAA,IAAUL,YAAA,CAAaI,YAAY,CAACE,OAAO,EAAE;MACtD,OAAOD,MAAA,CAAOE,QAAQ;IACxB;EACF;EAEA,IAAI,WAAWP,YAAA,EAAc;IAC3B,IACEJ,MAAA,CAAOY,KAAK,EAAEC,MAAA,IACd,OAAOb,MAAA,CAAOY,KAAK,EAAEC,MAAA,KAAW,YAChCb,MAAA,CAAOY,KAAK,EAAEC,MAAA,IACd,eAAeb,MAAA,CAAOY,KAAK,CAACC,MAAM,EAClC;MACAT,YAAA,CAAaQ,KAAK,CAACE,UAAU,CAACC,MAAM,GAAGV,qBAAA,CACrCL,MAAA,CAAOY,KAAK,CAACC,MAAM,CAACG,SAAS,EAC7BC,SAAA,EACAA,SAAA,EACA;IAEJ;IAEA,IAAIjB,MAAA,CAAOY,KAAK,EAAEE,UAAA,EAAYI,MAAA,EAAQC,MAAA,EAAQ;MAC5Cf,YAAA,CAAaQ,KAAK,CAACE,UAAU,CAACM,YAAY,GAAGf,qBAAA,CAC3CL,MAAA,CAAOY,KAAK,CAACE,UAAU,CAACI,MAAM,CAACC,MAAM,EACrCF,SAAA,EACAA,SAAA,EACA;IAEJ;IAEA,IAAIjB,MAAA,CAAOY,KAAK,EAAEE,UAAA,EAAYO,OAAA,IAAWrB,MAAA,CAAOY,KAAK,EAAEE,UAAA,EAAYO,OAAA,CAAQC,MAAA,GAAS,GAAG;MACrFlB,YAAA,CAAaQ,KAAK,CAACE,UAAU,CAACO,OAAO,GAAGrB,MAAA,CAAOY,KAAK,CAACE,UAAU,CAACO,OAAO,CAACE,GAAG,CAAEP,SAAA,IAC3EX,qBAAA,CAAsBW,SAAA,EAAWC,SAAA,EAAWA,SAAA,EAAW;IAE3D;IAEA,IAAIjB,MAAA,CAAOY,KAAK,EAAEE,UAAA,EAAYU,QAAA,EAAUC,IAAA,EAAM;MAC5CrB,YAAA,CAAaQ,KAAK,CAACE,UAAU,CAACU,QAAQ,CAACC,IAAI,GAAGpB,qBAAA,CAC5CL,MAAA,CAAOY,KAAK,CAACE,UAAU,CAACU,QAAQ,CAACC,IAAI,EACrCR,SAAA,EACAA,SAAA,EACA;IAEJ;IAEA,IAAIjB,MAAA,CAAOY,KAAK,EAAEE,UAAA,EAAYU,QAAA,EAAUE,IAAA,EAAM;MAC5CtB,YAAA,CAAaQ,KAAK,CAACE,UAAU,CAACU,QAAQ,CAACE,IAAI,GAAGrB,qBAAA,CAC5CL,MAAA,CAAOY,KAAK,CAACE,UAAU,CAACU,QAAQ,CAACE,IAAI,EACrCT,SAAA,EACAA,SAAA,EACA;IAEJ;IAEA,IAAIjB,MAAA,CAAOY,KAAK,EAAEe,YAAA,EAAc;MAC9BvB,YAAA,CAAaQ,KAAK,CAACe,YAAY,GAAG,CAAC;MACnC,KAAK,MAAMpB,GAAA,IAAOP,MAAA,CAAOY,KAAK,CAACe,YAAY,EAAE;QAC3C,MAAMC,UAAA,GAAa5B,MAAA,CAAOY,KAAK,CAACe,YAAY,CAACpB,GAAA,CAAI;QAEjD,IAAIqB,UAAA,CAAWC,IAAI,KAAK,aAAa;UACnC,MAAMC,gBAAA,GAAqC;YACzCC,WAAA,EAAaH,UAAA,CAAWG,WAAW;YACnCC,IAAA,EAAMJ,UAAA,CAAWI,IAAI;YACrB1B,WAAA,EAAasB,UAAA,CAAWtB;UAC1B;UAEAF,YAAA,CAAaQ,KAAK,CAACe,YAAY,CAACpB,GAAA,CAAI,GAAGF,qBAAA,CACrCyB,gBAAA,EACAb,SAAA,EACAA,SAAA,EACA,6BAA6BV,GAAA,EAAK;UAEpC;QACF;MACF;IACF;EACF;EAEA,IACE,iBAAiBH,YAAA,CAAaQ,KAAK,IACnCR,YAAA,CAAaQ,KAAK,CAACqB,WAAW,IAC9B,SAAS7B,YAAA,CAAaQ,KAAK,CAACqB,WAAW,EACvC;IACA,OAAO7B,YAAA,CAAaQ,KAAK,CAACqB,WAAW,CAACC,GAAG;EAC3C;EAEA9B,YAAA,CAAa+B,WAAW,GAAG9C,6BAAA,CAA8B;IACvDQ,eAAA;IACAC,eAAA;IACAsC,iBAAA,EAAmBhC,YAAA,CAAa+B,WAAW;IAC3CA,WAAA,EAAanC,MAAA,CAAOmC,WAAW;IAC/B9B,qBAAA;IACAJ,IAAA;IACAC,SAAA;IACAC;EACF;EAEAC,YAAA,CAAaiC,OAAO,GAAG1C,yBAAA,CAA0B;IAC/CE,eAAA;IACAyC,aAAA,EAAelC,YAAA,CAAaiC,OAAO;IACnChC,qBAAA;IACAgC,OAAA,EAASrC,MAAA,CAAOqC,OAAO;IACvBpC,IAAA;IACAC,SAAA;IACAC;EACF;EAEA,MAAMoC,aAAA,GAAgBA,CAAC;IACrBxC,QAAQ;IACRyC;EAAS,CAIV;IACC,MAAMxB,SAAA,GAAYwB,SAAS,CAAC,EAAE;IAC9B,IAAIA,SAAA,CAAUlB,MAAM,GAAG,GAAG;MACxB,oBACEmB,IAAA,CAACzB,SAAA;kBACC,aAAAyB,IAAA,CAACF,aAAA;UAAcC,SAAA,EAAWA,SAAA,CAAUE,KAAK,CAAC;oBAAK3C;;;IAGrD;IACA,oBAAO0C,IAAA,CAACzB,SAAA;gBAAWjB;;EACrB;EAEA,MAAM4C,MAAA,GACJC,KAAA,CAAMC,OAAO,CAAC7C,MAAA,CAAOY,KAAK,EAAEE,UAAA,EAAY0B,SAAA,KACxCxC,MAAA,CAAOY,KAAK,EAAEE,UAAA,EAAY0B,SAAA,CAAUlB,MAAA,GAAS,iBAC3CmB,IAAA,CAACF,aAAA;IACCC,SAAA,EAAWxC,MAAA,CAAOY,KAAK,EAAEE,UAAA,EAAY0B,SAAA,CAAUjB,GAAA,CAC5CP,SAAA,IACCxB,YAAA,CAAa;MACXsD,UAAA,EAAY;MACZ5C,SAAA;MACA4B,gBAAA,EAAkBd;IACpB,GAAGA,SAAS;cAGfjB;OAGHA,QAAA;EAGJ,OAAO;IAAEK,YAAA;IAAcuC;EAAO;AAChC;AACA,SAASrD,iBAAiB,EAAEC,kBAAkB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAexE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AAyhB7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,GAAG,iBAAiB,CAOtB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAexE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AAiiB7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,GAAG,iBAAiB,CAOtB,CAAA"}
@@ -58,7 +58,9 @@ const DocumentInfo = ({
58
58
  uploadEdits
59
59
  } = useUploadEdits();
60
60
  const [documentTitle, setDocumentTitle] = useState(() => {
61
- if (!initialDataFromProps) return '';
61
+ if (!initialDataFromProps) {
62
+ return '';
63
+ }
62
64
  return formatDocTitle({
63
65
  collectionConfig,
64
66
  data: {
@@ -327,7 +329,9 @@ const DocumentInfo = ({
327
329
  const abortController = new AbortController();
328
330
  const localeChanged = locale !== prevLocale.current;
329
331
  if (initialStateFromProps === undefined || initialDataFromProps === undefined || localeChanged) {
330
- if (localeChanged) prevLocale.current = locale;
332
+ if (localeChanged) {
333
+ prevLocale.current = locale;
334
+ }
331
335
  const getInitialState = async () => {
332
336
  setIsError(false);
333
337
  setIsLoading(true);
@@ -348,7 +352,9 @@ const DocumentInfo = ({
348
352
  });
349
353
  const data_1 = reduceFieldsToValues(result, true);
350
354
  setData(data_1);
351
- if (localeChanged) void getDocPermissions(data_1);
355
+ if (localeChanged) {
356
+ void getDocPermissions(data_1);
357
+ }
352
358
  setInitialState(result);
353
359
  } catch (err) {
354
360
  if (!abortController.signal.aborted) {
@@ -407,7 +413,9 @@ const DocumentInfo = ({
407
413
  addQueryPrefix: true
408
414
  })}`;
409
415
  }, [baseURL, locale, pluralType, id, slug, uploadEdits]);
410
- if (isError) notFound();
416
+ if (isError) {
417
+ notFound();
418
+ }
411
419
  const value = {
412
420
  ...props,
413
421
  action,