@payloadcms/ui 3.0.0-canary.78bbed6 → 3.0.0-canary.79ab53e

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 (591) hide show
  1. package/dist/elements/AddNewRelation/index.js +1 -1
  2. package/dist/elements/AddNewRelation/index.js.map +1 -1
  3. package/dist/elements/AppHeader/index.js +45 -84
  4. package/dist/elements/AppHeader/index.js.map +1 -1
  5. package/dist/elements/Autosave/index.d.ts.map +1 -1
  6. package/dist/elements/Autosave/index.js +149 -228
  7. package/dist/elements/Autosave/index.js.map +1 -1
  8. package/dist/elements/Banner/index.d.ts.map +1 -1
  9. package/dist/elements/Banner/index.js +6 -2
  10. package/dist/elements/Banner/index.js.map +1 -1
  11. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  12. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  13. package/dist/elements/BulkUpload/ActionsBar/index.scss +4 -4
  14. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  15. package/dist/elements/BulkUpload/AddFilesView/index.js +45 -30
  16. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  17. package/dist/elements/BulkUpload/AddFilesView/index.scss +13 -0
  18. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  19. package/dist/elements/BulkUpload/AddingFilesView/index.js +7 -7
  20. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.d.ts.map +1 -1
  22. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +14 -17
  23. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts +1 -2
  25. package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts.map +1 -1
  26. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +5 -8
  27. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  29. package/dist/elements/BulkUpload/EditForm/index.js +39 -32
  30. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  31. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  32. package/dist/elements/BulkUpload/FileSidebar/index.js +71 -59
  33. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  34. package/dist/elements/BulkUpload/FileSidebar/index.scss +16 -14
  35. package/dist/elements/BulkUpload/FormsManager/index.d.ts +4 -7
  36. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  37. package/dist/elements/BulkUpload/FormsManager/index.js +64 -36
  38. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  39. package/dist/elements/BulkUpload/Header/index.d.ts.map +1 -1
  40. package/dist/elements/BulkUpload/Header/index.js +1 -3
  41. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  42. package/dist/elements/BulkUpload/index.d.ts +21 -5
  43. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  44. package/dist/elements/BulkUpload/index.js +149 -52
  45. package/dist/elements/BulkUpload/index.js.map +1 -1
  46. package/dist/elements/Button/index.d.ts.map +1 -1
  47. package/dist/elements/Button/index.js +95 -219
  48. package/dist/elements/Button/index.js.map +1 -1
  49. package/dist/elements/Button/types.d.ts +2 -2
  50. package/dist/elements/Button/types.d.ts.map +1 -1
  51. package/dist/elements/Button/types.js.map +1 -1
  52. package/dist/elements/Card/index.d.ts +1 -1
  53. package/dist/elements/Card/index.d.ts.map +1 -1
  54. package/dist/elements/Card/index.js +2 -2
  55. package/dist/elements/Card/index.js.map +1 -1
  56. package/dist/elements/CodeEditor/index.js +1 -1
  57. package/dist/elements/CodeEditor/index.js.map +1 -1
  58. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  59. package/dist/elements/Collapsible/index.js +44 -62
  60. package/dist/elements/Collapsible/index.js.map +1 -1
  61. package/dist/elements/Collapsible/index.scss +15 -28
  62. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  63. package/dist/elements/ColumnSelector/index.js +2 -2
  64. package/dist/elements/ColumnSelector/index.js.map +1 -1
  65. package/dist/elements/CopyToClipboard/index.js +20 -54
  66. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  67. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  68. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  69. package/dist/elements/DatePicker/index.js +1 -1
  70. package/dist/elements/DatePicker/index.js.map +1 -1
  71. package/dist/elements/DeleteDocument/index.d.ts +9 -6
  72. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  73. package/dist/elements/DeleteDocument/index.js +65 -28
  74. package/dist/elements/DeleteDocument/index.js.map +1 -1
  75. package/dist/elements/DeleteDocument/index.scss +24 -11
  76. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  77. package/dist/elements/DeleteMany/index.js +26 -18
  78. package/dist/elements/DeleteMany/index.js.map +1 -1
  79. package/dist/elements/DeleteMany/index.scss +24 -5
  80. package/dist/elements/DocumentControls/index.d.ts +9 -1
  81. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  82. package/dist/elements/DocumentControls/index.js +26 -8
  83. package/dist/elements/DocumentControls/index.js.map +1 -1
  84. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  85. package/dist/elements/DocumentDrawer/DrawerContent.js +102 -37
  86. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  87. package/dist/elements/DocumentDrawer/index.js +1 -1
  88. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  89. package/dist/elements/DocumentDrawer/types.d.ts +6 -0
  90. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  91. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  92. package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
  93. package/dist/elements/DraggableSortable/index.js +2 -1
  94. package/dist/elements/DraggableSortable/index.js.map +1 -1
  95. package/dist/elements/Drawer/index.d.ts +1 -0
  96. package/dist/elements/Drawer/index.d.ts.map +1 -1
  97. package/dist/elements/Drawer/index.js +3 -3
  98. package/dist/elements/Drawer/index.js.map +1 -1
  99. package/dist/elements/Drawer/types.d.ts +1 -1
  100. package/dist/elements/Drawer/types.d.ts.map +1 -1
  101. package/dist/elements/Drawer/types.js.map +1 -1
  102. package/dist/elements/Dropzone/index.d.ts +3 -3
  103. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  104. package/dist/elements/Dropzone/index.js +58 -145
  105. package/dist/elements/Dropzone/index.js.map +1 -1
  106. package/dist/elements/Dropzone/index.scss +6 -23
  107. package/dist/elements/DuplicateDocument/index.d.ts +6 -3
  108. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  109. package/dist/elements/DuplicateDocument/index.js +95 -137
  110. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  111. package/dist/elements/DuplicateDocument/index.scss +25 -5
  112. package/dist/elements/EditMany/index.js +124 -230
  113. package/dist/elements/EditMany/index.js.map +1 -1
  114. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  115. package/dist/elements/EditUpload/index.js +140 -201
  116. package/dist/elements/EditUpload/index.js.map +1 -1
  117. package/dist/elements/ErrorPill/index.d.ts.map +1 -1
  118. package/dist/elements/ErrorPill/index.js +3 -1
  119. package/dist/elements/ErrorPill/index.js.map +1 -1
  120. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  121. package/dist/elements/FieldSelect/index.js +3 -1
  122. package/dist/elements/FieldSelect/index.js.map +1 -1
  123. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  124. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  125. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  126. package/dist/elements/FileDetails/StaticFileDetails/index.js +0 -1
  127. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  128. package/dist/elements/FileDetails/StaticFileDetails/index.scss +1 -0
  129. package/dist/elements/GenerateConfirmation/index.d.ts.map +1 -1
  130. package/dist/elements/GenerateConfirmation/index.js +31 -24
  131. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  132. package/dist/elements/GenerateConfirmation/index.scss +24 -5
  133. package/dist/elements/ListControls/index.d.ts.map +1 -1
  134. package/dist/elements/ListControls/index.js +89 -200
  135. package/dist/elements/ListControls/index.js.map +1 -1
  136. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  137. package/dist/elements/ListDrawer/DrawerContent.js +311 -233
  138. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  139. package/dist/elements/ListDrawer/index.js +1 -1
  140. package/dist/elements/ListDrawer/index.js.map +1 -1
  141. package/dist/elements/ListDrawer/index.scss +7 -0
  142. package/dist/elements/Localizer/index.d.ts.map +1 -1
  143. package/dist/elements/Localizer/index.js +1 -1
  144. package/dist/elements/Localizer/index.js.map +1 -1
  145. package/dist/elements/Logout/index.js +1 -1
  146. package/dist/elements/Logout/index.js.map +1 -1
  147. package/dist/elements/Nav/context.js +47 -83
  148. package/dist/elements/Nav/context.js.map +1 -1
  149. package/dist/elements/Pagination/index.d.ts.map +1 -1
  150. package/dist/elements/Pagination/index.js +20 -10
  151. package/dist/elements/Pagination/index.js.map +1 -1
  152. package/dist/elements/PerPage/index.d.ts.map +1 -1
  153. package/dist/elements/PerPage/index.js.map +1 -1
  154. package/dist/elements/Pill/index.d.ts.map +1 -1
  155. package/dist/elements/Pill/index.js +11 -5
  156. package/dist/elements/Pill/index.js.map +1 -1
  157. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  158. package/dist/elements/Popup/PopupTrigger/index.js +3 -1
  159. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  160. package/dist/elements/Popup/index.d.ts.map +1 -1
  161. package/dist/elements/Popup/index.js +4 -2
  162. package/dist/elements/Popup/index.js.map +1 -1
  163. package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -1
  164. package/dist/elements/PreviewButton/usePreviewURL.js +18 -6
  165. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  166. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  167. package/dist/elements/PreviewSizes/index.js +15 -5
  168. package/dist/elements/PreviewSizes/index.js.map +1 -1
  169. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  170. package/dist/elements/PublishButton/index.js +113 -48
  171. package/dist/elements/PublishButton/index.js.map +1 -1
  172. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  173. package/dist/elements/PublishMany/index.js +25 -17
  174. package/dist/elements/PublishMany/index.js.map +1 -1
  175. package/dist/elements/PublishMany/index.scss +23 -4
  176. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  177. package/dist/elements/ReactSelect/DropdownIndicator/index.js +3 -1
  178. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  179. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  180. package/dist/elements/ReactSelect/index.js +5 -3
  181. package/dist/elements/ReactSelect/index.js.map +1 -1
  182. package/dist/elements/ReactSelect/types.d.ts +9 -2
  183. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  184. package/dist/elements/ReactSelect/types.js.map +1 -1
  185. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  186. package/dist/elements/SaveButton/index.js +35 -84
  187. package/dist/elements/SaveButton/index.js.map +1 -1
  188. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  189. package/dist/elements/SaveDraftButton/index.js +63 -119
  190. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  191. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  192. package/dist/elements/SearchFilter/index.js +45 -81
  193. package/dist/elements/SearchFilter/index.js.map +1 -1
  194. package/dist/elements/SelectRow/index.js +29 -20
  195. package/dist/elements/SelectRow/index.js.map +1 -1
  196. package/dist/elements/ShimmerEffect/index.d.ts +3 -3
  197. package/dist/elements/ShimmerEffect/index.d.ts.map +1 -1
  198. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  199. package/dist/elements/SortColumn/index.d.ts +4 -4
  200. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  201. package/dist/elements/SortColumn/index.js +22 -39
  202. package/dist/elements/SortColumn/index.js.map +1 -1
  203. package/dist/elements/SortComplex/index.d.ts.map +1 -1
  204. package/dist/elements/SortComplex/index.js.map +1 -1
  205. package/dist/elements/Status/index.d.ts.map +1 -1
  206. package/dist/elements/Status/index.js +43 -27
  207. package/dist/elements/Status/index.js.map +1 -1
  208. package/dist/elements/Status/index.scss +26 -7
  209. package/dist/elements/StepNav/index.d.ts +1 -1
  210. package/dist/elements/StepNav/index.d.ts.map +1 -1
  211. package/dist/elements/StepNav/index.js +2 -2
  212. package/dist/elements/StepNav/index.js.map +1 -1
  213. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +2 -2
  214. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  215. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  216. package/dist/elements/Table/DefaultCell/fields/Code/index.js +1 -1
  217. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  218. package/dist/elements/Table/DefaultCell/fields/File/index.scss +5 -5
  219. package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -1
  220. package/dist/elements/Table/DefaultCell/fields/index.js +1 -1
  221. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  222. package/dist/elements/Table/RelationshipProvider/index.d.ts +1 -1
  223. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  224. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  225. package/dist/elements/Table/index.d.ts +2 -2
  226. package/dist/elements/Table/index.d.ts.map +1 -1
  227. package/dist/elements/Table/index.js +21 -16
  228. package/dist/elements/Table/index.js.map +1 -1
  229. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  230. package/dist/elements/TableColumns/buildColumnState.js +16 -13
  231. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  232. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  233. package/dist/elements/TableColumns/index.js +11 -33
  234. package/dist/elements/TableColumns/index.js.map +1 -1
  235. package/dist/elements/Thumbnail/index.d.ts +10 -6
  236. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  237. package/dist/elements/Thumbnail/index.js +84 -9
  238. package/dist/elements/Thumbnail/index.js.map +1 -1
  239. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  240. package/dist/elements/Tooltip/index.js.map +1 -1
  241. package/dist/elements/Translation/index.d.ts.map +1 -1
  242. package/dist/elements/Translation/index.js +0 -2
  243. package/dist/elements/Translation/index.js.map +1 -1
  244. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  245. package/dist/elements/UnpublishMany/index.js +26 -18
  246. package/dist/elements/UnpublishMany/index.js.map +1 -1
  247. package/dist/elements/UnpublishMany/index.scss +23 -4
  248. package/dist/elements/Upload/index.d.ts.map +1 -1
  249. package/dist/elements/Upload/index.js +183 -302
  250. package/dist/elements/Upload/index.js.map +1 -1
  251. package/dist/elements/Upload/index.scss +38 -0
  252. package/dist/elements/ViewDescription/index.d.ts +1 -1
  253. package/dist/elements/ViewDescription/index.d.ts.map +1 -1
  254. package/dist/elements/ViewDescription/index.js.map +1 -1
  255. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  256. package/dist/elements/WhereBuilder/Condition/index.js +2 -1
  257. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  258. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  259. package/dist/elements/WhereBuilder/index.js +5 -8
  260. package/dist/elements/WhereBuilder/index.js.map +1 -1
  261. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
  262. package/dist/elements/WhereBuilder/reduceClientFields.js +3 -1
  263. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
  264. package/dist/elements/WhereBuilder/types.d.ts +1 -1
  265. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  266. package/dist/elements/WhereBuilder/types.js.map +1 -1
  267. package/dist/elements/WindowInfo/index.d.ts +2 -2
  268. package/dist/elements/WindowInfo/index.d.ts.map +1 -1
  269. package/dist/elements/WindowInfo/index.js +2 -2
  270. package/dist/elements/WindowInfo/index.js.map +1 -1
  271. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  272. package/dist/exports/client/{CodeEditor-C4FLUUO7.js → CodeEditor-CHKRX3U2.js} +4 -4
  273. package/dist/exports/client/{CodeEditor-C4FLUUO7.js.map → CodeEditor-CHKRX3U2.js.map} +4 -4
  274. package/dist/exports/client/{DatePicker-E6IJFDN2.js → DatePicker-OLRZVTAD.js} +2 -2
  275. package/dist/exports/client/chunk-BGA6EPOL.js +14 -0
  276. package/dist/exports/client/chunk-BGA6EPOL.js.map +8 -0
  277. package/dist/exports/client/{chunk-OBXEO4WP.js → chunk-JINNHJP7.js} +1 -1
  278. package/dist/exports/client/{chunk-OBXEO4WP.js.map → chunk-JINNHJP7.js.map} +2 -2
  279. package/dist/exports/client/index.d.ts +5 -4
  280. package/dist/exports/client/index.d.ts.map +1 -1
  281. package/dist/exports/client/index.js +19 -19
  282. package/dist/exports/client/index.js.map +4 -4
  283. package/dist/exports/shared/index.d.ts +3 -2
  284. package/dist/exports/shared/index.d.ts.map +1 -1
  285. package/dist/exports/shared/index.js +2 -2
  286. package/dist/exports/shared/index.js.map +4 -4
  287. package/dist/fields/Array/ArrayRow.d.ts +1 -1
  288. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  289. package/dist/fields/Array/ArrayRow.js +6 -6
  290. package/dist/fields/Array/ArrayRow.js.map +1 -1
  291. package/dist/fields/Array/index.d.ts +11 -3
  292. package/dist/fields/Array/index.d.ts.map +1 -1
  293. package/dist/fields/Array/index.js +8 -5
  294. package/dist/fields/Array/index.js.map +1 -1
  295. package/dist/fields/Blocks/BlockRow.d.ts +2 -2
  296. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  297. package/dist/fields/Blocks/BlockRow.js +4 -4
  298. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  299. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  300. package/dist/fields/Blocks/BlocksDrawer/index.js +3 -1
  301. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  302. package/dist/fields/Blocks/RowActions.d.ts +1 -1
  303. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  304. package/dist/fields/Blocks/RowActions.js +1 -1
  305. package/dist/fields/Blocks/RowActions.js.map +1 -1
  306. package/dist/fields/Blocks/index.d.ts +8 -2
  307. package/dist/fields/Blocks/index.d.ts.map +1 -1
  308. package/dist/fields/Blocks/index.js +2 -5
  309. package/dist/fields/Blocks/index.js.map +1 -1
  310. package/dist/fields/Checkbox/Input.d.ts +1 -1
  311. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  312. package/dist/fields/Checkbox/Input.js +3 -3
  313. package/dist/fields/Checkbox/Input.js.map +1 -1
  314. package/dist/fields/Checkbox/index.d.ts +16 -4
  315. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  316. package/dist/fields/Checkbox/index.js +2 -2
  317. package/dist/fields/Checkbox/index.js.map +1 -1
  318. package/dist/fields/Checkbox/index.scss +13 -0
  319. package/dist/fields/Code/index.d.ts +9 -2
  320. package/dist/fields/Code/index.d.ts.map +1 -1
  321. package/dist/fields/Code/index.js +32 -37
  322. package/dist/fields/Code/index.js.map +1 -1
  323. package/dist/fields/Collapsible/index.d.ts +143 -2
  324. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  325. package/dist/fields/Collapsible/index.js +49 -42
  326. package/dist/fields/Collapsible/index.js.map +1 -1
  327. package/dist/fields/DateTime/index.d.ts +9 -2
  328. package/dist/fields/DateTime/index.d.ts.map +1 -1
  329. package/dist/fields/DateTime/index.js +33 -38
  330. package/dist/fields/DateTime/index.js.map +1 -1
  331. package/dist/fields/Email/index.d.ts +10 -2
  332. package/dist/fields/Email/index.d.ts.map +1 -1
  333. package/dist/fields/Email/index.js +29 -33
  334. package/dist/fields/Email/index.js.map +1 -1
  335. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  336. package/dist/fields/FieldLabel/index.js +7 -1
  337. package/dist/fields/FieldLabel/index.js.map +1 -1
  338. package/dist/fields/Group/index.d.ts +8 -3
  339. package/dist/fields/Group/index.d.ts.map +1 -1
  340. package/dist/fields/Group/index.js +1 -1
  341. package/dist/fields/Group/index.js.map +1 -1
  342. package/dist/fields/JSON/index.d.ts +8 -2
  343. package/dist/fields/JSON/index.d.ts.map +1 -1
  344. package/dist/fields/JSON/index.js +17 -11
  345. package/dist/fields/JSON/index.js.map +1 -1
  346. package/dist/fields/Number/index.d.ts +9 -2
  347. package/dist/fields/Number/index.d.ts.map +1 -1
  348. package/dist/fields/Number/index.js +36 -41
  349. package/dist/fields/Number/index.js.map +1 -1
  350. package/dist/fields/Password/index.js +3 -3
  351. package/dist/fields/Password/index.js.map +1 -1
  352. package/dist/fields/Password/input.js +7 -7
  353. package/dist/fields/Password/input.js.map +1 -1
  354. package/dist/fields/Password/types.d.ts +5 -5
  355. package/dist/fields/Password/types.d.ts.map +1 -1
  356. package/dist/fields/Password/types.js.map +1 -1
  357. package/dist/fields/Point/index.d.ts +10 -3
  358. package/dist/fields/Point/index.d.ts.map +1 -1
  359. package/dist/fields/Point/index.js +2 -1
  360. package/dist/fields/Point/index.js.map +1 -1
  361. package/dist/fields/RadioGroup/Radio/index.d.ts +2 -2
  362. package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  363. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  364. package/dist/fields/RadioGroup/index.d.ts +10 -2
  365. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  366. package/dist/fields/RadioGroup/index.js +36 -41
  367. package/dist/fields/RadioGroup/index.js.map +1 -1
  368. package/dist/fields/Relationship/createRelationMap.d.ts +1 -1
  369. package/dist/fields/Relationship/createRelationMap.d.ts.map +1 -1
  370. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  371. package/dist/fields/Relationship/index.d.ts +8 -2
  372. package/dist/fields/Relationship/index.d.ts.map +1 -1
  373. package/dist/fields/Relationship/index.js +418 -515
  374. package/dist/fields/Relationship/index.js.map +1 -1
  375. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  376. package/dist/fields/Relationship/optionsReducer.js +31 -1
  377. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  378. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts +6 -1
  379. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
  380. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +45 -82
  381. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  382. package/dist/fields/Relationship/select-components/MultiValueLabel/index.scss +4 -0
  383. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts +6 -1
  384. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
  385. package/dist/fields/Relationship/select-components/SingleValue/index.js +43 -92
  386. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  387. package/dist/fields/Relationship/select-components/SingleValue/index.scss +4 -0
  388. package/dist/fields/Relationship/types.d.ts +14 -5
  389. package/dist/fields/Relationship/types.d.ts.map +1 -1
  390. package/dist/fields/Relationship/types.js.map +1 -1
  391. package/dist/fields/RichText/index.d.ts +2 -2
  392. package/dist/fields/RichText/index.d.ts.map +1 -1
  393. package/dist/fields/RichText/index.js.map +1 -1
  394. package/dist/fields/Row/index.d.ts +9 -2
  395. package/dist/fields/Row/index.d.ts.map +1 -1
  396. package/dist/fields/Row/index.js.map +1 -1
  397. package/dist/fields/Row/index.scss +12 -2
  398. package/dist/fields/Select/Input.d.ts +5 -5
  399. package/dist/fields/Select/Input.d.ts.map +1 -1
  400. package/dist/fields/Select/Input.js +7 -7
  401. package/dist/fields/Select/Input.js.map +1 -1
  402. package/dist/fields/Select/index.d.ts +10 -2
  403. package/dist/fields/Select/index.d.ts.map +1 -1
  404. package/dist/fields/Select/index.js +11 -11
  405. package/dist/fields/Select/index.js.map +1 -1
  406. package/dist/fields/Tabs/index.d.ts +6 -2
  407. package/dist/fields/Tabs/index.d.ts.map +1 -1
  408. package/dist/fields/Tabs/index.js +1 -1
  409. package/dist/fields/Tabs/index.js.map +1 -1
  410. package/dist/fields/Text/Input.js +7 -7
  411. package/dist/fields/Text/Input.js.map +1 -1
  412. package/dist/fields/Text/index.d.ts +11 -3
  413. package/dist/fields/Text/index.d.ts.map +1 -1
  414. package/dist/fields/Text/index.js +4 -6
  415. package/dist/fields/Text/index.js.map +1 -1
  416. package/dist/fields/Text/types.d.ts +5 -5
  417. package/dist/fields/Text/types.d.ts.map +1 -1
  418. package/dist/fields/Text/types.js.map +1 -1
  419. package/dist/fields/Textarea/Input.js +7 -7
  420. package/dist/fields/Textarea/Input.js.map +1 -1
  421. package/dist/fields/Textarea/index.d.ts +13 -4
  422. package/dist/fields/Textarea/index.d.ts.map +1 -1
  423. package/dist/fields/Textarea/index.js +4 -6
  424. package/dist/fields/Textarea/index.js.map +1 -1
  425. package/dist/fields/Textarea/types.d.ts +5 -5
  426. package/dist/fields/Textarea/types.d.ts.map +1 -1
  427. package/dist/fields/Textarea/types.js.map +1 -1
  428. package/dist/fields/Upload/HasMany/index.d.ts +16 -2
  429. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
  430. package/dist/fields/Upload/HasMany/index.js +154 -223
  431. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  432. package/dist/fields/Upload/HasMany/index.scss +12 -56
  433. package/dist/fields/Upload/HasOne/index.d.ts +13 -9
  434. package/dist/fields/Upload/HasOne/index.d.ts.map +1 -1
  435. package/dist/fields/Upload/HasOne/index.js +36 -120
  436. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  437. package/dist/fields/Upload/HasOne/index.scss +0 -69
  438. package/dist/fields/Upload/{HasOne/Input.d.ts → Input.d.ts} +14 -9
  439. package/dist/fields/Upload/Input.d.ts.map +1 -0
  440. package/dist/fields/Upload/Input.js +672 -0
  441. package/dist/fields/Upload/Input.js.map +1 -0
  442. package/dist/fields/Upload/RelationshipContent/index.d.ts +21 -0
  443. package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -0
  444. package/dist/fields/Upload/RelationshipContent/index.js +140 -0
  445. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -0
  446. package/dist/fields/Upload/RelationshipContent/index.scss +54 -0
  447. package/dist/fields/Upload/UploadCard/index.d.ts +10 -0
  448. package/dist/fields/Upload/UploadCard/index.d.ts.map +1 -0
  449. package/dist/fields/Upload/UploadCard/index.js +15 -0
  450. package/dist/fields/Upload/UploadCard/index.js.map +1 -0
  451. package/dist/fields/Upload/UploadCard/index.scss +27 -0
  452. package/dist/fields/Upload/index.d.ts +6 -6
  453. package/dist/fields/Upload/index.d.ts.map +1 -1
  454. package/dist/fields/Upload/index.js +85 -90
  455. package/dist/fields/Upload/index.js.map +1 -1
  456. package/dist/fields/Upload/index.scss +62 -0
  457. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  458. package/dist/forms/Form/fieldReducer.js +6 -2
  459. package/dist/forms/Form/fieldReducer.js.map +1 -1
  460. package/dist/forms/Form/index.d.ts.map +1 -1
  461. package/dist/forms/Form/index.js +20 -8
  462. package/dist/forms/Form/index.js.map +1 -1
  463. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  464. package/dist/forms/Form/mergeServerFormState.js +3 -1
  465. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  466. package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
  467. package/dist/forms/Form/rowHelpers.js +9 -3
  468. package/dist/forms/Form/rowHelpers.js.map +1 -1
  469. package/dist/forms/Form/rows.d.ts.map +1 -1
  470. package/dist/forms/Form/rows.js +3 -1
  471. package/dist/forms/Form/rows.js.map +1 -1
  472. package/dist/forms/Form/types.d.ts +1 -1
  473. package/dist/forms/Form/types.d.ts.map +1 -1
  474. package/dist/forms/Form/types.js.map +1 -1
  475. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  476. package/dist/forms/NullifyField/index.js.map +1 -1
  477. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  478. package/dist/forms/RenderFields/RenderField.js +4 -2
  479. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  480. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  481. package/dist/forms/RenderFields/index.js +1 -1
  482. package/dist/forms/RenderFields/index.js.map +1 -1
  483. package/dist/forms/RowLabel/index.js +1 -1
  484. package/dist/forms/RowLabel/index.js.map +1 -1
  485. package/dist/forms/RowLabel/types.d.ts +1 -1
  486. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  487. package/dist/forms/RowLabel/types.js.map +1 -1
  488. package/dist/forms/Submit/index.js +12 -28
  489. package/dist/forms/Submit/index.js.map +1 -1
  490. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  491. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  492. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
  493. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +6 -2
  494. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  495. package/dist/graphics/Account/index.d.ts.map +1 -1
  496. package/dist/graphics/Account/index.js +1 -1
  497. package/dist/graphics/Account/index.js.map +1 -1
  498. package/dist/hooks/useDelay.js +15 -48
  499. package/dist/hooks/useDelay.js.map +1 -1
  500. package/dist/hooks/useDelayedRender.js +32 -71
  501. package/dist/hooks/useDelayedRender.js.map +1 -1
  502. package/dist/hooks/useHotkey.d.ts.map +1 -1
  503. package/dist/hooks/useHotkey.js.map +1 -1
  504. package/dist/hooks/useIgnoredEffect.d.ts +17 -0
  505. package/dist/hooks/useIgnoredEffect.d.ts.map +1 -0
  506. package/dist/hooks/useIgnoredEffect.js +28 -0
  507. package/dist/hooks/useIgnoredEffect.js.map +1 -0
  508. package/dist/hooks/useIntersect.d.ts.map +1 -1
  509. package/dist/hooks/useIntersect.js +14 -20
  510. package/dist/hooks/useIntersect.js.map +1 -1
  511. package/dist/hooks/useThrottledEffect.d.ts +7 -0
  512. package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
  513. package/dist/hooks/useThrottledEffect.js +7 -0
  514. package/dist/hooks/useThrottledEffect.js.map +1 -1
  515. package/dist/providers/Auth/index.d.ts +1 -1
  516. package/dist/providers/Auth/index.d.ts.map +1 -1
  517. package/dist/providers/Auth/index.js +6 -2
  518. package/dist/providers/Auth/index.js.map +1 -1
  519. package/dist/providers/Config/RenderComponent.d.ts +1 -1
  520. package/dist/providers/Config/RenderComponent.d.ts.map +1 -1
  521. package/dist/providers/Config/RenderComponent.js +2 -2
  522. package/dist/providers/Config/RenderComponent.js.map +1 -1
  523. package/dist/providers/Config/createClientConfig/collections.d.ts +6 -6
  524. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  525. package/dist/providers/Config/createClientConfig/collections.js +17 -13
  526. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  527. package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -1
  528. package/dist/providers/Config/createClientConfig/fields.js +31 -11
  529. package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
  530. package/dist/providers/Config/createClientConfig/getComponent.d.ts +1 -1
  531. package/dist/providers/Config/createClientConfig/getComponent.d.ts.map +1 -1
  532. package/dist/providers/Config/createClientConfig/getComponent.js +2 -2
  533. package/dist/providers/Config/createClientConfig/getComponent.js.map +1 -1
  534. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +1 -1
  535. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +3 -1
  536. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +1 -1
  537. package/dist/providers/Config/createClientConfig/globals.d.ts +4 -4
  538. package/dist/providers/Config/createClientConfig/globals.d.ts.map +1 -1
  539. package/dist/providers/Config/createClientConfig/globals.js +3 -3
  540. package/dist/providers/Config/createClientConfig/globals.js.map +1 -1
  541. package/dist/providers/Config/createClientConfig/index.d.ts +3 -3
  542. package/dist/providers/Config/createClientConfig/index.d.ts.map +1 -1
  543. package/dist/providers/Config/createClientConfig/index.js +20 -5
  544. package/dist/providers/Config/createClientConfig/index.js.map +1 -1
  545. package/dist/providers/DocumentEvents/index.js.map +1 -1
  546. package/dist/providers/DocumentInfo/index.d.ts +1 -1
  547. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  548. package/dist/providers/DocumentInfo/index.js +12 -4
  549. package/dist/providers/DocumentInfo/index.js.map +1 -1
  550. package/dist/providers/DocumentInfo/types.d.ts +20 -3
  551. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  552. package/dist/providers/DocumentInfo/types.js.map +1 -1
  553. package/dist/providers/ListInfo/index.d.ts +2 -2
  554. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  555. package/dist/providers/ListInfo/index.js.map +1 -1
  556. package/dist/providers/ListQuery/index.d.ts +12 -6
  557. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  558. package/dist/providers/ListQuery/index.js +32 -20
  559. package/dist/providers/ListQuery/index.js.map +1 -1
  560. package/dist/providers/Locale/index.d.ts.map +1 -1
  561. package/dist/providers/Locale/index.js.map +1 -1
  562. package/dist/providers/Preferences/index.d.ts.map +1 -1
  563. package/dist/providers/Preferences/index.js +4 -4
  564. package/dist/providers/Preferences/index.js.map +1 -1
  565. package/dist/providers/Root/index.d.ts +12 -12
  566. package/dist/providers/Root/index.d.ts.map +1 -1
  567. package/dist/providers/Root/index.js.map +1 -1
  568. package/dist/providers/Selection/index.d.ts +1 -1
  569. package/dist/providers/Selection/index.d.ts.map +1 -1
  570. package/dist/providers/Selection/index.js +118 -187
  571. package/dist/providers/Selection/index.js.map +1 -1
  572. package/dist/providers/WindowInfo/index.d.ts +1 -1
  573. package/dist/providers/WindowInfo/index.d.ts.map +1 -1
  574. package/dist/providers/WindowInfo/index.js +1 -1
  575. package/dist/providers/WindowInfo/index.js.map +1 -1
  576. package/dist/scss/app.scss +6 -6
  577. package/dist/scss/type.scss +4 -4
  578. package/dist/styles.css +1 -1
  579. package/dist/utilities/buildFormState.d.ts.map +1 -1
  580. package/dist/utilities/buildFormState.js +6 -2
  581. package/dist/utilities/buildFormState.js.map +1 -1
  582. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  583. package/dist/utilities/reduceFieldsToValuesWithValidation.js +6 -2
  584. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  585. package/package.json +13 -13
  586. package/dist/exports/client/chunk-UGBVRIVY.js +0 -14
  587. package/dist/exports/client/chunk-UGBVRIVY.js.map +0 -8
  588. package/dist/fields/Upload/HasOne/Input.d.ts.map +0 -1
  589. package/dist/fields/Upload/HasOne/Input.js +0 -324
  590. package/dist/fields/Upload/HasOne/Input.js.map +0 -1
  591. /package/dist/exports/client/{DatePicker-E6IJFDN2.js.map → DatePicker-OLRZVTAD.js.map} +0 -0
