@payloadcms/ui 3.0.0-canary.a0b06af → 3.0.0-canary.ac498e7

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 (446) hide show
  1. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  2. package/dist/elements/AppHeader/index.js +5 -1
  3. package/dist/elements/AppHeader/index.js.map +1 -1
  4. package/dist/elements/ArrayAction/index.d.ts +1 -1
  5. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  6. package/dist/elements/ArrayAction/index.js +1 -1
  7. package/dist/elements/ArrayAction/index.js.map +1 -1
  8. package/dist/elements/Autosave/index.d.ts.map +1 -1
  9. package/dist/elements/Autosave/index.js +53 -28
  10. package/dist/elements/Autosave/index.js.map +1 -1
  11. package/dist/elements/Banner/index.scss +4 -4
  12. package/dist/elements/CodeEditor/types.d.ts +2 -2
  13. package/dist/elements/CodeEditor/types.d.ts.map +1 -1
  14. package/dist/elements/CodeEditor/types.js.map +1 -1
  15. package/dist/elements/Collapsible/index.d.ts +1 -1
  16. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  17. package/dist/elements/Collapsible/index.js +1 -1
  18. package/dist/elements/Collapsible/index.js.map +1 -1
  19. package/dist/elements/Collapsible/index.scss +13 -47
  20. package/dist/elements/DatePicker/index.scss +3 -1
  21. package/dist/elements/DatePicker/types.d.ts +2 -2
  22. package/dist/elements/DatePicker/types.d.ts.map +1 -1
  23. package/dist/elements/DatePicker/types.js.map +1 -1
  24. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  25. package/dist/elements/DeleteDocument/index.js +7 -3
  26. package/dist/elements/DeleteDocument/index.js.map +1 -1
  27. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  28. package/dist/elements/DocumentControls/index.js +5 -1
  29. package/dist/elements/DocumentControls/index.js.map +1 -1
  30. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  31. package/dist/elements/DocumentDrawer/DrawerContent.js +0 -6
  32. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  33. package/dist/elements/DocumentDrawer/types.d.ts +4 -4
  34. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  35. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  36. package/dist/elements/DocumentFields/index.d.ts +1 -2
  37. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  38. package/dist/elements/DocumentFields/index.js +46 -48
  39. package/dist/elements/DocumentFields/index.js.map +1 -1
  40. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts +2 -2
  41. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
  42. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  43. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +4 -4
  44. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
  45. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  46. package/dist/elements/Drawer/types.d.ts +2 -2
  47. package/dist/elements/Drawer/types.d.ts.map +1 -1
  48. package/dist/elements/Drawer/types.js.map +1 -1
  49. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  50. package/dist/elements/DuplicateDocument/index.js +10 -6
  51. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  52. package/dist/elements/EditMany/index.d.ts +1 -2
  53. package/dist/elements/EditMany/index.d.ts.map +1 -1
  54. package/dist/elements/EditMany/index.js.map +1 -1
  55. package/dist/elements/EditUpload/index.d.ts +3 -6
  56. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  57. package/dist/elements/EditUpload/index.js +20 -25
  58. package/dist/elements/EditUpload/index.js.map +1 -1
  59. package/dist/elements/ErrorPill/index.scss +2 -14
  60. package/dist/elements/FieldSelect/index.d.ts +1 -2
  61. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  62. package/dist/elements/FieldSelect/index.js.map +1 -1
  63. package/dist/elements/FileDetails/index.d.ts +2 -2
  64. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  65. package/dist/elements/FileDetails/index.js.map +1 -1
  66. package/dist/elements/GenerateConfirmation/index.scss +1 -0
  67. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts +1 -1
  68. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
  69. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  70. package/dist/elements/ListControls/index.d.ts +1 -2
  71. package/dist/elements/ListControls/index.d.ts.map +1 -1
  72. package/dist/elements/ListControls/index.js +38 -3
  73. package/dist/elements/ListControls/index.js.map +1 -1
  74. package/dist/elements/ListDrawer/types.d.ts +2 -2
  75. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  76. package/dist/elements/ListDrawer/types.js.map +1 -1
  77. package/dist/elements/Localizer/index.d.ts.map +1 -1
  78. package/dist/elements/Localizer/index.js +6 -13
  79. package/dist/elements/Localizer/index.js.map +1 -1
  80. package/dist/elements/Logout/index.d.ts.map +1 -1
  81. package/dist/elements/Logout/index.js +6 -3
  82. package/dist/elements/Logout/index.js.map +1 -1
  83. package/dist/elements/Pill/index.d.ts +2 -2
  84. package/dist/elements/Pill/index.d.ts.map +1 -1
  85. package/dist/elements/Pill/index.js.map +1 -1
  86. package/dist/elements/Pill/index.scss +9 -21
  87. package/dist/elements/PreviewSizes/index.d.ts +4 -4
  88. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  89. package/dist/elements/PreviewSizes/index.js.map +1 -1
  90. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  91. package/dist/elements/PublishButton/index.js +16 -0
  92. package/dist/elements/PublishButton/index.js.map +1 -1
  93. package/dist/elements/ReactSelect/Control/index.js +0 -1
  94. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  95. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts +2 -2
  96. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  97. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  98. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts +2 -2
  99. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts.map +1 -1
  100. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  101. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  102. package/dist/elements/ReactSelect/index.js +0 -1
  103. package/dist/elements/ReactSelect/index.js.map +1 -1
  104. package/dist/elements/ReactSelect/index.scss +9 -2
  105. package/dist/elements/ReactSelect/types.d.ts +1 -1
  106. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  107. package/dist/elements/ReactSelect/types.js.map +1 -1
  108. package/dist/elements/SearchFilter/index.d.ts +5 -3
  109. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  110. package/dist/elements/SearchFilter/index.js +14 -53
  111. package/dist/elements/SearchFilter/index.js.map +1 -1
  112. package/dist/elements/SortColumn/index.d.ts +2 -2
  113. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  114. package/dist/elements/SortColumn/index.js.map +1 -1
  115. package/dist/elements/Status/index.scss +1 -0
  116. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  117. package/dist/elements/StayLoggedIn/index.js +6 -2
  118. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  119. package/dist/elements/StepNav/types.d.ts +2 -2
  120. package/dist/elements/StepNav/types.d.ts.map +1 -1
  121. package/dist/elements/StepNav/types.js.map +1 -1
  122. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  123. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +0 -1
  124. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  125. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  126. package/dist/elements/Table/DefaultCell/index.js +5 -1
  127. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  128. package/dist/elements/Table/index.d.ts +1 -2
  129. package/dist/elements/Table/index.d.ts.map +1 -1
  130. package/dist/elements/Table/index.js.map +1 -1
  131. package/dist/elements/TableColumns/buildColumnState.d.ts +1 -2
  132. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  133. package/dist/elements/TableColumns/buildColumnState.js +0 -1
  134. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  135. package/dist/elements/TableColumns/filterFields.d.ts +1 -1
  136. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
  137. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  138. package/dist/elements/TableColumns/getInitialColumns.d.ts +1 -1
  139. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
  140. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  141. package/dist/elements/ThumbnailCard/index.d.ts +2 -2
  142. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  143. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  144. package/dist/elements/Upload/index.d.ts.map +1 -1
  145. package/dist/elements/Upload/index.js +13 -28
  146. package/dist/elements/Upload/index.js.map +1 -1
  147. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  148. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +11 -5
  149. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  150. package/dist/elements/WhereBuilder/Condition/Relationship/index.scss +2 -2
  151. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  152. package/dist/elements/WhereBuilder/Condition/index.js +4 -2
  153. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  154. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +1 -1
  155. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -1
  156. package/dist/elements/WhereBuilder/reduceFieldMap.js +3 -3
  157. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
  158. package/dist/elements/WhereBuilder/types.d.ts +1 -2
  159. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  160. package/dist/elements/WhereBuilder/types.js.map +1 -1
  161. package/dist/elements/WhereBuilder/validateWhereQuery.js +0 -1
  162. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
  163. package/dist/elements/withMergedProps/index.js +8 -2
  164. package/dist/elements/withMergedProps/index.js.map +1 -1
  165. package/dist/exports/client/index.d.ts +6 -7
  166. package/dist/exports/client/index.d.ts.map +1 -1
  167. package/dist/exports/client/index.js +18 -18
  168. package/dist/exports/client/index.js.map +4 -4
  169. package/dist/exports/shared/index.d.ts +1 -0
  170. package/dist/exports/shared/index.d.ts.map +1 -1
  171. package/dist/exports/shared/index.js +2 -2
  172. package/dist/exports/shared/index.js.map +4 -4
  173. package/dist/fields/Array/ArrayRow.d.ts +4 -5
  174. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  175. package/dist/fields/Array/ArrayRow.js.map +1 -1
  176. package/dist/fields/Array/index.d.ts +1 -14
  177. package/dist/fields/Array/index.d.ts.map +1 -1
  178. package/dist/fields/Array/index.js +3 -1
  179. package/dist/fields/Array/index.js.map +1 -1
  180. package/dist/fields/Blocks/BlockRow.d.ts +4 -5
  181. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  182. package/dist/fields/Blocks/BlockRow.js +5 -1
  183. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  184. package/dist/fields/Blocks/BlocksDrawer/index.d.ts +2 -3
  185. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  186. package/dist/fields/Blocks/BlocksDrawer/index.js +1 -1
  187. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  188. package/dist/fields/Blocks/RowActions.d.ts +2 -3
  189. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  190. package/dist/fields/Blocks/RowActions.js +1 -1
  191. package/dist/fields/Blocks/RowActions.js.map +1 -1
  192. package/dist/fields/Blocks/index.d.ts +1 -14
  193. package/dist/fields/Blocks/index.d.ts.map +1 -1
  194. package/dist/fields/Blocks/index.js +2 -2
  195. package/dist/fields/Blocks/index.js.map +1 -1
  196. package/dist/fields/Checkbox/Input.d.ts +1 -1
  197. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  198. package/dist/fields/Checkbox/Input.js.map +1 -1
  199. package/dist/fields/Checkbox/index.d.ts +1 -1
  200. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  201. package/dist/fields/Checkbox/index.js +4 -3
  202. package/dist/fields/Checkbox/index.js.map +1 -1
  203. package/dist/fields/Checkbox/index.scss +2 -1
  204. package/dist/fields/Code/index.d.ts +1 -9
  205. package/dist/fields/Code/index.d.ts.map +1 -1
  206. package/dist/fields/Code/index.js +3 -3
  207. package/dist/fields/Code/index.js.map +1 -1
  208. package/dist/fields/Code/index.scss +3 -21
  209. package/dist/fields/Collapsible/index.d.ts +1 -7
  210. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  211. package/dist/fields/Collapsible/index.js +2 -2
  212. package/dist/fields/Collapsible/index.js.map +1 -1
  213. package/dist/fields/Collapsible/index.scss +0 -4
  214. package/dist/fields/DateTime/index.d.ts +1 -9
  215. package/dist/fields/DateTime/index.d.ts.map +1 -1
  216. package/dist/fields/DateTime/index.js +3 -3
  217. package/dist/fields/DateTime/index.js.map +1 -1
  218. package/dist/fields/Email/index.d.ts +1 -9
  219. package/dist/fields/Email/index.d.ts.map +1 -1
  220. package/dist/fields/Email/index.js +2 -2
  221. package/dist/fields/Email/index.js.map +1 -1
  222. package/dist/fields/FieldDescription/index.d.ts +2 -2
  223. package/dist/fields/FieldDescription/index.d.ts.map +1 -1
  224. package/dist/fields/FieldDescription/index.js.map +1 -1
  225. package/dist/fields/FieldError/index.d.ts +2 -2
  226. package/dist/fields/FieldError/index.d.ts.map +1 -1
  227. package/dist/fields/FieldError/index.js.map +1 -1
  228. package/dist/fields/FieldError/index.scss +6 -5
  229. package/dist/fields/FieldLabel/index.d.ts +2 -2
  230. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  231. package/dist/fields/FieldLabel/index.js.map +1 -1
  232. package/dist/fields/Group/index.d.ts +2 -10
  233. package/dist/fields/Group/index.d.ts.map +1 -1
  234. package/dist/fields/Group/index.js +2 -2
  235. package/dist/fields/Group/index.js.map +1 -1
  236. package/dist/fields/Hidden/index.d.ts +2 -9
  237. package/dist/fields/Hidden/index.d.ts.map +1 -1
  238. package/dist/fields/Hidden/index.js +2 -2
  239. package/dist/fields/Hidden/index.js.map +1 -1
  240. package/dist/fields/JSON/index.d.ts +1 -9
  241. package/dist/fields/JSON/index.d.ts.map +1 -1
  242. package/dist/fields/JSON/index.js +2 -7
  243. package/dist/fields/JSON/index.js.map +1 -1
  244. package/dist/fields/JSON/index.scss +6 -25
  245. package/dist/fields/Number/index.d.ts +1 -14
  246. package/dist/fields/Number/index.d.ts.map +1 -1
  247. package/dist/fields/Number/index.js +3 -5
  248. package/dist/fields/Number/index.js.map +1 -1
  249. package/dist/fields/Password/index.d.ts +3 -4
  250. package/dist/fields/Password/index.d.ts.map +1 -1
  251. package/dist/fields/Password/index.js +2 -2
  252. package/dist/fields/Password/index.js.map +1 -1
  253. package/dist/fields/Point/index.d.ts +2 -9
  254. package/dist/fields/Point/index.d.ts.map +1 -1
  255. package/dist/fields/Point/index.js +8 -8
  256. package/dist/fields/Point/index.js.map +1 -1
  257. package/dist/fields/Point/index.scss +4 -0
  258. package/dist/fields/RadioGroup/Radio/index.d.ts +2 -3
  259. package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  260. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  261. package/dist/fields/RadioGroup/index.d.ts +1 -12
  262. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  263. package/dist/fields/RadioGroup/index.js +9 -8
  264. package/dist/fields/RadioGroup/index.js.map +1 -1
  265. package/dist/fields/RadioGroup/index.scss +7 -0
  266. package/dist/fields/Relationship/index.d.ts +1 -2
  267. package/dist/fields/Relationship/index.d.ts.map +1 -1
  268. package/dist/fields/Relationship/index.js +2 -2
  269. package/dist/fields/Relationship/index.js.map +1 -1
  270. package/dist/fields/Relationship/index.scss +2 -2
  271. package/dist/fields/Relationship/types.d.ts +1 -11
  272. package/dist/fields/Relationship/types.d.ts.map +1 -1
  273. package/dist/fields/Relationship/types.js.map +1 -1
  274. package/dist/fields/RichText/index.d.ts +2 -8
  275. package/dist/fields/RichText/index.d.ts.map +1 -1
  276. package/dist/fields/RichText/index.js.map +1 -1
  277. package/dist/fields/Row/index.d.ts +1 -2
  278. package/dist/fields/Row/index.d.ts.map +1 -1
  279. package/dist/fields/Row/index.js +2 -2
  280. package/dist/fields/Row/index.js.map +1 -1
  281. package/dist/fields/Row/index.scss +1 -5
  282. package/dist/fields/Select/Input.d.ts +3 -4
  283. package/dist/fields/Select/Input.d.ts.map +1 -1
  284. package/dist/fields/Select/Input.js +0 -5
  285. package/dist/fields/Select/Input.js.map +1 -1
  286. package/dist/fields/Select/index.d.ts +1 -13
  287. package/dist/fields/Select/index.d.ts.map +1 -1
  288. package/dist/fields/Select/index.js +3 -3
  289. package/dist/fields/Select/index.js.map +1 -1
  290. package/dist/fields/Tabs/Tab/index.d.ts +1 -1
  291. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  292. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  293. package/dist/fields/Tabs/index.d.ts +1 -9
  294. package/dist/fields/Tabs/index.d.ts.map +1 -1
  295. package/dist/fields/Tabs/index.js +24 -24
  296. package/dist/fields/Tabs/index.js.map +1 -1
  297. package/dist/fields/Text/index.d.ts +3 -2
  298. package/dist/fields/Text/index.d.ts.map +1 -1
  299. package/dist/fields/Text/index.js +2 -2
  300. package/dist/fields/Text/index.js.map +1 -1
  301. package/dist/fields/Text/types.d.ts +3 -17
  302. package/dist/fields/Text/types.d.ts.map +1 -1
  303. package/dist/fields/Text/types.js.map +1 -1
  304. package/dist/fields/Textarea/index.d.ts +3 -2
  305. package/dist/fields/Textarea/index.d.ts.map +1 -1
  306. package/dist/fields/Textarea/index.js +3 -3
  307. package/dist/fields/Textarea/index.js.map +1 -1
  308. package/dist/fields/Textarea/types.d.ts +3 -13
  309. package/dist/fields/Textarea/types.d.ts.map +1 -1
  310. package/dist/fields/Textarea/types.js.map +1 -1
  311. package/dist/fields/Upload/Input.d.ts +7 -4
  312. package/dist/fields/Upload/Input.d.ts.map +1 -1
  313. package/dist/fields/Upload/Input.js +2 -2
  314. package/dist/fields/Upload/Input.js.map +1 -1
  315. package/dist/fields/Upload/index.d.ts +1 -1
  316. package/dist/fields/Upload/index.d.ts.map +1 -1
  317. package/dist/fields/Upload/index.js +20 -5
  318. package/dist/fields/Upload/index.js.map +1 -1
  319. package/dist/fields/shared/index.d.ts +1 -25
  320. package/dist/fields/shared/index.d.ts.map +1 -1
  321. package/dist/fields/shared/index.js.map +1 -1
  322. package/dist/forms/Form/createNestedFieldPath.d.ts +1 -2
  323. package/dist/forms/Form/createNestedFieldPath.d.ts.map +1 -1
  324. package/dist/forms/Form/createNestedFieldPath.js.map +1 -1
  325. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  326. package/dist/forms/Form/fieldReducer.js +6 -3
  327. package/dist/forms/Form/fieldReducer.js.map +1 -1
  328. package/dist/forms/Form/index.d.ts.map +1 -1
  329. package/dist/forms/Form/index.js +6 -16
  330. package/dist/forms/Form/index.js.map +1 -1
  331. package/dist/forms/Form/types.d.ts +7 -7
  332. package/dist/forms/Form/types.d.ts.map +1 -1
  333. package/dist/forms/Form/types.js.map +1 -1
  334. package/dist/forms/RenderFields/RenderField.d.ts +4 -3
  335. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  336. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  337. package/dist/forms/RenderFields/types.d.ts +1 -2
  338. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  339. package/dist/forms/RenderFields/types.js.map +1 -1
  340. package/dist/forms/RowLabel/Context/index.d.ts +2 -2
  341. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  342. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  343. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts +1 -1
  344. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  345. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  346. package/dist/forms/WatchChildErrors/index.d.ts +1 -1
  347. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  348. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  349. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  350. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +40 -19
  351. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  352. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js +1 -1
  353. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +1 -1
  354. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts +2 -2
  355. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts.map +1 -1
  356. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +1 -1
  357. package/dist/graphics/Account/index.d.ts.map +1 -1
  358. package/dist/graphics/Account/index.js +5 -1
  359. package/dist/graphics/Account/index.js.map +1 -1
  360. package/dist/hooks/useHotkey.js +1 -1
  361. package/dist/hooks/useHotkey.js.map +1 -1
  362. package/dist/hooks/useIntersect.js +1 -1
  363. package/dist/hooks/useIntersect.js.map +1 -1
  364. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  365. package/dist/hooks/usePayloadAPI.js +5 -1
  366. package/dist/hooks/usePayloadAPI.js.map +1 -1
  367. package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
  368. package/dist/hooks/useThrottledEffect.js +1 -1
  369. package/dist/hooks/useThrottledEffect.js.map +1 -1
  370. package/dist/hooks/useUseAsTitle.d.ts +1 -2
  371. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  372. package/dist/hooks/useUseAsTitle.js.map +1 -1
  373. package/dist/providers/Auth/index.d.ts +1 -1
  374. package/dist/providers/Auth/index.d.ts.map +1 -1
  375. package/dist/providers/Auth/index.js +47 -76
  376. package/dist/providers/Auth/index.js.map +1 -1
  377. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +1 -1
  378. package/dist/providers/ComponentMap/buildComponentMap/actions.js +3 -3
  379. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -1
  380. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
  381. package/dist/providers/ComponentMap/buildComponentMap/collections.js +8 -8
  382. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
  383. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +1 -2
  384. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  385. package/dist/providers/ComponentMap/buildComponentMap/fields.js +129 -95
  386. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  387. package/dist/providers/ComponentMap/buildComponentMap/index.js +2 -2
  388. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  389. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +3 -57
  390. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  391. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  392. package/dist/providers/ComponentMap/index.d.ts +2 -1
  393. package/dist/providers/ComponentMap/index.d.ts.map +1 -1
  394. package/dist/providers/ComponentMap/index.js.map +1 -1
  395. package/dist/providers/DocumentInfo/index.d.ts +2 -2
  396. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  397. package/dist/providers/DocumentInfo/index.js +58 -16
  398. package/dist/providers/DocumentInfo/index.js.map +1 -1
  399. package/dist/providers/DocumentInfo/types.d.ts +6 -6
  400. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  401. package/dist/providers/DocumentInfo/types.js.map +1 -1
  402. package/dist/providers/ListInfo/index.d.ts +2 -2
  403. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  404. package/dist/providers/ListInfo/index.js.map +1 -1
  405. package/dist/providers/ListQuery/index.d.ts +2 -2
  406. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  407. package/dist/providers/ListQuery/index.js.map +1 -1
  408. package/dist/providers/UploadEdits/index.d.ts +12 -0
  409. package/dist/providers/UploadEdits/index.d.ts.map +1 -0
  410. package/dist/providers/UploadEdits/index.js +30 -0
  411. package/dist/providers/UploadEdits/index.js.map +1 -0
  412. package/dist/styles.css +1 -1
  413. package/dist/utilities/api.d.ts +2 -2
  414. package/dist/utilities/api.d.ts.map +1 -1
  415. package/dist/utilities/api.js.map +1 -1
  416. package/dist/utilities/buildFormState.d.ts.map +1 -1
  417. package/dist/utilities/buildFormState.js +3 -4
  418. package/dist/utilities/buildFormState.js.map +1 -1
  419. package/dist/utilities/flattenFieldMap.d.ts +1 -1
  420. package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
  421. package/dist/utilities/flattenFieldMap.js.map +1 -1
  422. package/dist/utilities/formatAdminURL.d.ts +8 -0
  423. package/dist/utilities/formatAdminURL.d.ts.map +1 -0
  424. package/dist/utilities/formatAdminURL.js +15 -0
  425. package/dist/utilities/formatAdminURL.js.map +1 -0
  426. package/package.json +4 -4
  427. package/dist/fields/Checkbox/types.d.ts +0 -12
  428. package/dist/fields/Checkbox/types.d.ts.map +0 -1
  429. package/dist/fields/Checkbox/types.js +0 -3
  430. package/dist/fields/Checkbox/types.js.map +0 -1
  431. package/dist/fields/Row/types.d.ts +0 -12
  432. package/dist/fields/Row/types.d.ts.map +0 -1
  433. package/dist/fields/Row/types.js +0 -3
  434. package/dist/fields/Row/types.js.map +0 -1
  435. package/dist/fields/Upload/types.d.ts +0 -10
  436. package/dist/fields/Upload/types.d.ts.map +0 -1
  437. package/dist/fields/Upload/types.js +0 -3
  438. package/dist/fields/Upload/types.js.map +0 -1
  439. package/dist/providers/FormQueryParams/index.d.ts +0 -13
  440. package/dist/providers/FormQueryParams/index.d.ts.map +0 -1
  441. package/dist/providers/FormQueryParams/index.js +0 -53
  442. package/dist/providers/FormQueryParams/index.js.map +0 -1
  443. package/dist/providers/FormQueryParams/types.d.ts +0 -16
  444. package/dist/providers/FormQueryParams/types.d.ts.map +0 -1
  445. package/dist/providers/FormQueryParams/types.js +0 -3
  446. package/dist/providers/FormQueryParams/types.js.map +0 -1
