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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (591) hide show
  1. package/dist/elements/AddNewRelation/index.js +1 -1
  2. package/dist/elements/AddNewRelation/index.js.map +1 -1
  3. package/dist/elements/AppHeader/index.js +45 -84
  4. package/dist/elements/AppHeader/index.js.map +1 -1
  5. package/dist/elements/Autosave/index.d.ts.map +1 -1
  6. package/dist/elements/Autosave/index.js +149 -228
  7. package/dist/elements/Autosave/index.js.map +1 -1
  8. package/dist/elements/Banner/index.d.ts.map +1 -1
  9. package/dist/elements/Banner/index.js +6 -2
  10. package/dist/elements/Banner/index.js.map +1 -1
  11. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  12. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  13. package/dist/elements/BulkUpload/ActionsBar/index.scss +4 -4
  14. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  15. package/dist/elements/BulkUpload/AddFilesView/index.js +45 -30
  16. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  17. package/dist/elements/BulkUpload/AddFilesView/index.scss +13 -0
  18. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  19. package/dist/elements/BulkUpload/AddingFilesView/index.js +7 -7
  20. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.d.ts.map +1 -1
  22. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +14 -17
  23. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts +1 -2
  25. package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts.map +1 -1
  26. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +5 -8
  27. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  29. package/dist/elements/BulkUpload/EditForm/index.js +39 -32
  30. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  31. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  32. package/dist/elements/BulkUpload/FileSidebar/index.js +71 -59
  33. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  34. package/dist/elements/BulkUpload/FileSidebar/index.scss +16 -14
  35. package/dist/elements/BulkUpload/FormsManager/index.d.ts +4 -7
  36. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  37. package/dist/elements/BulkUpload/FormsManager/index.js +64 -36
  38. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  39. package/dist/elements/BulkUpload/Header/index.d.ts.map +1 -1
  40. package/dist/elements/BulkUpload/Header/index.js +1 -3
  41. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  42. package/dist/elements/BulkUpload/index.d.ts +21 -5
  43. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  44. package/dist/elements/BulkUpload/index.js +149 -52
  45. package/dist/elements/BulkUpload/index.js.map +1 -1
  46. package/dist/elements/Button/index.d.ts.map +1 -1
  47. package/dist/elements/Button/index.js +95 -219
  48. package/dist/elements/Button/index.js.map +1 -1
  49. package/dist/elements/Button/types.d.ts +2 -2
  50. package/dist/elements/Button/types.d.ts.map +1 -1
  51. package/dist/elements/Button/types.js.map +1 -1
  52. package/dist/elements/Card/index.d.ts +1 -1
  53. package/dist/elements/Card/index.d.ts.map +1 -1
  54. package/dist/elements/Card/index.js +2 -2
  55. package/dist/elements/Card/index.js.map +1 -1
  56. package/dist/elements/CodeEditor/index.js +1 -1
  57. package/dist/elements/CodeEditor/index.js.map +1 -1
  58. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  59. package/dist/elements/Collapsible/index.js +44 -62
  60. package/dist/elements/Collapsible/index.js.map +1 -1
  61. package/dist/elements/Collapsible/index.scss +15 -28
  62. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  63. package/dist/elements/ColumnSelector/index.js +2 -2
  64. package/dist/elements/ColumnSelector/index.js.map +1 -1
  65. package/dist/elements/CopyToClipboard/index.js +20 -54
  66. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  67. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  68. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  69. package/dist/elements/DatePicker/index.js +1 -1
  70. package/dist/elements/DatePicker/index.js.map +1 -1
  71. package/dist/elements/DeleteDocument/index.d.ts +9 -6
  72. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  73. package/dist/elements/DeleteDocument/index.js +65 -28
  74. package/dist/elements/DeleteDocument/index.js.map +1 -1
  75. package/dist/elements/DeleteDocument/index.scss +24 -11
  76. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  77. package/dist/elements/DeleteMany/index.js +26 -18
  78. package/dist/elements/DeleteMany/index.js.map +1 -1
  79. package/dist/elements/DeleteMany/index.scss +24 -5
  80. package/dist/elements/DocumentControls/index.d.ts +9 -1
  81. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  82. package/dist/elements/DocumentControls/index.js +26 -8
  83. package/dist/elements/DocumentControls/index.js.map +1 -1
  84. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  85. package/dist/elements/DocumentDrawer/DrawerContent.js +102 -37
  86. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  87. package/dist/elements/DocumentDrawer/index.js +1 -1
  88. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  89. package/dist/elements/DocumentDrawer/types.d.ts +6 -0
  90. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  91. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  92. package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
  93. package/dist/elements/DraggableSortable/index.js +2 -1
  94. package/dist/elements/DraggableSortable/index.js.map +1 -1
  95. package/dist/elements/Drawer/index.d.ts +1 -0
  96. package/dist/elements/Drawer/index.d.ts.map +1 -1
  97. package/dist/elements/Drawer/index.js +3 -3
  98. package/dist/elements/Drawer/index.js.map +1 -1
  99. package/dist/elements/Drawer/types.d.ts +1 -1
  100. package/dist/elements/Drawer/types.d.ts.map +1 -1
  101. package/dist/elements/Drawer/types.js.map +1 -1
  102. package/dist/elements/Dropzone/index.d.ts +3 -3
  103. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  104. package/dist/elements/Dropzone/index.js +58 -145
  105. package/dist/elements/Dropzone/index.js.map +1 -1
  106. package/dist/elements/Dropzone/index.scss +6 -23
  107. package/dist/elements/DuplicateDocument/index.d.ts +6 -3
  108. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  109. package/dist/elements/DuplicateDocument/index.js +95 -137
  110. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  111. package/dist/elements/DuplicateDocument/index.scss +25 -5
  112. package/dist/elements/EditMany/index.js +124 -230
  113. package/dist/elements/EditMany/index.js.map +1 -1
  114. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  115. package/dist/elements/EditUpload/index.js +140 -201
  116. package/dist/elements/EditUpload/index.js.map +1 -1
  117. package/dist/elements/ErrorPill/index.d.ts.map +1 -1
  118. package/dist/elements/ErrorPill/index.js +3 -1
  119. package/dist/elements/ErrorPill/index.js.map +1 -1
  120. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  121. package/dist/elements/FieldSelect/index.js +3 -1
  122. package/dist/elements/FieldSelect/index.js.map +1 -1
  123. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  124. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  125. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  126. package/dist/elements/FileDetails/StaticFileDetails/index.js +0 -1
  127. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  128. package/dist/elements/FileDetails/StaticFileDetails/index.scss +1 -0
  129. package/dist/elements/GenerateConfirmation/index.d.ts.map +1 -1
  130. package/dist/elements/GenerateConfirmation/index.js +31 -24
  131. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  132. package/dist/elements/GenerateConfirmation/index.scss +24 -5
  133. package/dist/elements/ListControls/index.d.ts.map +1 -1
  134. package/dist/elements/ListControls/index.js +89 -200
  135. package/dist/elements/ListControls/index.js.map +1 -1
  136. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  137. package/dist/elements/ListDrawer/DrawerContent.js +311 -233
  138. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  139. package/dist/elements/ListDrawer/index.js +1 -1
  140. package/dist/elements/ListDrawer/index.js.map +1 -1
  141. package/dist/elements/ListDrawer/index.scss +7 -0
  142. package/dist/elements/Localizer/index.d.ts.map +1 -1
  143. package/dist/elements/Localizer/index.js +1 -1
  144. package/dist/elements/Localizer/index.js.map +1 -1
  145. package/dist/elements/Logout/index.js +1 -1
  146. package/dist/elements/Logout/index.js.map +1 -1
  147. package/dist/elements/Nav/context.js +47 -83
  148. package/dist/elements/Nav/context.js.map +1 -1
  149. package/dist/elements/Pagination/index.d.ts.map +1 -1
  150. package/dist/elements/Pagination/index.js +20 -10
  151. package/dist/elements/Pagination/index.js.map +1 -1
  152. package/dist/elements/PerPage/index.d.ts.map +1 -1
  153. package/dist/elements/PerPage/index.js.map +1 -1
  154. package/dist/elements/Pill/index.d.ts.map +1 -1
  155. package/dist/elements/Pill/index.js +11 -5
  156. package/dist/elements/Pill/index.js.map +1 -1
  157. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  158. package/dist/elements/Popup/PopupTrigger/index.js +3 -1
  159. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  160. package/dist/elements/Popup/index.d.ts.map +1 -1
  161. package/dist/elements/Popup/index.js +4 -2
  162. package/dist/elements/Popup/index.js.map +1 -1
  163. package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -1
  164. package/dist/elements/PreviewButton/usePreviewURL.js +18 -6
  165. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  166. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  167. package/dist/elements/PreviewSizes/index.js +15 -5
  168. package/dist/elements/PreviewSizes/index.js.map +1 -1
  169. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  170. package/dist/elements/PublishButton/index.js +113 -48
  171. package/dist/elements/PublishButton/index.js.map +1 -1
  172. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  173. package/dist/elements/PublishMany/index.js +25 -17
  174. package/dist/elements/PublishMany/index.js.map +1 -1
  175. package/dist/elements/PublishMany/index.scss +23 -4
  176. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  177. package/dist/elements/ReactSelect/DropdownIndicator/index.js +3 -1
  178. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  179. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  180. package/dist/elements/ReactSelect/index.js +5 -3
  181. package/dist/elements/ReactSelect/index.js.map +1 -1
  182. package/dist/elements/ReactSelect/types.d.ts +9 -2
  183. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  184. package/dist/elements/ReactSelect/types.js.map +1 -1
  185. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  186. package/dist/elements/SaveButton/index.js +35 -84
  187. package/dist/elements/SaveButton/index.js.map +1 -1
  188. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  189. package/dist/elements/SaveDraftButton/index.js +63 -119
  190. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  191. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  192. package/dist/elements/SearchFilter/index.js +45 -81
  193. package/dist/elements/SearchFilter/index.js.map +1 -1
  194. package/dist/elements/SelectRow/index.js +29 -20
  195. package/dist/elements/SelectRow/index.js.map +1 -1
  196. package/dist/elements/ShimmerEffect/index.d.ts +3 -3
  197. package/dist/elements/ShimmerEffect/index.d.ts.map +1 -1
  198. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  199. package/dist/elements/SortColumn/index.d.ts +4 -4
  200. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  201. package/dist/elements/SortColumn/index.js +22 -39
  202. package/dist/elements/SortColumn/index.js.map +1 -1
  203. package/dist/elements/SortComplex/index.d.ts.map +1 -1
  204. package/dist/elements/SortComplex/index.js.map +1 -1
  205. package/dist/elements/Status/index.d.ts.map +1 -1
  206. package/dist/elements/Status/index.js +43 -27
  207. package/dist/elements/Status/index.js.map +1 -1
  208. package/dist/elements/Status/index.scss +26 -7
  209. package/dist/elements/StepNav/index.d.ts +1 -1
  210. package/dist/elements/StepNav/index.d.ts.map +1 -1
  211. package/dist/elements/StepNav/index.js +2 -2
  212. package/dist/elements/StepNav/index.js.map +1 -1
  213. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +2 -2
  214. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  215. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  216. package/dist/elements/Table/DefaultCell/fields/Code/index.js +1 -1
  217. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  218. package/dist/elements/Table/DefaultCell/fields/File/index.scss +5 -5
  219. package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -1
  220. package/dist/elements/Table/DefaultCell/fields/index.js +1 -1
  221. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  222. package/dist/elements/Table/RelationshipProvider/index.d.ts +1 -1
  223. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  224. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  225. package/dist/elements/Table/index.d.ts +2 -2
  226. package/dist/elements/Table/index.d.ts.map +1 -1
  227. package/dist/elements/Table/index.js +21 -16
  228. package/dist/elements/Table/index.js.map +1 -1
  229. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  230. package/dist/elements/TableColumns/buildColumnState.js +16 -13
  231. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  232. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  233. package/dist/elements/TableColumns/index.js +11 -33
  234. package/dist/elements/TableColumns/index.js.map +1 -1
  235. package/dist/elements/Thumbnail/index.d.ts +10 -6
  236. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  237. package/dist/elements/Thumbnail/index.js +84 -9
  238. package/dist/elements/Thumbnail/index.js.map +1 -1
  239. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  240. package/dist/elements/Tooltip/index.js.map +1 -1
  241. package/dist/elements/Translation/index.d.ts.map +1 -1
  242. package/dist/elements/Translation/index.js +0 -2
  243. package/dist/elements/Translation/index.js.map +1 -1
  244. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  245. package/dist/elements/UnpublishMany/index.js +26 -18
  246. package/dist/elements/UnpublishMany/index.js.map +1 -1
  247. package/dist/elements/UnpublishMany/index.scss +23 -4
  248. package/dist/elements/Upload/index.d.ts.map +1 -1
  249. package/dist/elements/Upload/index.js +183 -302
  250. package/dist/elements/Upload/index.js.map +1 -1
  251. package/dist/elements/Upload/index.scss +38 -0
  252. package/dist/elements/ViewDescription/index.d.ts +1 -1
  253. package/dist/elements/ViewDescription/index.d.ts.map +1 -1
  254. package/dist/elements/ViewDescription/index.js.map +1 -1
  255. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  256. package/dist/elements/WhereBuilder/Condition/index.js +2 -1
  257. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  258. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  259. package/dist/elements/WhereBuilder/index.js +5 -8
  260. package/dist/elements/WhereBuilder/index.js.map +1 -1
  261. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
  262. package/dist/elements/WhereBuilder/reduceClientFields.js +3 -1
  263. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
  264. package/dist/elements/WhereBuilder/types.d.ts +1 -1
  265. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  266. package/dist/elements/WhereBuilder/types.js.map +1 -1
  267. package/dist/elements/WindowInfo/index.d.ts +2 -2
  268. package/dist/elements/WindowInfo/index.d.ts.map +1 -1
  269. package/dist/elements/WindowInfo/index.js +2 -2
  270. package/dist/elements/WindowInfo/index.js.map +1 -1
  271. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  272. package/dist/exports/client/{CodeEditor-C4FLUUO7.js → CodeEditor-CHKRX3U2.js} +4 -4
  273. package/dist/exports/client/{CodeEditor-C4FLUUO7.js.map → CodeEditor-CHKRX3U2.js.map} +4 -4
  274. package/dist/exports/client/{DatePicker-E6IJFDN2.js → DatePicker-OLRZVTAD.js} +2 -2
  275. package/dist/exports/client/chunk-BGA6EPOL.js +14 -0
  276. package/dist/exports/client/chunk-BGA6EPOL.js.map +8 -0
  277. package/dist/exports/client/{chunk-OBXEO4WP.js → chunk-JINNHJP7.js} +1 -1
  278. package/dist/exports/client/{chunk-OBXEO4WP.js.map → chunk-JINNHJP7.js.map} +2 -2
  279. package/dist/exports/client/index.d.ts +5 -4
  280. package/dist/exports/client/index.d.ts.map +1 -1
  281. package/dist/exports/client/index.js +19 -19
  282. package/dist/exports/client/index.js.map +4 -4
  283. package/dist/exports/shared/index.d.ts +3 -2
  284. package/dist/exports/shared/index.d.ts.map +1 -1
  285. package/dist/exports/shared/index.js +2 -2
  286. package/dist/exports/shared/index.js.map +4 -4
  287. package/dist/fields/Array/ArrayRow.d.ts +1 -1
  288. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  289. package/dist/fields/Array/ArrayRow.js +6 -6
  290. package/dist/fields/Array/ArrayRow.js.map +1 -1
  291. package/dist/fields/Array/index.d.ts +11 -3
  292. package/dist/fields/Array/index.d.ts.map +1 -1
  293. package/dist/fields/Array/index.js +8 -5
  294. package/dist/fields/Array/index.js.map +1 -1
  295. package/dist/fields/Blocks/BlockRow.d.ts +2 -2
  296. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  297. package/dist/fields/Blocks/BlockRow.js +4 -4
  298. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  299. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  300. package/dist/fields/Blocks/BlocksDrawer/index.js +3 -1
  301. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  302. package/dist/fields/Blocks/RowActions.d.ts +1 -1
  303. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  304. package/dist/fields/Blocks/RowActions.js +1 -1
  305. package/dist/fields/Blocks/RowActions.js.map +1 -1
  306. package/dist/fields/Blocks/index.d.ts +8 -2
  307. package/dist/fields/Blocks/index.d.ts.map +1 -1
  308. package/dist/fields/Blocks/index.js +2 -5
  309. package/dist/fields/Blocks/index.js.map +1 -1
  310. package/dist/fields/Checkbox/Input.d.ts +1 -1
  311. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  312. package/dist/fields/Checkbox/Input.js +3 -3
  313. package/dist/fields/Checkbox/Input.js.map +1 -1
  314. package/dist/fields/Checkbox/index.d.ts +16 -4
  315. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  316. package/dist/fields/Checkbox/index.js +2 -2
  317. package/dist/fields/Checkbox/index.js.map +1 -1
  318. package/dist/fields/Checkbox/index.scss +13 -0
  319. package/dist/fields/Code/index.d.ts +9 -2
  320. package/dist/fields/Code/index.d.ts.map +1 -1
  321. package/dist/fields/Code/index.js +32 -37
  322. package/dist/fields/Code/index.js.map +1 -1
  323. package/dist/fields/Collapsible/index.d.ts +143 -2
  324. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  325. package/dist/fields/Collapsible/index.js +49 -42
  326. package/dist/fields/Collapsible/index.js.map +1 -1
  327. package/dist/fields/DateTime/index.d.ts +9 -2
  328. package/dist/fields/DateTime/index.d.ts.map +1 -1
  329. package/dist/fields/DateTime/index.js +33 -38
  330. package/dist/fields/DateTime/index.js.map +1 -1
  331. package/dist/fields/Email/index.d.ts +10 -2
  332. package/dist/fields/Email/index.d.ts.map +1 -1
  333. package/dist/fields/Email/index.js +29 -33
  334. package/dist/fields/Email/index.js.map +1 -1
  335. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  336. package/dist/fields/FieldLabel/index.js +7 -1
  337. package/dist/fields/FieldLabel/index.js.map +1 -1
  338. package/dist/fields/Group/index.d.ts +8 -3
  339. package/dist/fields/Group/index.d.ts.map +1 -1
  340. package/dist/fields/Group/index.js +1 -1
  341. package/dist/fields/Group/index.js.map +1 -1
  342. package/dist/fields/JSON/index.d.ts +8 -2
  343. package/dist/fields/JSON/index.d.ts.map +1 -1
  344. package/dist/fields/JSON/index.js +17 -11
  345. package/dist/fields/JSON/index.js.map +1 -1
  346. package/dist/fields/Number/index.d.ts +9 -2
  347. package/dist/fields/Number/index.d.ts.map +1 -1
  348. package/dist/fields/Number/index.js +36 -41
  349. package/dist/fields/Number/index.js.map +1 -1
  350. package/dist/fields/Password/index.js +3 -3
  351. package/dist/fields/Password/index.js.map +1 -1
  352. package/dist/fields/Password/input.js +7 -7
  353. package/dist/fields/Password/input.js.map +1 -1
  354. package/dist/fields/Password/types.d.ts +5 -5
  355. package/dist/fields/Password/types.d.ts.map +1 -1
  356. package/dist/fields/Password/types.js.map +1 -1
  357. package/dist/fields/Point/index.d.ts +10 -3
  358. package/dist/fields/Point/index.d.ts.map +1 -1
  359. package/dist/fields/Point/index.js +2 -1
  360. package/dist/fields/Point/index.js.map +1 -1
  361. package/dist/fields/RadioGroup/Radio/index.d.ts +2 -2
  362. package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  363. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  364. package/dist/fields/RadioGroup/index.d.ts +10 -2
  365. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  366. package/dist/fields/RadioGroup/index.js +36 -41
  367. package/dist/fields/RadioGroup/index.js.map +1 -1
  368. package/dist/fields/Relationship/createRelationMap.d.ts +1 -1
  369. package/dist/fields/Relationship/createRelationMap.d.ts.map +1 -1
  370. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  371. package/dist/fields/Relationship/index.d.ts +8 -2
  372. package/dist/fields/Relationship/index.d.ts.map +1 -1
  373. package/dist/fields/Relationship/index.js +418 -515
  374. package/dist/fields/Relationship/index.js.map +1 -1
  375. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  376. package/dist/fields/Relationship/optionsReducer.js +31 -1
  377. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  378. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts +6 -1
  379. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
  380. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +45 -82
  381. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  382. package/dist/fields/Relationship/select-components/MultiValueLabel/index.scss +4 -0
  383. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts +6 -1
  384. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
  385. package/dist/fields/Relationship/select-components/SingleValue/index.js +43 -92
  386. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  387. package/dist/fields/Relationship/select-components/SingleValue/index.scss +4 -0
  388. package/dist/fields/Relationship/types.d.ts +14 -5
  389. package/dist/fields/Relationship/types.d.ts.map +1 -1
  390. package/dist/fields/Relationship/types.js.map +1 -1
  391. package/dist/fields/RichText/index.d.ts +2 -2
  392. package/dist/fields/RichText/index.d.ts.map +1 -1
  393. package/dist/fields/RichText/index.js.map +1 -1
  394. package/dist/fields/Row/index.d.ts +9 -2
  395. package/dist/fields/Row/index.d.ts.map +1 -1
  396. package/dist/fields/Row/index.js.map +1 -1
  397. package/dist/fields/Row/index.scss +12 -2
  398. package/dist/fields/Select/Input.d.ts +5 -5
  399. package/dist/fields/Select/Input.d.ts.map +1 -1
  400. package/dist/fields/Select/Input.js +7 -7
  401. package/dist/fields/Select/Input.js.map +1 -1
  402. package/dist/fields/Select/index.d.ts +10 -2
  403. package/dist/fields/Select/index.d.ts.map +1 -1
  404. package/dist/fields/Select/index.js +11 -11
  405. package/dist/fields/Select/index.js.map +1 -1
  406. package/dist/fields/Tabs/index.d.ts +6 -2
  407. package/dist/fields/Tabs/index.d.ts.map +1 -1
  408. package/dist/fields/Tabs/index.js +1 -1
  409. package/dist/fields/Tabs/index.js.map +1 -1
  410. package/dist/fields/Text/Input.js +7 -7
  411. package/dist/fields/Text/Input.js.map +1 -1
  412. package/dist/fields/Text/index.d.ts +11 -3
  413. package/dist/fields/Text/index.d.ts.map +1 -1
  414. package/dist/fields/Text/index.js +4 -6
  415. package/dist/fields/Text/index.js.map +1 -1
  416. package/dist/fields/Text/types.d.ts +5 -5
  417. package/dist/fields/Text/types.d.ts.map +1 -1
  418. package/dist/fields/Text/types.js.map +1 -1
  419. package/dist/fields/Textarea/Input.js +7 -7
  420. package/dist/fields/Textarea/Input.js.map +1 -1
  421. package/dist/fields/Textarea/index.d.ts +13 -4
  422. package/dist/fields/Textarea/index.d.ts.map +1 -1
  423. package/dist/fields/Textarea/index.js +4 -6
  424. package/dist/fields/Textarea/index.js.map +1 -1
  425. package/dist/fields/Textarea/types.d.ts +5 -5
  426. package/dist/fields/Textarea/types.d.ts.map +1 -1
  427. package/dist/fields/Textarea/types.js.map +1 -1
  428. package/dist/fields/Upload/HasMany/index.d.ts +16 -2
  429. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
  430. package/dist/fields/Upload/HasMany/index.js +154 -223
  431. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  432. package/dist/fields/Upload/HasMany/index.scss +12 -56
  433. package/dist/fields/Upload/HasOne/index.d.ts +13 -9
  434. package/dist/fields/Upload/HasOne/index.d.ts.map +1 -1
  435. package/dist/fields/Upload/HasOne/index.js +36 -120
  436. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  437. package/dist/fields/Upload/HasOne/index.scss +0 -69
  438. package/dist/fields/Upload/{HasOne/Input.d.ts → Input.d.ts} +14 -9
  439. package/dist/fields/Upload/Input.d.ts.map +1 -0
  440. package/dist/fields/Upload/Input.js +672 -0
  441. package/dist/fields/Upload/Input.js.map +1 -0
  442. package/dist/fields/Upload/RelationshipContent/index.d.ts +21 -0
  443. package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -0
  444. package/dist/fields/Upload/RelationshipContent/index.js +140 -0
  445. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -0
  446. package/dist/fields/Upload/RelationshipContent/index.scss +54 -0
  447. package/dist/fields/Upload/UploadCard/index.d.ts +10 -0
  448. package/dist/fields/Upload/UploadCard/index.d.ts.map +1 -0
  449. package/dist/fields/Upload/UploadCard/index.js +15 -0
  450. package/dist/fields/Upload/UploadCard/index.js.map +1 -0
  451. package/dist/fields/Upload/UploadCard/index.scss +27 -0
  452. package/dist/fields/Upload/index.d.ts +6 -6
  453. package/dist/fields/Upload/index.d.ts.map +1 -1
  454. package/dist/fields/Upload/index.js +85 -90
  455. package/dist/fields/Upload/index.js.map +1 -1
  456. package/dist/fields/Upload/index.scss +62 -0
  457. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  458. package/dist/forms/Form/fieldReducer.js +6 -2
  459. package/dist/forms/Form/fieldReducer.js.map +1 -1
  460. package/dist/forms/Form/index.d.ts.map +1 -1
  461. package/dist/forms/Form/index.js +20 -8
  462. package/dist/forms/Form/index.js.map +1 -1
  463. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  464. package/dist/forms/Form/mergeServerFormState.js +3 -1
  465. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  466. package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
  467. package/dist/forms/Form/rowHelpers.js +9 -3
  468. package/dist/forms/Form/rowHelpers.js.map +1 -1
  469. package/dist/forms/Form/rows.d.ts.map +1 -1
  470. package/dist/forms/Form/rows.js +3 -1
  471. package/dist/forms/Form/rows.js.map +1 -1
  472. package/dist/forms/Form/types.d.ts +1 -1
  473. package/dist/forms/Form/types.d.ts.map +1 -1
  474. package/dist/forms/Form/types.js.map +1 -1
  475. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  476. package/dist/forms/NullifyField/index.js.map +1 -1
  477. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  478. package/dist/forms/RenderFields/RenderField.js +4 -2
  479. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  480. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  481. package/dist/forms/RenderFields/index.js +1 -1
  482. package/dist/forms/RenderFields/index.js.map +1 -1
  483. package/dist/forms/RowLabel/index.js +1 -1
  484. package/dist/forms/RowLabel/index.js.map +1 -1
  485. package/dist/forms/RowLabel/types.d.ts +1 -1
  486. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  487. package/dist/forms/RowLabel/types.js.map +1 -1
  488. package/dist/forms/Submit/index.js +12 -28
  489. package/dist/forms/Submit/index.js.map +1 -1
  490. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  491. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  492. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
  493. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +6 -2
  494. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  495. package/dist/graphics/Account/index.d.ts.map +1 -1
  496. package/dist/graphics/Account/index.js +1 -1
  497. package/dist/graphics/Account/index.js.map +1 -1
  498. package/dist/hooks/useDelay.js +15 -48
  499. package/dist/hooks/useDelay.js.map +1 -1
  500. package/dist/hooks/useDelayedRender.js +32 -71
  501. package/dist/hooks/useDelayedRender.js.map +1 -1
  502. package/dist/hooks/useHotkey.d.ts.map +1 -1
  503. package/dist/hooks/useHotkey.js.map +1 -1
  504. package/dist/hooks/useIgnoredEffect.d.ts +17 -0
  505. package/dist/hooks/useIgnoredEffect.d.ts.map +1 -0
  506. package/dist/hooks/useIgnoredEffect.js +28 -0
  507. package/dist/hooks/useIgnoredEffect.js.map +1 -0
  508. package/dist/hooks/useIntersect.d.ts.map +1 -1
  509. package/dist/hooks/useIntersect.js +14 -20
  510. package/dist/hooks/useIntersect.js.map +1 -1
  511. package/dist/hooks/useThrottledEffect.d.ts +7 -0
  512. package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
  513. package/dist/hooks/useThrottledEffect.js +7 -0
  514. package/dist/hooks/useThrottledEffect.js.map +1 -1
  515. package/dist/providers/Auth/index.d.ts +1 -1
  516. package/dist/providers/Auth/index.d.ts.map +1 -1
  517. package/dist/providers/Auth/index.js +6 -2
  518. package/dist/providers/Auth/index.js.map +1 -1
  519. package/dist/providers/Config/RenderComponent.d.ts +1 -1
  520. package/dist/providers/Config/RenderComponent.d.ts.map +1 -1
  521. package/dist/providers/Config/RenderComponent.js +2 -2
  522. package/dist/providers/Config/RenderComponent.js.map +1 -1
  523. package/dist/providers/Config/createClientConfig/collections.d.ts +6 -6
  524. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  525. package/dist/providers/Config/createClientConfig/collections.js +17 -13
  526. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  527. package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -1
  528. package/dist/providers/Config/createClientConfig/fields.js +31 -11
  529. package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
  530. package/dist/providers/Config/createClientConfig/getComponent.d.ts +1 -1
  531. package/dist/providers/Config/createClientConfig/getComponent.d.ts.map +1 -1
  532. package/dist/providers/Config/createClientConfig/getComponent.js +2 -2
  533. package/dist/providers/Config/createClientConfig/getComponent.js.map +1 -1
  534. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +1 -1
  535. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +3 -1
  536. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +1 -1
  537. package/dist/providers/Config/createClientConfig/globals.d.ts +4 -4
  538. package/dist/providers/Config/createClientConfig/globals.d.ts.map +1 -1
  539. package/dist/providers/Config/createClientConfig/globals.js +3 -3
  540. package/dist/providers/Config/createClientConfig/globals.js.map +1 -1
  541. package/dist/providers/Config/createClientConfig/index.d.ts +3 -3
  542. package/dist/providers/Config/createClientConfig/index.d.ts.map +1 -1
  543. package/dist/providers/Config/createClientConfig/index.js +20 -5
  544. package/dist/providers/Config/createClientConfig/index.js.map +1 -1
  545. package/dist/providers/DocumentEvents/index.js.map +1 -1
  546. package/dist/providers/DocumentInfo/index.d.ts +1 -1
  547. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  548. package/dist/providers/DocumentInfo/index.js +12 -4
  549. package/dist/providers/DocumentInfo/index.js.map +1 -1
  550. package/dist/providers/DocumentInfo/types.d.ts +20 -3
  551. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  552. package/dist/providers/DocumentInfo/types.js.map +1 -1
  553. package/dist/providers/ListInfo/index.d.ts +2 -2
  554. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  555. package/dist/providers/ListInfo/index.js.map +1 -1
  556. package/dist/providers/ListQuery/index.d.ts +12 -6
  557. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  558. package/dist/providers/ListQuery/index.js +32 -20
  559. package/dist/providers/ListQuery/index.js.map +1 -1
  560. package/dist/providers/Locale/index.d.ts.map +1 -1
  561. package/dist/providers/Locale/index.js.map +1 -1
  562. package/dist/providers/Preferences/index.d.ts.map +1 -1
  563. package/dist/providers/Preferences/index.js +4 -4
  564. package/dist/providers/Preferences/index.js.map +1 -1
  565. package/dist/providers/Root/index.d.ts +12 -12
  566. package/dist/providers/Root/index.d.ts.map +1 -1
  567. package/dist/providers/Root/index.js.map +1 -1
  568. package/dist/providers/Selection/index.d.ts +1 -1
  569. package/dist/providers/Selection/index.d.ts.map +1 -1
  570. package/dist/providers/Selection/index.js +118 -187
  571. package/dist/providers/Selection/index.js.map +1 -1
  572. package/dist/providers/WindowInfo/index.d.ts +1 -1
  573. package/dist/providers/WindowInfo/index.d.ts.map +1 -1
  574. package/dist/providers/WindowInfo/index.js +1 -1
  575. package/dist/providers/WindowInfo/index.js.map +1 -1
  576. package/dist/scss/app.scss +6 -6
  577. package/dist/scss/type.scss +4 -4
  578. package/dist/styles.css +1 -1
  579. package/dist/utilities/buildFormState.d.ts.map +1 -1
  580. package/dist/utilities/buildFormState.js +6 -2
  581. package/dist/utilities/buildFormState.js.map +1 -1
  582. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  583. package/dist/utilities/reduceFieldsToValuesWithValidation.js +6 -2
  584. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  585. package/package.json +13 -13
  586. package/dist/exports/client/chunk-UGBVRIVY.js +0 -14
  587. package/dist/exports/client/chunk-UGBVRIVY.js.map +0 -8
  588. package/dist/fields/Upload/HasOne/Input.d.ts.map +0 -1
  589. package/dist/fields/Upload/HasOne/Input.js +0 -324
  590. package/dist/fields/Upload/HasOne/Input.js.map +0 -1
  591. /package/dist/exports/client/{DatePicker-E6IJFDN2.js.map → DatePicker-OLRZVTAD.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["notFound","reduceFieldsToValues","qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","formatDocTitle","getFormState","hasSavePermission","getHasSavePermission","isEditing","getIsEditing","useAuth","useConfig","useLocale","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","docPermissions","docPermissionsFromProps","globalSlug","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermissionFromProps","initialData","initialDataFromProps","initialState","initialStateFromProps","onLoadError","onSave","onSaveFromProps","config","admin","dateFormat","collections","globals","routes","api","serverURL","collectionConfig","find","c","slug","globalConfig","g","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","isLoading","setIsLoading","isError","setIsError","setData","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","setDocPermissions","setHasSavePermission","setHasPublishPermission","isInitializing","undefined","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","permissions","code","locale","prevLocale","hasInitializedDocPermissions","prevLocalePermissions","versionsConfig","baseURL","pluralType","preferencesKey","operation","shouldFetchVersions","Boolean","readVersions","permission","getVersions","versionFetchURL","publishedFetchURL","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","where","and","publishedVersionParams","or","_status","equals","exists","stringify","push","parent","publishedJSON","drafts","fetch","credentials","headers","language","then","res","json","docs","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","params","idToUse","newIsEditing","docAccessURL","body","JSON","method","publishedAccessJSON","update","newDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","console","error","docPreferences","newData","doc","result","newState","apiRoute","schemaPath","abortController","AbortController","localeChanged","current","getInitialState","onError","signal","err","aborted","abort","action","useMemo","docURL","addQueryPrefix","value","title","_jsx","Provider","DocumentInfoProvider"],"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n PaginatedDocs,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n Where,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { hasSavePermission as getHasSavePermission } from '../../utilities/hasSavePermission.js'\nimport { isEditing as getIsEditing } from '../../utilities/isEditing.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nconst DocumentInfo: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData: initialDataFromProps,\n initialState: initialStateFromProps,\n onLoadError,\n onSave: onSaveFromProps,\n } = props\n\n const {\n config: {\n admin: { dateFormat },\n collections,\n globals,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n const globalConfig = globals.find((g) => g.slug === globalSlug)\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() => {\n if (!initialDataFromProps) return ''\n\n return formatDocTitle({\n collectionConfig,\n data: { ...initialDataFromProps, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n })\n })\n\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [data, setData] = useState<Data>(initialDataFromProps)\n const [initialState, setInitialState] = useState<FormState>(initialStateFromProps)\n const [publishedDoc, setPublishedDoc] = useState<TypeWithID & TypeWithTimestamps>(null)\n const [versions, setVersions] = useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n const [docPermissions, setDocPermissions] = useState<DocumentPermissions>(docPermissionsFromProps)\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n const isInitializing = initialState === undefined || data === undefined\n const [unpublishedVersions, setUnpublishedVersions] =\n useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n\n const { getPreference, setPreference } = usePreferences()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n const hasInitializedDocPermissions = useRef(false)\n // Separate locale cache used for handling permissions\n const prevLocalePermissions = useRef(locale)\n\n const versionsConfig = docConfig?.versions\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n const operation = isEditing ? 'update' : 'create'\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission)\n\n const getVersions = useCallback(async () => {\n let versionFetchURL\n let publishedFetchURL\n let unpublishedVersionJSON = null\n let versionJSON = null\n let shouldFetch = true\n\n const versionParams = {\n depth: 0,\n where: {\n and: [],\n },\n }\n\n const publishedVersionParams: { depth: number; locale: string; where: Where } = {\n depth: 0,\n locale: locale || undefined,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n ],\n },\n }\n\n if (globalSlug) {\n versionFetchURL = `${baseURL}/globals/${globalSlug}/versions`\n publishedFetchURL = `${baseURL}/globals/${globalSlug}?${qs.stringify(publishedVersionParams)}`\n }\n\n if (collectionSlug) {\n versionFetchURL = `${baseURL}/${collectionSlug}/versions`\n\n publishedVersionParams.where.and.push({\n id: {\n equals: id,\n },\n })\n\n publishedFetchURL = `${baseURL}/${collectionSlug}?${qs.stringify(publishedVersionParams)}`\n\n if (!id) {\n shouldFetch = false\n }\n\n versionParams.where.and.push({\n parent: {\n equals: id,\n },\n })\n }\n\n if (shouldFetch) {\n let publishedJSON\n\n if (versionsConfig?.drafts) {\n publishedJSON = await fetch(publishedFetchURL, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (collectionSlug) {\n publishedJSON = publishedJSON?.docs?.[0]\n }\n }\n\n if (shouldFetchVersions) {\n versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (publishedJSON?.updatedAt) {\n const newerVersionParams = {\n ...versionParams,\n where: {\n ...versionParams.where,\n and: [\n ...versionParams.where.and,\n {\n updatedAt: {\n greater_than: publishedJSON?.updatedAt,\n },\n },\n ],\n },\n }\n\n // Get any newer versions available\n const newerVersionRes = await fetch(\n `${versionFetchURL}?${qs.stringify(newerVersionParams)}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (newerVersionRes.status === 200) {\n unpublishedVersionJSON = await newerVersionRes.json()\n }\n }\n }\n\n setPublishedDoc(publishedJSON)\n setVersions(versionJSON)\n setUnpublishedVersions(unpublishedVersionJSON)\n }\n }, [i18n, globalSlug, collectionSlug, id, baseURL, locale, versionsConfig, shouldFetchVersions])\n\n const getDocPermissions = React.useCallback(\n async (data: Data) => {\n const params = {\n locale: locale || undefined,\n }\n\n const idToUse = data?.id || id\n const newIsEditing = getIsEditing({ id: idToUse, collectionSlug, globalSlug })\n\n if (newIsEditing) {\n const docAccessURL = collectionSlug\n ? `/${collectionSlug}/access/${idToUse}`\n : globalSlug\n ? `/globals/${globalSlug}/access`\n : null\n\n if (docAccessURL) {\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n body: JSON.stringify(data),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n const json: DocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n ...(data || {}),\n _status: 'published',\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update?.permission)\n }\n } else {\n // when creating new documents, there is no permissions saved for this document yet\n // use the generic entity permissions instead\n const newDocPermissions = collectionSlug\n ? permissions?.collections?.[collectionSlug]\n : permissions?.globals?.[globalSlug]\n\n setDocPermissions(newDocPermissions)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: newDocPermissions,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n }\n },\n [serverURL, api, id, permissions, i18n.language, locale, collectionSlug, globalSlug],\n )\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const onSave = React.useCallback<DocumentInfoContext['onSave']>(\n async (json) => {\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps(json)\n }\n\n const docPreferences = await getDocPreferences()\n\n const newData = collectionSlug ? json.doc : json.result\n\n const newState = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n data: newData,\n docPreferences,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n setInitialState(newState)\n setData(newData)\n await getDocPermissions(newData)\n },\n [\n api,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n locale,\n onSaveFromProps,\n serverURL,\n getDocPermissions,\n ],\n )\n\n useEffect(() => {\n const abortController = new AbortController()\n const localeChanged = locale !== prevLocale.current\n\n if (\n initialStateFromProps === undefined ||\n initialDataFromProps === undefined ||\n localeChanged\n ) {\n if (localeChanged) prevLocale.current = locale\n\n const getInitialState = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const result = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n onError: onLoadError,\n serverURL,\n signal: abortController.signal,\n })\n const data = reduceFieldsToValues(result, true)\n setData(data)\n\n if (localeChanged) void getDocPermissions(data)\n\n setInitialState(result)\n } catch (err) {\n if (!abortController.signal.aborted) {\n if (typeof onLoadError === 'function') {\n void onLoadError()\n }\n setIsError(true)\n setIsLoading(false)\n }\n }\n setIsLoading(false)\n }\n\n void getInitialState()\n }\n\n return () => {\n try {\n abortController.abort()\n } catch (error) {\n // swallow error\n }\n }\n }, [\n api,\n operation,\n collectionSlug,\n serverURL,\n id,\n globalSlug,\n locale,\n onLoadError,\n initialDataFromProps,\n initialStateFromProps,\n getDocPermissions,\n ])\n\n useEffect(() => {\n void getVersions()\n }, [getVersions])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, data, dateFormat, i18n, id, globalConfig])\n\n useEffect(() => {\n if (data && (collectionSlug || globalSlug)) {\n if (\n hasInitializedDocPermissions.current === false &&\n (!docPermissions ||\n hasSavePermission === undefined ||\n hasSavePermission === null ||\n hasPublishPermission === undefined ||\n hasPublishPermission === null)\n ) {\n hasInitializedDocPermissions.current = true\n void getDocPermissions(data)\n }\n }\n }, [\n getDocPermissions,\n docPermissionsFromProps,\n hasSavePermissionFromProps,\n hasPublishPermissionFromProps,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n data,\n docPermissions,\n hasSavePermission,\n hasPublishPermission,\n ])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n if (isError) notFound()\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n docConfig,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isInitializing,\n isLoading,\n onSave,\n preferencesKey,\n publishedDoc,\n setDocFieldPreferences,\n setDocumentTitle,\n title: documentTitle,\n unpublishedVersions,\n versions,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["notFound","reduceFieldsToValues","qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","formatDocTitle","getFormState","hasSavePermission","getHasSavePermission","isEditing","getIsEditing","useAuth","useConfig","useLocale","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","docPermissions","docPermissionsFromProps","globalSlug","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermissionFromProps","initialData","initialDataFromProps","initialState","initialStateFromProps","onLoadError","onSave","onSaveFromProps","config","admin","dateFormat","collections","globals","routes","api","serverURL","collectionConfig","find","c","slug","globalConfig","g","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","isLoading","setIsLoading","isError","setIsError","setData","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","setDocPermissions","setHasSavePermission","setHasPublishPermission","isInitializing","undefined","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","permissions","code","locale","prevLocale","hasInitializedDocPermissions","prevLocalePermissions","versionsConfig","baseURL","pluralType","preferencesKey","operation","shouldFetchVersions","Boolean","readVersions","permission","getVersions","versionFetchURL","publishedFetchURL","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","where","and","publishedVersionParams","or","_status","equals","exists","stringify","push","parent","publishedJSON","drafts","fetch","credentials","headers","language","then","res","json","docs","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","params","idToUse","newIsEditing","docAccessURL","body","JSON","method","publishedAccessJSON","update","newDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","console","error","docPreferences","newData","doc","result","newState","apiRoute","schemaPath","abortController","AbortController","localeChanged","current","getInitialState","onError","signal","err","aborted","abort","action","useMemo","docURL","addQueryPrefix","value","title","_jsx","Provider","DocumentInfoProvider"],"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n PaginatedDocs,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n Where,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { hasSavePermission as getHasSavePermission } from '../../utilities/hasSavePermission.js'\nimport { isEditing as getIsEditing } from '../../utilities/isEditing.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nconst DocumentInfo: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData: initialDataFromProps,\n initialState: initialStateFromProps,\n onLoadError,\n onSave: onSaveFromProps,\n } = props\n\n const {\n config: {\n admin: { dateFormat },\n collections,\n globals,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n const globalConfig = globals.find((g) => g.slug === globalSlug)\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() => {\n if (!initialDataFromProps) {\n return ''\n }\n\n return formatDocTitle({\n collectionConfig,\n data: { ...initialDataFromProps, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n })\n })\n\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [data, setData] = useState<Data>(initialDataFromProps)\n const [initialState, setInitialState] = useState<FormState>(initialStateFromProps)\n const [publishedDoc, setPublishedDoc] = useState<TypeWithID & TypeWithTimestamps>(null)\n const [versions, setVersions] = useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n const [docPermissions, setDocPermissions] = useState<DocumentPermissions>(docPermissionsFromProps)\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n const isInitializing = initialState === undefined || data === undefined\n const [unpublishedVersions, setUnpublishedVersions] =\n useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n\n const { getPreference, setPreference } = usePreferences()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n const hasInitializedDocPermissions = useRef(false)\n // Separate locale cache used for handling permissions\n const prevLocalePermissions = useRef(locale)\n\n const versionsConfig = docConfig?.versions\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n const operation = isEditing ? 'update' : 'create'\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission)\n\n const getVersions = useCallback(async () => {\n let versionFetchURL\n let publishedFetchURL\n let unpublishedVersionJSON = null\n let versionJSON = null\n let shouldFetch = true\n\n const versionParams = {\n depth: 0,\n where: {\n and: [],\n },\n }\n\n const publishedVersionParams: { depth: number; locale: string; where: Where } = {\n depth: 0,\n locale: locale || undefined,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n ],\n },\n }\n\n if (globalSlug) {\n versionFetchURL = `${baseURL}/globals/${globalSlug}/versions`\n publishedFetchURL = `${baseURL}/globals/${globalSlug}?${qs.stringify(publishedVersionParams)}`\n }\n\n if (collectionSlug) {\n versionFetchURL = `${baseURL}/${collectionSlug}/versions`\n\n publishedVersionParams.where.and.push({\n id: {\n equals: id,\n },\n })\n\n publishedFetchURL = `${baseURL}/${collectionSlug}?${qs.stringify(publishedVersionParams)}`\n\n if (!id) {\n shouldFetch = false\n }\n\n versionParams.where.and.push({\n parent: {\n equals: id,\n },\n })\n }\n\n if (shouldFetch) {\n let publishedJSON\n\n if (versionsConfig?.drafts) {\n publishedJSON = await fetch(publishedFetchURL, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (collectionSlug) {\n publishedJSON = publishedJSON?.docs?.[0]\n }\n }\n\n if (shouldFetchVersions) {\n versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (publishedJSON?.updatedAt) {\n const newerVersionParams = {\n ...versionParams,\n where: {\n ...versionParams.where,\n and: [\n ...versionParams.where.and,\n {\n updatedAt: {\n greater_than: publishedJSON?.updatedAt,\n },\n },\n ],\n },\n }\n\n // Get any newer versions available\n const newerVersionRes = await fetch(\n `${versionFetchURL}?${qs.stringify(newerVersionParams)}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (newerVersionRes.status === 200) {\n unpublishedVersionJSON = await newerVersionRes.json()\n }\n }\n }\n\n setPublishedDoc(publishedJSON)\n setVersions(versionJSON)\n setUnpublishedVersions(unpublishedVersionJSON)\n }\n }, [i18n, globalSlug, collectionSlug, id, baseURL, locale, versionsConfig, shouldFetchVersions])\n\n const getDocPermissions = React.useCallback(\n async (data: Data) => {\n const params = {\n locale: locale || undefined,\n }\n\n const idToUse = data?.id || id\n const newIsEditing = getIsEditing({ id: idToUse, collectionSlug, globalSlug })\n\n if (newIsEditing) {\n const docAccessURL = collectionSlug\n ? `/${collectionSlug}/access/${idToUse}`\n : globalSlug\n ? `/globals/${globalSlug}/access`\n : null\n\n if (docAccessURL) {\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n body: JSON.stringify(data),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n const json: DocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n ...(data || {}),\n _status: 'published',\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update?.permission)\n }\n } else {\n // when creating new documents, there is no permissions saved for this document yet\n // use the generic entity permissions instead\n const newDocPermissions = collectionSlug\n ? permissions?.collections?.[collectionSlug]\n : permissions?.globals?.[globalSlug]\n\n setDocPermissions(newDocPermissions)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: newDocPermissions,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n }\n },\n [serverURL, api, id, permissions, i18n.language, locale, collectionSlug, globalSlug],\n )\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const onSave = React.useCallback<DocumentInfoContext['onSave']>(\n async (json) => {\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps(json)\n }\n\n const docPreferences = await getDocPreferences()\n\n const newData = collectionSlug ? json.doc : json.result\n\n const newState = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n data: newData,\n docPreferences,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n setInitialState(newState)\n setData(newData)\n await getDocPermissions(newData)\n },\n [\n api,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n locale,\n onSaveFromProps,\n serverURL,\n getDocPermissions,\n ],\n )\n\n useEffect(() => {\n const abortController = new AbortController()\n const localeChanged = locale !== prevLocale.current\n\n if (\n initialStateFromProps === undefined ||\n initialDataFromProps === undefined ||\n localeChanged\n ) {\n if (localeChanged) {\n prevLocale.current = locale\n }\n\n const getInitialState = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const result = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n onError: onLoadError,\n serverURL,\n signal: abortController.signal,\n })\n const data = reduceFieldsToValues(result, true)\n setData(data)\n\n if (localeChanged) {\n void getDocPermissions(data)\n }\n\n setInitialState(result)\n } catch (err) {\n if (!abortController.signal.aborted) {\n if (typeof onLoadError === 'function') {\n void onLoadError()\n }\n setIsError(true)\n setIsLoading(false)\n }\n }\n setIsLoading(false)\n }\n\n void getInitialState()\n }\n\n return () => {\n try {\n abortController.abort()\n } catch (error) {\n // swallow error\n }\n }\n }, [\n api,\n operation,\n collectionSlug,\n serverURL,\n id,\n globalSlug,\n locale,\n onLoadError,\n initialDataFromProps,\n initialStateFromProps,\n getDocPermissions,\n ])\n\n useEffect(() => {\n void getVersions()\n }, [getVersions])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, data, dateFormat, i18n, id, globalConfig])\n\n useEffect(() => {\n if (data && (collectionSlug || globalSlug)) {\n if (\n hasInitializedDocPermissions.current === false &&\n (!docPermissions ||\n hasSavePermission === undefined ||\n hasSavePermission === null ||\n hasPublishPermission === undefined ||\n hasPublishPermission === null)\n ) {\n hasInitializedDocPermissions.current = true\n void getDocPermissions(data)\n }\n }\n }, [\n getDocPermissions,\n docPermissionsFromProps,\n hasSavePermissionFromProps,\n hasPublishPermissionFromProps,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n data,\n docPermissions,\n hasSavePermission,\n hasPublishPermission,\n ])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n if (isError) {\n notFound()\n }\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n docConfig,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isInitializing,\n isLoading,\n onSave,\n preferencesKey,\n publishedDoc,\n setDocFieldPreferences,\n setDocumentTitle,\n title: documentTitle,\n unpublishedVersions,\n versions,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,14 +1,15 @@
1
1
  import type { ClientCollectionConfig, ClientGlobalConfig, Data, DocumentPermissions, DocumentPreferences, FormState, InsideFieldsPreferences, PaginatedDocs, SanitizedCollectionConfig, SanitizedGlobalConfig, TypeWithID, TypeWithTimestamps, TypeWithVersion } from 'payload';
2
2
  import type React from 'react';
3
3
  export type DocumentInfoProps = {
4
+ action?: string;
4
5
  AfterDocument?: React.ReactNode;
5
6
  AfterFields?: React.ReactNode;
7
+ apiURL?: string;
6
8
  BeforeDocument?: React.ReactNode;
7
9
  BeforeFields?: React.ReactNode;
8
- action?: string;
9
- apiURL?: string;
10
10
  collectionSlug?: SanitizedCollectionConfig['slug'];
11
11
  disableActions?: boolean;
12
+ disableCreate?: boolean;
12
13
  disableLeaveWithoutSaving?: boolean;
13
14
  docPermissions?: DocumentPermissions;
14
15
  globalSlug?: SanitizedGlobalConfig['slug'];
@@ -18,8 +19,24 @@ export type DocumentInfoProps = {
18
19
  initialData?: Data;
19
20
  initialState?: FormState;
20
21
  isEditing?: boolean;
22
+ onDelete?: (args: {
23
+ collectionConfig?: ClientCollectionConfig;
24
+ id: string;
25
+ }) => Promise<void> | void;
26
+ onDrawerCreate?: () => void;
27
+ onDuplicate?: (args: {
28
+ collectionConfig?: ClientCollectionConfig;
29
+ doc: TypeWithID;
30
+ }) => Promise<void> | void;
21
31
  onLoadError?: (data?: any) => Promise<void> | void;
22
- onSave?: (data: Data) => Promise<void> | void;
32
+ onSave?: (args: {
33
+ collectionConfig?: ClientCollectionConfig;
34
+ doc: TypeWithID;
35
+ operation: 'create' | 'update';
36
+ result: Data;
37
+ }) => Promise<void> | void;
38
+ redirectAfterDelete?: boolean;
39
+ redirectAfterDuplicate?: boolean;
23
40
  };
24
41
  export type DocumentInfoContext = {
25
42
  docConfig?: ClientCollectionConfig | ClientGlobalConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,IAAI,EACJ,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,uBAAuB,EACvB,aAAa,EACb,yBAAyB,EACzB,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,eAAe,EAChB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAClD,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,cAAc,CAAC,EAAE,mBAAmB,CAAA;IACpC,UAAU,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,EAAE,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IAC1B,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAClD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,CAAC,EAAE,sBAAsB,GAAG,kBAAkB,CAAA;IACvD,iBAAiB,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,iBAAiB,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACrD,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,WAAW,EAAE,IAAI,CAAA;IACjB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,cAAc,EAAE,OAAO,CAAA;IACvB,SAAS,EAAE,OAAO,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,GAAG,kBAAkB,CAAA;IACrE,sBAAsB,EAAE,CACtB,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,KAC5E,IAAI,CAAA;IACT,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,mBAAmB,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAA;IACzD,QAAQ,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9C,aAAa,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAA;CACpD,GAAG,iBAAiB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/providers/DocumentInfo/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n InsideFieldsPreferences,\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n} from 'payload'\nimport type React from 'react'\n\nexport type DocumentInfoProps = {\n AfterDocument?: React.ReactNode\n AfterFields?: React.ReactNode\n BeforeDocument?: React.ReactNode\n BeforeFields?: React.ReactNode\n action?: string\n apiURL?: string\n collectionSlug?: SanitizedCollectionConfig['slug']\n disableActions?: boolean\n disableLeaveWithoutSaving?: boolean\n docPermissions?: DocumentPermissions\n globalSlug?: SanitizedGlobalConfig['slug']\n hasPublishPermission?: boolean\n hasSavePermission?: boolean\n id: null | number | string\n initialData?: Data\n initialState?: FormState\n isEditing?: boolean\n onLoadError?: (data?: any) => Promise<void> | void\n onSave?: (data: Data) => Promise<void> | void\n}\n\nexport type DocumentInfoContext = {\n docConfig?: ClientCollectionConfig | ClientGlobalConfig\n getDocPermissions: (data?: Data) => Promise<void>\n getDocPreferences: () => Promise<DocumentPreferences>\n getVersions: () => Promise<void>\n initialData: Data\n initialState?: FormState\n isInitializing: boolean\n isLoading: boolean\n preferencesKey?: string\n publishedDoc?: { _status?: string } & TypeWithID & TypeWithTimestamps\n setDocFieldPreferences: (\n field: string,\n fieldPreferences: { [key: string]: unknown } & Partial<InsideFieldsPreferences>,\n ) => void\n setDocumentTitle: (title: string) => void\n slug?: string\n title: string\n unpublishedVersions?: PaginatedDocs<TypeWithVersion<any>>\n versions?: PaginatedDocs<TypeWithVersion<any>>\n versionsCount?: PaginatedDocs<TypeWithVersion<any>>\n} & DocumentInfoProps\n"],"mappings":"AAuCA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/providers/DocumentInfo/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n InsideFieldsPreferences,\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n} from 'payload'\nimport type React from 'react'\n\nexport type DocumentInfoProps = {\n action?: string\n AfterDocument?: React.ReactNode\n AfterFields?: React.ReactNode\n apiURL?: string\n BeforeDocument?: React.ReactNode\n BeforeFields?: React.ReactNode\n collectionSlug?: SanitizedCollectionConfig['slug']\n disableActions?: boolean\n disableCreate?: boolean\n disableLeaveWithoutSaving?: boolean\n docPermissions?: DocumentPermissions\n globalSlug?: SanitizedGlobalConfig['slug']\n hasPublishPermission?: boolean\n hasSavePermission?: boolean\n id: null | number | string\n initialData?: Data\n initialState?: FormState\n isEditing?: boolean\n onDelete?: (args: {\n collectionConfig?: ClientCollectionConfig\n id: string\n }) => Promise<void> | void\n onDrawerCreate?: () => void\n /* only available if `redirectAfterDuplicate` is `false` */\n onDuplicate?: (args: {\n collectionConfig?: ClientCollectionConfig\n doc: TypeWithID\n }) => Promise<void> | void\n onLoadError?: (data?: any) => Promise<void> | void\n onSave?: (args: {\n collectionConfig?: ClientCollectionConfig\n doc: TypeWithID\n operation: 'create' | 'update'\n result: Data\n }) => Promise<void> | void\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n}\n\nexport type DocumentInfoContext = {\n docConfig?: ClientCollectionConfig | ClientGlobalConfig\n getDocPermissions: (data?: Data) => Promise<void>\n getDocPreferences: () => Promise<DocumentPreferences>\n getVersions: () => Promise<void>\n initialData: Data\n initialState?: FormState\n isInitializing: boolean\n isLoading: boolean\n preferencesKey?: string\n publishedDoc?: { _status?: string } & TypeWithID & TypeWithTimestamps\n setDocFieldPreferences: (\n field: string,\n fieldPreferences: { [key: string]: unknown } & Partial<InsideFieldsPreferences>,\n ) => void\n setDocumentTitle: (title: string) => void\n slug?: string\n title: string\n unpublishedVersions?: PaginatedDocs<TypeWithVersion<any>>\n versions?: PaginatedDocs<TypeWithVersion<any>>\n versionsCount?: PaginatedDocs<TypeWithVersion<any>>\n} & DocumentInfoProps\n"],"mappings":"AAyDA","ignoreList":[]}
@@ -3,23 +3,23 @@ import React from 'react';
3
3
  import type { Column } from '../../elements/Table/index.js';
4
4
  export type ColumnPreferences = Pick<Column, 'accessor' | 'active'>[];
5
5
  export type ListInfoProps = {
6
- readonly Header?: React.ReactNode;
7
6
  readonly beforeActions?: React.ReactNode[];
8
7
  readonly collectionConfig: ClientConfig['collections'][0];
9
8
  readonly collectionSlug: SanitizedCollectionConfig['slug'];
10
9
  readonly disableBulkDelete?: boolean;
11
10
  readonly disableBulkEdit?: boolean;
12
11
  readonly hasCreatePermission: boolean;
12
+ readonly Header?: React.ReactNode;
13
13
  readonly newDocumentURL: string;
14
14
  readonly titleField?: FieldAffectingData;
15
15
  };
16
16
  export type ListInfoContext = {
17
- readonly Header?: React.ReactNode;
18
17
  readonly beforeActions?: React.ReactNode[];
19
18
  readonly collectionSlug: string;
20
19
  readonly disableBulkDelete?: boolean;
21
20
  readonly disableBulkEdit?: boolean;
22
21
  readonly hasCreatePermission: boolean;
22
+ readonly Header?: React.ReactNode;
23
23
  readonly newDocumentURL: string;
24
24
  } & ListInfoProps;
25
25
  export declare const useListInfo: () => ListInfoContext;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ListInfo/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAE1F,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAE3D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAA;AAErE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IACzD,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAC1D,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAA;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAA;CACzC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAA;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC,GAAG,aAAa,CAAA;AAIjB,eAAO,MAAM,WAAW,QAAO,eAAsC,CAAA;AAErE,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CACrC;IACE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,GAAG,aAAa,CAGlB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ListInfo/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAE1F,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAE3D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAA;AAErE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IACzD,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAC1D,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAA;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAA;CACzC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAA;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC,GAAG,aAAa,CAAA;AAIjB,eAAO,MAAM,WAAW,QAAO,eAAsC,CAAA;AAErE,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CACrC;IACE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,GAAG,aAAa,CAGlB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","createContext","useContext","Context","useListInfo","ListInfoProvider","children","props","_jsx","Provider","value"],"sources":["../../../src/providers/ListInfo/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientConfig, FieldAffectingData, SanitizedCollectionConfig } from 'payload'\n\nimport React, { createContext, useContext } from 'react'\n\nimport type { Column } from '../../elements/Table/index.js'\n\nexport type ColumnPreferences = Pick<Column, 'accessor' | 'active'>[]\n\nexport type ListInfoProps = {\n readonly Header?: React.ReactNode\n readonly beforeActions?: React.ReactNode[]\n readonly collectionConfig: ClientConfig['collections'][0]\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly disableBulkDelete?: boolean\n readonly disableBulkEdit?: boolean\n readonly hasCreatePermission: boolean\n readonly newDocumentURL: string\n readonly titleField?: FieldAffectingData\n}\n\nexport type ListInfoContext = {\n readonly Header?: React.ReactNode\n readonly beforeActions?: React.ReactNode[]\n readonly collectionSlug: string\n readonly disableBulkDelete?: boolean\n readonly disableBulkEdit?: boolean\n readonly hasCreatePermission: boolean\n readonly newDocumentURL: string\n} & ListInfoProps\n\nconst Context = createContext({} as ListInfoContext)\n\nexport const useListInfo = (): ListInfoContext => useContext(Context)\n\nexport const ListInfoProvider: React.FC<\n {\n readonly children: React.ReactNode\n } & ListInfoProps\n> = ({ children, ...props }) => {\n return <Context.Provider value={props}>{children}</Context.Provider>\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,IAASC,aAAa,EAAEC,UAAU,QAAQ;AA4BjD,MAAMC,OAAA,gBAAUF,aAAA,CAAc,CAAC;AAE/B,OAAO,MAAMG,WAAA,GAAcA,CAAA;EAAA,OAAuBF,UAAA,CAAAC,OAAW;AAAA;AAE7D,OAAO,MAAME,gBAAA,GAITA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAA,CAAO;EACzB,oBAAOC,IAAA,CAACL,OAAA,CAAQM,QAAQ;IAACC,KAAA,EAAOH,KAAA;cAAQD;;AAC1C","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","createContext","useContext","Context","useListInfo","ListInfoProvider","children","props","_jsx","Provider","value"],"sources":["../../../src/providers/ListInfo/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientConfig, FieldAffectingData, SanitizedCollectionConfig } from 'payload'\n\nimport React, { createContext, useContext } from 'react'\n\nimport type { Column } from '../../elements/Table/index.js'\n\nexport type ColumnPreferences = Pick<Column, 'accessor' | 'active'>[]\n\nexport type ListInfoProps = {\n readonly beforeActions?: React.ReactNode[]\n readonly collectionConfig: ClientConfig['collections'][0]\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly disableBulkDelete?: boolean\n readonly disableBulkEdit?: boolean\n readonly hasCreatePermission: boolean\n readonly Header?: React.ReactNode\n readonly newDocumentURL: string\n readonly titleField?: FieldAffectingData\n}\n\nexport type ListInfoContext = {\n readonly beforeActions?: React.ReactNode[]\n readonly collectionSlug: string\n readonly disableBulkDelete?: boolean\n readonly disableBulkEdit?: boolean\n readonly hasCreatePermission: boolean\n readonly Header?: React.ReactNode\n readonly newDocumentURL: string\n} & ListInfoProps\n\nconst Context = createContext({} as ListInfoContext)\n\nexport const useListInfo = (): ListInfoContext => useContext(Context)\n\nexport const ListInfoProvider: React.FC<\n {\n readonly children: React.ReactNode\n } & ListInfoProps\n> = ({ children, ...props }) => {\n return <Context.Provider value={props}>{children}</Context.Provider>\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,IAASC,aAAa,EAAEC,UAAU,QAAQ;AA4BjD,MAAMC,OAAA,gBAAUF,aAAA,CAAc,CAAC;AAE/B,OAAO,MAAMG,WAAA,GAAcA,CAAA;EAAA,OAAuBF,UAAA,CAAAC,OAAW;AAAA;AAE7D,OAAO,MAAME,gBAAA,GAITA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAA,CAAO;EACzB,oBAAOC,IAAA,CAACL,OAAA,CAAQM,QAAQ;IAACC,KAAA,EAAOH,KAAA;cAAQD;;AAC1C","ignoreList":[]}
@@ -15,14 +15,20 @@ type ContextHandlers = {
15
15
  handleSearchChange?: (search: string) => Promise<void>;
16
16
  handleSortChange?: (sort: string) => Promise<void>;
17
17
  handleWhereChange?: (where: Where) => Promise<void>;
18
+ params: RefineOverrides;
18
19
  };
19
20
  export type ListQueryProps = {
20
- children: React.ReactNode;
21
- data: PaginatedDocs;
22
- defaultLimit?: number;
23
- defaultSort?: string;
24
- modifySearchParams?: boolean;
25
- preferenceKey?: string;
21
+ readonly children: React.ReactNode;
22
+ readonly data: PaginatedDocs;
23
+ readonly defaultLimit?: number;
24
+ readonly defaultSort?: string;
25
+ readonly modifySearchParams?: boolean;
26
+ /**
27
+ * Used to manage the query params manually. If you pass this prop, the provider will not manage the query params from the searchParams.
28
+ * Useful for modals or other components that need to manage the query params themselves.
29
+ */
30
+ readonly params?: RefineOverrides;
31
+ readonly preferenceKey?: string;
26
32
  } & PropHandlers;
27
33
  export type ListQueryContext = {
28
34
  data: PaginatedDocs;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAKnD,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAK3D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAA;AAErE,KAAK,YAAY,GAAG;IAClB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACzD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC7D,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC7D,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACzD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC3D,CAAA;AACD,KAAK,eAAe,GAAG;IACrB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,IAAI,EAAE,aAAa,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,YAAY,CAAA;AAEhB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,aAAa,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACzD,GAAG,eAAe,CAAA;AAInB,eAAO,MAAM,YAAY,QAAO,gBAAuC,CAAA;AAEvE,KAAK,eAAe,GAAG;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAwItD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAKnD,OAAO,KAAsE,MAAM,OAAO,CAAA;AAE1F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAK3D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAA;AAErE,KAAK,YAAY,GAAG;IAClB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACzD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC7D,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC7D,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACzD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC3D,CAAA;AAED,KAAK,eAAe,GAAG;IACrB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,MAAM,EAAE,eAAe,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IACrC;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAChC,GAAG,YAAY,CAAA;AAEhB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,aAAa,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACzD,GAAG,eAAe,CAAA;AAInB,eAAO,MAAM,YAAY,QAAO,gBAAuC,CAAA;AAEvE,KAAK,eAAe,GAAG;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA4KtD,CAAA"}
@@ -4,7 +4,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
4
4
  import { useRouter } from 'next/navigation.js';
5
5
  import { isNumber } from 'payload/shared';
6
6
  import * as qs from 'qs-esm';
7
- import React, { createContext, useContext } from 'react';
7
+ import React, { createContext, useCallback, useContext, useEffect, useState } from 'react';
8
8
  import { usePreferences } from '../Preferences/index.js';
9
9
  import { useSearchParams } from '../SearchParams/index.js';
10
10
  const Context = /*#__PURE__*/createContext({});
@@ -22,20 +22,25 @@ export const ListQueryProvider = ({
22
22
  handleSortChange: handleSortChangeFromProps,
23
23
  handleWhereChange: handleWhereChangeFromProps,
24
24
  modifySearchParams,
25
+ params: paramsFromProps,
25
26
  preferenceKey
26
27
  }) => {
27
28
  const router = useRouter();
28
29
  const {
29
30
  setPreference
30
31
  } = usePreferences();
31
- const hasSetInitialParams = React.useRef(false);
32
32
  const {
33
33
  searchParams: currentQuery
34
34
  } = useSearchParams();
35
- const refineListData = React.useCallback(async query => {
36
- if (!modifySearchParams) return;
35
+ const [params, setParams] = useState(paramsFromProps || currentQuery);
36
+ const refineListData = useCallback(async query => {
37
+ if (!modifySearchParams) {
38
+ return;
39
+ }
37
40
  let pageQuery = 'page' in query ? query.page : currentQuery?.page;
38
- if ('where' in query || 'search' in query) pageQuery = '1';
41
+ if ('where' in query || 'search' in query) {
42
+ pageQuery = '1';
43
+ }
39
44
  const updatedPreferences = {};
40
45
  let updatePreferences = false;
41
46
  if ('limit' in query) {
@@ -49,18 +54,18 @@ export const ListQueryProvider = ({
49
54
  if (updatePreferences && preferenceKey) {
50
55
  await setPreference(preferenceKey, updatedPreferences);
51
56
  }
52
- const params = {
57
+ const params_0 = {
53
58
  limit: 'limit' in query ? query.limit : currentQuery?.limit,
54
59
  page: pageQuery,
55
60
  search: 'search' in query ? query.search : currentQuery?.search,
56
61
  sort: 'sort' in query ? query.sort : currentQuery?.sort,
57
62
  where: 'where' in query ? query.where : currentQuery?.where
58
63
  };
59
- router.replace(`${qs.stringify(params, {
64
+ router.replace(`${qs.stringify(params_0, {
60
65
  addQueryPrefix: true
61
66
  })}`);
62
- }, [preferenceKey, modifySearchParams, router, setPreference, currentQuery]);
63
- const handlePageChange = React.useCallback(async arg => {
67
+ }, [modifySearchParams, currentQuery?.page, currentQuery?.limit, currentQuery?.search, currentQuery?.sort, currentQuery?.where, preferenceKey, router, setPreference]);
68
+ const handlePageChange = useCallback(async arg => {
64
69
  if (typeof handlePageChangeFromProps === 'function') {
65
70
  await handlePageChangeFromProps(arg);
66
71
  }
@@ -73,18 +78,20 @@ export const ListQueryProvider = ({
73
78
  await handlePerPageChangeFromProps(arg_0);
74
79
  }
75
80
  await refineListData({
76
- limit: String(arg_0)
81
+ limit: String(arg_0),
82
+ page: '1'
77
83
  });
78
84
  }, [refineListData, handlePerPageChangeFromProps]);
79
- const handleSearchChange = React.useCallback(async arg_1 => {
85
+ const handleSearchChange = useCallback(async arg_1 => {
86
+ const search = arg_1 === '' ? undefined : arg_1;
80
87
  if (typeof handleSearchChangeFromProps === 'function') {
81
- await handleSearchChangeFromProps(arg_1);
88
+ await handleSearchChangeFromProps(search);
82
89
  }
83
90
  await refineListData({
84
- search: arg_1
91
+ search
85
92
  });
86
- }, [refineListData, handleSearchChangeFromProps]);
87
- const handleSortChange = React.useCallback(async arg_2 => {
93
+ }, [handleSearchChangeFromProps, refineListData]);
94
+ const handleSortChange = useCallback(async arg_2 => {
88
95
  if (typeof handleSortChangeFromProps === 'function') {
89
96
  await handleSortChangeFromProps(arg_2);
90
97
  }
@@ -92,7 +99,7 @@ export const ListQueryProvider = ({
92
99
  sort: arg_2
93
100
  });
94
101
  }, [refineListData, handleSortChangeFromProps]);
95
- const handleWhereChange = React.useCallback(async arg_3 => {
102
+ const handleWhereChange = useCallback(async arg_3 => {
96
103
  if (typeof handleWhereChangeFromProps === 'function') {
97
104
  await handleWhereChangeFromProps(arg_3);
98
105
  }
@@ -100,8 +107,11 @@ export const ListQueryProvider = ({
100
107
  where: arg_3
101
108
  });
102
109
  }, [refineListData, handleWhereChangeFromProps]);
103
- React.useEffect(() => {
104
- if (!hasSetInitialParams.current) {
110
+ useEffect(() => {
111
+ if (paramsFromProps) {
112
+ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
113
+ setParams(paramsFromProps);
114
+ } else {
105
115
  if (modifySearchParams) {
106
116
  let shouldUpdateQueryString = false;
107
117
  if (isNumber(defaultLimit) && !('limit' in currentQuery)) {
@@ -112,13 +122,14 @@ export const ListQueryProvider = ({
112
122
  currentQuery.sort = defaultSort;
113
123
  shouldUpdateQueryString = true;
114
124
  }
125
+ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
126
+ setParams(currentQuery);
115
127
  if (shouldUpdateQueryString) {
116
128
  router.replace(`?${qs.stringify(currentQuery)}`);
117
129
  }
118
130
  }
119
- hasSetInitialParams.current = true;
120
131
  }
121
- }, [defaultSort, defaultLimit, router, modifySearchParams, currentQuery]);
132
+ }, [defaultSort, defaultLimit, router, modifySearchParams, currentQuery, paramsFromProps, params]);
122
133
  return /*#__PURE__*/_jsx(Context.Provider, {
123
134
  value: {
124
135
  data,
@@ -127,6 +138,7 @@ export const ListQueryProvider = ({
127
138
  handleSearchChange,
128
139
  handleSortChange,
129
140
  handleWhereChange,
141
+ params,
130
142
  refineListData
131
143
  },
132
144
  children: children
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useRouter","isNumber","qs","React","createContext","useContext","usePreferences","useSearchParams","Context","useListQuery","ListQueryProvider","children","data","defaultLimit","defaultSort","handlePageChange","handlePageChangeFromProps","handlePerPageChange","handlePerPageChangeFromProps","handleSearchChange","handleSearchChangeFromProps","handleSortChange","handleSortChangeFromProps","handleWhereChange","handleWhereChangeFromProps","modifySearchParams","preferenceKey","router","setPreference","hasSetInitialParams","useRef","searchParams","currentQuery","refineListData","useCallback","query","pageQuery","page","updatedPreferences","updatePreferences","limit","sort","params","search","where","replace","stringify","addQueryPrefix","arg","String","useEffect","current","shouldUpdateQueryString","_jsx","Provider","value"],"sources":["../../../src/providers/ListQuery/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport { useRouter } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useContext } from 'react'\n\nimport type { Column } from '../../elements/Table/index.js'\n\nimport { usePreferences } from '../Preferences/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nexport type ColumnPreferences = Pick<Column, 'accessor' | 'active'>[]\n\ntype PropHandlers = {\n handlePageChange?: (page: number) => Promise<void> | void\n handlePerPageChange?: (limit: number) => Promise<void> | void\n handleSearchChange?: (search: string) => Promise<void> | void\n handleSortChange?: (sort: string) => Promise<void> | void\n handleWhereChange?: (where: Where) => Promise<void> | void\n}\ntype ContextHandlers = {\n handlePageChange?: (page: number) => Promise<void>\n handlePerPageChange?: (limit: number) => Promise<void>\n handleSearchChange?: (search: string) => Promise<void>\n handleSortChange?: (sort: string) => Promise<void>\n handleWhereChange?: (where: Where) => Promise<void>\n}\n\nexport type ListQueryProps = {\n children: React.ReactNode\n data: PaginatedDocs\n defaultLimit?: number\n defaultSort?: string\n modifySearchParams?: boolean\n preferenceKey?: string\n} & PropHandlers\n\nexport type ListQueryContext = {\n data: PaginatedDocs\n defaultLimit?: number\n defaultSort?: string\n refineListData: (args: RefineOverrides) => Promise<void>\n} & ContextHandlers\n\nconst Context = createContext({} as ListQueryContext)\n\nexport const useListQuery = (): ListQueryContext => useContext(Context)\n\ntype RefineOverrides = {\n limit?: string\n page?: string\n search?: string\n sort?: string\n where?: Where\n}\n\nexport const ListQueryProvider: React.FC<ListQueryProps> = ({\n children,\n data,\n defaultLimit,\n defaultSort,\n handlePageChange: handlePageChangeFromProps,\n handlePerPageChange: handlePerPageChangeFromProps,\n handleSearchChange: handleSearchChangeFromProps,\n handleSortChange: handleSortChangeFromProps,\n handleWhereChange: handleWhereChangeFromProps,\n modifySearchParams,\n preferenceKey,\n}) => {\n const router = useRouter()\n const { setPreference } = usePreferences()\n const hasSetInitialParams = React.useRef(false)\n const { searchParams: currentQuery } = useSearchParams()\n\n const refineListData = React.useCallback(\n async (query: RefineOverrides) => {\n if (!modifySearchParams) return\n\n let pageQuery = 'page' in query ? query.page : currentQuery?.page\n if ('where' in query || 'search' in query) pageQuery = '1'\n\n const updatedPreferences: Record<string, unknown> = {}\n let updatePreferences = false\n\n if ('limit' in query) {\n updatedPreferences.limit = query.limit\n updatePreferences = true\n }\n if ('sort' in query) {\n updatedPreferences.sort = query.sort\n updatePreferences = true\n }\n if (updatePreferences && preferenceKey) {\n await setPreference(preferenceKey, updatedPreferences)\n }\n\n const params = {\n limit: 'limit' in query ? query.limit : currentQuery?.limit,\n page: pageQuery,\n search: 'search' in query ? query.search : currentQuery?.search,\n sort: 'sort' in query ? query.sort : currentQuery?.sort,\n where: 'where' in query ? query.where : currentQuery?.where,\n }\n\n router.replace(`${qs.stringify(params, { addQueryPrefix: true })}`)\n },\n [preferenceKey, modifySearchParams, router, setPreference, currentQuery],\n )\n\n const handlePageChange = React.useCallback(\n async (arg: number) => {\n if (typeof handlePageChangeFromProps === 'function') {\n await handlePageChangeFromProps(arg)\n }\n await refineListData({ page: String(arg) })\n },\n [refineListData, handlePageChangeFromProps],\n )\n const handlePerPageChange = React.useCallback(\n async (arg: number) => {\n if (typeof handlePerPageChangeFromProps === 'function') {\n await handlePerPageChangeFromProps(arg)\n }\n await refineListData({ limit: String(arg) })\n },\n [refineListData, handlePerPageChangeFromProps],\n )\n const handleSearchChange = React.useCallback(\n async (arg: string) => {\n if (typeof handleSearchChangeFromProps === 'function') {\n await handleSearchChangeFromProps(arg)\n }\n await refineListData({ search: arg })\n },\n [refineListData, handleSearchChangeFromProps],\n )\n const handleSortChange = React.useCallback(\n async (arg: string) => {\n if (typeof handleSortChangeFromProps === 'function') {\n await handleSortChangeFromProps(arg)\n }\n await refineListData({ sort: arg })\n },\n [refineListData, handleSortChangeFromProps],\n )\n const handleWhereChange = React.useCallback(\n async (arg: Where) => {\n if (typeof handleWhereChangeFromProps === 'function') {\n await handleWhereChangeFromProps(arg)\n }\n await refineListData({ where: arg })\n },\n [refineListData, handleWhereChangeFromProps],\n )\n\n React.useEffect(() => {\n if (!hasSetInitialParams.current) {\n if (modifySearchParams) {\n let shouldUpdateQueryString = false\n\n if (isNumber(defaultLimit) && !('limit' in currentQuery)) {\n currentQuery.limit = String(defaultLimit)\n shouldUpdateQueryString = true\n }\n if (defaultSort && !('sort' in currentQuery)) {\n currentQuery.sort = defaultSort\n shouldUpdateQueryString = true\n }\n if (shouldUpdateQueryString) {\n router.replace(`?${qs.stringify(currentQuery)}`)\n }\n }\n\n hasSetInitialParams.current = true\n }\n }, [defaultSort, defaultLimit, router, modifySearchParams, currentQuery])\n\n return (\n <Context.Provider\n value={{\n data,\n handlePageChange,\n handlePerPageChange,\n handleSearchChange,\n handleSortChange,\n handleWhereChange,\n refineListData,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useRouter","isNumber","qs","React","createContext","useCallback","useContext","useEffect","useState","usePreferences","useSearchParams","Context","useListQuery","ListQueryProvider","children","data","defaultLimit","defaultSort","handlePageChange","handlePageChangeFromProps","handlePerPageChange","handlePerPageChangeFromProps","handleSearchChange","handleSearchChangeFromProps","handleSortChange","handleSortChangeFromProps","handleWhereChange","handleWhereChangeFromProps","modifySearchParams","params","paramsFromProps","preferenceKey","router","setPreference","searchParams","currentQuery","setParams","refineListData","query","pageQuery","page","updatedPreferences","updatePreferences","limit","sort","search","where","replace","stringify","addQueryPrefix","arg","String","undefined","shouldUpdateQueryString","_jsx","Provider","value"],"sources":["../../../src/providers/ListQuery/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport { useRouter } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useState } from 'react'\n\nimport type { Column } from '../../elements/Table/index.js'\n\nimport { usePreferences } from '../Preferences/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nexport type ColumnPreferences = Pick<Column, 'accessor' | 'active'>[]\n\ntype PropHandlers = {\n handlePageChange?: (page: number) => Promise<void> | void\n handlePerPageChange?: (limit: number) => Promise<void> | void\n handleSearchChange?: (search: string) => Promise<void> | void\n handleSortChange?: (sort: string) => Promise<void> | void\n handleWhereChange?: (where: Where) => Promise<void> | void\n}\n\ntype ContextHandlers = {\n handlePageChange?: (page: number) => Promise<void>\n handlePerPageChange?: (limit: number) => Promise<void>\n handleSearchChange?: (search: string) => Promise<void>\n handleSortChange?: (sort: string) => Promise<void>\n handleWhereChange?: (where: Where) => Promise<void>\n params: RefineOverrides\n}\n\nexport type ListQueryProps = {\n readonly children: React.ReactNode\n readonly data: PaginatedDocs\n readonly defaultLimit?: number\n readonly defaultSort?: string\n readonly modifySearchParams?: boolean\n /**\n * Used to manage the query params manually. If you pass this prop, the provider will not manage the query params from the searchParams.\n * Useful for modals or other components that need to manage the query params themselves.\n */\n readonly params?: RefineOverrides\n readonly preferenceKey?: string\n} & PropHandlers\n\nexport type ListQueryContext = {\n data: PaginatedDocs\n defaultLimit?: number\n defaultSort?: string\n refineListData: (args: RefineOverrides) => Promise<void>\n} & ContextHandlers\n\nconst Context = createContext({} as ListQueryContext)\n\nexport const useListQuery = (): ListQueryContext => useContext(Context)\n\ntype RefineOverrides = {\n limit?: string\n page?: string\n search?: string\n sort?: string\n where?: Where\n}\n\nexport const ListQueryProvider: React.FC<ListQueryProps> = ({\n children,\n data,\n defaultLimit,\n defaultSort,\n handlePageChange: handlePageChangeFromProps,\n handlePerPageChange: handlePerPageChangeFromProps,\n handleSearchChange: handleSearchChangeFromProps,\n handleSortChange: handleSortChangeFromProps,\n handleWhereChange: handleWhereChangeFromProps,\n modifySearchParams,\n params: paramsFromProps,\n preferenceKey,\n}) => {\n const router = useRouter()\n const { setPreference } = usePreferences()\n const { searchParams: currentQuery } = useSearchParams()\n const [params, setParams] = useState(paramsFromProps || currentQuery)\n\n const refineListData = useCallback(\n async (query: RefineOverrides) => {\n if (!modifySearchParams) {\n return\n }\n\n let pageQuery = 'page' in query ? query.page : currentQuery?.page\n\n if ('where' in query || 'search' in query) {\n pageQuery = '1'\n }\n\n const updatedPreferences: Record<string, unknown> = {}\n let updatePreferences = false\n\n if ('limit' in query) {\n updatedPreferences.limit = query.limit\n updatePreferences = true\n }\n\n if ('sort' in query) {\n updatedPreferences.sort = query.sort\n updatePreferences = true\n }\n\n if (updatePreferences && preferenceKey) {\n await setPreference(preferenceKey, updatedPreferences)\n }\n\n const params = {\n limit: 'limit' in query ? query.limit : currentQuery?.limit,\n page: pageQuery,\n search: 'search' in query ? query.search : currentQuery?.search,\n sort: 'sort' in query ? query.sort : currentQuery?.sort,\n where: 'where' in query ? query.where : currentQuery?.where,\n }\n\n router.replace(`${qs.stringify(params, { addQueryPrefix: true })}`)\n },\n [\n modifySearchParams,\n currentQuery?.page,\n currentQuery?.limit,\n currentQuery?.search,\n currentQuery?.sort,\n currentQuery?.where,\n preferenceKey,\n router,\n setPreference,\n ],\n )\n\n const handlePageChange = useCallback(\n async (arg: number) => {\n if (typeof handlePageChangeFromProps === 'function') {\n await handlePageChangeFromProps(arg)\n }\n\n await refineListData({ page: String(arg) })\n },\n [refineListData, handlePageChangeFromProps],\n )\n\n const handlePerPageChange = React.useCallback(\n async (arg: number) => {\n if (typeof handlePerPageChangeFromProps === 'function') {\n await handlePerPageChangeFromProps(arg)\n }\n\n await refineListData({ limit: String(arg), page: '1' })\n },\n [refineListData, handlePerPageChangeFromProps],\n )\n\n const handleSearchChange = useCallback(\n async (arg: string) => {\n const search = arg === '' ? undefined : arg\n\n if (typeof handleSearchChangeFromProps === 'function') {\n await handleSearchChangeFromProps(search)\n }\n\n await refineListData({ search })\n },\n [handleSearchChangeFromProps, refineListData],\n )\n\n const handleSortChange = useCallback(\n async (arg: string) => {\n if (typeof handleSortChangeFromProps === 'function') {\n await handleSortChangeFromProps(arg)\n }\n\n await refineListData({ sort: arg })\n },\n [refineListData, handleSortChangeFromProps],\n )\n\n const handleWhereChange = useCallback(\n async (arg: Where) => {\n if (typeof handleWhereChangeFromProps === 'function') {\n await handleWhereChangeFromProps(arg)\n }\n\n await refineListData({ where: arg })\n },\n [refineListData, handleWhereChangeFromProps],\n )\n\n useEffect(() => {\n if (paramsFromProps) {\n // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect\n setParams(paramsFromProps)\n } else {\n if (modifySearchParams) {\n let shouldUpdateQueryString = false\n\n if (isNumber(defaultLimit) && !('limit' in currentQuery)) {\n currentQuery.limit = String(defaultLimit)\n shouldUpdateQueryString = true\n }\n\n if (defaultSort && !('sort' in currentQuery)) {\n currentQuery.sort = defaultSort\n shouldUpdateQueryString = true\n }\n\n // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect\n setParams(currentQuery)\n\n if (shouldUpdateQueryString) {\n router.replace(`?${qs.stringify(currentQuery)}`)\n }\n }\n }\n }, [defaultSort, defaultLimit, router, modifySearchParams, currentQuery, paramsFromProps, params])\n\n return (\n <Context.Provider\n value={{\n data,\n handlePageChange,\n handlePerPageChange,\n handleSearchChange,\n handleSortChange,\n handleWhereChange,\n params,\n refineListData,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Locale/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAErC,OAAO,KAAyD,MAAM,OAAO,CAAA;AAU7E,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAyEnE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,QAAO,MAAmC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Locale/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAErC,OAAO,KAAyD,MAAM,OAAO,CAAA;AAU7E,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CA2EnE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,QAAO,MAAmC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","createContext","useContext","useEffect","useState","findLocaleFromCode","useAuth","useConfig","usePreferences","useSearchParams","LocaleContext","LocaleProvider","t0","$","children","config","t1","localization","user","defaultLocale","searchParams","localeFromParams","locale","localeCode","setLocaleCode","t2","setLocale","getPreference","setPreference","t3","newLocale","localeToSet","localeCodes","indexOf","t4","error","switchLocale","setInitialLocale","localeToSet_0","t5","t6","_jsx","Provider","value","useLocale"],"sources":["../../../src/providers/Locale/index.tsx"],"sourcesContent":["'use client'\n\nimport type { Locale } from 'payload'\n\nimport React, { createContext, useContext, useEffect, useState } from 'react'\n\nimport { findLocaleFromCode } from '../../utilities/findLocaleFromCode.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nconst LocaleContext = createContext({} as Locale)\n\nexport const LocaleProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const {\n config: { localization },\n } = useConfig()\n\n const { user } = useAuth()\n const defaultLocale =\n localization && localization.defaultLocale ? localization.defaultLocale : 'en'\n\n const { searchParams } = useSearchParams()\n const localeFromParams = searchParams?.locale\n\n const [localeCode, setLocaleCode] = useState<string>(\n (localeFromParams as string) || defaultLocale,\n )\n\n const [locale, setLocale] = useState<Locale | null>(\n localization && findLocaleFromCode(localization, localeCode),\n )\n\n const { getPreference, setPreference } = usePreferences()\n\n const switchLocale = React.useCallback(\n async (newLocale: string) => {\n if (!localization) {\n return\n }\n\n const localeToSet =\n localization.localeCodes.indexOf(newLocale) > -1 ? newLocale : defaultLocale\n\n if (localeToSet !== localeCode) {\n setLocaleCode(localeToSet)\n setLocale(findLocaleFromCode(localization, localeToSet))\n try {\n if (user) await setPreference('locale', localeToSet)\n } catch (error) {\n // swallow error\n }\n }\n },\n [localization, setPreference, user, defaultLocale, localeCode],\n )\n\n useEffect(() => {\n async function setInitialLocale() {\n let localeToSet = defaultLocale\n\n if (typeof localeFromParams === 'string') {\n localeToSet = localeFromParams\n } else if (user) {\n try {\n localeToSet = await getPreference<string>('locale')\n } catch (error) {\n // swallow error\n }\n }\n\n await switchLocale(localeToSet)\n }\n\n void setInitialLocale()\n }, [\n defaultLocale,\n getPreference,\n localization,\n localeFromParams,\n setPreference,\n user,\n switchLocale,\n ])\n\n return <LocaleContext.Provider value={locale}>{children}</LocaleContext.Provider>\n}\n\n/**\n * A hook that returns the current locale object.\n */\nexport const useLocale = (): Locale => useContext(LocaleContext)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","createContext","useContext","useEffect","useState","findLocaleFromCode","useAuth","useConfig","usePreferences","useSearchParams","LocaleContext","LocaleProvider","t0","$","children","config","t1","localization","user","defaultLocale","searchParams","localeFromParams","locale","localeCode","setLocaleCode","t2","setLocale","getPreference","setPreference","t3","newLocale","localeToSet","localeCodes","indexOf","t4","error","switchLocale","setInitialLocale","localeToSet_0","t5","t6","_jsx","Provider","value","useLocale"],"sources":["../../../src/providers/Locale/index.tsx"],"sourcesContent":["'use client'\n\nimport type { Locale } from 'payload'\n\nimport React, { createContext, useContext, useEffect, useState } from 'react'\n\nimport { findLocaleFromCode } from '../../utilities/findLocaleFromCode.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nconst LocaleContext = createContext({} as Locale)\n\nexport const LocaleProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const {\n config: { localization },\n } = useConfig()\n\n const { user } = useAuth()\n const defaultLocale =\n localization && localization.defaultLocale ? localization.defaultLocale : 'en'\n\n const { searchParams } = useSearchParams()\n const localeFromParams = searchParams?.locale\n\n const [localeCode, setLocaleCode] = useState<string>(\n (localeFromParams as string) || defaultLocale,\n )\n\n const [locale, setLocale] = useState<Locale | null>(\n localization && findLocaleFromCode(localization, localeCode),\n )\n\n const { getPreference, setPreference } = usePreferences()\n\n const switchLocale = React.useCallback(\n async (newLocale: string) => {\n if (!localization) {\n return\n }\n\n const localeToSet =\n localization.localeCodes.indexOf(newLocale) > -1 ? newLocale : defaultLocale\n\n if (localeToSet !== localeCode) {\n setLocaleCode(localeToSet)\n setLocale(findLocaleFromCode(localization, localeToSet))\n try {\n if (user) {\n await setPreference('locale', localeToSet)\n }\n } catch (error) {\n // swallow error\n }\n }\n },\n [localization, setPreference, user, defaultLocale, localeCode],\n )\n\n useEffect(() => {\n async function setInitialLocale() {\n let localeToSet = defaultLocale\n\n if (typeof localeFromParams === 'string') {\n localeToSet = localeFromParams\n } else if (user) {\n try {\n localeToSet = await getPreference<string>('locale')\n } catch (error) {\n // swallow error\n }\n }\n\n await switchLocale(localeToSet)\n }\n\n void setInitialLocale()\n }, [\n defaultLocale,\n getPreference,\n localization,\n localeFromParams,\n setPreference,\n user,\n switchLocale,\n ])\n\n return <LocaleContext.Provider value={locale}>{children}</LocaleContext.Provider>\n}\n\n/**\n * A hook that returns the current locale object.\n */\nexport const useLocale = (): Locale => useContext(LocaleContext)\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Preferences/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoE,MAAM,OAAO,CAAA;AAOxF,KAAK,kBAAkB,GAAG;IACxB,aAAa,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IACnD;;;;OAIG;IACH,aAAa,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAClF,CAAA;AAYD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAoHxE,CAAA;AAED,eAAO,MAAM,cAAc,QAAO,kBAAyC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Preferences/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoE,MAAM,OAAO,CAAA;AAOxF,KAAK,kBAAkB,GAAG;IACxB,aAAa,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IACnD;;;;OAIG;IACH,aAAa,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAClF,CAAA;AAYD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAsHxE,CAAA;AAED,eAAO,MAAM,cAAc,QAAO,kBAAyC,CAAA"}
@@ -46,7 +46,9 @@ export const PreferencesProvider = ({
46
46
  }, [user]);
47
47
  const getPreference = useCallback(async key => {
48
48
  const prefs = preferencesRef.current;
49
- if (typeof prefs[key] !== 'undefined') return prefs[key];
49
+ if (typeof prefs[key] !== 'undefined') {
50
+ return prefs[key];
51
+ }
50
52
  const promise = new Promise(resolve => {
51
53
  void (async () => {
52
54
  const request = await requests.get(`${serverURL}${api}/payload-preferences/${key}`, {
@@ -118,7 +120,5 @@ export const PreferencesProvider = ({
118
120
  children: children
119
121
  });
120
122
  };
121
- export const usePreferences = () => {
122
- return useContext(Context);
123
- };
123
+ export const usePreferences = () => useContext(Context);
124
124
  //# sourceMappingURL=index.js.map