@@ -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":"AAAA;;;AAGA,SAASA,QAAQ,QAAQ;AACzB,SAASC,WAAW,EAAEC,SAAS,QAAQ;AACvC,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,IAASC,aAAa,EAAEC,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAEC,QAAQ,QAAQ;AACnF,SAASC,KAAK,QAAQ;AAEtB,SAASC,qBAAqB,QAAQ;AACtC,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAiB1B,MAAMC,OAAA,gBAAUZ,aAAA,CAAc,CAAC;AAE/B,MAAMa,cAAA,GAAiB;AAOvB,OAAO,SAASC,aAAa;EAC3BC,QAAQ;EACRC,WAAA,EAAaC,kBAAkB;EAC/BC,IAAA,EAAMC;AAAW,CACX;EACN,MAAM,CAACD,IAAA,EAAME,OAAA,CAAQ,GAAGhB,QAAA,CAA4Be,WAAA;EACpD,MAAM,CAACE,aAAA,EAAeC,gBAAA,CAAiB,GAAGlB,QAAA;EAC1C,MAAM,CAACmB,eAAA,EAAiBC,kBAAA,CAAmB,GAAGpB,QAAA;EAC9C,MAAMqB,QAAA,GAAW7B,WAAA;EACjB,MAAM8B,MAAA,GAAS7B,SAAA;EAEf,MAAM;IAAE8B;EAAM,CAAE,GAAGhB,SAAA;EAEnB,MAAM;IACJiB,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,UAAA,EAAYC;MAAqB,CAAE;MAC7Cb,IAAA,EAAMc;IAAQ,CACf;IACDH,MAAA,EAAQ;MAAED,KAAA,EAAOK,UAAU;MAAEC,GAAA,EAAKC;IAAQ,CAAE;IAC5CC;EAAS,CACV,GAAGT,MAAA;EAEJ,MAAM,CAACX,WAAA,EAAaqB,cAAA,CAAe,GAAGjC,QAAA,CAAsBa,kBAAA;EAE5D,MAAM;IAAEqB;EAAI,CAAE,GAAG9B,cAAA;EACjB,MAAM;IAAE+B,cAAc;IAAEC;EAAS,CAAE,GAAG7C,QAAA;EACtC,MAAM,CAAC8C,kBAAA,EAAoBC,qBAAA,CAAsB,GAAGtC,QAAA,CAAS;EAC7D,MAAMuC,uBAAA,GAA0BpC,WAAA,CAAYkC,kBAAA,EAAoB;EAEhE,MAAMG,EAAA,GAAK1B,IAAA,EAAM0B,EAAA;EAEjB,MAAMC,yBAAA,GAA4B5C,WAAA,CAAY;IAC5C,IAAI6C,MAAA,CAAOC,QAAQ,CAACtB,QAAQ,CAACuB,UAAU,CAACf,UAAA,GAAa;MACnD,MAAMgB,aAAA,GAAgB,aAAaC,kBAAA,CAAmBJ,MAAA,CAAOC,QAAQ,CAACtB,QAAQ,GAAG;MACjFC,MAAA,CAAOyB,OAAO,CACZzC,cAAA,CAAe;QACbuB,UAAA;QACAmB,IAAA,EAAM,GAAGrB,qBAAA,GAAwBkB,aAAA;MACnC;IAEJ,OAAO;MACLvB,MAAA,CAAOyB,OAAO,CACZzC,cAAA,CAAe;QACbuB,UAAA;QACAmB,IAAA,EAAMrB;MACR;IAEJ;IACAQ,cAAA;EACF,GAAG,CAACb,MAAA,EAAQO,UAAA,EAAYF,qBAAA,EAAuBQ,cAAA,CAAe;EAE9D,MAAMc,oBAAA,GAAuBpD,WAAA,CAAY;IACvCqB,gBAAA,CAAiBgC,SAAA;IACjB9B,kBAAA,CAAmB8B,SAAA;EACrB,GAAG,EAAE;EAEL,MAAMC,qBAAA,GAAwBtD,WAAA,CAC3BuD,IAAA;IACC,MAAMC,KAAA,GAAQD,IAAA,EAAMC,KAAA,IAASD,IAAA,EAAME,cAAA;IACnC,IAAID,KAAA,IAASD,IAAA,EAAMG,GAAA,EAAK;MACtBrC,gBAAA,CAAiBmC,KAAA;MACjBjC,kBAAA,CAAmBgC,IAAA,CAAKG,GAAG;IAC7B,OAAO;MACLN,oBAAA;IACF;EACF,GACA,CAACA,oBAAA,CAAqB;EAGxB,MAAMO,aAAA,GAAgB3D,WAAA,CACnB4D,YAAA;IACC,MAAMC,GAAA,GAAMC,IAAA,CAAKC,KAAK,CAAC,IAAIC,IAAA,GAAOC,OAAO,KAAK;IAC9C,MAAMC,aAAA,GAAgB,CAAC,OAAO5C,eAAA,KAAoB,WAAWA,eAAA,GAAkB,KAAKuC,GAAA;IAEpF,IAAID,YAAA,IAAiBtC,eAAA,IAAmB4C,aAAA,GAAgB,KAAM;MAC5DC,UAAA,CAAW;QACT,eAAeC,QAAA;UACb,IAAI;YACF,MAAMC,OAAA,GAAU,MAAM7D,QAAA,CAAS8D,IAAI,CACjC,GAAGnC,SAAA,GAAYD,QAAA,IAAYH,QAAA,gBAAwB,EACnD;cACEwC,OAAA,EAAS;gBACP,mBAAmBlC,IAAA,CAAKmC;cAC1B;YACF;YAGF,IAAIH,OAAA,CAAQI,MAAM,KAAK,KAAK;cAC1B,MAAMlB,MAAA,GAAO,MAAMc,OAAA,CAAQd,IAAI;cAC/BpC,OAAA,CAAQoC,MAAA,CAAKtC,IAAI;cAEjBqC,qBAAA,CAAsBC,MAAA;YACxB,OAAO;cACLpC,OAAA,CAAQ;cACRyB,yBAAA;YACF;UACF,EAAE,OAAO8B,CAAA,EAAG;YACVtE,KAAA,CAAMuE,KAAK,CAACD,CAAA,CAAEE,OAAO;UACvB;QACF;QAEA,KAAKR,OAAA;MACP,GAAG;IACL;EACF,GACA,CACE9C,eAAA,EACAa,SAAA,EACAD,QAAA,EACAH,QAAA,EACAM,IAAA,EACAO,yBAAA,EACAU,qBAAA,CACD;EAGH,MAAMuB,kBAAA,GAAqB7E,WAAA,CACzB,MAAO8E,WAAA;IACL,IAAI;MACF,MAAMT,SAAA,GAAU,MAAM7D,QAAA,CAAS8D,IAAI,CAAC,GAAGnC,SAAA,GAAYD,QAAA,IAAYH,QAAA,gBAAwB,EAAE;QACvFwC,OAAA,EAAS;UACP,mBAAmBlC,IAAA,CAAKmC;QAC1B;MACF;MAEA,IAAIH,SAAA,CAAQI,MAAM,KAAK,KAAK;QAC1B,MAAMlB,MAAA,GAAO,MAAMc,SAAA,CAAQd,IAAI;QAC/B,IAAI,CAACuB,WAAA,EAAa;UAChB3D,OAAA,CAAQoC,MAAA,CAAKtC,IAAI;UACjBqC,qBAAA,CAAsBC,MAAA;QACxB;QACA,OAAOA,MAAA,CAAKtC,IAAI;MAClB;MAEAE,OAAA,CAAQ;MACRyB,yBAAA;MACA,OAAO;IACT,EAAE,OAAO8B,GAAA,EAAG;MACVtE,KAAA,CAAMuE,KAAK,CAAC,4BAA4BD,GAAA,CAAEE,OAAO,EAAE;MACnD,OAAO;IACT;EACF,GACA,CAACzC,SAAA,EAAWD,QAAA,EAAUH,QAAA,EAAUM,IAAA,EAAMO,yBAAA,EAA2BU,qBAAA,CAAsB;EAGzF,MAAMyB,MAAA,GAAS/E,WAAA,CAAY;IACzBmB,OAAA,CAAQ;IACRiC,oBAAA;IACA,IAAI;MACF,MAAM5C,QAAA,CAAS8D,IAAI,CAAC,GAAGnC,SAAA,GAAYD,QAAA,IAAYH,QAAA,SAAiB;IAClE,EAAE,OAAO2C,GAAA,EAAG;MACVtE,KAAA,CAAMuE,KAAK,CAAC,uBAAuBD,GAAA,CAAEE,OAAO,EAAE;IAChD;EACF,GAAG,CAACzC,SAAA,EAAWD,QAAA,EAAUH,QAAA,EAAUqB,oBAAA,CAAqB;EAExD,MAAM4B,kBAAA,GAAqBhF,WAAA,CACzB,OAAO;IAAEiF;EAAM,CAAuB,GAAG,CAAC,CAAC;IACzC,MAAMC,MAAA,GAASrF,EAAA,CAAGsF,SAAS,CACzB;MACEF;IACF,GACA;MACEG,cAAA,EAAgB;IAClB;IAGF,IAAI;MACF,MAAMf,SAAA,GAAU,MAAM7D,QAAA,CAAS6E,GAAG,CAAC,GAAGlD,SAAA,GAAYD,QAAA,UAAkBgD,MAAA,EAAQ,EAAE;QAC5EX,OAAA,EAAS;UACP,mBAAmBlC,IAAA,CAAKmC;QAC1B;MACF;MAEA,IAAIH,SAAA,CAAQI,MAAM,KAAK,KAAK;QAC1B,MAAMlB,MAAA,GAAoB,MAAMc,SAAA,CAAQd,IAAI;QAC5CnB,cAAA,CAAemB,MAAA;MACjB,OAAO;QACL,MAAM,IAAI+B,KAAA,CAAM,gDAAgDjB,SAAA,CAAQI,MAAM,EAAE;MAClF;IACF,EAAE,OAAOC,GAAA,EAAG;MACVtE,KAAA,CAAMuE,KAAK,CAAC,kCAAkCD,GAAA,CAAEE,OAAO,EAAE;IAC3D;EACF,GACA,CAACzC,SAAA,EAAWD,QAAA,EAAUG,IAAA,CAAK;EAG7B,MAAMkD,aAAA,GAAgBzF,KAAA,CAAME,WAAW,CAAC;IACtC,IAAI;MACF,MAAMqE,SAAA,GAAU,MAAM7D,QAAA,CAAS6E,GAAG,CAAC,GAAGlD,SAAA,GAAYD,QAAA,IAAYH,QAAA,KAAa,EAAE;QAC3EwC,OAAA,EAAS;UACP,mBAAmBlC,IAAA,CAAKmC;QAC1B;MACF;MAEA,IAAIH,SAAA,CAAQI,MAAM,KAAK,KAAK;QAC1B,MAAMlB,MAAA,GAA0B,MAAMc,SAAA,CAAQd,IAAI;QAElD,IAAIA,MAAA,EAAMtC,IAAA,EAAM;UACdE,OAAA,CAAQoC,MAAA,CAAKtC,IAAI;UAEjB,IAAIsC,MAAA,EAAMC,KAAA,EAAO;YACfF,qBAAA,CAAsBC,MAAA;UACxB;QACF,OAAO;UACLpC,OAAA,CAAQ;UACRiC,oBAAA;QACF;MACF;IACF,EAAE,OAAOsB,GAAA,EAAG;MACVtE,KAAA,CAAMuE,KAAK,CAAC,yBAAyBD,GAAA,CAAEE,OAAO,EAAE;IAClD;EACF,GAAG,CAACzC,SAAA,EAAWD,QAAA,EAAUH,QAAA,EAAUM,IAAA,CAAKmC,QAAQ,EAAElB,qBAAA,EAAuBF,oBAAA,CAAqB;EAE9F;EACAlD,SAAA,CAAU;IACR,KAAKqF,aAAA;EACP,GAAG,CAACA,aAAA,CAAc;EAElB;EACArF,SAAA,CAAU;IACR,IAAIyC,EAAA,EAAI;MACNgB,aAAA;IACF;EACF,GAAG,CAACjB,uBAAA,EAAyBiB,aAAA,EAAehB,EAAA,CAAG;EAE/C;EACAzC,SAAA,CAAU;IACRiB,OAAA,CAAQD,WAAA;EACV,GAAG,CAACA,WAAA,CAAY;EAEhBhB,SAAA,CAAU;IACRuC,qBAAA,CAAsBuB,IAAA,CAAKH,GAAG;EAChC,GAAG,CAACrC,QAAA,CAAS;EAEbtB,SAAA,CAAU;IACR,IAAIsF,QAAA;IACJ,MAAM3B,KAAA,GAAMC,IAAA,CAAKC,KAAK,CAAC,IAAIC,IAAA,GAAOC,OAAO,KAAK;IAC9C,MAAMC,eAAA,GAAgB,OAAO5C,eAAA,KAAoB,WAAWA,eAAA,GAAkBuC,KAAA,GAAM;IAEpF,IAAIK,eAAA,GAAgB,GAAG;MACrBsB,QAAA,GAAWrB,UAAA,CACT;QACE5B,SAAA,CAAUlC,qBAAA;MACZ,GACAyD,IAAA,CAAK2B,GAAG,CAAC3B,IAAA,CAAK4B,GAAG,CAAC,CAACxB,eAAA,GAAgB,EAAC,IAAK,MAAMtD,cAAA;IAEnD;IAEA,OAAO;MACL,IAAI4E,QAAA,EAAUG,YAAA,CAAaH,QAAA;IAC7B;EACF,GAAG,CAAClE,eAAA,EAAiBiB,SAAA,CAAU;EAE/BrC,SAAA,CAAU;IACR,IAAI0F,WAAA;IACJ,MAAM/B,KAAA,GAAMC,IAAA,CAAKC,KAAK,CAAC,IAAIC,IAAA,GAAOC,OAAO,KAAK;IAC9C,MAAMC,eAAA,GAAgB,OAAO5C,eAAA,KAAoB,WAAWA,eAAA,GAAkBuC,KAAA,GAAM;IAEpF,IAAIK,eAAA,GAAgB,GAAG;MACrB0B,WAAA,GAAczB,UAAA,CACZ;QACEhD,OAAA,CAAQ;QACRiC,oBAAA;QACAR,yBAAA;MACF,GACAkB,IAAA,CAAK2B,GAAG,CAAC3B,IAAA,CAAK4B,GAAG,CAACxB,eAAA,GAAgB,MAAMtD,cAAA,GAAiB;IAE7D;IAEA,OAAO;MACL,IAAIgF,WAAA,EAAaD,YAAA,CAAaC,WAAA;IAChC;EACF,GAAG,CAACtE,eAAA,EAAiBgB,cAAA,EAAgBD,IAAA,EAAMO,yBAAA,EAA2BQ,oBAAA,CAAqB;EAE3F,oBACEyC,IAAA,CAAClF,OAAA,CAAQmF,QAAQ;IACfC,KAAA,EAAO;MACLR,aAAA;MACAR,MAAA;MACAhE,WAAA;MACA4C,aAAA;MACAkB,kBAAA;MACAG,kBAAA;MACA5C,cAAA;MACAjB,OAAA;MACAqC,KAAA,EAAOpC,aAAA;MACPH;IACF;cAECH;;AAGP;AAEA,OAAO,MAAMkF,OAAA,GAAUA,CAAA;EAAA,OAAuC/F,UAAA,CAAAU,OAAW;AAAA","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?: null | T\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":[]}
@@ -4,8 +4,8 @@ import React from 'react';
4
4
  * Can be used to render both MappedComponents and React Components.