@@ -56,7 +56,11 @@ export const usePayloadAPI = (url, options = {})=>{
56
56
  setIsLoading(false);
57
57
  }
58
58
  return ()=>{
59
- abortController.abort();
59
+ try {
60
+ abortController.abort();
61
+ } catch (error) {
62
+ // swallow error
63
+ }
60
64
  };
61
65
  }, [
62
66
  url,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/usePayloadAPI.ts"],"sourcesContent":["'use client'\nimport * as qs from 'qs-esm'\nimport { useEffect, useRef, useState } from 'react'\n\nimport { useLocale } from '../providers/Locale/index.js'\nimport { useTranslation } from '../providers/Translation/index.js'\nimport { requests } from '../utilities/api.js'\n\ntype Result = [\n {\n data: any\n isError: boolean\n isLoading: boolean\n },\n {\n setParams: React.Dispatch<unknown>\n },\n]\n\ntype Options = {\n initialData?: any\n initialParams?: unknown\n}\n\ntype UsePayloadAPI = (url: string, options?: Options) => Result\n\nexport const usePayloadAPI: UsePayloadAPI = (url, options = {}) => {\n const { initialData, initialParams = {} } = options\n\n const { i18n } = useTranslation()\n const [data, setData] = useState(initialData || {})\n const [params, setParams] = useState(initialParams)\n const [isLoading, setIsLoading] = useState(!initialData)\n const [isError, setIsError] = useState(false)\n const { code: locale } = useLocale()\n const hasInitialized = useRef(false)\n\n const search = qs.stringify(\n {\n locale,\n ...(typeof params === 'object' ? params : {}),\n },\n {\n addQueryPrefix: true,\n },\n )\n\n // If `initialData`, no need to make a request\n useEffect(() => {\n if (initialData && !hasInitialized.current) {\n hasInitialized.current = true\n return\n }\n\n const abortController = new AbortController()\n\n const fetchData = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const response = await requests.get(`${url}${search}`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n signal: abortController.signal,\n })\n\n if (response.status > 201) {\n setIsError(true)\n }\n\n const json = await response.json()\n setData(json)\n setIsLoading(false)\n } catch (error) {\n if (!abortController.signal.aborted) {\n setIsError(true)\n setIsLoading(false)\n }\n }\n }\n\n if (url) {\n void fetchData()\n } else {\n setIsError(false)\n setIsLoading(false)\n }\n\n return () => {\n abortController.abort()\n }\n }, [url, locale, search, i18n.language, initialData])\n\n // If `initialData` changes, reset the state\n useEffect(() => {\n if (initialData && hasInitialized.current) {\n setData(initialData)\n }\n }, [initialData])\n\n return [{ data, isError, isLoading }, { setParams }]\n}\n"],"names":["qs","useEffect","useRef","useState","useLocale","useTranslation","requests","usePayloadAPI","url","options","initialData","initialParams","i18n","data","setData","params","setParams","isLoading","setIsLoading","isError","setIsError","code","locale","hasInitialized","search","stringify","addQueryPrefix","current","abortController","AbortController","fetchData","response","get","headers","language","signal","status","json","error","aborted","abort"],"mappings":"AAAA;AACA,YAAYA,QAAQ,SAAQ;AAC5B,SAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAO;AAEnD,SAASC,SAAS,QAAQ,+BAA8B;AACxD,SAASC,cAAc,QAAQ,oCAAmC;AAClE,SAASC,QAAQ,QAAQ,sBAAqB;AAoB9C,OAAO,MAAMC,gBAA+B,CAACC,KAAKC,UAAU,CAAC,CAAC;IAC5D,MAAM,EAAEC,WAAW,EAAEC,gBAAgB,CAAC,CAAC,EAAE,GAAGF;IAE5C,MAAM,EAAEG,IAAI,EAAE,GAAGP;IACjB,MAAM,CAACQ,MAAMC,QAAQ,GAAGX,SAASO,eAAe,CAAC;IACjD,MAAM,CAACK,QAAQC,UAAU,GAAGb,SAASQ;IACrC,MAAM,CAACM,WAAWC,aAAa,GAAGf,SAAS,CAACO;IAC5C,MAAM,CAACS,SAASC,WAAW,GAAGjB,SAAS;IACvC,MAAM,EAAEkB,MAAMC,MAAM,EAAE,GAAGlB;IACzB,MAAMmB,iBAAiBrB,OAAO;IAE9B,MAAMsB,SAASxB,GAAGyB,SAAS,CACzB;QACEH;QACA,GAAI,OAAOP,WAAW,WAAWA,SAAS,CAAC,CAAC;IAC9C,GACA;QACEW,gBAAgB;IAClB;IAGF,8CAA8C;IAC9CzB,UAAU;QACR,IAAIS,eAAe,CAACa,eAAeI,OAAO,EAAE;YAC1CJ,eAAeI,OAAO,GAAG;YACzB;QACF;QAEA,MAAMC,kBAAkB,IAAIC;QAE5B,MAAMC,YAAY;YAChBV,WAAW;YACXF,aAAa;YAEb,IAAI;gBACF,MAAMa,WAAW,MAAMzB,SAAS0B,GAAG,CAAC,CAAC,EAAExB,IAAI,EAAEgB,OAAO,CAAC,EAAE;oBACrDS,SAAS;wBACP,mBAAmBrB,KAAKsB,QAAQ;oBAClC;oBACAC,QAAQP,gBAAgBO,MAAM;gBAChC;gBAEA,IAAIJ,SAASK,MAAM,GAAG,KAAK;oBACzBhB,WAAW;gBACb;gBAEA,MAAMiB,OAAO,MAAMN,SAASM,IAAI;gBAChCvB,QAAQuB;gBACRnB,aAAa;YACf,EAAE,OAAOoB,OAAO;gBACd,IAAI,CAACV,gBAAgBO,MAAM,CAACI,OAAO,EAAE;oBACnCnB,WAAW;oBACXF,aAAa;gBACf;YACF;QACF;QAEA,IAAIV,KAAK;YACP,KAAKsB;QACP,OAAO;YACLV,WAAW;YACXF,aAAa;QACf;QAEA,OAAO;YACLU,gBAAgBY,KAAK;QACvB;IACF,GAAG;QAAChC;QAAKc;QAAQE;QAAQZ,KAAKsB,QAAQ;QAAExB;KAAY;IAEpD,4CAA4C;IAC5CT,UAAU;QACR,IAAIS,eAAea,eAAeI,OAAO,EAAE;YACzCb,QAAQJ;QACV;IACF,GAAG;QAACA;KAAY;IAEhB,OAAO;QAAC;YAAEG;YAAMM;YAASF;QAAU;QAAG;YAAED;QAAU;KAAE;AACtD,EAAC"}
1
+ {"version":3,"sources":["../../src/hooks/usePayloadAPI.ts"],"sourcesContent":["'use client'\nimport * as qs from 'qs-esm'\nimport { useEffect, useRef, useState } from 'react'\n\nimport { useLocale } from '../providers/Locale/index.js'\nimport { useTranslation } from '../providers/Translation/index.js'\nimport { requests } from '../utilities/api.js'\n\ntype Result = [\n {\n data: any\n isError: boolean\n isLoading: boolean\n },\n {\n setParams: React.Dispatch<unknown>\n },\n]\n\ntype Options = {\n initialData?: any\n initialParams?: unknown\n}\n\ntype UsePayloadAPI = (url: string, options?: Options) => Result\n\nexport const usePayloadAPI: UsePayloadAPI = (url, options = {}) => {\n const { initialData, initialParams = {} } = options\n\n const { i18n } = useTranslation()\n const [data, setData] = useState(initialData || {})\n const [params, setParams] = useState(initialParams)\n const [isLoading, setIsLoading] = useState(!initialData)\n const [isError, setIsError] = useState(false)\n const { code: locale } = useLocale()\n const hasInitialized = useRef(false)\n\n const search = qs.stringify(\n {\n locale,\n ...(typeof params === 'object' ? params : {}),\n },\n {\n addQueryPrefix: true,\n },\n )\n\n // If `initialData`, no need to make a request\n useEffect(() => {\n if (initialData && !hasInitialized.current) {\n hasInitialized.current = true\n return\n }\n\n const abortController = new AbortController()\n\n const fetchData = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const response = await requests.get(`${url}${search}`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n signal: abortController.signal,\n })\n\n if (response.status > 201) {\n setIsError(true)\n }\n\n const json = await response.json()\n setData(json)\n setIsLoading(false)\n } catch (error) {\n if (!abortController.signal.aborted) {\n setIsError(true)\n setIsLoading(false)\n }\n }\n }\n\n if (url) {\n void fetchData()\n } else {\n setIsError(false)\n setIsLoading(false)\n }\n\n return () => {\n try {\n abortController.abort()\n } catch (error) {\n // swallow error\n }\n }\n }, [url, locale, search, i18n.language, initialData])\n\n // If `initialData` changes, reset the state\n useEffect(() => {\n if (initialData && hasInitialized.current) {\n setData(initialData)\n }\n }, [initialData])\n\n return [{ data, isError, isLoading }, { setParams }]\n}\n"],"names":["qs","useEffect","useRef","useState","useLocale","useTranslation","requests","usePayloadAPI","url","options","initialData","initialParams","i18n","data","setData","params","setParams","isLoading","setIsLoading","isError","setIsError","code","locale","hasInitialized","search","stringify","addQueryPrefix","current","abortController","AbortController","fetchData","response","get","headers","language","signal","status","json","error","aborted","abort"],"mappings":"AAAA;AACA,YAAYA,QAAQ,SAAQ;AAC5B,SAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAO;AAEnD,SAASC,SAAS,QAAQ,+BAA8B;AACxD,SAASC,cAAc,QAAQ,oCAAmC;AAClE,SAASC,QAAQ,QAAQ,sBAAqB;AAoB9C,OAAO,MAAMC,gBAA+B,CAACC,KAAKC,UAAU,CAAC,CAAC;IAC5D,MAAM,EAAEC,WAAW,EAAEC,gBAAgB,CAAC,CAAC,EAAE,GAAGF;IAE5C,MAAM,EAAEG,IAAI,EAAE,GAAGP;IACjB,MAAM,CAACQ,MAAMC,QAAQ,GAAGX,SAASO,eAAe,CAAC;IACjD,MAAM,CAACK,QAAQC,UAAU,GAAGb,SAASQ;IACrC,MAAM,CAACM,WAAWC,aAAa,GAAGf,SAAS,CAACO;IAC5C,MAAM,CAACS,SAASC,WAAW,GAAGjB,SAAS;IACvC,MAAM,EAAEkB,MAAMC,MAAM,EAAE,GAAGlB;IACzB,MAAMmB,iBAAiBrB,OAAO;IAE9B,MAAMsB,SAASxB,GAAGyB,SAAS,CACzB;QACEH;QACA,GAAI,OAAOP,WAAW,WAAWA,SAAS,CAAC,CAAC;IAC9C,GACA;QACEW,gBAAgB;IAClB;IAGF,8CAA8C;IAC9CzB,UAAU;QACR,IAAIS,eAAe,CAACa,eAAeI,OAAO,EAAE;YAC1CJ,eAAeI,OAAO,GAAG;YACzB;QACF;QAEA,MAAMC,kBAAkB,IAAIC;QAE5B,MAAMC,YAAY;YAChBV,WAAW;YACXF,aAAa;YAEb,IAAI;gBACF,MAAMa,WAAW,MAAMzB,SAAS0B,GAAG,CAAC,CAAC,EAAExB,IAAI,EAAEgB,OAAO,CAAC,EAAE;oBACrDS,SAAS;wBACP,mBAAmBrB,KAAKsB,QAAQ;oBAClC;oBACAC,QAAQP,gBAAgBO,MAAM;gBAChC;gBAEA,IAAIJ,SAASK,MAAM,GAAG,KAAK;oBACzBhB,WAAW;gBACb;gBAEA,MAAMiB,OAAO,MAAMN,SAASM,IAAI;gBAChCvB,QAAQuB;gBACRnB,aAAa;YACf,EAAE,OAAOoB,OAAO;gBACd,IAAI,CAACV,gBAAgBO,MAAM,CAACI,OAAO,EAAE;oBACnCnB,WAAW;oBACXF,aAAa;gBACf;YACF;QACF;QAEA,IAAIV,KAAK;YACP,KAAKsB;QACP,OAAO;YACLV,WAAW;YACXF,aAAa;QACf;QAEA,OAAO;YACL,IAAI;gBACFU,gBAAgBY,KAAK;YACvB,EAAE,OAAOF,OAAO;YACd,gBAAgB;YAClB;QACF;IACF,GAAG;QAAC9B;QAAKc;QAAQE;QAAQZ,KAAKsB,QAAQ;QAAExB;KAAY;IAEpD,4CAA4C;IAC5CT,UAAU;QACR,IAAIS,eAAea,eAAeI,OAAO,EAAE;YACzCb,QAAQJ;QACV;IACF,GAAG;QAACA;KAAY;IAEhB,OAAO;QAAC;YAAEG;YAAMM;YAASF;QAAU;QAAG;YAAED;QAAU;KAAE;AACtD,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useThrottledEffect.d.ts","sourceRoot":"","sources":["../../src/hooks/useThrottledEffect.ts"],"names":[],"mappings":"AAGA,KAAK,kBAAkB,GAAG,CACxB,QAAQ,EAAE,KAAK,CAAC,cAAc,EAC9B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,CAAC,cAAc,KACvB,IAAI,CAAA;AAET,eAAO,MAAM,kBAAkB,EAAE,kBAkBhC,CAAA"}
1
+ {"version":3,"file":"useThrottledEffect.d.ts","sourceRoot":"","sources":["../../src/hooks/useThrottledEffect.ts"],"names":[],"mappings":"AAEA,KAAK,kBAAkB,GAAG,CACxB,QAAQ,EAAE,KAAK,CAAC,cAAc,EAC9B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,CAAC,cAAc,KACvB,IAAI,CAAA;AAET,eAAO,MAAM,kBAAkB,EAAE,kBAkBhC,CAAA"}
@@ -1,4 +1,4 @@
1
- /* eslint-disable react-hooks/exhaustive-deps */ import { useEffect, useRef } from 'react';
1
+ import { useEffect, useRef } from 'react';
2
2
  export const useThrottledEffect = (callback, delay, deps = [])=>{
3
3
  const lastRan = useRef(Date.now());
4
4
  useEffect(()=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useThrottledEffect.ts"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useRef } from 'react'\n\ntype useThrottledEffect = (\n callback: React.EffectCallback,\n delay: number,\n deps: React.DependencyList,\n) => void\n\nexport const useThrottledEffect: useThrottledEffect = (callback, delay, deps = []) => {\n const lastRan = useRef(Date.now())\n\n useEffect(() => {\n const handler = setTimeout(\n () => {\n if (Date.now() - lastRan.current >= delay) {\n callback()\n lastRan.current = Date.now()\n }\n },\n delay - (Date.now() - lastRan.current),\n )\n\n return () => {\n clearTimeout(handler)\n }\n }, [delay, ...deps])\n}\n"],"names":["useEffect","useRef","useThrottledEffect","callback","delay","deps","lastRan","Date","now","handler","setTimeout","current","clearTimeout"],"mappings":"AAAA,8CAA8C,GAC9C,SAASA,SAAS,EAAEC,MAAM,QAAQ,QAAO;AAQzC,OAAO,MAAMC,qBAAyC,CAACC,UAAUC,OAAOC,OAAO,EAAE;IAC/E,MAAMC,UAAUL,OAAOM,KAAKC,GAAG;IAE/BR,UAAU;QACR,MAAMS,UAAUC,WACd;YACE,IAAIH,KAAKC,GAAG,KAAKF,QAAQK,OAAO,IAAIP,OAAO;gBACzCD;gBACAG,QAAQK,OAAO,GAAGJ,KAAKC,GAAG;YAC5B;QACF,GACAJ,QAASG,CAAAA,KAAKC,GAAG,KAAKF,QAAQK,OAAO,AAAD;QAGtC,OAAO;YACLC,aAAaH;QACf;IACF,GAAG;QAACL;WAAUC;KAAK;AACrB,EAAC"}
1
+ {"version":3,"sources":["../../src/hooks/useThrottledEffect.ts"],"sourcesContent":["import { useEffect, useRef } from 'react'\n\ntype useThrottledEffect = (\n callback: React.EffectCallback,\n delay: number,\n deps: React.DependencyList,\n) => void\n\nexport const useThrottledEffect: useThrottledEffect = (callback, delay, deps = []) => {\n const lastRan = useRef(Date.now())\n\n useEffect(() => {\n const handler = setTimeout(\n () => {\n if (Date.now() - lastRan.current >= delay) {\n callback()\n lastRan.current = Date.now()\n }\n },\n delay - (Date.now() - lastRan.current),\n )\n\n return () => {\n clearTimeout(handler)\n }\n }, [delay, ...deps])\n}\n"],"names":["useEffect","useRef","useThrottledEffect","callback","delay","deps","lastRan","Date","now","handler","setTimeout","current","clearTimeout"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,QAAO;AAQzC,OAAO,MAAMC,qBAAyC,CAACC,UAAUC,OAAOC,OAAO,EAAE;IAC/E,MAAMC,UAAUL,OAAOM,KAAKC,GAAG;IAE/BR,UAAU;QACR,MAAMS,UAAUC,WACd;YACE,IAAIH,KAAKC,GAAG,KAAKF,QAAQK,OAAO,IAAIP,OAAO;gBACzCD;gBACAG,QAAQK,OAAO,GAAGJ,KAAKC,GAAG;YAC5B;QACF,GACAJ,QAASG,CAAAA,KAAKC,GAAG,KAAKF,QAAQK,OAAO,AAAD;QAGtC,OAAO;YACLC,aAAaH;QACf;IACF,GAAG;QAACL;WAAUC;KAAK;AACrB,EAAC"}
@@ -1,4 +1,3 @@
1
- import type { ClientCollectionConfig } from 'payload';
2
- import type { FieldMap, MappedField } from '../providers/ComponentMap/buildComponentMap/types.js';
1
+ import type { ClientCollectionConfig, FieldMap, MappedField } from 'payload';
3
2
  export declare const useUseTitleField: (collection: ClientCollectionConfig, fieldMap: FieldMap) => MappedField;
4
3
  //# sourceMappingURL=useUseAsTitle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUseAsTitle.d.ts","sourceRoot":"","sources":["../../src/hooks/useUseAsTitle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAA;AAIjG,eAAO,MAAM,gBAAgB,eACf,sBAAsB,YACxB,QAAQ,KACjB,WAOF,CAAA"}
1
+ {"version":3,"file":"useUseAsTitle.d.ts","sourceRoot":"","sources":["../../src/hooks/useUseAsTitle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI5E,eAAO,MAAM,gBAAgB,eACf,sBAAsB,YACxB,QAAQ,KACjB,WAOF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useUseAsTitle.ts"],"sourcesContent":["import type { ClientCollectionConfig } from 'payload'\n\nimport type { FieldMap, MappedField } from '../providers/ComponentMap/buildComponentMap/types.js'\n\nimport { flattenFieldMap } from '../utilities/flattenFieldMap.js'\n\nexport const useUseTitleField = (\n collection: ClientCollectionConfig,\n fieldMap: FieldMap,\n): MappedField => {\n const {\n admin: { useAsTitle },\n } = collection\n\n const topLevelFields = flattenFieldMap(fieldMap)\n return topLevelFields.find((field) => field.name === useAsTitle)\n}\n"],"names":["flattenFieldMap","useUseTitleField","collection","fieldMap","admin","useAsTitle","topLevelFields","find","field","name"],"mappings":"AAIA,SAASA,eAAe,QAAQ,kCAAiC;AAEjE,OAAO,MAAMC,mBAAmB,CAC9BC,YACAC;IAEA,MAAM,EACJC,OAAO,EAAEC,UAAU,EAAE,EACtB,GAAGH;IAEJ,MAAMI,iBAAiBN,gBAAgBG;IACvC,OAAOG,eAAeC,IAAI,CAAC,CAACC,QAAUA,MAAMC,IAAI,KAAKJ;AACvD,EAAC"}
1
+ {"version":3,"sources":["../../src/hooks/useUseAsTitle.ts"],"sourcesContent":["import type { ClientCollectionConfig, FieldMap, MappedField } from 'payload'\n\nimport { flattenFieldMap } from '../utilities/flattenFieldMap.js'\n\nexport const useUseTitleField = (\n collection: ClientCollectionConfig,\n fieldMap: FieldMap,\n): MappedField => {\n const {\n admin: { useAsTitle },\n } = collection\n\n const topLevelFields = flattenFieldMap(fieldMap)\n return topLevelFields.find((field) => field.name === useAsTitle)\n}\n"],"names":["flattenFieldMap","useUseTitleField","collection","fieldMap","admin","useAsTitle","topLevelFields","find","field","name"],"mappings":"AAEA,SAASA,eAAe,QAAQ,kCAAiC;AAEjE,OAAO,MAAMC,mBAAmB,CAC9BC,YACAC;IAEA,MAAM,EACJC,OAAO,EAAEC,UAAU,EAAE,EACtB,GAAGH;IAEJ,MAAMI,iBAAiBN,gBAAgBG;IACvC,OAAOG,eAAeC,IAAI,CAAC,CAACC,QAAUA,MAAMC,IAAI,KAAKJ;AACvD,EAAC"}
@@ -2,7 +2,7 @@ import type { ClientUser, Permissions } from 'payload';
2
2
  import React from 'react';
3
3
  export type AuthContext<T = ClientUser> = {
4
4
  fetchFullUser: () => Promise<void>;
5
- logOut: () => void;
5
+ logOut: () => Promise<void>;
6
6
  permissions?: Permissions;
7
7
  refreshCookie: (forceRefresh?: boolean) => void;
8
8
  refreshCookieAsync: () => Promise<ClientUser>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Auth/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAqB,WAAW,EAAE,MAAM,SAAS,CAAA;AAKzE,OAAO,KAAsE,MAAM,OAAO,CAAA;AAU1F,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,UAAU,IAAI;IACxC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,aAAa,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/C,kBAAkB,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;IAC7C,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,cAAc,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAA;IAClD,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;CAChB,CAAA;AAMD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAsThE,CAAA;AAED,eAAO,MAAM,OAAO,GAAI,CAAC,oBAAmB,WAAW,CAAC,CAAC,CAA0C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Auth/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAqB,WAAW,EAAE,MAAM,SAAS,CAAA;AAKzE,OAAO,KAAsE,MAAM,OAAO,CAAA;AAU1F,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,UAAU,IAAI;IACxC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,aAAa,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/C,kBAAkB,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;IAC7C,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,cAAc,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAA;IAClD,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;CAChB,CAAA;AAMD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CA2RhE,CAAA;AAED,eAAO,MAAM,OAAO,GAAI,CAAC,oBAAmB,WAAW,CAAC,CAAC,CAA0C,CAAA"}
@@ -9,23 +9,18 @@ import { stayLoggedInModalSlug } from '../../elements/StayLoggedIn/index.js';
9
9
  import { useDebounce } from '../../hooks/useDebounce.js';
10
10
  import { useTranslation } from '../../providers/Translation/index.js';
11
11
  import { requests } from '../../utilities/api.js';
12
+ import { formatAdminURL } from '../../utilities/formatAdminURL.js';
12
13
  import { useConfig } from '../Config/index.js';
13
- import { useSearchParams } from '../SearchParams/index.js';
14
14
  const Context = /*#__PURE__*/ createContext({});
15
15
  const maxTimeoutTime = 2147483647;
16
16
  export const AuthProvider = ({ children })=>{
17
- const { searchParams } = useSearchParams();
18
17
  const [user, setUser] = useState();
19
18
  const [tokenInMemory, setTokenInMemory] = useState();
20
19
  const [tokenExpiration, setTokenExpiration] = useState();
21
- const [strategy, setStrategy] = useState();
22
20
  const pathname = usePathname();
23
21
  const router = useRouter();
24
- // const { code } = useLocale()
25
- const code = 'en' // TODO: re-enable i18n asap
26
- ;
27
22
  const config = useConfig();
28
- const { admin: { autoLogin, routes: { inactivity: logoutInactivityRoute }, routes: { login: loginRoute }, user: userSlug }, routes: { admin, api }, serverURL } = config;
23
+ const { admin: { routes: { inactivity: logoutInactivityRoute }, user: userSlug }, routes: { admin: adminRoute, api: apiRoute }, serverURL } = config;
29
24
  const [permissions, setPermissions] = useState();
30
25
  const { i18n } = useTranslation();
31
26
  const { closeAllModals, openModal } = useModal();
@@ -33,30 +28,34 @@ export const AuthProvider = ({ children })=>{
33
28
  const debouncedLocationChange = useDebounce(lastLocationChange, 10000);
34
29
  const id = user?.id;
35
30
  const redirectToInactivityRoute = useCallback(()=>{
36
- if (window.location.pathname.startsWith(admin)) {
31
+ if (window.location.pathname.startsWith(adminRoute)) {
37
32
  const redirectParam = `?redirect=${encodeURIComponent(window.location.pathname)}`;
38
- router.replace(`${admin}${logoutInactivityRoute}${redirectParam}`);
33
+ router.replace(formatAdminURL({
34
+ adminRoute,
35
+ path: `${logoutInactivityRoute}${redirectParam}`
36
+ }));
39
37
  } else {
40
- router.replace(`${admin}${logoutInactivityRoute}`);
38
+ router.replace(formatAdminURL({
39
+ adminRoute,
40
+ path: logoutInactivityRoute
41
+ }));
41
42
  }
42
43
  closeAllModals();
43
44
  }, [
44
45
  router,
45
- admin,
46
+ adminRoute,
46
47
  logoutInactivityRoute,
47
48
  closeAllModals
48
49
  ]);
49
50
  const revokeTokenAndExpire = useCallback(()=>{
50
51
  setTokenInMemory(undefined);
51
52
  setTokenExpiration(undefined);
52
- setStrategy(undefined);
53
53
  }, []);
54
54
  const setTokenAndExpiration = useCallback((json)=>{
55
55
  const token = json?.token || json?.refreshedToken;
56
56
  if (token && json?.exp) {
57
57
  setTokenInMemory(token);
58
58
  setTokenExpiration(json.exp);
59
- if (json.strategy) setStrategy(json.strategy);
60
59
  } else {
61
60
  revokeTokenAndExpire();
62
61
  }
@@ -67,30 +66,33 @@ export const AuthProvider = ({ children })=>{
67
66
  const now = Math.round(new Date().getTime() / 1000);
68
67
  const remainingTime = (typeof tokenExpiration === 'number' ? tokenExpiration : 0) - now;
69
68
  if (forceRefresh || tokenExpiration && remainingTime < 120) {
70
- setTimeout(async ()=>{
71
- try {
72
- const request = await requests.post(`${serverURL}${api}/${userSlug}/refresh-token`, {
73
- headers: {
74
- 'Accept-Language': i18n.language
69
+ setTimeout(()=>{
70
+ async function refresh() {
71
+ try {
72
+ const request = await requests.post(`${serverURL}${apiRoute}/${userSlug}/refresh-token`, {
73
+ headers: {
74
+ 'Accept-Language': i18n.language
75
+ }
76
+ });
77
+ if (request.status === 200) {
78
+ const json = await request.json();
79
+ setUser(json.user);
80
+ setTokenAndExpiration(json);
81
+ } else {
82
+ setUser(null);
83
+ redirectToInactivityRoute();
75
84
  }
76
- });
77
- if (request.status === 200) {
78
- const json = await request.json();
79
- setUser(json.user);
80
- setTokenAndExpiration(json);
81
- } else {
82
- setUser(null);
83
- redirectToInactivityRoute();
85
+ } catch (e) {
86
+ toast.error(e.message);
84
87
  }
85
- } catch (e) {
86
- toast.error(e.message);
87
88
  }
89
+ void refresh();
88
90
  }, 1000);
89
91
  }
90
92
  }, [
91
93
  tokenExpiration,
92
94
  serverURL,
93
- api,
95
+ apiRoute,
94
96
  userSlug,
95
97
  i18n,
96
98
  redirectToInactivityRoute,
@@ -98,7 +100,7 @@ export const AuthProvider = ({ children })=>{
98
100
  ]);
99
101
  const refreshCookieAsync = useCallback(async (skipSetUser)=>{
100
102
  try {
101
- const request = await requests.post(`${serverURL}${api}/${userSlug}/refresh-token`, {
103
+ const request = await requests.post(`${serverURL}${apiRoute}/${userSlug}/refresh-token`, {
102
104
  headers: {
103
105
  'Accept-Language': i18n.language
104
106
  }
@@ -120,7 +122,7 @@ export const AuthProvider = ({ children })=>{
120
122
  }
121
123
  }, [
122
124
  serverURL,
123
- api,
125
+ apiRoute,
124
126
  userSlug,
125
127
  i18n,
126
128
  redirectToInactivityRoute,
@@ -130,22 +132,24 @@ export const AuthProvider = ({ children })=>{
130
132
  setUser(null);
131
133
  revokeTokenAndExpire();
132
134
  try {
133
- await requests.post(`${serverURL}${api}/${userSlug}/logout`);
135
+ await requests.post(`${serverURL}${apiRoute}/${userSlug}/logout`);
134
136
  } catch (e) {
135
137
  toast.error(`Logging out failed: ${e.message}`);
136
138
  }
137
139
  }, [
138
140
  serverURL,
139
- api,
141
+ apiRoute,
140
142
  userSlug,
141
143
  revokeTokenAndExpire
142
144
  ]);
143
- const refreshPermissions = useCallback(async ()=>{
144
- const params = {
145
- locale: code
146
- };
145
+ const refreshPermissions = useCallback(async ({ locale } = {})=>{
146
+ const params = qs.stringify({
147
+ locale
148
+ }, {
149
+ addQueryPrefix: true
150
+ });
147
151
  try {
148
- const request = await requests.get(`${serverURL}${api}/access?${qs.stringify(params)}`, {
152
+ const request = await requests.get(`${serverURL}${apiRoute}/access${params}`, {
149
153
  headers: {
150
154
  'Accept-Language': i18n.language
151
155
  }
@@ -161,13 +165,12 @@ export const AuthProvider = ({ children })=>{
161
165
  }
162
166
  }, [
163
167
  serverURL,
164
- api,
165
- i18n,
166
- code
168
+ apiRoute,
169
+ i18n
167
170
  ]);
168
171
  const fetchFullUser = React.useCallback(async ()=>{
169
172
  try {
170
- const request = await requests.get(`${serverURL}${api}/${userSlug}/me`, {
173
+ const request = await requests.get(`${serverURL}${apiRoute}/${userSlug}/me`, {
171
174
  headers: {
172
175
  'Accept-Language': i18n.language
173
176
  }
@@ -179,31 +182,6 @@ export const AuthProvider = ({ children })=>{
179
182
  if (json?.token) {
180
183
  setTokenAndExpiration(json);
181
184
  }
182
- } else if (autoLogin && autoLogin.prefillOnly !== true) {
183
- // auto log-in with the provided autoLogin credentials. This is used in dev mode
184
- // so you don't have to log in over and over again
185
- const autoLoginResult = await requests.post(`${serverURL}${api}/${userSlug}${loginRoute}`, {
186
- body: JSON.stringify({
187
- email: autoLogin.email,
188
- password: autoLogin.password,
189
- username: autoLogin.username
190
- }),
191
- headers: {
192
- 'Accept-Language': i18n.language,
193
- 'Content-Type': 'application/json'
194
- }
195
- });
196
- if (autoLoginResult.status === 200) {
197
- const autoLoginJson = await autoLoginResult.json();
198
- setUser(autoLoginJson.user);
199
- if (autoLoginJson?.token) {
200
- setTokenAndExpiration(autoLoginJson);
201
- }
202
- router.replace(typeof searchParams['redirect'] === 'string' ? searchParams['redirect'] : admin);
203
- } else {
204
- setUser(null);
205
- revokeTokenAndExpire();
206
- }
207
185
  } else {
208
186
  setUser(null);
209
187
  revokeTokenAndExpire();
@@ -214,18 +192,11 @@ export const AuthProvider = ({ children })=>{
214
192
  }
215
193
  }, [
216
194
  serverURL,
217
- api,
195
+ apiRoute,
218
196
  userSlug,
219
197
  i18n.language,
220
- autoLogin,
221
198
  setTokenAndExpiration,
222
- router,
223
- searchParams,
224
- admin,
225
- revokeTokenAndExpire,
226
- strategy,
227
- tokenExpiration,
228
- loginRoute
199
+ revokeTokenAndExpire
229
200
  ]);
230
201
  // On mount, get user and set
231
202
  useEffect(()=>{
@@ -1 +1 @@
1
- {"version":3,"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 { useConfig } from '../Config/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nexport type AuthContext<T = ClientUser> = {\n fetchFullUser: () => Promise<void>\n logOut: () => 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\nexport const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const { searchParams } = useSearchParams()\n const [user, setUser] = useState<ClientUser | null>()\n const [tokenInMemory, setTokenInMemory] = useState<string>()\n const [tokenExpiration, setTokenExpiration] = useState<number>()\n const [strategy, setStrategy] = useState<string>()\n const pathname = usePathname()\n const router = useRouter()\n // const { code } = useLocale()\n const code = 'en' // TODO: re-enable i18n asap\n\n const config = useConfig()\n\n const {\n admin: {\n autoLogin,\n routes: { inactivity: logoutInactivityRoute },\n routes: { login: loginRoute },\n user: userSlug,\n },\n routes: { admin, api },\n serverURL,\n } = config\n\n const [permissions, setPermissions] = useState<Permissions>()\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(admin)) {\n const redirectParam = `?redirect=${encodeURIComponent(window.location.pathname)}`\n router.replace(`${admin}${logoutInactivityRoute}${redirectParam}`)\n } else {\n router.replace(`${admin}${logoutInactivityRoute}`)\n }\n closeAllModals()\n }, [router, admin, logoutInactivityRoute, closeAllModals])\n\n const revokeTokenAndExpire = useCallback(() => {\n setTokenInMemory(undefined)\n setTokenExpiration(undefined)\n setStrategy(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 if (json.strategy) setStrategy(json.strategy)\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(async () => {\n try {\n const request = await requests.post(`${serverURL}${api}/${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 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 }, 1000)\n }\n },\n [\n tokenExpiration,\n serverURL,\n api,\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}${api}/${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, api, userSlug, i18n, redirectToInactivityRoute, setTokenAndExpiration],\n )\n\n const logOut = useCallback(async () => {\n setUser(null)\n revokeTokenAndExpire()\n try {\n await requests.post(`${serverURL}${api}/${userSlug}/logout`)\n } catch (e) {\n toast.error(`Logging out failed: ${e.message}`)\n }\n }, [serverURL, api, userSlug, revokeTokenAndExpire])\n\n const refreshPermissions = useCallback(async () => {\n const params = {\n locale: code,\n }\n\n try {\n const request = await requests.get(`${serverURL}${api}/access?${qs.stringify(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 }, [serverURL, api, i18n, code])\n\n const fetchFullUser = React.useCallback(async () => {\n try {\n const request = await requests.get(`${serverURL}${api}/${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 if (autoLogin && autoLogin.prefillOnly !== true) {\n // auto log-in with the provided autoLogin credentials. This is used in dev mode\n // so you don't have to log in over and over again\n const autoLoginResult = await requests.post(\n `${serverURL}${api}/${userSlug}${loginRoute}`,\n {\n body: JSON.stringify({\n email: autoLogin.email,\n password: autoLogin.password,\n username: autoLogin.username,\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n },\n )\n if (autoLoginResult.status === 200) {\n const autoLoginJson = await autoLoginResult.json()\n setUser(autoLoginJson.user)\n if (autoLoginJson?.token) {\n setTokenAndExpiration(autoLoginJson)\n }\n router.replace(\n typeof searchParams['redirect'] === 'string' ? searchParams['redirect'] : admin,\n )\n } else {\n setUser(null)\n revokeTokenAndExpire()\n }\n } else {\n setUser(null)\n revokeTokenAndExpire()\n }\n }\n } catch (e) {\n toast.error(`Fetching user failed: ${e.message}`)\n }\n }, [\n serverURL,\n api,\n userSlug,\n i18n.language,\n autoLogin,\n setTokenAndExpiration,\n router,\n searchParams,\n admin,\n revokeTokenAndExpire,\n strategy,\n tokenExpiration,\n loginRoute,\n ])\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 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"],"names":["useModal","usePathname","useRouter","qs","React","createContext","useCallback","useContext","useEffect","useState","toast","stayLoggedInModalSlug","useDebounce","useTranslation","requests","useConfig","useSearchParams","Context","maxTimeoutTime","AuthProvider","children","searchParams","user","setUser","tokenInMemory","setTokenInMemory","tokenExpiration","setTokenExpiration","strategy","setStrategy","pathname","router","code","config","admin","autoLogin","routes","inactivity","logoutInactivityRoute","login","loginRoute","userSlug","api","serverURL","permissions","setPermissions","i18n","closeAllModals","openModal","lastLocationChange","setLastLocationChange","debouncedLocationChange","id","redirectToInactivityRoute","window","location","startsWith","redirectParam","encodeURIComponent","replace","revokeTokenAndExpire","undefined","setTokenAndExpiration","json","token","refreshedToken","exp","refreshCookie","forceRefresh","now","Math","round","Date","getTime","remainingTime","setTimeout","request","post","headers","language","status","e","error","message","refreshCookieAsync","skipSetUser","logOut","refreshPermissions","params","locale","get","stringify","Error","fetchFullUser","prefillOnly","autoLoginResult","body","JSON","email","password","username","autoLoginJson","reminder","max","min","clearTimeout","forceLogOut","Provider","value","useAuth"],"mappings":"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"}
1
+ {"version":3,"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\nexport const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [user, setUser] = useState<ClientUser | null>()\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>()\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 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"],"names":["useModal","usePathname","useRouter","qs","React","createContext","useCallback","useContext","useEffect","useState","toast","stayLoggedInModalSlug","useDebounce","useTranslation","requests","formatAdminURL","useConfig","Context","maxTimeoutTime","AuthProvider","children","user","setUser","tokenInMemory","setTokenInMemory","tokenExpiration","setTokenExpiration","pathname","router","config","admin","routes","inactivity","logoutInactivityRoute","userSlug","adminRoute","api","apiRoute","serverURL","permissions","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","Provider","value","useAuth"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/actions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAI/E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,eAAO,MAAM,UAAU,SAAU;IAC/B,mBAAmB,EAAE,+BAA+B,CAAA;IACpD,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACrC,KAAG,SAuCH,CAAA"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/actions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAI/E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,eAAO,MAAM,UAAU,SAAU;IAC/B,mBAAmB,EAAE,+BAA+B,CAAA;IACpD,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACrC,KAAG,SA0CH,CAAA"}
@@ -18,7 +18,7 @@ export const mapActions = (args)=>{
18
18
  ...result[key] || [],
19
19
  /*#__PURE__*/ _jsx(WithServerSideProps, {
20
20
  Component: Action
21
- })
21
+ }, key)
22
22
  ];
23
23
  }
24
24
  });
@@ -26,7 +26,7 @@ export const mapActions = (args)=>{
26
26
  });
27
27
  }
28
28
  if (listActions) {
29
- listActions.forEach((action)=>{
29
+ listActions.forEach((action, i)=>{
30
30
  const Action = action;
31
31
  if (typeof Action === 'function') {
32
32
  // eslint-disable-next-line @typescript-eslint/no-floating-promises
@@ -34,7 +34,7 @@ export const mapActions = (args)=>{
34
34
  ...result.List,
35
35
  /*#__PURE__*/ _jsx(WithServerSideProps, {
36
36
  Component: Action
37
- })
37
+ }, i)
38
38
  ];
39
39
  }
40
40
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/actions.tsx"],"sourcesContent":["import type { SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload'\n\nimport React from 'react'\n\nimport type { WithServerSidePropsPrePopulated } from './index.js'\nimport type { ActionMap } from './types.js'\n\nexport const mapActions = (args: {\n WithServerSideProps: WithServerSidePropsPrePopulated\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n}): ActionMap => {\n const { WithServerSideProps, collectionConfig, globalConfig } = args\n\n const editViews = (collectionConfig || globalConfig)?.admin?.components?.views?.Edit\n\n const listActions =\n typeof collectionConfig?.admin?.components?.views?.List === 'object'\n ? collectionConfig?.admin?.components?.views?.List?.actions\n : undefined\n\n const result: ActionMap = {\n Edit: {},\n List: [],\n }\n\n if (editViews) {\n Object.entries(editViews).forEach(([key, view]) => {\n if (typeof view === 'object' && 'actions' in view) {\n view.actions.forEach((action) => {\n const Action = action\n if (typeof Action === 'function') {\n result.Edit[key] = [...(result[key] || []), <WithServerSideProps Component={Action} />]\n }\n })\n }\n })\n }\n\n if (listActions) {\n listActions.forEach((action) => {\n const Action = action\n if (typeof Action === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n result.List = [...result.List, <WithServerSideProps Component={Action} />]\n }\n })\n }\n\n return result\n}\n"],"names":["React","mapActions","args","WithServerSideProps","collectionConfig","globalConfig","editViews","admin","components","views","Edit","listActions","List","actions","undefined","result","Object","entries","forEach","key","view","action","Action","Component"],"mappings":";AAEA,OAAOA,WAAW,QAAO;AAKzB,OAAO,MAAMC,aAAa,CAACC;IAKzB,MAAM,EAAEC,mBAAmB,EAAEC,gBAAgB,EAAEC,YAAY,EAAE,GAAGH;IAEhE,MAAMI,YAAaF,CAAAA,oBAAoBC,YAAW,GAAIE,OAAOC,YAAYC,OAAOC;IAEhF,MAAMC,cACJ,OAAOP,kBAAkBG,OAAOC,YAAYC,OAAOG,SAAS,WACxDR,kBAAkBG,OAAOC,YAAYC,OAAOG,MAAMC,UAClDC;IAEN,MAAMC,SAAoB;QACxBL,MAAM,CAAC;QACPE,MAAM,EAAE;IACV;IAEA,IAAIN,WAAW;QACbU,OAAOC,OAAO,CAACX,WAAWY,OAAO,CAAC,CAAC,CAACC,KAAKC,KAAK;YAC5C,IAAI,OAAOA,SAAS,YAAY,aAAaA,MAAM;gBACjDA,KAAKP,OAAO,CAACK,OAAO,CAAC,CAACG;oBACpB,MAAMC,SAASD;oBACf,IAAI,OAAOC,WAAW,YAAY;wBAChCP,OAAOL,IAAI,CAACS,IAAI,GAAG;+BAAKJ,MAAM,CAACI,IAAI,IAAI,EAAE;0CAAG,KAAChB;gCAAoBoB,WAAWD;;yBAAW;oBACzF;gBACF;YACF;QACF;IACF;IAEA,IAAIX,aAAa;QACfA,YAAYO,OAAO,CAAC,CAACG;YACnB,MAAMC,SAASD;YACf,IAAI,OAAOC,WAAW,YAAY;gBAChC,mEAAmE;gBACnEP,OAAOH,IAAI,GAAG;uBAAIG,OAAOH,IAAI;kCAAE,KAACT;wBAAoBoB,WAAWD;;iBAAW;YAC5E;QACF;IACF;IAEA,OAAOP;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/actions.tsx"],"sourcesContent":["import type { SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload'\n\nimport React from 'react'\n\nimport type { WithServerSidePropsPrePopulated } from './index.js'\nimport type { ActionMap } from './types.js'\n\nexport const mapActions = (args: {\n WithServerSideProps: WithServerSidePropsPrePopulated\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n}): ActionMap => {\n const { WithServerSideProps, collectionConfig, globalConfig } = args\n\n const editViews = (collectionConfig || globalConfig)?.admin?.components?.views?.Edit\n\n const listActions =\n typeof collectionConfig?.admin?.components?.views?.List === 'object'\n ? collectionConfig?.admin?.components?.views?.List?.actions\n : undefined\n\n const result: ActionMap = {\n Edit: {},\n List: [],\n }\n\n if (editViews) {\n Object.entries(editViews).forEach(([key, view]) => {\n if (typeof view === 'object' && 'actions' in view) {\n view.actions.forEach((action) => {\n const Action = action\n if (typeof Action === 'function') {\n result.Edit[key] = [\n ...(result[key] || []),\n <WithServerSideProps Component={Action} key={key} />,\n ]\n }\n })\n }\n })\n }\n\n if (listActions) {\n listActions.forEach((action, i) => {\n const Action = action\n if (typeof Action === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n result.List = [...result.List, <WithServerSideProps Component={Action} key={i} />]\n }\n })\n }\n\n return result\n}\n"],"names":["React","mapActions","args","WithServerSideProps","collectionConfig","globalConfig","editViews","admin","components","views","Edit","listActions","List","actions","undefined","result","Object","entries","forEach","key","view","action","Action","Component","i"],"mappings":";AAEA,OAAOA,WAAW,QAAO;AAKzB,OAAO,MAAMC,aAAa,CAACC;IAKzB,MAAM,EAAEC,mBAAmB,EAAEC,gBAAgB,EAAEC,YAAY,EAAE,GAAGH;IAEhE,MAAMI,YAAaF,CAAAA,oBAAoBC,YAAW,GAAIE,OAAOC,YAAYC,OAAOC;IAEhF,MAAMC,cACJ,OAAOP,kBAAkBG,OAAOC,YAAYC,OAAOG,SAAS,WACxDR,kBAAkBG,OAAOC,YAAYC,OAAOG,MAAMC,UAClDC;IAEN,MAAMC,SAAoB;QACxBL,MAAM,CAAC;QACPE,MAAM,EAAE;IACV;IAEA,IAAIN,WAAW;QACbU,OAAOC,OAAO,CAACX,WAAWY,OAAO,CAAC,CAAC,CAACC,KAAKC,KAAK;YAC5C,IAAI,OAAOA,SAAS,YAAY,aAAaA,MAAM;gBACjDA,KAAKP,OAAO,CAACK,OAAO,CAAC,CAACG;oBACpB,MAAMC,SAASD;oBACf,IAAI,OAAOC,WAAW,YAAY;wBAChCP,OAAOL,IAAI,CAACS,IAAI,GAAG;+BACbJ,MAAM,CAACI,IAAI,IAAI,EAAE;0CACrB,KAAChB;gCAAoBoB,WAAWD;+BAAaH;yBAC9C;oBACH;gBACF;YACF;QACF;IACF;IAEA,IAAIR,aAAa;QACfA,YAAYO,OAAO,CAAC,CAACG,QAAQG;YAC3B,MAAMF,SAASD;YACf,IAAI,OAAOC,WAAW,YAAY;gBAChC,mEAAmE;gBACnEP,OAAOH,IAAI,GAAG;uBAAIG,OAAOH,IAAI;kCAAE,KAACT;wBAAoBoB,WAAWD;uBAAaE;iBAAM;YACpF;QACF;IACF;IAEA,OAAOT;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/collections.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,yBAAyB,EACzB,eAAe,EAChB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAQxD,eAAO,MAAM,cAAc,SAAU;IACnC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,mBAAmB,EAAE,+BAA+B,CAAA;IACpD,WAAW,EAAE,yBAAyB,EAAE,CAAA;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,KAAG;IACF,CAAC,GAAG,EAAE,yBAAyB,CAAC,MAAM,CAAC,GAAG,sBAAsB,CAAA;CAuKjE,CAAA"}
1
+ {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/collections.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,yBAAyB,EACzB,eAAe,EAChB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAQxD,eAAO,MAAM,cAAc,SAAU;IACnC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,mBAAmB,EAAE,+BAA+B,CAAA;IACpD,WAAW,EAAE,yBAAyB,EAAE,CAAA;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,KAAG;IACF,CAAC,GAAG,EAAE,yBAAyB,CAAC,MAAM,CAAC,GAAG,sBAAsB,CAAA;CA2KjE,CAAA"}
@@ -44,21 +44,21 @@ export const mapCollections = (args)=>{
44
44
  Component: UploadComponent
45
45
  }) : undefined;
46
46
  const beforeList = collectionConfig?.admin?.components?.beforeList;
47
- const BeforeList = beforeList && Array.isArray(beforeList) && beforeList?.map((Component)=>/*#__PURE__*/ _jsx(WithServerSideProps, {
47
+ const BeforeList = beforeList && Array.isArray(beforeList) && beforeList?.map((Component, i)=>/*#__PURE__*/ _jsx(WithServerSideProps, {
48
48
  Component: Component
49
- })) || null;
49
+ }, i)) || null;
50
50
  const beforeListTable = collectionConfig?.admin?.components?.beforeListTable;
51
- const BeforeListTable = beforeListTable && Array.isArray(beforeListTable) && beforeListTable?.map((Component)=>/*#__PURE__*/ _jsx(WithServerSideProps, {
51
+ const BeforeListTable = beforeListTable && Array.isArray(beforeListTable) && beforeListTable?.map((Component, i)=>/*#__PURE__*/ _jsx(WithServerSideProps, {
52
52
  Component: Component
53
- })) || null;
53
+ }, i)) || null;
54
54
  const afterList = collectionConfig?.admin?.components?.afterList;
55
- const AfterList = afterList && Array.isArray(afterList) && afterList?.map((Component)=>/*#__PURE__*/ _jsx(WithServerSideProps, {
55
+ const AfterList = afterList && Array.isArray(afterList) && afterList?.map((Component, i)=>/*#__PURE__*/ _jsx(WithServerSideProps, {
56
56
  Component: Component
57
- })) || null;
57
+ }, i)) || null;
58
58
  const afterListTable = collectionConfig?.admin?.components?.afterListTable;
59
- const AfterListTable = afterListTable && Array.isArray(afterListTable) && afterListTable?.map((Component)=>/*#__PURE__*/ _jsx(WithServerSideProps, {
59
+ const AfterListTable = afterListTable && Array.isArray(afterListTable) && afterListTable?.map((Component, i)=>/*#__PURE__*/ _jsx(WithServerSideProps, {
60
60
  Component: Component
61
- })) || null;
61
+ }, i)) || null;
62
62
  let description = undefined;
63
63
  if (collectionConfig.admin && 'description' in collectionConfig.admin) {
64
64
  if (typeof collectionConfig.admin?.description === 'string' || typeof collectionConfig.admin?.description === 'object') {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/collections.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n AdminViewProps,\n EditViewProps,\n SanitizedCollectionConfig,\n SanitizedConfig,\n} from 'payload'\n\nimport { isReactComponentOrFunction } from 'payload/shared'\nimport React from 'react'\n\nimport type { ViewDescriptionProps } from '../../../elements/ViewDescription/index.js'\nimport type { WithServerSidePropsPrePopulated } from './index.js'\nimport type { CollectionComponentMap } from './types.js'\n\n// Need to import from client barrel file\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { ViewDescription } from '../../../exports/client/index.js'\nimport { mapActions } from './actions.js'\nimport { mapFields } from './fields.js'\n\nexport const mapCollections = (args: {\n DefaultEditView: React.FC<EditViewProps>\n DefaultListView: React.FC<AdminViewProps>\n WithServerSideProps: WithServerSidePropsPrePopulated\n collections: SanitizedCollectionConfig[]\n config: SanitizedConfig\n i18n: I18nClient\n readOnly?: boolean\n}): {\n [key: SanitizedCollectionConfig['slug']]: CollectionComponentMap\n} => {\n const {\n DefaultEditView,\n DefaultListView,\n WithServerSideProps,\n collections,\n config,\n i18n,\n i18n: { t },\n readOnly: readOnlyOverride,\n } = args\n\n return collections.reduce((acc, collectionConfig) => {\n const { slug, fields } = collectionConfig\n\n const internalCollections = ['payload-preferences', 'payload-migrations']\n\n if (internalCollections.includes(slug)) {\n return acc\n }\n\n const editViewFromConfig = collectionConfig?.admin?.components?.views?.Edit\n\n const listViewFromConfig = collectionConfig?.admin?.components?.views?.List\n\n const CustomEditView =\n typeof editViewFromConfig === 'function'\n ? editViewFromConfig\n : typeof editViewFromConfig === 'object' &&\n isReactComponentOrFunction(editViewFromConfig.Default)\n ? editViewFromConfig.Default\n : typeof editViewFromConfig?.Default === 'object' &&\n 'Component' in editViewFromConfig.Default &&\n isReactComponentOrFunction(editViewFromConfig.Default.Component)\n ? (editViewFromConfig.Default.Component as React.FC<EditViewProps>)\n : undefined\n\n const CustomListView =\n typeof listViewFromConfig === 'function'\n ? listViewFromConfig\n : typeof listViewFromConfig === 'object' &&\n isReactComponentOrFunction(listViewFromConfig.Component)\n ? listViewFromConfig.Component\n : undefined\n\n const Edit = (CustomEditView as React.FC<EditViewProps>) || DefaultEditView\n\n const List = CustomListView || DefaultListView\n\n const SaveButtonComponent = collectionConfig?.admin?.components?.edit?.SaveButton\n\n const SaveButton = SaveButtonComponent ? (\n <WithServerSideProps Component={SaveButtonComponent} />\n ) : undefined\n\n const SaveDraftButtonComponent = collectionConfig?.admin?.components?.edit?.SaveDraftButton\n\n const SaveDraftButton = SaveDraftButtonComponent ? (\n <WithServerSideProps Component={SaveDraftButtonComponent} />\n ) : undefined\n\n const PreviewButtonComponent = collectionConfig?.admin?.components?.edit?.PreviewButton\n\n const PreviewButton = PreviewButtonComponent ? (\n <WithServerSideProps Component={PreviewButtonComponent} />\n ) : undefined\n\n const PublishButtonComponent = collectionConfig?.admin?.components?.edit?.PublishButton\n\n const PublishButton = PublishButtonComponent ? (\n <WithServerSideProps Component={PublishButtonComponent} />\n ) : undefined\n\n const UploadComponent = collectionConfig?.admin?.components?.edit?.Upload\n\n const Upload = UploadComponent ? <WithServerSideProps Component={UploadComponent} /> : undefined\n\n const beforeList = collectionConfig?.admin?.components?.beforeList\n\n const BeforeList =\n (beforeList &&\n Array.isArray(beforeList) &&\n beforeList?.map((Component) => <WithServerSideProps Component={Component} />)) ||\n null\n\n const beforeListTable = collectionConfig?.admin?.components?.beforeListTable\n\n const BeforeListTable =\n (beforeListTable &&\n Array.isArray(beforeListTable) &&\n beforeListTable?.map((Component) => <WithServerSideProps Component={Component} />)) ||\n null\n\n const afterList = collectionConfig?.admin?.components?.afterList\n\n const AfterList =\n (afterList &&\n Array.isArray(afterList) &&\n afterList?.map((Component) => <WithServerSideProps Component={Component} />)) ||\n null\n\n const afterListTable = collectionConfig?.admin?.components?.afterListTable\n\n const AfterListTable =\n (afterListTable &&\n Array.isArray(afterListTable) &&\n afterListTable?.map((Component) => <WithServerSideProps Component={Component} />)) ||\n null\n\n let description = undefined\n if (collectionConfig.admin && 'description' in collectionConfig.admin) {\n if (\n typeof collectionConfig.admin?.description === 'string' ||\n typeof collectionConfig.admin?.description === 'object'\n ) {\n description = collectionConfig.admin.description\n } else if (typeof collectionConfig.admin?.description === 'function') {\n description = collectionConfig.admin?.description({ t })\n }\n }\n\n const descriptionProps: ViewDescriptionProps = {\n description,\n }\n\n const DescriptionComponent =\n collectionConfig.admin?.components?.edit?.Description ||\n (description ? ViewDescription : undefined)\n\n const Description =\n DescriptionComponent !== undefined ? (\n <WithServerSideProps Component={DescriptionComponent} {...(descriptionProps || {})} />\n ) : undefined\n\n const componentMap: CollectionComponentMap = {\n AfterList,\n AfterListTable,\n BeforeList,\n BeforeListTable,\n Description,\n Edit: <Edit collectionSlug={collectionConfig.slug} />,\n List: <List collectionSlug={collectionConfig.slug} />,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Upload,\n actionsMap: mapActions({\n WithServerSideProps,\n collectionConfig,\n }),\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n fieldSchema: fields,\n i18n,\n readOnly: readOnlyOverride,\n }),\n isPreviewEnabled: !!collectionConfig?.admin?.preview,\n }\n\n return {\n ...acc,\n [slug]: componentMap,\n }\n }, {})\n}\n"],"names":["isReactComponentOrFunction","React","ViewDescription","mapActions","mapFields","mapCollections","args","DefaultEditView","DefaultListView","WithServerSideProps","collections","config","i18n","t","readOnly","readOnlyOverride","reduce","acc","collectionConfig","slug","fields","internalCollections","includes","editViewFromConfig","admin","components","views","Edit","listViewFromConfig","List","CustomEditView","Default","Component","undefined","CustomListView","SaveButtonComponent","edit","SaveButton","SaveDraftButtonComponent","SaveDraftButton","PreviewButtonComponent","PreviewButton","PublishButtonComponent","PublishButton","UploadComponent","Upload","beforeList","BeforeList","Array","isArray","map","beforeListTable","BeforeListTable","afterList","AfterList","afterListTable","AfterListTable","description","descriptionProps","DescriptionComponent","Description","componentMap","collectionSlug","actionsMap","fieldMap","fieldSchema","isPreviewEnabled","preview"],"mappings":";AAQA,SAASA,0BAA0B,QAAQ,iBAAgB;AAC3D,OAAOC,WAAW,QAAO;AAMzB,yCAAyC;AACzC,+DAA+D;AAC/D,SAASC,eAAe,QAAQ,mCAAkC;AAClE,SAASC,UAAU,QAAQ,eAAc;AACzC,SAASC,SAAS,QAAQ,cAAa;AAEvC,OAAO,MAAMC,iBAAiB,CAACC;IAW7B,MAAM,EACJC,eAAe,EACfC,eAAe,EACfC,mBAAmB,EACnBC,WAAW,EACXC,MAAM,EACNC,IAAI,EACJA,MAAM,EAAEC,CAAC,EAAE,EACXC,UAAUC,gBAAgB,EAC3B,GAAGT;IAEJ,OAAOI,YAAYM,MAAM,CAAC,CAACC,KAAKC;QAC9B,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAE,GAAGF;QAEzB,MAAMG,sBAAsB;YAAC;YAAuB;SAAqB;QAEzE,IAAIA,oBAAoBC,QAAQ,CAACH,OAAO;YACtC,OAAOF;QACT;QAEA,MAAMM,qBAAqBL,kBAAkBM,OAAOC,YAAYC,OAAOC;QAEvE,MAAMC,qBAAqBV,kBAAkBM,OAAOC,YAAYC,OAAOG;QAEvE,MAAMC,iBACJ,OAAOP,uBAAuB,aAC1BA,qBACA,OAAOA,uBAAuB,YAC5BvB,2BAA2BuB,mBAAmBQ,OAAO,IACrDR,mBAAmBQ,OAAO,GAC1B,OAAOR,oBAAoBQ,YAAY,YACrC,eAAeR,mBAAmBQ,OAAO,IACzC/B,2BAA2BuB,mBAAmBQ,OAAO,CAACC,SAAS,IAC9DT,mBAAmBQ,OAAO,CAACC,SAAS,GACrCC;QAEV,MAAMC,iBACJ,OAAON,uBAAuB,aAC1BA,qBACA,OAAOA,uBAAuB,YAC5B5B,2BAA2B4B,mBAAmBI,SAAS,IACvDJ,mBAAmBI,SAAS,GAC5BC;QAER,MAAMN,OAAO,AAACG,kBAA8CvB;QAE5D,MAAMsB,OAAOK,kBAAkB1B;QAE/B,MAAM2B,sBAAsBjB,kBAAkBM,OAAOC,YAAYW,MAAMC;QAEvE,MAAMA,aAAaF,oCACjB,KAAC1B;YAAoBuB,WAAWG;aAC9BF;QAEJ,MAAMK,2BAA2BpB,kBAAkBM,OAAOC,YAAYW,MAAMG;QAE5E,MAAMA,kBAAkBD,yCACtB,KAAC7B;YAAoBuB,WAAWM;aAC9BL;QAEJ,MAAMO,yBAAyBtB,kBAAkBM,OAAOC,YAAYW,MAAMK;QAE1E,MAAMA,gBAAgBD,uCACpB,KAAC/B;YAAoBuB,WAAWQ;aAC9BP;QAEJ,MAAMS,yBAAyBxB,kBAAkBM,OAAOC,YAAYW,MAAMO;QAE1E,MAAMA,gBAAgBD,uCACpB,KAACjC;YAAoBuB,WAAWU;aAC9BT;QAEJ,MAAMW,kBAAkB1B,kBAAkBM,OAAOC,YAAYW,MAAMS;QAEnE,MAAMA,SAASD,gCAAkB,KAACnC;YAAoBuB,WAAWY;aAAsBX;QAEvF,MAAMa,aAAa5B,kBAAkBM,OAAOC,YAAYqB;QAExD,MAAMC,aACJ,AAACD,cACCE,MAAMC,OAAO,CAACH,eACdA,YAAYI,IAAI,CAAClB,0BAAc,KAACvB;gBAAoBuB,WAAWA;mBACjE;QAEF,MAAMmB,kBAAkBjC,kBAAkBM,OAAOC,YAAY0B;QAE7D,MAAMC,kBACJ,AAACD,mBACCH,MAAMC,OAAO,CAACE,oBACdA,iBAAiBD,IAAI,CAAClB,0BAAc,KAACvB;gBAAoBuB,WAAWA;mBACtE;QAEF,MAAMqB,YAAYnC,kBAAkBM,OAAOC,YAAY4B;QAEvD,MAAMC,YACJ,AAACD,aACCL,MAAMC,OAAO,CAACI,cACdA,WAAWH,IAAI,CAAClB,0BAAc,KAACvB;gBAAoBuB,WAAWA;mBAChE;QAEF,MAAMuB,iBAAiBrC,kBAAkBM,OAAOC,YAAY8B;QAE5D,MAAMC,iBACJ,AAACD,kBACCP,MAAMC,OAAO,CAACM,mBACdA,gBAAgBL,IAAI,CAAClB,0BAAc,KAACvB;gBAAoBuB,WAAWA;mBACrE;QAEF,IAAIyB,cAAcxB;QAClB,IAAIf,iBAAiBM,KAAK,IAAI,iBAAiBN,iBAAiBM,KAAK,EAAE;YACrE,IACE,OAAON,iBAAiBM,KAAK,EAAEiC,gBAAgB,YAC/C,OAAOvC,iBAAiBM,KAAK,EAAEiC,gBAAgB,UAC/C;gBACAA,cAAcvC,iBAAiBM,KAAK,CAACiC,WAAW;YAClD,OAAO,IAAI,OAAOvC,iBAAiBM,KAAK,EAAEiC,gBAAgB,YAAY;gBACpEA,cAAcvC,iBAAiBM,KAAK,EAAEiC,YAAY;oBAAE5C;gBAAE;YACxD;QACF;QAEA,MAAM6C,mBAAyC;YAC7CD;QACF;QAEA,MAAME,uBACJzC,iBAAiBM,KAAK,EAAEC,YAAYW,MAAMwB,eACzCH,CAAAA,cAAcvD,kBAAkB+B,SAAQ;QAE3C,MAAM2B,cACJD,yBAAyB1B,0BACvB,KAACxB;YAAoBuB,WAAW2B;YAAuB,GAAID,oBAAoB,CAAC,CAAC;aAC/EzB;QAEN,MAAM4B,eAAuC;YAC3CP;YACAE;YACAT;YACAK;YACAQ;YACAjC,oBAAM,KAACA;gBAAKmC,gBAAgB5C,iBAAiBC,IAAI;;YACjDU,oBAAM,KAACA;gBAAKiC,gBAAgB5C,iBAAiBC,IAAI;;YACjDsB;YACAE;YACAN;YACAE;YACAM;YACAkB,YAAY5D,WAAW;gBACrBM;gBACAS;YACF;YACA8C,UAAU5D,UAAU;gBAClBK;gBACAE;gBACAsD,aAAa7C;gBACbR;gBACAE,UAAUC;YACZ;YACAmD,kBAAkB,CAAC,CAAChD,kBAAkBM,OAAO2C;QAC/C;QAEA,OAAO;YACL,GAAGlD,GAAG;YACN,CAACE,KAAK,EAAE0C;QACV;IACF,GAAG,CAAC;AACN,EAAC"}
1
+ {"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/collections.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n AdminViewProps,\n EditViewProps,\n SanitizedCollectionConfig,\n SanitizedConfig,\n} from 'payload'\n\nimport { isReactComponentOrFunction } from 'payload/shared'\nimport React from 'react'\n\nimport type { ViewDescriptionProps } from '../../../elements/ViewDescription/index.js'\nimport type { WithServerSidePropsPrePopulated } from './index.js'\nimport type { CollectionComponentMap } from './types.js'\n\n// Need to import from client barrel file\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { ViewDescription } from '../../../exports/client/index.js'\nimport { mapActions } from './actions.js'\nimport { mapFields } from './fields.js'\n\nexport const mapCollections = (args: {\n DefaultEditView: React.FC<EditViewProps>\n DefaultListView: React.FC<AdminViewProps>\n WithServerSideProps: WithServerSidePropsPrePopulated\n collections: SanitizedCollectionConfig[]\n config: SanitizedConfig\n i18n: I18nClient\n readOnly?: boolean\n}): {\n [key: SanitizedCollectionConfig['slug']]: CollectionComponentMap\n} => {\n const {\n DefaultEditView,\n DefaultListView,\n WithServerSideProps,\n collections,\n config,\n i18n,\n i18n: { t },\n readOnly: readOnlyOverride,\n } = args\n\n return collections.reduce((acc, collectionConfig) => {\n const { slug, fields } = collectionConfig\n\n const internalCollections = ['payload-preferences', 'payload-migrations']\n\n if (internalCollections.includes(slug)) {\n return acc\n }\n\n const editViewFromConfig = collectionConfig?.admin?.components?.views?.Edit\n\n const listViewFromConfig = collectionConfig?.admin?.components?.views?.List\n\n const CustomEditView =\n typeof editViewFromConfig === 'function'\n ? editViewFromConfig\n : typeof editViewFromConfig === 'object' &&\n isReactComponentOrFunction(editViewFromConfig.Default)\n ? editViewFromConfig.Default\n : typeof editViewFromConfig?.Default === 'object' &&\n 'Component' in editViewFromConfig.Default &&\n isReactComponentOrFunction(editViewFromConfig.Default.Component)\n ? (editViewFromConfig.Default.Component as React.FC<EditViewProps>)\n : undefined\n\n const CustomListView =\n typeof listViewFromConfig === 'function'\n ? listViewFromConfig\n : typeof listViewFromConfig === 'object' &&\n isReactComponentOrFunction(listViewFromConfig.Component)\n ? listViewFromConfig.Component\n : undefined\n\n const Edit = (CustomEditView as React.FC<EditViewProps>) || DefaultEditView\n\n const List = CustomListView || DefaultListView\n\n const SaveButtonComponent = collectionConfig?.admin?.components?.edit?.SaveButton\n\n const SaveButton = SaveButtonComponent ? (\n <WithServerSideProps Component={SaveButtonComponent} />\n ) : undefined\n\n const SaveDraftButtonComponent = collectionConfig?.admin?.components?.edit?.SaveDraftButton\n\n const SaveDraftButton = SaveDraftButtonComponent ? (\n <WithServerSideProps Component={SaveDraftButtonComponent} />\n ) : undefined\n\n const PreviewButtonComponent = collectionConfig?.admin?.components?.edit?.PreviewButton\n\n const PreviewButton = PreviewButtonComponent ? (\n <WithServerSideProps Component={PreviewButtonComponent} />\n ) : undefined\n\n const PublishButtonComponent = collectionConfig?.admin?.components?.edit?.PublishButton\n\n const PublishButton = PublishButtonComponent ? (\n <WithServerSideProps Component={PublishButtonComponent} />\n ) : undefined\n\n const UploadComponent = collectionConfig?.admin?.components?.edit?.Upload\n\n const Upload = UploadComponent ? <WithServerSideProps Component={UploadComponent} /> : undefined\n\n const beforeList = collectionConfig?.admin?.components?.beforeList\n\n const BeforeList =\n (beforeList &&\n Array.isArray(beforeList) &&\n beforeList?.map((Component, i) => <WithServerSideProps Component={Component} key={i} />)) ||\n null\n\n const beforeListTable = collectionConfig?.admin?.components?.beforeListTable\n\n const BeforeListTable =\n (beforeListTable &&\n Array.isArray(beforeListTable) &&\n beforeListTable?.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n ))) ||\n null\n\n const afterList = collectionConfig?.admin?.components?.afterList\n\n const AfterList =\n (afterList &&\n Array.isArray(afterList) &&\n afterList?.map((Component, i) => <WithServerSideProps Component={Component} key={i} />)) ||\n null\n\n const afterListTable = collectionConfig?.admin?.components?.afterListTable\n\n const AfterListTable =\n (afterListTable &&\n Array.isArray(afterListTable) &&\n afterListTable?.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n ))) ||\n null\n\n let description = undefined\n if (collectionConfig.admin && 'description' in collectionConfig.admin) {\n if (\n typeof collectionConfig.admin?.description === 'string' ||\n typeof collectionConfig.admin?.description === 'object'\n ) {\n description = collectionConfig.admin.description\n } else if (typeof collectionConfig.admin?.description === 'function') {\n description = collectionConfig.admin?.description({ t })\n }\n }\n\n const descriptionProps: ViewDescriptionProps = {\n description,\n }\n\n const DescriptionComponent =\n collectionConfig.admin?.components?.edit?.Description ||\n (description ? ViewDescription : undefined)\n\n const Description =\n DescriptionComponent !== undefined ? (\n <WithServerSideProps Component={DescriptionComponent} {...(descriptionProps || {})} />\n ) : undefined\n\n const componentMap: CollectionComponentMap = {\n AfterList,\n AfterListTable,\n BeforeList,\n BeforeListTable,\n Description,\n Edit: <Edit collectionSlug={collectionConfig.slug} />,\n List: <List collectionSlug={collectionConfig.slug} />,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Upload,\n actionsMap: mapActions({\n WithServerSideProps,\n collectionConfig,\n }),\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n fieldSchema: fields,\n i18n,\n readOnly: readOnlyOverride,\n }),\n isPreviewEnabled: !!collectionConfig?.admin?.preview,\n }\n\n return {\n ...acc,\n [slug]: componentMap,\n }\n }, {})\n}\n"],"names":["isReactComponentOrFunction","React","ViewDescription","mapActions","mapFields","mapCollections","args","DefaultEditView","DefaultListView","WithServerSideProps","collections","config","i18n","t","readOnly","readOnlyOverride","reduce","acc","collectionConfig","slug","fields","internalCollections","includes","editViewFromConfig","admin","components","views","Edit","listViewFromConfig","List","CustomEditView","Default","Component","undefined","CustomListView","SaveButtonComponent","edit","SaveButton","SaveDraftButtonComponent","SaveDraftButton","PreviewButtonComponent","PreviewButton","PublishButtonComponent","PublishButton","UploadComponent","Upload","beforeList","BeforeList","Array","isArray","map","i","beforeListTable","BeforeListTable","afterList","AfterList","afterListTable","AfterListTable","description","descriptionProps","DescriptionComponent","Description","componentMap","collectionSlug","actionsMap","fieldMap","fieldSchema","isPreviewEnabled","preview"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import type { I18nClient } from '@payloadcms/translations';
2
- import type { Field, FieldWithPath, SanitizedConfig } from 'payload';
2
+ import type { Field, FieldMap, FieldWithPath, SanitizedConfig } from 'payload';
3
3
  import type { WithServerSidePropsPrePopulated } from './index.js';
4
- import type { FieldMap } from './types.js';
5
4
  export declare const mapFields: (args: {
6
5
  WithServerSideProps: WithServerSidePropsPrePopulated;
7
6
  config: SanitizedConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/fields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAGV,KAAK,EAEL,aAAa,EAGb,eAAe,EAChB,MAAM,SAAS,CAAA;AA2BhB,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,KAAK,EAEV,QAAQ,EAIT,MAAM,YAAY,CAAA;AAkBnB,eAAO,MAAM,SAAS,SAAU;IAC9B,mBAAmB,EAAE,+BAA+B,CAAA;IACpD,MAAM,EAAE,eAAe,CAAA;IACvB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,EAAE,aAAa,EAAE,CAAA;IAC5B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAA;IAClC,IAAI,EAAE,UAAU,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,KAAG,QA8uBH,CAAA"}
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/fields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAWV,KAAK,EAGL,QAAQ,EACR,aAAa,EAeb,eAAe,EAMhB,MAAM,SAAS,CAAA;AAMhB,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AA8BjE,eAAO,MAAM,SAAS,SAAU;IAC9B,mBAAmB,EAAE,+BAA+B,CAAA;IACpD,MAAM,EAAE,eAAe,CAAA;IACvB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,EAAE,aAAa,EAAE,CAAA;IAC5B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAA;IAClC,IAAI,EAAE,UAAU,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,KAAG,QAoxBH,CAAA"}