5
5
  */
6
6
  export declare const RenderComponent: React.FC<{
7
- readonly Component?: React.ComponentType | React.ComponentType[];
8
7
  readonly clientProps?: object;
8
+ readonly Component?: React.ComponentType | React.ComponentType[];
9
9
  readonly mappedComponent?: MappedComponent | MappedComponent[];
10
10
  readonly serverProps?: object;
11
11
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"RenderComponent.d.ts","sourceRoot":"","sources":["../../../src/providers/Config/RenderComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,EAAE,CAAA;IAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAAA;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B,CA0EA,CAAA"}
1
+ {"version":3,"file":"RenderComponent.d.ts","sourceRoot":"","sources":["../../../src/providers/Config/RenderComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,EAAE,CAAA;IAChE,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAAA;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B,CA0EA,CAAA"}
@@ -5,16 +5,16 @@ import React from 'react';
5
5
  * Can be used to render both MappedComponents and React Components.
6
6
  */
7
7
  export const RenderComponent = ({
8
- Component,
9
8
  clientProps = {},
9
+ Component,
10
10
  mappedComponent,
11
11
  serverProps
12
12
  }) => {
13
13
  if (!mappedComponent && Component) {
14
14
  if (Array.isArray(Component)) {
15
15
  return Component.map((c, index) => /*#__PURE__*/_jsx(RenderComponent, {
16
- Component: c,
17
16
  clientProps: clientProps,
17
+ Component: c,
18
18
  serverProps: serverProps
19
19
  }, index));
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RenderComponent.js","names":["isReactServerComponentOrFunction","React","RenderComponent","Component","clientProps","mappedComponent","serverProps","Array","isArray","map","c","index","_jsx","type","RenderedComponent","props"],"sources":["../../../src/providers/Config/RenderComponent.tsx"],"sourcesContent":["import type { MappedComponent } from 'payload'\n\nimport { isReactServerComponentOrFunction } from 'payload/shared'\nimport React from 'react'\n\n/**\n * Can be used to render both MappedComponents and React Components.\n */\nexport const RenderComponent: React.FC<{\n readonly Component?: React.ComponentType | React.ComponentType[]\n readonly clientProps?: object\n readonly mappedComponent?: MappedComponent | MappedComponent[]\n readonly serverProps?: object\n}> = ({ Component, clientProps = {}, mappedComponent, serverProps }) => {\n if (!mappedComponent && Component) {\n if (Array.isArray(Component)) {\n return Component.map((c, index) => (\n <RenderComponent\n Component={c}\n clientProps={clientProps}\n key={index}\n serverProps={serverProps}\n />\n ))\n }\n\n const mappedComponent: MappedComponent = isReactServerComponentOrFunction(Component)\n ? {\n type: 'server',\n Component,\n RenderedComponent: null,\n }\n : {\n type: 'client',\n Component,\n }\n\n return (\n <RenderComponent\n clientProps={clientProps}\n mappedComponent={mappedComponent}\n serverProps={serverProps}\n />\n )\n }\n if (!mappedComponent) {\n return null\n }\n\n if (Array.isArray(mappedComponent)) {\n return mappedComponent.map((c, index) => (\n <RenderComponent\n clientProps={clientProps}\n key={index}\n mappedComponent={c}\n serverProps={serverProps}\n />\n ))\n }\n\n if (mappedComponent.type === 'empty') {\n return null\n }\n\n if (mappedComponent.RenderedComponent) {\n return mappedComponent.RenderedComponent\n }\n\n if (!mappedComponent.Component) {\n return null\n }\n\n if (mappedComponent.type === 'server') {\n if (mappedComponent.props) {\n return (\n <mappedComponent.Component {...mappedComponent.props} {...serverProps} {...clientProps} />\n )\n }\n\n return <mappedComponent.Component {...serverProps} {...clientProps} />\n }\n\n if (mappedComponent.props) {\n return <mappedComponent.Component {...mappedComponent.props} {...clientProps} />\n }\n\n return <mappedComponent.Component {...clientProps} />\n}\n"],"mappings":";AAEA,SAASA,gCAAgC,QAAQ;AACjD,OAAOC,KAAA,MAAW;AAElB;;;AAGA,OAAO,MAAMC,eAAA,GAKRA,CAAC;EAAEC,SAAS;EAAEC,WAAA,GAAc,CAAC,CAAC;EAAEC,eAAe;EAAEC;AAAW,CAAE;EACjE,IAAI,CAACD,eAAA,IAAmBF,SAAA,EAAW;IACjC,IAAII,KAAA,CAAMC,OAAO,CAACL,SAAA,GAAY;MAC5B,OAAOA,SAAA,CAAUM,GAAG,CAAC,CAACC,CAAA,EAAGC,KAAA,kBACvBC,IAAA,CAACV,eAAA;QACCC,SAAA,EAAWO,CAAA;QACXN,WAAA,EAAaA,WAAA;QAEbE,WAAA,EAAaA;SADRK,KAAA;IAIX;IAEA,MAAMN,eAAA,GAAmCL,gCAAA,CAAiCG,SAAA,IACtE;MACEU,IAAA,EAAM;MACNV,SAAA;MACAW,iBAAA,EAAmB;IACrB,IACA;MACED,IAAA,EAAM;MACNV;IACF;IAEJ,oBACES,IAAA,CAACV,eAAA;MACCE,WAAA,EAAaA,WAAA;MACbC,eAAA,EAAiBA,eAAA;MACjBC,WAAA,EAAaA;;EAGnB;EACA,IAAI,CAACD,eAAA,EAAiB;IACpB,OAAO;EACT;EAEA,IAAIE,KAAA,CAAMC,OAAO,CAACH,eAAA,GAAkB;IAClC,OAAOA,eAAA,CAAgBI,GAAG,CAAC,CAACC,CAAA,EAAGC,KAAA,kBAC7BC,IAAA,CAACV,eAAA;MACCE,WAAA,EAAaA,WAAA;MAEbC,eAAA,EAAiBK,CAAA;MACjBJ,WAAA,EAAaA;OAFRK,KAAA;EAKX;EAEA,IAAIN,eAAA,CAAgBQ,IAAI,KAAK,SAAS;IACpC,OAAO;EACT;EAEA,IAAIR,eAAA,CAAgBS,iBAAiB,EAAE;IACrC,OAAOT,eAAA,CAAgBS,iBAAiB;EAC1C;EAEA,IAAI,CAACT,eAAA,CAAgBF,SAAS,EAAE;IAC9B,OAAO;EACT;EAEA,IAAIE,eAAA,CAAgBQ,IAAI,KAAK,UAAU;IACrC,IAAIR,eAAA,CAAgBU,KAAK,EAAE;MACzB,oBACEH,IAAA,CAACP,eAAA,CAAgBF,SAAS;QAAE,GAAGE,eAAA,CAAgBU,KAAK;QAAG,GAAGT,WAAW;QAAG,GAAGF;;IAE/E;IAEA,oBAAOQ,IAAA,CAACP,eAAA,CAAgBF,SAAS;MAAE,GAAGG,WAAW;MAAG,GAAGF;;EACzD;EAEA,IAAIC,eAAA,CAAgBU,KAAK,EAAE;IACzB,oBAAOH,IAAA,CAACP,eAAA,CAAgBF,SAAS;MAAE,GAAGE,eAAA,CAAgBU,KAAK;MAAG,GAAGX;;EACnE;EAEA,oBAAOQ,IAAA,CAACP,eAAA,CAAgBF,SAAS;IAAE,GAAGC;;AACxC","ignoreList":[]}
1
+ {"version":3,"file":"RenderComponent.js","names":["isReactServerComponentOrFunction","React","RenderComponent","clientProps","Component","mappedComponent","serverProps","Array","isArray","map","c","index","_jsx","type","RenderedComponent","props"],"sources":["../../../src/providers/Config/RenderComponent.tsx"],"sourcesContent":["import type { MappedComponent } from 'payload'\n\nimport { isReactServerComponentOrFunction } from 'payload/shared'\nimport React from 'react'\n\n/**\n * Can be used to render both MappedComponents and React Components.\n */\nexport const RenderComponent: React.FC<{\n readonly clientProps?: object\n readonly Component?: React.ComponentType | React.ComponentType[]\n readonly mappedComponent?: MappedComponent | MappedComponent[]\n readonly serverProps?: object\n}> = ({ clientProps = {}, Component, mappedComponent, serverProps }) => {\n if (!mappedComponent && Component) {\n if (Array.isArray(Component)) {\n return Component.map((c, index) => (\n <RenderComponent\n clientProps={clientProps}\n Component={c}\n key={index}\n serverProps={serverProps}\n />\n ))\n }\n\n const mappedComponent: MappedComponent = isReactServerComponentOrFunction(Component)\n ? {\n type: 'server',\n Component,\n RenderedComponent: null,\n }\n : {\n type: 'client',\n Component,\n }\n\n return (\n <RenderComponent\n clientProps={clientProps}\n mappedComponent={mappedComponent}\n serverProps={serverProps}\n />\n )\n }\n if (!mappedComponent) {\n return null\n }\n\n if (Array.isArray(mappedComponent)) {\n return mappedComponent.map((c, index) => (\n <RenderComponent\n clientProps={clientProps}\n key={index}\n mappedComponent={c}\n serverProps={serverProps}\n />\n ))\n }\n\n if (mappedComponent.type === 'empty') {\n return null\n }\n\n if (mappedComponent.RenderedComponent) {\n return mappedComponent.RenderedComponent\n }\n\n if (!mappedComponent.Component) {\n return null\n }\n\n if (mappedComponent.type === 'server') {\n if (mappedComponent.props) {\n return (\n <mappedComponent.Component {...mappedComponent.props} {...serverProps} {...clientProps} />\n )\n }\n\n return <mappedComponent.Component {...serverProps} {...clientProps} />\n }\n\n if (mappedComponent.props) {\n return <mappedComponent.Component {...mappedComponent.props} {...clientProps} />\n }\n\n return <mappedComponent.Component {...clientProps} />\n}\n"],"mappings":";AAEA,SAASA,gCAAgC,QAAQ;AACjD,OAAOC,KAAA,MAAW;AAElB;;;AAGA,OAAO,MAAMC,eAAA,GAKRA,CAAC;EAAEC,WAAA,GAAc,CAAC,CAAC;EAAEC,SAAS;EAAEC,eAAe;EAAEC;AAAW,CAAE;EACjE,IAAI,CAACD,eAAA,IAAmBD,SAAA,EAAW;IACjC,IAAIG,KAAA,CAAMC,OAAO,CAACJ,SAAA,GAAY;MAC5B,OAAOA,SAAA,CAAUK,GAAG,CAAC,CAACC,CAAA,EAAGC,KAAA,kBACvBC,IAAA,CAACV,eAAA;QACCC,WAAA,EAAaA,WAAA;QACbC,SAAA,EAAWM,CAAA;QAEXJ,WAAA,EAAaA;SADRK,KAAA;IAIX;IAEA,MAAMN,eAAA,GAAmCL,gCAAA,CAAiCI,SAAA,IACtE;MACES,IAAA,EAAM;MACNT,SAAA;MACAU,iBAAA,EAAmB;IACrB,IACA;MACED,IAAA,EAAM;MACNT;IACF;IAEJ,oBACEQ,IAAA,CAACV,eAAA;MACCC,WAAA,EAAaA,WAAA;MACbE,eAAA,EAAiBA,eAAA;MACjBC,WAAA,EAAaA;;EAGnB;EACA,IAAI,CAACD,eAAA,EAAiB;IACpB,OAAO;EACT;EAEA,IAAIE,KAAA,CAAMC,OAAO,CAACH,eAAA,GAAkB;IAClC,OAAOA,eAAA,CAAgBI,GAAG,CAAC,CAACC,CAAA,EAAGC,KAAA,kBAC7BC,IAAA,CAACV,eAAA;MACCC,WAAA,EAAaA,WAAA;MAEbE,eAAA,EAAiBK,CAAA;MACjBJ,WAAA,EAAaA;OAFRK,KAAA;EAKX;EAEA,IAAIN,eAAA,CAAgBQ,IAAI,KAAK,SAAS;IACpC,OAAO;EACT;EAEA,IAAIR,eAAA,CAAgBS,iBAAiB,EAAE;IACrC,OAAOT,eAAA,CAAgBS,iBAAiB;EAC1C;EAEA,IAAI,CAACT,eAAA,CAAgBD,SAAS,EAAE;IAC9B,OAAO;EACT;EAEA,IAAIC,eAAA,CAAgBQ,IAAI,KAAK,UAAU;IACrC,IAAIR,eAAA,CAAgBU,KAAK,EAAE;MACzB,oBACEH,IAAA,CAACP,eAAA,CAAgBD,SAAS;QAAE,GAAGC,eAAA,CAAgBU,KAAK;QAAG,GAAGT,WAAW;QAAG,GAAGH;;IAE/E;IAEA,oBAAOS,IAAA,CAACP,eAAA,CAAgBD,SAAS;MAAE,GAAGE,WAAW;MAAG,GAAGH;;EACzD;EAEA,IAAIE,eAAA,CAAgBU,KAAK,EAAE;IACzB,oBAAOH,IAAA,CAACP,eAAA,CAAgBD,SAAS;MAAE,GAAGC,eAAA,CAAgBU,KAAK;MAAG,GAAGZ;;EACnE;EAEA,oBAAOS,IAAA,CAACP,eAAA,CAAgBD,SAAS;IAAE,GAAGD;;AACxC","ignoreList":[]}
@@ -1,22 +1,22 @@
1
1
  import type { I18nClient } from '@payloadcms/translations';
2
2
  import type { AdminViewProps, ClientCollectionConfig, CreateMappedComponent, EditViewProps, ImportMap, Payload, SanitizedCollectionConfig } from 'payload';
3
3
  import type React from 'react';
4
- export declare const createClientCollectionConfig: ({ DefaultEditView, DefaultListView, clientCollection, collection, createMappedComponent, i18n, importMap, payload, }: {
5
- DefaultEditView: React.FC<EditViewProps>;
6
- DefaultListView: React.FC<AdminViewProps>;
4
+ export declare const createClientCollectionConfig: ({ clientCollection, collection, createMappedComponent, DefaultEditView, DefaultListView, i18n, importMap, payload, }: {
7
5
  clientCollection: ClientCollectionConfig;
8
6
  collection: SanitizedCollectionConfig;
9
7
  createMappedComponent: CreateMappedComponent;
8
+ DefaultEditView: React.FC<EditViewProps>;
9
+ DefaultListView: React.FC<AdminViewProps>;
10
10
  i18n: I18nClient;
11
11
  importMap: ImportMap;
12
12
  payload: Payload;
13
13
  }) => ClientCollectionConfig;
14
- export declare const createClientCollectionConfigs: ({ DefaultEditView, DefaultListView, clientCollections, collections, createMappedComponent, i18n, importMap, payload, }: {
15
- DefaultEditView: React.FC<EditViewProps>;
16
- DefaultListView: React.FC<AdminViewProps>;
14
+ export declare const createClientCollectionConfigs: ({ clientCollections, collections, createMappedComponent, DefaultEditView, DefaultListView, i18n, importMap, payload, }: {
17
15
  clientCollections: ClientCollectionConfig[];
18
16
  collections: SanitizedCollectionConfig[];
19
17
  createMappedComponent: CreateMappedComponent;
18
+ DefaultEditView: React.FC<EditViewProps>;
19
+ DefaultListView: React.FC<AdminViewProps>;
20
20
  i18n: I18nClient;
21
21
  importMap: ImportMap;
22
22
  payload: Payload;
@@ -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,EAG1B,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,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,sBAiUH,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,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,UAAU,EAAE,yBAAyB,CAAA;IACrC,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,sBAoTH,CAAA;AAED,eAAO,MAAM,6BAA6B,2HASvC;IACD,iBAAiB,EAAE,sBAAsB,EAAE,CAAA;IAC3C,WAAW,EAAE,yBAAyB,EAAE,CAAA;IACxC,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,sBAAsB,EAiBzB,CAAA"}
@@ -1,11 +1,14 @@
1
1
  import { deepCopyObjectSimple } from 'payload';
2
2
  import { createClientFields } from './fields.js';
3
+ const serverOnlyCollectionProperties = ['hooks', 'access', 'endpoints', 'custom'];
4
+ const serverOnlyUploadProperties = ['adminThumbnail', 'externalFileHeaderFilter', 'handlers', 'modifyResponseHeaders', 'withMetadata'];
5
+ const serverOnlyCollectionAdminProperties = ['hidden', 'preview'];
3
6
  export const createClientCollectionConfig = ({
4
- DefaultEditView,
5
- DefaultListView,
6
7
  clientCollection,
7
8
  collection,
8
9
  createMappedComponent,
10
+ DefaultEditView,
11
+ DefaultListView,
9
12
  i18n,
10
13
  importMap,
11
14
  payload
@@ -18,23 +21,25 @@ export const createClientCollectionConfig = ({
18
21
  importMap,
19
22
  payload
20
23
  });
21
- const serverOnlyCollectionProperties = ['hooks', 'access', 'endpoints', 'custom'];
22
24
  serverOnlyCollectionProperties.forEach(key => {
23
25
  if (key in clientCollection) {
24
26
  delete clientCollection[key];
25
27
  }
26
28
  });
27
29
  if ('upload' in clientCollection && typeof clientCollection.upload === 'object') {
28
- delete clientCollection.upload.handlers;
29
- delete clientCollection.upload.adminThumbnail;
30
- delete clientCollection.upload.externalFileHeaderFilter;
31
- delete clientCollection.upload.withMetadata;
30
+ serverOnlyUploadProperties.forEach(key => {
31
+ if (key in clientCollection.upload) {
32
+ delete clientCollection.upload[key];
33
+ }
34
+ });
32
35
  if ('imageSizes' in clientCollection.upload && clientCollection.upload.imageSizes.length) {
33
36
  clientCollection.upload.imageSizes = clientCollection.upload.imageSizes.map(size => {
34
37
  const sanitizedSize = {
35
38
  ...size
36
39
  };
37
- if ('generateImageName' in sanitizedSize) delete sanitizedSize.generateImageName;
40
+ if ('generateImageName' in sanitizedSize) {
41
+ delete sanitizedSize.generateImageName;
42
+ }
38
43
  return sanitizedSize;
39
44
  });
40
45
  }
@@ -53,7 +58,6 @@ export const createClientCollectionConfig = ({
53
58
  }
54
59
  });
55
60
  }
56
- const serverOnlyCollectionAdminProperties = ['hidden', 'preview'];
57
61
  serverOnlyCollectionAdminProperties.forEach(key => {
58
62
  if (key in clientCollection.admin) {
59
63
  delete clientCollection.admin[key];
@@ -161,11 +165,11 @@ export const createClientCollectionConfig = ({
161
165
  return clientCollection;
162
166
  };
163
167
  export const createClientCollectionConfigs = ({
164
- DefaultEditView,
165
- DefaultListView,
166
168
  clientCollections,
167
169
  collections,
168
170
  createMappedComponent,
171
+ DefaultEditView,
172
+ DefaultListView,
169
173
  i18n,
170
174
  importMap,
171
175
  payload
@@ -174,11 +178,11 @@ export const createClientCollectionConfigs = ({
174
178
  const collection = collections[i];
175
179
  const clientCollection = clientCollections[i];
176
180
  clientCollections[i] = createClientCollectionConfig({
177
- DefaultEditView,
178
- DefaultListView,
179
181
  clientCollection,
180
182
  collection,
181
183
  createMappedComponent,
184
+ DefaultEditView,
185
+ DefaultListView,
182
186
  i18n,
183
187
  importMap,
184
188
  payload
@@ -1 +1 @@
1
- {"version":3,"file":"collections.js","names":["deepCopyObjectSimple","createClientFields","createClientCollectionConfig","DefaultEditView","DefaultListView","clientCollection","collection","createMappedComponent","i18n","importMap","payload","fields","clientFields","serverOnlyCollectionProperties","forEach","key","upload","handlers","adminThumbnail","externalFileHeaderFilter","withMetadata","imageSizes","length","map","size","sanitizedSize","generateImageName","auth","strategies","forgotPassword","verify","labels","Object","entries","labelType","collectionLabel","t","serverOnlyCollectionAdminProperties","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} from 'payload'\nimport type React from 'react'\n\nimport { deepCopyObjectSimple } from 'payload'\n\nimport { createClientFields } from './fields.js'\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 const serverOnlyCollectionProperties: Partial<ServerOnlyCollectionProperties>[] = [\n 'hooks',\n 'access',\n 'endpoints',\n 'custom',\n // `upload`\n // `admin`\n // are all handled separately\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 delete clientCollection.upload.handlers\n delete clientCollection.upload.adminThumbnail\n delete clientCollection.upload.externalFileHeaderFilter\n delete clientCollection.upload.withMetadata\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 const serverOnlyCollectionAdminProperties: Partial<ServerOnlyCollectionAdminProperties>[] = [\n 'hidden',\n 'preview',\n // `livePreview` is handled separately\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","clientCollection","collection","createMappedComponent","DefaultEditView","DefaultListView","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 clientCollection,\n collection,\n createMappedComponent,\n DefaultEditView,\n DefaultListView,\n i18n,\n importMap,\n payload,\n}: {\n clientCollection: ClientCollectionConfig\n collection: SanitizedCollectionConfig\n createMappedComponent: CreateMappedComponent\n DefaultEditView: React.FC<EditViewProps>\n DefaultListView: React.FC<AdminViewProps>\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 clientCollections,\n collections,\n createMappedComponent,\n DefaultEditView,\n DefaultListView,\n i18n,\n importMap,\n payload,\n}: {\n clientCollections: ClientCollectionConfig[]\n collections: SanitizedCollectionConfig[]\n createMappedComponent: CreateMappedComponent\n DefaultEditView: React.FC<EditViewProps>\n DefaultListView: React.FC<AdminViewProps>\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 clientCollection,\n collection,\n createMappedComponent,\n DefaultEditView,\n DefaultListView,\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":"fields.d.ts","sourceRoot":"","sources":["../../../../src/providers/Config/createClientConfig/fields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAKV,WAAW,EACX,qBAAqB,EACrB,KAAK,EAGL,SAAS,EAGT,OAAO,EAUR,MAAM,SAAS,CAAA;AAkBhB,eAAO,MAAM,iBAAiB,wGAQ3B;IACD,WAAW,EAAE,WAAW,CAAA;IACxB,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,KAAK,EAAE,KAAK,CAAA;IACZ,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,WA6aH,CAAA;AAED,eAAO,MAAM,kBAAkB,4GAS5B;IACD,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,WAAW,EAyCd,CAAA"}
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../src/providers/Config/createClientConfig/fields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAKV,WAAW,EACX,qBAAqB,EACrB,KAAK,EAGL,SAAS,EAGT,OAAO,EAWR,MAAM,SAAS,CAAA;AAkBhB,eAAO,MAAM,iBAAiB,wGAQ3B;IACD,WAAW,EAAE,WAAW,CAAA;IACxB,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,KAAK,EAAE,KAAK,CAAA;IACZ,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,WA6cH,CAAA;AAED,eAAO,MAAM,kBAAkB,4GAS5B;IACD,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,WAAW,EAyCd,CAAA"}
@@ -42,9 +42,25 @@ export const createClientField = ({
42
42
  const CustomLabel = 'admin' in incomingField && 'components' in incomingField.admin && 'Label' in incomingField.admin.components && incomingField.admin.components.Label;
43
43
  const serverProps = {
44
44
  serverProps: {
45
+ clientField: undefined,
45
46
  field: incomingField
46
47
  }
47
48
  };
49
+ if ('admin' in incomingField && 'width' in incomingField.admin) {
50
+ clientField.admin.style = {
51
+ ...clientField.admin.style,
52
+ '--field-width': clientField.admin.width,
53
+ width: undefined
54
+ };
55
+ } else {
56
+ if (!(clientField.admin instanceof Object)) {
57
+ clientField.admin = {};
58
+ }
59
+ if (!(clientField.admin.style instanceof Object)) {
60
+ clientField.admin.style = {};
61
+ }
62
+ clientField.admin.style.flex = '1 1 auto';
63
+ }
48
64
  switch (incomingField.type) {
49
65
  case 'array':
50
66
  case 'group':
@@ -223,6 +239,12 @@ export const createClientField = ({
223
239
  delete clientField.admin[key];
224
240
  }
225
241
  });
242
+ const fieldServerProps = {
243
+ serverProps: {
244
+ clientField,
245
+ field: incomingField
246
+ }
247
+ };
226
248
  if (incomingField.admin && 'description' in incomingField.admin) {
227
249
  if (typeof incomingField.admin?.description === 'string' || typeof incomingField.admin?.description === 'object') {
228
250
  clientField.admin.description = incomingField.admin.description;
@@ -233,28 +255,28 @@ export const createClientField = ({
233
255
  }
234
256
  }
235
257
  if (incomingField?.admin?.components?.Cell !== undefined) {
236
- clientField.admin.components.Cell = createMappedComponent(incomingField.admin.components.Cell, serverProps, undefined, 'incomingField.admin.components.Cell');
258
+ clientField.admin.components.Cell = createMappedComponent(incomingField.admin.components.Cell, fieldServerProps, undefined, 'incomingField.admin.components.Cell');
237
259
  }
238
260
  if (incomingField?.admin?.components && 'Description' in incomingField.admin.components && incomingField?.admin?.components?.Description !== undefined) {
239
- clientField.admin.components.Description = createMappedComponent(incomingField.admin.components.Description, serverProps, undefined, 'incomingField.admin.components.Description');
261
+ clientField.admin.components.Description = createMappedComponent(incomingField.admin.components.Description, fieldServerProps, undefined, 'incomingField.admin.components.Description');
240
262
  }
241
263
  if (incomingField?.admin?.components && 'Error' in incomingField.admin.components && incomingField.admin.components.Error !== undefined) {
242
- clientField.admin.components.Error = createMappedComponent(incomingField.admin.components.Error, serverProps, undefined, 'incomingField.admin.components.Error');
264
+ clientField.admin.components.Error = createMappedComponent(incomingField.admin.components.Error, fieldServerProps, undefined, 'incomingField.admin.components.Error');
243
265
  }
244
266
  if (incomingField?.admin?.components?.Field !== undefined) {
245
- clientField.admin.components.Field = createMappedComponent(incomingField.admin.components.Field, serverProps, undefined, 'incomingField.admin.components.Field');
267
+ clientField.admin.components.Field = createMappedComponent(incomingField.admin.components.Field, fieldServerProps, undefined, 'incomingField.admin.components.Field');
246
268
  }
247
269
  if (incomingField?.admin?.components && 'Filter' in incomingField.admin.components && incomingField.admin.components.Filter !== undefined) {
248
- clientField.admin.components.Filter = createMappedComponent(incomingField.admin.components.Filter, serverProps, undefined, 'incomingField.admin.components.Filter');
270
+ clientField.admin.components.Filter = createMappedComponent(incomingField.admin.components.Filter, fieldServerProps, undefined, 'incomingField.admin.components.Filter');
249
271
  }
250
272
  if (incomingField?.admin?.components && 'Label' in incomingField.admin.components && incomingField.admin.components.Label !== undefined) {
251
- clientField.admin.components.Label = createMappedComponent(CustomLabel, serverProps, undefined, 'incomingField.admin.components.Label');
273
+ clientField.admin.components.Label = createMappedComponent(CustomLabel, fieldServerProps, undefined, 'incomingField.admin.components.Label');
252
274
  }
253
275
  if (incomingField?.admin?.components && 'beforeInput' in incomingField.admin.components && incomingField.admin.components.beforeInput !== undefined) {
254
- clientField.admin.components.beforeInput = createMappedComponent(incomingField.admin?.components?.beforeInput, serverProps, undefined, 'incomingField.admin.components.beforeInput');
276
+ clientField.admin.components.beforeInput = createMappedComponent(incomingField.admin?.components?.beforeInput, fieldServerProps, undefined, 'incomingField.admin.components.beforeInput');
255
277
  }
256
278
  if (incomingField?.admin?.components && 'afterInput' in incomingField.admin.components && incomingField.admin.components.afterInput !== undefined) {
257
- clientField.admin.components.afterInput = createMappedComponent(incomingField.admin?.components?.afterInput, serverProps, undefined, 'incomingField.admin.components.afterInput');
279
+ clientField.admin.components.afterInput = createMappedComponent(incomingField.admin?.components?.afterInput, fieldServerProps, undefined, 'incomingField.admin.components.afterInput');
258
280
  }
259
281
  return clientField;
260
282
  };
@@ -281,9 +303,7 @@ export const createClientFields = ({
281
303
  payload
282
304
  });
283
305
  if (newField) {
284
- newClientFields.push({
285
- ...newField
286
- });
306
+ newClientFields.push(newField);
287
307
  }
288
308
  }
289
309
  const hasID = newClientFields.findIndex(f => fieldAffectsData(f) && f.name === 'id') > -1;