@payloadcms/ui 3.0.0-canary.9de3ffd → 3.0.0-canary.a14e066

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 (828) hide show
  1. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  2. package/dist/elements/AddNewRelation/index.js +2 -2
  3. package/dist/elements/AddNewRelation/index.js.map +1 -1
  4. package/dist/elements/AddNewRelation/index.scss +36 -24
  5. package/dist/elements/AppHeader/index.js +45 -84
  6. package/dist/elements/AppHeader/index.js.map +1 -1
  7. package/dist/elements/AppHeader/index.scss +152 -150
  8. package/dist/elements/ArrayAction/index.scss +23 -21
  9. package/dist/elements/Autosave/index.d.ts.map +1 -1
  10. package/dist/elements/Autosave/index.js +148 -229
  11. package/dist/elements/Autosave/index.js.map +1 -1
  12. package/dist/elements/Autosave/index.scss +4 -2
  13. package/dist/elements/Banner/index.d.ts.map +1 -1
  14. package/dist/elements/Banner/index.js +6 -2
  15. package/dist/elements/Banner/index.js.map +1 -1
  16. package/dist/elements/Banner/index.scss +51 -49
  17. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  18. package/dist/elements/BulkUpload/ActionsBar/index.js +2 -2
  19. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  20. package/dist/elements/BulkUpload/ActionsBar/index.scss +49 -47
  21. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  22. package/dist/elements/BulkUpload/AddFilesView/index.js +45 -30
  23. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/AddFilesView/index.scss +26 -11
  25. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  26. package/dist/elements/BulkUpload/AddingFilesView/index.js +7 -7
  27. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/AddingFilesView/index.scss +16 -14
  29. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.d.ts.map +1 -1
  30. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +14 -17
  31. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  32. package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts +1 -2
  33. package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts.map +1 -1
  34. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +5 -8
  35. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  36. package/dist/elements/BulkUpload/DrawerCloseButton/index.scss +23 -21
  37. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  38. package/dist/elements/BulkUpload/EditForm/index.js +42 -33
  39. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  40. package/dist/elements/BulkUpload/EditForm/index.scss +6 -4
  41. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  42. package/dist/elements/BulkUpload/FileSidebar/index.js +71 -59
  43. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  44. package/dist/elements/BulkUpload/FileSidebar/index.scss +220 -216
  45. package/dist/elements/BulkUpload/FormsManager/index.d.ts +4 -7
  46. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  47. package/dist/elements/BulkUpload/FormsManager/index.js +67 -37
  48. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  49. package/dist/elements/BulkUpload/Header/index.d.ts.map +1 -1
  50. package/dist/elements/BulkUpload/Header/index.js +1 -3
  51. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  52. package/dist/elements/BulkUpload/Header/index.scss +11 -9
  53. package/dist/elements/BulkUpload/index.d.ts +21 -5
  54. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  55. package/dist/elements/BulkUpload/index.js +149 -52
  56. package/dist/elements/BulkUpload/index.js.map +1 -1
  57. package/dist/elements/Button/index.d.ts.map +1 -1
  58. package/dist/elements/Button/index.js +96 -219
  59. package/dist/elements/Button/index.js.map +1 -1
  60. package/dist/elements/Button/index.scss +202 -200
  61. package/dist/elements/Button/types.d.ts +8 -2
  62. package/dist/elements/Button/types.d.ts.map +1 -1
  63. package/dist/elements/Button/types.js.map +1 -1
  64. package/dist/elements/Card/index.d.ts +1 -1
  65. package/dist/elements/Card/index.d.ts.map +1 -1
  66. package/dist/elements/Card/index.js +2 -2
  67. package/dist/elements/Card/index.js.map +1 -1
  68. package/dist/elements/Card/index.scss +58 -56
  69. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  70. package/dist/elements/CodeEditor/CodeEditor.js +51 -25
  71. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  72. package/dist/elements/CodeEditor/index.d.ts.map +1 -1
  73. package/dist/elements/CodeEditor/index.js +3 -9
  74. package/dist/elements/CodeEditor/index.js.map +1 -1
  75. package/dist/elements/CodeEditor/index.scss +16 -14
  76. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  77. package/dist/elements/Collapsible/index.js +44 -62
  78. package/dist/elements/Collapsible/index.js.map +1 -1
  79. package/dist/elements/Collapsible/index.scss +125 -136
  80. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  81. package/dist/elements/ColumnSelector/index.js +15 -3
  82. package/dist/elements/ColumnSelector/index.js.map +1 -1
  83. package/dist/elements/ColumnSelector/index.scss +36 -34
  84. package/dist/elements/CopyToClipboard/index.js +20 -54
  85. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  86. package/dist/elements/CopyToClipboard/index.scss +21 -19
  87. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  88. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  89. package/dist/elements/DatePicker/index.js +1 -1
  90. package/dist/elements/DatePicker/index.js.map +1 -1
  91. package/dist/elements/DatePicker/index.scss +309 -307
  92. package/dist/elements/DeleteDocument/index.d.ts +9 -6
  93. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  94. package/dist/elements/DeleteDocument/index.js +65 -28
  95. package/dist/elements/DeleteDocument/index.js.map +1 -1
  96. package/dist/elements/DeleteDocument/index.scss +36 -21
  97. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  98. package/dist/elements/DeleteMany/index.js +26 -18
  99. package/dist/elements/DeleteMany/index.js.map +1 -1
  100. package/dist/elements/DeleteMany/index.scss +34 -13
  101. package/dist/elements/DocumentControls/index.d.ts +13 -2
  102. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  103. package/dist/elements/DocumentControls/index.js +68 -14
  104. package/dist/elements/DocumentControls/index.js.map +1 -1
  105. package/dist/elements/DocumentControls/index.scss +192 -182
  106. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  107. package/dist/elements/DocumentDrawer/DrawerContent.js +108 -37
  108. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  109. package/dist/elements/DocumentDrawer/index.js +1 -1
  110. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  111. package/dist/elements/DocumentDrawer/index.scss +55 -53
  112. package/dist/elements/DocumentDrawer/types.d.ts +10 -1
  113. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  114. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  115. package/dist/elements/DocumentFields/index.scss +144 -142
  116. package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
  117. package/dist/elements/DraggableSortable/index.js +2 -1
  118. package/dist/elements/DraggableSortable/index.js.map +1 -1
  119. package/dist/elements/Drawer/index.d.ts +1 -0
  120. package/dist/elements/Drawer/index.d.ts.map +1 -1
  121. package/dist/elements/Drawer/index.js +3 -3
  122. package/dist/elements/Drawer/index.js.map +1 -1
  123. package/dist/elements/Drawer/index.scss +111 -109
  124. package/dist/elements/Drawer/types.d.ts +1 -1
  125. package/dist/elements/Drawer/types.d.ts.map +1 -1
  126. package/dist/elements/Drawer/types.js.map +1 -1
  127. package/dist/elements/Dropzone/index.d.ts +4 -3
  128. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  129. package/dist/elements/Dropzone/index.js +60 -146
  130. package/dist/elements/Dropzone/index.js.map +1 -1
  131. package/dist/elements/Dropzone/index.scss +30 -45
  132. package/dist/elements/DuplicateDocument/index.d.ts +6 -3
  133. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  134. package/dist/elements/DuplicateDocument/index.js +95 -137
  135. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  136. package/dist/elements/DuplicateDocument/index.scss +35 -13
  137. package/dist/elements/EditMany/index.d.ts.map +1 -1
  138. package/dist/elements/EditMany/index.js +10 -5
  139. package/dist/elements/EditMany/index.js.map +1 -1
  140. package/dist/elements/EditMany/index.scss +162 -160
  141. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  142. package/dist/elements/EditUpload/index.js +140 -201
  143. package/dist/elements/EditUpload/index.js.map +1 -1
  144. package/dist/elements/EditUpload/index.scss +180 -178
  145. package/dist/elements/ErrorPill/index.d.ts.map +1 -1
  146. package/dist/elements/ErrorPill/index.js +3 -1
  147. package/dist/elements/ErrorPill/index.js.map +1 -1
  148. package/dist/elements/ErrorPill/index.scss +27 -25
  149. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  150. package/dist/elements/FieldSelect/index.js +5 -3
  151. package/dist/elements/FieldSelect/index.js.map +1 -1
  152. package/dist/elements/FieldSelect/index.scss +4 -2
  153. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  154. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  155. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +25 -23
  156. package/dist/elements/FileDetails/FileMeta/index.scss +21 -19
  157. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  158. package/dist/elements/FileDetails/StaticFileDetails/index.js +0 -1
  159. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  160. package/dist/elements/FileDetails/StaticFileDetails/index.scss +104 -101
  161. package/dist/elements/GenerateConfirmation/index.d.ts.map +1 -1
  162. package/dist/elements/GenerateConfirmation/index.js +31 -24
  163. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  164. package/dist/elements/GenerateConfirmation/index.scss +34 -13
  165. package/dist/elements/Gutter/index.scss +14 -12
  166. package/dist/elements/Hamburger/index.scss +38 -32
  167. package/dist/elements/IDLabel/index.scss +11 -9
  168. package/dist/elements/ListControls/index.d.ts.map +1 -1
  169. package/dist/elements/ListControls/index.js +93 -200
  170. package/dist/elements/ListControls/index.js.map +1 -1
  171. package/dist/elements/ListControls/index.scss +70 -74
  172. package/dist/elements/ListDrawer/DrawerContent.d.ts +2 -0
  173. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  174. package/dist/elements/ListDrawer/DrawerContent.js +339 -259
  175. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  176. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  177. package/dist/elements/ListDrawer/index.js +19 -16
  178. package/dist/elements/ListDrawer/index.js.map +1 -1
  179. package/dist/elements/ListDrawer/index.scss +93 -84
  180. package/dist/elements/ListDrawer/types.d.ts +4 -1
  181. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  182. package/dist/elements/ListDrawer/types.js.map +1 -1
  183. package/dist/elements/ListHeader/index.scss +9 -7
  184. package/dist/elements/ListSelection/index.scss +14 -12
  185. package/dist/elements/Loading/index.scss +108 -106
  186. package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
  187. package/dist/elements/Localizer/LocalizerLabel/index.js +9 -5
  188. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  189. package/dist/elements/Localizer/LocalizerLabel/index.scss +45 -39
  190. package/dist/elements/Localizer/index.d.ts.map +1 -1
  191. package/dist/elements/Localizer/index.js +1 -1
  192. package/dist/elements/Localizer/index.js.map +1 -1
  193. package/dist/elements/Localizer/index.scss +7 -5
  194. package/dist/elements/Locked/index.d.ts +8 -0
  195. package/dist/elements/Locked/index.d.ts.map +1 -0
  196. package/dist/elements/Locked/index.js +72 -0
  197. package/dist/elements/Locked/index.js.map +1 -0
  198. package/dist/elements/Locked/index.scss +16 -0
  199. package/dist/elements/Logout/index.js +1 -1
  200. package/dist/elements/Logout/index.js.map +1 -1
  201. package/dist/elements/Nav/NavToggler/index.scss +9 -7
  202. package/dist/elements/Nav/context.js +47 -83
  203. package/dist/elements/Nav/context.js.map +1 -1
  204. package/dist/elements/NavGroup/index.scss +43 -41
  205. package/dist/elements/Pagination/ClickableArrow/index.scss +34 -32
  206. package/dist/elements/Pagination/index.d.ts.map +1 -1
  207. package/dist/elements/Pagination/index.js +20 -10
  208. package/dist/elements/Pagination/index.js.map +1 -1
  209. package/dist/elements/Pagination/index.scss +40 -38
  210. package/dist/elements/PerPage/index.d.ts +5 -5
  211. package/dist/elements/PerPage/index.d.ts.map +1 -1
  212. package/dist/elements/PerPage/index.js +2 -1
  213. package/dist/elements/PerPage/index.js.map +1 -1
  214. package/dist/elements/PerPage/index.scss +37 -35
  215. package/dist/elements/Pill/index.d.ts.map +1 -1
  216. package/dist/elements/Pill/index.js +11 -5
  217. package/dist/elements/Pill/index.js.map +1 -1
  218. package/dist/elements/Pill/index.scss +104 -100
  219. package/dist/elements/Popup/PopupButtonList/index.scss +45 -43
  220. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  221. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  222. package/dist/elements/Popup/PopupTrigger/index.js +6 -3
  223. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  224. package/dist/elements/Popup/PopupTrigger/index.scss +26 -12
  225. package/dist/elements/Popup/index.d.ts +1 -0
  226. package/dist/elements/Popup/index.d.ts.map +1 -1
  227. package/dist/elements/Popup/index.js +10 -5
  228. package/dist/elements/Popup/index.js.map +1 -1
  229. package/dist/elements/Popup/index.scss +194 -175
  230. package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -1
  231. package/dist/elements/PreviewButton/usePreviewURL.js +29 -9
  232. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  233. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  234. package/dist/elements/PreviewSizes/index.js +15 -5
  235. package/dist/elements/PreviewSizes/index.js.map +1 -1
  236. package/dist/elements/PreviewSizes/index.scss +115 -113
  237. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  238. package/dist/elements/PublishButton/index.js +164 -48
  239. package/dist/elements/PublishButton/index.js.map +1 -1
  240. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  241. package/dist/elements/PublishMany/index.js +27 -18
  242. package/dist/elements/PublishMany/index.js.map +1 -1
  243. package/dist/elements/PublishMany/index.scss +33 -12
  244. package/dist/elements/ReactSelect/ClearIndicator/index.scss +6 -4
  245. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  246. package/dist/elements/ReactSelect/DropdownIndicator/index.js +3 -1
  247. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  248. package/dist/elements/ReactSelect/DropdownIndicator/index.scss +11 -9
  249. package/dist/elements/ReactSelect/MultiValue/index.scss +26 -24
  250. package/dist/elements/ReactSelect/MultiValueLabel/index.scss +16 -14
  251. package/dist/elements/ReactSelect/MultiValueRemove/index.scss +20 -18
  252. package/dist/elements/ReactSelect/ValueContainer/index.scss +22 -20
  253. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  254. package/dist/elements/ReactSelect/index.js +6 -3
  255. package/dist/elements/ReactSelect/index.js.map +1 -1
  256. package/dist/elements/ReactSelect/index.scss +63 -56
  257. package/dist/elements/ReactSelect/types.d.ts +11 -3
  258. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  259. package/dist/elements/ReactSelect/types.js.map +1 -1
  260. package/dist/elements/RelationshipTable/TableWrapper.d.ts +8 -0
  261. package/dist/elements/RelationshipTable/TableWrapper.d.ts.map +1 -0
  262. package/dist/elements/RelationshipTable/TableWrapper.js +69 -0
  263. package/dist/elements/RelationshipTable/TableWrapper.js.map +1 -0
  264. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts +8 -0
  265. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts.map +1 -0
  266. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +82 -0
  267. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -0
  268. package/dist/elements/RelationshipTable/cells/DrawerLink/index.scss +6 -0
  269. package/dist/elements/RelationshipTable/index.d.ts +15 -0
  270. package/dist/elements/RelationshipTable/index.d.ts.map +1 -0
  271. package/dist/elements/RelationshipTable/index.js +445 -0
  272. package/dist/elements/RelationshipTable/index.js.map +1 -0
  273. package/dist/elements/RelationshipTable/index.scss +28 -0
  274. package/dist/elements/RenderTitle/index.scss +7 -5
  275. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  276. package/dist/elements/SaveButton/index.js +35 -84
  277. package/dist/elements/SaveButton/index.js.map +1 -1
  278. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  279. package/dist/elements/SaveDraftButton/index.js +63 -119
  280. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  281. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  282. package/dist/elements/SearchFilter/index.js +45 -81
  283. package/dist/elements/SearchFilter/index.js.map +1 -1
  284. package/dist/elements/SearchFilter/index.scss +31 -28
  285. package/dist/elements/SelectAll/index.scss +5 -3
  286. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  287. package/dist/elements/SelectRow/index.js +64 -24
  288. package/dist/elements/SelectRow/index.js.map +1 -1
  289. package/dist/elements/SelectRow/index.scss +6 -4
  290. package/dist/elements/ShimmerEffect/index.d.ts +3 -3
  291. package/dist/elements/ShimmerEffect/index.d.ts.map +1 -1
  292. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  293. package/dist/elements/ShimmerEffect/index.scss +26 -24
  294. package/dist/elements/SortColumn/index.d.ts +5 -4
  295. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  296. package/dist/elements/SortColumn/index.js +26 -31
  297. package/dist/elements/SortColumn/index.js.map +1 -1
  298. package/dist/elements/SortColumn/index.scss +54 -43
  299. package/dist/elements/SortComplex/index.d.ts.map +1 -1
  300. package/dist/elements/SortComplex/index.js.map +1 -1
  301. package/dist/elements/SortComplex/index.scss +27 -25
  302. package/dist/elements/Status/index.d.ts.map +1 -1
  303. package/dist/elements/Status/index.js +44 -28
  304. package/dist/elements/Status/index.js.map +1 -1
  305. package/dist/elements/Status/index.scss +49 -28
  306. package/dist/elements/StayLoggedIn/index.scss +28 -26
  307. package/dist/elements/StepNav/index.d.ts +1 -1
  308. package/dist/elements/StepNav/index.d.ts.map +1 -1
  309. package/dist/elements/StepNav/index.js +2 -2
  310. package/dist/elements/StepNav/index.js.map +1 -1
  311. package/dist/elements/StepNav/index.scss +62 -61
  312. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +2 -2
  313. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  314. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  315. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.scss +20 -18
  316. package/dist/elements/Table/DefaultCell/fields/Code/index.js +1 -1
  317. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  318. package/dist/elements/Table/DefaultCell/fields/Code/index.scss +22 -20
  319. package/dist/elements/Table/DefaultCell/fields/File/index.scss +18 -16
  320. package/dist/elements/Table/DefaultCell/fields/JSON/index.scss +20 -18
  321. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +2 -3
  322. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  323. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +43 -40
  324. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  325. package/dist/elements/Table/DefaultCell/fields/Relationship/index.scss +0 -3
  326. package/dist/elements/Table/DefaultCell/fields/index.d.ts +2 -1
  327. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  328. package/dist/elements/Table/DefaultCell/fields/index.js +2 -1
  329. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  330. package/dist/elements/Table/RelationshipProvider/index.d.ts +1 -1
  331. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  332. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  333. package/dist/elements/Table/RenderCell.d.ts +11 -0
  334. package/dist/elements/Table/RenderCell.d.ts.map +1 -0
  335. package/dist/elements/Table/RenderCell.js +30 -0
  336. package/dist/elements/Table/RenderCell.js.map +1 -0
  337. package/dist/elements/Table/TableCellProvider/index.js +9 -9
  338. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  339. package/dist/elements/Table/index.d.ts +4 -7
  340. package/dist/elements/Table/index.d.ts.map +1 -1
  341. package/dist/elements/Table/index.js +40 -30
  342. package/dist/elements/Table/index.js.map +1 -1
  343. package/dist/elements/Table/index.scss +87 -35
  344. package/dist/elements/TableColumns/buildColumnState.d.ts +5 -2
  345. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  346. package/dist/elements/TableColumns/buildColumnState.js +47 -31
  347. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  348. package/dist/elements/TableColumns/index.d.ts +5 -0
  349. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  350. package/dist/elements/TableColumns/index.js +118 -107
  351. package/dist/elements/TableColumns/index.js.map +1 -1
  352. package/dist/elements/Thumbnail/index.d.ts +10 -6
  353. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  354. package/dist/elements/Thumbnail/index.js +84 -9
  355. package/dist/elements/Thumbnail/index.js.map +1 -1
  356. package/dist/elements/Thumbnail/index.scss +37 -35
  357. package/dist/elements/ThumbnailCard/index.scss +31 -29
  358. package/dist/elements/Tooltip/index.d.ts +1 -0
  359. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  360. package/dist/elements/Tooltip/index.js +15 -13
  361. package/dist/elements/Tooltip/index.js.map +1 -1
  362. package/dist/elements/Tooltip/index.scss +77 -75
  363. package/dist/elements/Translation/index.d.ts.map +1 -1
  364. package/dist/elements/Translation/index.js +0 -2
  365. package/dist/elements/Translation/index.js.map +1 -1
  366. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  367. package/dist/elements/UnpublishMany/index.js +28 -19
  368. package/dist/elements/UnpublishMany/index.js.map +1 -1
  369. package/dist/elements/UnpublishMany/index.scss +33 -12
  370. package/dist/elements/Upload/index.d.ts.map +1 -1
  371. package/dist/elements/Upload/index.js +183 -302
  372. package/dist/elements/Upload/index.js.map +1 -1
  373. package/dist/elements/Upload/index.scss +124 -84
  374. package/dist/elements/ViewDescription/index.d.ts +1 -1
  375. package/dist/elements/ViewDescription/index.d.ts.map +1 -1
  376. package/dist/elements/ViewDescription/index.js.map +1 -1
  377. package/dist/elements/WhereBuilder/Condition/Number/index.scss +4 -2
  378. package/dist/elements/WhereBuilder/Condition/Relationship/index.scss +9 -7
  379. package/dist/elements/WhereBuilder/Condition/Text/index.scss +4 -2
  380. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  381. package/dist/elements/WhereBuilder/Condition/index.js +34 -31
  382. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  383. package/dist/elements/WhereBuilder/Condition/index.scss +43 -41
  384. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  385. package/dist/elements/WhereBuilder/index.js +5 -8
  386. package/dist/elements/WhereBuilder/index.js.map +1 -1
  387. package/dist/elements/WhereBuilder/index.scss +28 -26
  388. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
  389. package/dist/elements/WhereBuilder/reduceClientFields.js +6 -2
  390. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
  391. package/dist/elements/WhereBuilder/types.d.ts +1 -1
  392. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  393. package/dist/elements/WhereBuilder/types.js.map +1 -1
  394. package/dist/elements/WindowInfo/index.d.ts +2 -2
  395. package/dist/elements/WindowInfo/index.d.ts.map +1 -1
  396. package/dist/elements/WindowInfo/index.js +2 -2
  397. package/dist/elements/WindowInfo/index.js.map +1 -1
  398. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  399. package/dist/exports/client/CodeEditor-4A6256PR.js +26 -0
  400. package/dist/exports/client/CodeEditor-4A6256PR.js.map +8 -0
  401. package/dist/exports/client/{DatePicker-E6IJFDN2.js → DatePicker-HNJMUG32.js} +2 -2
  402. package/dist/exports/client/chunk-6IWEPNUV.js +14 -0
  403. package/dist/exports/client/chunk-6IWEPNUV.js.map +8 -0
  404. package/dist/exports/client/{chunk-OBXEO4WP.js → chunk-IHJK2MAT.js} +3 -3
  405. package/dist/exports/client/{chunk-OBXEO4WP.js.map → chunk-IHJK2MAT.js.map} +4 -4
  406. package/dist/exports/client/index.d.ts +7 -4
  407. package/dist/exports/client/index.d.ts.map +1 -1
  408. package/dist/exports/client/index.js +19 -19
  409. package/dist/exports/client/index.js.map +4 -4
  410. package/dist/exports/shared/index.d.ts +6 -2
  411. package/dist/exports/shared/index.d.ts.map +1 -1
  412. package/dist/exports/shared/index.js +2 -2
  413. package/dist/exports/shared/index.js.map +4 -4
  414. package/dist/fields/Array/ArrayRow.d.ts +1 -1
  415. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  416. package/dist/fields/Array/ArrayRow.js +7 -7
  417. package/dist/fields/Array/ArrayRow.js.map +1 -1
  418. package/dist/fields/Array/index.d.ts +11 -3
  419. package/dist/fields/Array/index.d.ts.map +1 -1
  420. package/dist/fields/Array/index.js +8 -5
  421. package/dist/fields/Array/index.js.map +1 -1
  422. package/dist/fields/Array/index.scss +74 -72
  423. package/dist/fields/Blocks/BlockRow.d.ts +2 -2
  424. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  425. package/dist/fields/Blocks/BlockRow.js +5 -5
  426. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  427. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.scss +25 -23
  428. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  429. package/dist/fields/Blocks/BlocksDrawer/index.js +3 -1
  430. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  431. package/dist/fields/Blocks/BlocksDrawer/index.scss +36 -34
  432. package/dist/fields/Blocks/RowActions.d.ts +1 -1
  433. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  434. package/dist/fields/Blocks/RowActions.js +1 -1
  435. package/dist/fields/Blocks/RowActions.js.map +1 -1
  436. package/dist/fields/Blocks/SectionTitle/index.scss +51 -49
  437. package/dist/fields/Blocks/index.d.ts +8 -2
  438. package/dist/fields/Blocks/index.d.ts.map +1 -1
  439. package/dist/fields/Blocks/index.js +2 -5
  440. package/dist/fields/Blocks/index.js.map +1 -1
  441. package/dist/fields/Blocks/index.scss +89 -87
  442. package/dist/fields/Checkbox/Input.d.ts +1 -1
  443. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  444. package/dist/fields/Checkbox/Input.js +3 -3
  445. package/dist/fields/Checkbox/Input.js.map +1 -1
  446. package/dist/fields/Checkbox/index.d.ts +16 -4
  447. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  448. package/dist/fields/Checkbox/index.js +2 -2
  449. package/dist/fields/Checkbox/index.js.map +1 -1
  450. package/dist/fields/Checkbox/index.scss +110 -95
  451. package/dist/fields/Code/index.d.ts +9 -2
  452. package/dist/fields/Code/index.d.ts.map +1 -1
  453. package/dist/fields/Code/index.js +32 -37
  454. package/dist/fields/Code/index.js.map +1 -1
  455. package/dist/fields/Code/index.scss +18 -16
  456. package/dist/fields/Collapsible/index.d.ts +143 -2
  457. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  458. package/dist/fields/Collapsible/index.js +49 -42
  459. package/dist/fields/Collapsible/index.js.map +1 -1
  460. package/dist/fields/Collapsible/index.scss +8 -6
  461. package/dist/fields/ConfirmPassword/index.scss +18 -16
  462. package/dist/fields/DateTime/index.d.ts +9 -2
  463. package/dist/fields/DateTime/index.d.ts.map +1 -1
  464. package/dist/fields/DateTime/index.js +33 -38
  465. package/dist/fields/DateTime/index.js.map +1 -1
  466. package/dist/fields/DateTime/index.scss +13 -11
  467. package/dist/fields/Email/index.d.ts +10 -2
  468. package/dist/fields/Email/index.d.ts.map +1 -1
  469. package/dist/fields/Email/index.js +29 -33
  470. package/dist/fields/Email/index.js.map +1 -1
  471. package/dist/fields/Email/index.scss +21 -19
  472. package/dist/fields/FieldDescription/index.scss +9 -7
  473. package/dist/fields/FieldError/index.scss +13 -11
  474. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  475. package/dist/fields/FieldLabel/index.js +7 -1
  476. package/dist/fields/FieldLabel/index.js.map +1 -1
  477. package/dist/fields/FieldLabel/index.scss +17 -15
  478. package/dist/fields/Group/index.d.ts +8 -3
  479. package/dist/fields/Group/index.d.ts.map +1 -1
  480. package/dist/fields/Group/index.js +3 -3
  481. package/dist/fields/Group/index.js.map +1 -1
  482. package/dist/fields/Group/index.scss +107 -105
  483. package/dist/fields/JSON/index.d.ts +8 -2
  484. package/dist/fields/JSON/index.d.ts.map +1 -1
  485. package/dist/fields/JSON/index.js +17 -11
  486. package/dist/fields/JSON/index.js.map +1 -1
  487. package/dist/fields/JSON/index.scss +11 -9
  488. package/dist/fields/Join/index.d.ts +9 -0
  489. package/dist/fields/Join/index.d.ts.map +1 -0
  490. package/dist/fields/Join/index.js +75 -0
  491. package/dist/fields/Join/index.js.map +1 -0
  492. package/dist/fields/Number/index.d.ts +9 -2
  493. package/dist/fields/Number/index.d.ts.map +1 -1
  494. package/dist/fields/Number/index.js +37 -42
  495. package/dist/fields/Number/index.js.map +1 -1
  496. package/dist/fields/Number/index.scss +19 -17
  497. package/dist/fields/Password/index.js +32 -28
  498. package/dist/fields/Password/index.js.map +1 -1
  499. package/dist/fields/Password/index.scss +18 -16
  500. package/dist/fields/Password/input.js +7 -7
  501. package/dist/fields/Password/input.js.map +1 -1
  502. package/dist/fields/Password/types.d.ts +5 -5
  503. package/dist/fields/Password/types.d.ts.map +1 -1
  504. package/dist/fields/Password/types.js.map +1 -1
  505. package/dist/fields/Point/index.d.ts +10 -3
  506. package/dist/fields/Point/index.d.ts.map +1 -1
  507. package/dist/fields/Point/index.js +2 -1
  508. package/dist/fields/Point/index.js.map +1 -1
  509. package/dist/fields/Point/index.scss +33 -31
  510. package/dist/fields/RadioGroup/Radio/index.d.ts +2 -2
  511. package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  512. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  513. package/dist/fields/RadioGroup/Radio/index.scss +58 -56
  514. package/dist/fields/RadioGroup/index.d.ts +10 -2
  515. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  516. package/dist/fields/RadioGroup/index.js +36 -41
  517. package/dist/fields/RadioGroup/index.js.map +1 -1
  518. package/dist/fields/RadioGroup/index.scss +57 -55
  519. package/dist/fields/Relationship/createRelationMap.d.ts +1 -1
  520. package/dist/fields/Relationship/createRelationMap.d.ts.map +1 -1
  521. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  522. package/dist/fields/Relationship/findOptionsByValue.d.ts +2 -1
  523. package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
  524. package/dist/fields/Relationship/findOptionsByValue.js +9 -2
  525. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  526. package/dist/fields/Relationship/index.d.ts +8 -2
  527. package/dist/fields/Relationship/index.d.ts.map +1 -1
  528. package/dist/fields/Relationship/index.js +420 -515
  529. package/dist/fields/Relationship/index.js.map +1 -1
  530. package/dist/fields/Relationship/index.scss +44 -42
  531. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  532. package/dist/fields/Relationship/optionsReducer.js +31 -1
  533. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  534. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts +6 -1
  535. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
  536. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +48 -82
  537. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  538. package/dist/fields/Relationship/select-components/MultiValueLabel/index.scss +40 -34
  539. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts +6 -1
  540. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
  541. package/dist/fields/Relationship/select-components/SingleValue/index.js +53 -101
  542. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  543. package/dist/fields/Relationship/select-components/SingleValue/index.scss +43 -37
  544. package/dist/fields/Relationship/types.d.ts +15 -5
  545. package/dist/fields/Relationship/types.d.ts.map +1 -1
  546. package/dist/fields/Relationship/types.js.map +1 -1
  547. package/dist/fields/RichText/index.d.ts +2 -2
  548. package/dist/fields/RichText/index.d.ts.map +1 -1
  549. package/dist/fields/RichText/index.js.map +1 -1
  550. package/dist/fields/Row/index.d.ts +9 -2
  551. package/dist/fields/Row/index.d.ts.map +1 -1
  552. package/dist/fields/Row/index.js.map +1 -1
  553. package/dist/fields/Row/index.scss +34 -19
  554. package/dist/fields/Select/Input.d.ts +5 -5
  555. package/dist/fields/Select/Input.d.ts.map +1 -1
  556. package/dist/fields/Select/Input.js +7 -7
  557. package/dist/fields/Select/Input.js.map +1 -1
  558. package/dist/fields/Select/index.d.ts +10 -2
  559. package/dist/fields/Select/index.d.ts.map +1 -1
  560. package/dist/fields/Select/index.js +11 -11
  561. package/dist/fields/Select/index.js.map +1 -1
  562. package/dist/fields/Select/index.scss +16 -14
  563. package/dist/fields/Tabs/Tab/index.scss +58 -56
  564. package/dist/fields/Tabs/index.d.ts +6 -2
  565. package/dist/fields/Tabs/index.d.ts.map +1 -1
  566. package/dist/fields/Tabs/index.js +1 -1
  567. package/dist/fields/Tabs/index.js.map +1 -1
  568. package/dist/fields/Tabs/index.scss +46 -44
  569. package/dist/fields/Text/Input.js +7 -7
  570. package/dist/fields/Text/Input.js.map +1 -1
  571. package/dist/fields/Text/index.d.ts +11 -3
  572. package/dist/fields/Text/index.d.ts.map +1 -1
  573. package/dist/fields/Text/index.js +4 -6
  574. package/dist/fields/Text/index.js.map +1 -1
  575. package/dist/fields/Text/index.scss +23 -21
  576. package/dist/fields/Text/types.d.ts +5 -5
  577. package/dist/fields/Text/types.d.ts.map +1 -1
  578. package/dist/fields/Text/types.js.map +1 -1
  579. package/dist/fields/Textarea/Input.js +7 -7
  580. package/dist/fields/Textarea/Input.js.map +1 -1
  581. package/dist/fields/Textarea/index.d.ts +13 -4
  582. package/dist/fields/Textarea/index.d.ts.map +1 -1
  583. package/dist/fields/Textarea/index.js +6 -5
  584. package/dist/fields/Textarea/index.js.map +1 -1
  585. package/dist/fields/Textarea/index.scss +89 -87
  586. package/dist/fields/Textarea/types.d.ts +5 -5
  587. package/dist/fields/Textarea/types.d.ts.map +1 -1
  588. package/dist/fields/Textarea/types.js.map +1 -1
  589. package/dist/fields/Upload/HasMany/index.d.ts +16 -2
  590. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
  591. package/dist/fields/Upload/HasMany/index.js +136 -435
  592. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  593. package/dist/fields/Upload/HasMany/index.scss +25 -49
  594. package/dist/fields/Upload/HasOne/index.d.ts +13 -9
  595. package/dist/fields/Upload/HasOne/index.d.ts.map +1 -1
  596. package/dist/fields/Upload/HasOne/index.js +36 -120
  597. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  598. package/dist/fields/Upload/HasOne/index.scss +3 -70
  599. package/dist/fields/Upload/{HasOne/Input.d.ts → Input.d.ts} +14 -10
  600. package/dist/fields/Upload/Input.d.ts.map +1 -0
  601. package/dist/fields/Upload/Input.js +680 -0
  602. package/dist/fields/Upload/Input.js.map +1 -0
  603. package/dist/fields/Upload/RelationshipContent/index.d.ts +21 -0
  604. package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -0
  605. package/dist/fields/Upload/RelationshipContent/index.js +139 -0
  606. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -0
  607. package/dist/fields/Upload/RelationshipContent/index.scss +56 -0
  608. package/dist/fields/Upload/UploadCard/index.d.ts +10 -0
  609. package/dist/fields/Upload/UploadCard/index.d.ts.map +1 -0
  610. package/dist/fields/Upload/UploadCard/index.js +15 -0
  611. package/dist/fields/Upload/UploadCard/index.js.map +1 -0
  612. package/dist/fields/Upload/UploadCard/index.scss +28 -0
  613. package/dist/fields/Upload/index.d.ts +6 -6
  614. package/dist/fields/Upload/index.d.ts.map +1 -1
  615. package/dist/fields/Upload/index.js +85 -90
  616. package/dist/fields/Upload/index.js.map +1 -1
  617. package/dist/fields/Upload/index.scss +64 -0
  618. package/dist/fields/index.d.ts.map +1 -1
  619. package/dist/fields/index.js +2 -0
  620. package/dist/fields/index.js.map +1 -1
  621. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  622. package/dist/forms/Form/fieldReducer.js +6 -2
  623. package/dist/forms/Form/fieldReducer.js.map +1 -1
  624. package/dist/forms/Form/index.d.ts.map +1 -1
  625. package/dist/forms/Form/index.js +26 -10
  626. package/dist/forms/Form/index.js.map +1 -1
  627. package/dist/forms/Form/index.scss +5 -3
  628. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  629. package/dist/forms/Form/mergeServerFormState.js +3 -1
  630. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  631. package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
  632. package/dist/forms/Form/rowHelpers.js +9 -3
  633. package/dist/forms/Form/rowHelpers.js.map +1 -1
  634. package/dist/forms/Form/rows.d.ts.map +1 -1
  635. package/dist/forms/Form/rows.js +3 -1
  636. package/dist/forms/Form/rows.js.map +1 -1
  637. package/dist/forms/Form/types.d.ts +1 -1
  638. package/dist/forms/Form/types.d.ts.map +1 -1
  639. package/dist/forms/Form/types.js.map +1 -1
  640. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  641. package/dist/forms/NullifyField/index.js +1 -0
  642. package/dist/forms/NullifyField/index.js.map +1 -1
  643. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  644. package/dist/forms/RenderFields/RenderField.js +6 -2
  645. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  646. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  647. package/dist/forms/RenderFields/index.js +19 -16
  648. package/dist/forms/RenderFields/index.js.map +1 -1
  649. package/dist/forms/RenderFields/index.scss +47 -45
  650. package/dist/forms/RowLabel/index.js +1 -1
  651. package/dist/forms/RowLabel/index.js.map +1 -1
  652. package/dist/forms/RowLabel/types.d.ts +1 -1
  653. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  654. package/dist/forms/RowLabel/types.js.map +1 -1
  655. package/dist/forms/Submit/index.js +12 -28
  656. package/dist/forms/Submit/index.js.map +1 -1
  657. package/dist/forms/Submit/index.scss +5 -3
  658. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  659. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +3 -4
  660. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  661. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
  662. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +6 -2
  663. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  664. package/dist/forms/buildStateFromSchema/index.d.ts +2 -0
  665. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  666. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  667. package/dist/forms/useField/index.js +203 -111
  668. package/dist/forms/useField/index.js.map +1 -1
  669. package/dist/graphics/Account/Default/index.scss +43 -41
  670. package/dist/graphics/Account/index.d.ts.map +1 -1
  671. package/dist/graphics/Account/index.js +1 -1
  672. package/dist/graphics/Account/index.js.map +1 -1
  673. package/dist/hooks/useHotkey.d.ts.map +1 -1
  674. package/dist/hooks/useHotkey.js.map +1 -1
  675. package/dist/hooks/useIgnoredEffect.d.ts +17 -0
  676. package/dist/hooks/useIgnoredEffect.d.ts.map +1 -0
  677. package/dist/hooks/useIgnoredEffect.js +28 -0
  678. package/dist/hooks/useIgnoredEffect.js.map +1 -0
  679. package/dist/hooks/useIntersect.d.ts.map +1 -1
  680. package/dist/hooks/useIntersect.js +14 -20
  681. package/dist/hooks/useIntersect.js.map +1 -1
  682. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  683. package/dist/hooks/usePayloadAPI.js.map +1 -1
  684. package/dist/hooks/useThrottledEffect.d.ts +7 -0
  685. package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
  686. package/dist/hooks/useThrottledEffect.js +7 -0
  687. package/dist/hooks/useThrottledEffect.js.map +1 -1
  688. package/dist/icons/Calendar/index.scss +8 -6
  689. package/dist/icons/Check/index.scss +9 -7
  690. package/dist/icons/Chevron/index.d.ts +3 -3
  691. package/dist/icons/Chevron/index.d.ts.map +1 -1
  692. package/dist/icons/Chevron/index.js +4 -4
  693. package/dist/icons/Chevron/index.js.map +1 -1
  694. package/dist/icons/Chevron/index.scss +20 -10
  695. package/dist/icons/CloseMenu/index.scss +7 -5
  696. package/dist/icons/Copy/index.scss +9 -7
  697. package/dist/icons/DragHandle/index.scss +9 -7
  698. package/dist/icons/Edit/index.scss +9 -7
  699. package/dist/icons/Line/index.scss +8 -6
  700. package/dist/icons/Link/index.scss +8 -6
  701. package/dist/icons/Lock/index.d.ts +6 -0
  702. package/dist/icons/Lock/index.d.ts.map +1 -0
  703. package/dist/icons/Lock/index.js +27 -0
  704. package/dist/icons/Lock/index.js.map +1 -0
  705. package/dist/icons/Lock/index.scss +10 -0
  706. package/dist/icons/LogOut/index.scss +8 -6
  707. package/dist/icons/Menu/index.scss +6 -4
  708. package/dist/icons/More/index.scss +8 -6
  709. package/dist/icons/Plus/index.scss +6 -4
  710. package/dist/icons/Search/index.scss +8 -6
  711. package/dist/icons/Swap/index.scss +9 -7
  712. package/dist/icons/X/index.scss +6 -4
  713. package/dist/providers/Auth/index.d.ts +10 -5
  714. package/dist/providers/Auth/index.d.ts.map +1 -1
  715. package/dist/providers/Auth/index.js +56 -57
  716. package/dist/providers/Auth/index.js.map +1 -1
  717. package/dist/providers/Config/RenderComponent.d.ts +1 -1
  718. package/dist/providers/Config/RenderComponent.d.ts.map +1 -1
  719. package/dist/providers/Config/RenderComponent.js +2 -2
  720. package/dist/providers/Config/RenderComponent.js.map +1 -1
  721. package/dist/providers/Config/createClientConfig/collections.d.ts +6 -6
  722. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  723. package/dist/providers/Config/createClientConfig/collections.js +27 -13
  724. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  725. package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -1
  726. package/dist/providers/Config/createClientConfig/fields.js +34 -11
  727. package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
  728. package/dist/providers/Config/createClientConfig/getComponent.d.ts +1 -1
  729. package/dist/providers/Config/createClientConfig/getComponent.d.ts.map +1 -1
  730. package/dist/providers/Config/createClientConfig/getComponent.js +2 -2
  731. package/dist/providers/Config/createClientConfig/getComponent.js.map +1 -1
  732. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +1 -1
  733. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +3 -1
  734. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +1 -1
  735. package/dist/providers/Config/createClientConfig/globals.d.ts +4 -4
  736. package/dist/providers/Config/createClientConfig/globals.d.ts.map +1 -1
  737. package/dist/providers/Config/createClientConfig/globals.js +3 -3
  738. package/dist/providers/Config/createClientConfig/globals.js.map +1 -1
  739. package/dist/providers/Config/createClientConfig/index.d.ts +3 -3
  740. package/dist/providers/Config/createClientConfig/index.d.ts.map +1 -1
  741. package/dist/providers/Config/createClientConfig/index.js +20 -5
  742. package/dist/providers/Config/createClientConfig/index.js.map +1 -1
  743. package/dist/providers/DocumentEvents/index.js.map +1 -1
  744. package/dist/providers/DocumentInfo/index.d.ts +1 -1
  745. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  746. package/dist/providers/DocumentInfo/index.js +121 -11
  747. package/dist/providers/DocumentInfo/index.js.map +1 -1
  748. package/dist/providers/DocumentInfo/types.d.ts +43 -21
  749. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  750. package/dist/providers/DocumentInfo/types.js.map +1 -1
  751. package/dist/providers/ListInfo/index.d.ts +2 -2
  752. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  753. package/dist/providers/ListInfo/index.js.map +1 -1
  754. package/dist/providers/ListQuery/index.d.ts +17 -11
  755. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  756. package/dist/providers/ListQuery/index.js +32 -20
  757. package/dist/providers/ListQuery/index.js.map +1 -1
  758. package/dist/providers/Locale/index.d.ts.map +1 -1
  759. package/dist/providers/Locale/index.js.map +1 -1
  760. package/dist/providers/Preferences/index.d.ts.map +1 -1
  761. package/dist/providers/Preferences/index.js +3 -1
  762. package/dist/providers/Preferences/index.js.map +1 -1
  763. package/dist/providers/Root/index.d.ts +12 -12
  764. package/dist/providers/Root/index.d.ts.map +1 -1
  765. package/dist/providers/Root/index.js +2 -2
  766. package/dist/providers/Root/index.js.map +1 -1
  767. package/dist/providers/ScrollInfo/index.d.ts +1 -3
  768. package/dist/providers/ScrollInfo/index.d.ts.map +1 -1
  769. package/dist/providers/ScrollInfo/index.js +1 -12
  770. package/dist/providers/ScrollInfo/index.js.map +1 -1
  771. package/dist/providers/Selection/index.d.ts +3 -2
  772. package/dist/providers/Selection/index.d.ts.map +1 -1
  773. package/dist/providers/Selection/index.js +130 -184
  774. package/dist/providers/Selection/index.js.map +1 -1
  775. package/dist/providers/Theme/index.d.ts +0 -1
  776. package/dist/providers/Theme/index.d.ts.map +1 -1
  777. package/dist/providers/Theme/index.js +29 -21
  778. package/dist/providers/Theme/index.js.map +1 -1
  779. package/dist/providers/Translation/index.d.ts.map +1 -1
  780. package/dist/providers/Translation/index.js +5 -7
  781. package/dist/providers/Translation/index.js.map +1 -1
  782. package/dist/providers/WindowInfo/index.d.ts +1 -1
  783. package/dist/providers/WindowInfo/index.d.ts.map +1 -1
  784. package/dist/providers/WindowInfo/index.js +1 -1
  785. package/dist/providers/WindowInfo/index.js.map +1 -1
  786. package/dist/scss/app.scss +165 -161
  787. package/dist/scss/colors.scss +256 -254
  788. package/dist/scss/resets.scss +9 -7
  789. package/dist/scss/toastify.scss +42 -40
  790. package/dist/scss/toasts.scss +105 -103
  791. package/dist/scss/type.scss +81 -79
  792. package/dist/styles.css +1 -1
  793. package/dist/utilities/buildFormState.d.ts +9 -3
  794. package/dist/utilities/buildFormState.d.ts.map +1 -1
  795. package/dist/utilities/buildFormState.js +88 -6
  796. package/dist/utilities/buildFormState.js.map +1 -1
  797. package/dist/utilities/deepMerge.d.ts +12 -0
  798. package/dist/utilities/deepMerge.d.ts.map +1 -0
  799. package/dist/utilities/deepMerge.js +25 -0
  800. package/dist/utilities/deepMerge.js.map +1 -0
  801. package/dist/utilities/getFormState.d.ts +8 -2
  802. package/dist/utilities/getFormState.d.ts.map +1 -1
  803. package/dist/utilities/getFormState.js +3 -1
  804. package/dist/utilities/getFormState.js.map +1 -1
  805. package/dist/utilities/handleBackToDashboard.d.ts +8 -0
  806. package/dist/utilities/handleBackToDashboard.d.ts.map +1 -0
  807. package/dist/utilities/handleBackToDashboard.js +12 -0
  808. package/dist/utilities/handleBackToDashboard.js.map +1 -0
  809. package/dist/utilities/handleGoBack.d.ts +9 -0
  810. package/dist/utilities/handleGoBack.d.ts.map +1 -0
  811. package/dist/utilities/handleGoBack.js +13 -0
  812. package/dist/utilities/handleGoBack.js.map +1 -0
  813. package/dist/utilities/handleTakeOver.d.ts +7 -0
  814. package/dist/utilities/handleTakeOver.d.ts.map +1 -0
  815. package/dist/utilities/handleTakeOver.js +27 -0
  816. package/dist/utilities/handleTakeOver.js.map +1 -0
  817. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  818. package/dist/utilities/reduceFieldsToValuesWithValidation.js +6 -2
  819. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  820. package/package.json +21 -21
  821. package/dist/exports/client/CodeEditor-C4FLUUO7.js +0 -24
  822. package/dist/exports/client/CodeEditor-C4FLUUO7.js.map +0 -8
  823. package/dist/exports/client/chunk-UGBVRIVY.js +0 -14
  824. package/dist/exports/client/chunk-UGBVRIVY.js.map +0 -8
  825. package/dist/fields/Upload/HasOne/Input.d.ts.map +0 -1
  826. package/dist/fields/Upload/HasOne/Input.js +0 -324
  827. package/dist/fields/Upload/HasOne/Input.js.map +0 -1
  828. /package/dist/exports/client/{DatePicker-E6IJFDN2.js.map → DatePicker-HNJMUG32.js.map} +0 -0
@@ -5,11 +5,11 @@ import { createClientCollectionConfig, createClientCollectionConfigs } from './c
5
5
  import { createClientField, createClientFields } from './fields.js';
6
6
  import { createClientGlobalConfig, createClientGlobalConfigs } from './globals.js';
7
7
  export { createClientCollectionConfig, createClientCollectionConfigs, createClientGlobalConfig, createClientGlobalConfigs, };
8
- export declare const createClientConfig: ({ DefaultEditView, DefaultListView, children, config, i18n, importMap, payload, }: {
9
- DefaultEditView: React.FC<EditViewProps>;
10
- DefaultListView: React.FC<AdminViewProps>;
8
+ export declare const createClientConfig: ({ children, config, DefaultEditView, DefaultListView, i18n, importMap, payload, }: {
11
9
  children: React.ReactNode;
12
10
  config: SanitizedConfig;
11
+ DefaultEditView: React.FC<EditViewProps>;
12
+ DefaultListView: React.FC<AdminViewProps>;
13
13
  i18n: I18nClient;
14
14
  importMap: ImportMap;
15
15
  payload: Payload;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/Config/createClientConfig/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,eAAe,EAGrB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAGnE,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAElF,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,wBAAwB,EACxB,yBAAyB,GAC1B,CAAA;AAED,eAAO,MAAM,kBAAkB,sFAQ5B;IACD,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CAEjB,KAAG,OAAO,CAAC;IAAE,YAAY,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CA4IlE,CAAA;AACD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/Config/createClientConfig/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,YAAY,EAEjB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,OAAO,EAEZ,KAAK,eAAe,EAErB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAGnE,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAElF,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,wBAAwB,EACxB,yBAAyB,GAC1B,CAAA;AAED,eAAO,MAAM,kBAAkB,sFAQ5B;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,MAAM,EAAE,eAAe,CAAA;IACvB,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CAEjB,KAAG,OAAO,CAAC;IAAE,YAAY,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAmKlE,CAAA;AACD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAA"}
@@ -8,10 +8,10 @@ import { getCreateMappedComponent } from './getCreateMappedComponent.js';
8
8
  import { createClientGlobalConfig, createClientGlobalConfigs } from './globals.js';
9
9
  export { createClientCollectionConfig, createClientCollectionConfigs, createClientGlobalConfig, createClientGlobalConfigs };
10
10
  export const createClientConfig = async ({
11
- DefaultEditView,
12
- DefaultListView,
13
11
  children,
14
12
  config,
13
+ DefaultEditView,
14
+ DefaultListView,
15
15
  i18n,
16
16
  importMap,
17
17
  payload
@@ -51,24 +51,39 @@ export const createClientConfig = async ({
51
51
  if (config.admin?.components?.graphics?.Logo) {
52
52
  clientConfig.admin.components.graphics.Logo = createMappedComponent(config.admin.components.graphics.Logo, undefined, undefined, 'config.admin.components.graphics.Logo');
53
53
  }
54
+ if (config.admin?.dependencies) {
55
+ clientConfig.admin.dependencies = {};
56
+ for (const key in config.admin.dependencies) {
57
+ const dependency = config.admin.dependencies[key];
58
+ if (dependency.type === 'component') {
59
+ const payloadComponent = {
60
+ clientProps: dependency.clientProps,
61
+ path: dependency.path,
62
+ serverProps: dependency.serverProps
63
+ };
64
+ clientConfig.admin.dependencies[key] = createMappedComponent(payloadComponent, undefined, undefined, `config.admin.dependencies.${key}`);
65
+ continue;
66
+ }
67
+ }
68
+ }
54
69
  }
55
70
  if ('livePreview' in clientConfig.admin && clientConfig.admin.livePreview && 'url' in clientConfig.admin.livePreview) {
56
71
  delete clientConfig.admin.livePreview.url;
57
72
  }
58
73
  clientConfig.collections = createClientCollectionConfigs({
59
- DefaultEditView,
60
- DefaultListView,
61
74
  clientCollections: clientConfig.collections,
62
75
  collections: config.collections,
63
76
  createMappedComponent,
77
+ DefaultEditView,
78
+ DefaultListView,
64
79
  i18n,
65
80
  importMap,
66
81
  payload
67
82
  });
68
83
  clientConfig.globals = createClientGlobalConfigs({
69
- DefaultEditView,
70
84
  clientGlobals: clientConfig.globals,
71
85
  createMappedComponent,
86
+ DefaultEditView,
72
87
  globals: config.globals,
73
88
  i18n,
74
89
  importMap,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["deepCopyObjectSimple","serverOnlyConfigProperties","React","createClientCollectionConfig","createClientCollectionConfigs","createClientField","createClientFields","getComponent","getCreateMappedComponent","createClientGlobalConfig","createClientGlobalConfigs","createClientConfig","DefaultEditView","DefaultListView","children","config","i18n","importMap","payload","clientConfig","createMappedComponent","serverProps","key","localization","locale","locales","toString","admin","avatar","components","Avatar","Component","undefined","logout","Button","LogoutButton","actions","length","map","graphics","Icon","Logo","livePreview","url","collections","clientCollections","globals","clientGlobals","NestProviders","providers","_jsx","slice","render","Array","isArray","identifier","payloadComponent"],"sources":["../../../../src/providers/Config/createClientConfig/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport {\n type AdminViewProps,\n type ClientConfig,\n type EditViewProps,\n type ImportMap,\n type Payload,\n type SanitizedConfig,\n deepCopyObjectSimple,\n serverOnlyConfigProperties,\n} from 'payload'\nimport React from 'react'\n\nimport { createClientCollectionConfig, createClientCollectionConfigs } from './collections.js'\nimport { createClientField, createClientFields } from './fields.js'\nimport { getComponent } from './getComponent.js'\nimport { getCreateMappedComponent } from './getCreateMappedComponent.js'\nimport { createClientGlobalConfig, createClientGlobalConfigs } from './globals.js'\n\nexport {\n createClientCollectionConfig,\n createClientCollectionConfigs,\n createClientGlobalConfig,\n createClientGlobalConfigs,\n}\n\nexport const createClientConfig = async ({\n DefaultEditView,\n DefaultListView,\n children,\n config,\n i18n,\n importMap,\n payload,\n}: {\n DefaultEditView: React.FC<EditViewProps>\n DefaultListView: React.FC<AdminViewProps>\n children: React.ReactNode\n config: SanitizedConfig\n i18n: I18nClient\n importMap: ImportMap\n payload: Payload\n // eslint-disable-next-line @typescript-eslint/require-await\n}): Promise<{ clientConfig: ClientConfig; render: React.ReactNode }> => {\n // We can use deepCopySimple here, as the clientConfig should be JSON serializable anyways, since it will be sent from server => client\n const clientConfig: ClientConfig = deepCopyObjectSimple(config) as unknown as ClientConfig\n\n const createMappedComponent = getCreateMappedComponent({\n importMap,\n serverProps: {\n i18n,\n payload,\n },\n })\n\n for (const key of serverOnlyConfigProperties) {\n if (key in clientConfig) {\n delete clientConfig[key]\n }\n }\n\n if ('localization' in clientConfig && clientConfig.localization) {\n for (const locale of clientConfig.localization.locales) {\n delete locale.toString\n }\n }\n\n if ('admin' in clientConfig) {\n if (\n config.admin?.avatar &&\n typeof config.admin?.avatar === 'object' &&\n config.admin?.avatar &&\n 'Component' in config.admin.avatar\n ) {\n clientConfig.admin.components.Avatar = createMappedComponent(\n config.admin.avatar.Component,\n undefined,\n undefined,\n 'config.admin.avatar.Component',\n )\n }\n\n if (config.admin?.components?.logout?.Button) {\n clientConfig.admin.components.LogoutButton = createMappedComponent(\n config.admin.components.logout.Button,\n undefined,\n undefined,\n 'config.admin.components.logout.Button',\n )\n }\n\n if (config.admin?.components?.actions && config.admin?.components?.actions.length > 0) {\n clientConfig.admin.components.actions = config.admin.components.actions.map((Component) =>\n createMappedComponent(Component, undefined, undefined, 'config.admin.components.actions'),\n )\n }\n\n if (config.admin?.components?.graphics?.Icon) {\n clientConfig.admin.components.graphics.Icon = createMappedComponent(\n config.admin.components.graphics.Icon,\n undefined,\n undefined,\n 'config.admin.components.graphics.Icon',\n )\n }\n\n if (config.admin?.components?.graphics?.Logo) {\n clientConfig.admin.components.graphics.Logo = createMappedComponent(\n config.admin.components.graphics.Logo,\n undefined,\n undefined,\n 'config.admin.components.graphics.Logo',\n )\n }\n }\n\n if (\n 'livePreview' in clientConfig.admin &&\n clientConfig.admin.livePreview &&\n 'url' in clientConfig.admin.livePreview\n ) {\n delete clientConfig.admin.livePreview.url\n }\n\n clientConfig.collections = createClientCollectionConfigs({\n DefaultEditView,\n DefaultListView,\n clientCollections: clientConfig.collections,\n collections: config.collections,\n createMappedComponent,\n i18n,\n importMap,\n payload,\n })\n\n clientConfig.globals = createClientGlobalConfigs({\n DefaultEditView,\n clientGlobals: clientConfig.globals,\n createMappedComponent,\n globals: config.globals,\n i18n,\n importMap,\n payload,\n })\n\n const NestProviders = ({\n children,\n providers,\n }: {\n readonly children: React.ReactNode\n readonly providers: React.FC<{ children?: React.ReactNode }>[]\n }) => {\n const Component = providers[0]\n if (providers.length > 1) {\n return (\n <Component>\n <NestProviders providers={providers.slice(1)}>{children}</NestProviders>\n </Component>\n )\n }\n return <Component>{children}</Component>\n }\n\n const render =\n Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders\n providers={config.admin?.components?.providers.map(\n (Component) =>\n getComponent({\n identifier: 'config.admin?.components?.providers',\n importMap,\n payloadComponent: Component,\n }).Component,\n )}\n >\n {children}\n </NestProviders>\n ) : (\n children\n )\n\n return { clientConfig, render }\n}\nexport { createClientField, createClientFields }\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["deepCopyObjectSimple","serverOnlyConfigProperties","React","createClientCollectionConfig","createClientCollectionConfigs","createClientField","createClientFields","getComponent","getCreateMappedComponent","createClientGlobalConfig","createClientGlobalConfigs","createClientConfig","children","config","DefaultEditView","DefaultListView","i18n","importMap","payload","clientConfig","createMappedComponent","serverProps","key","localization","locale","locales","toString","admin","avatar","components","Avatar","Component","undefined","logout","Button","LogoutButton","actions","length","map","graphics","Icon","Logo","dependencies","dependency","type","payloadComponent","clientProps","path","livePreview","url","collections","clientCollections","globals","clientGlobals","NestProviders","providers","_jsx","slice","render","Array","isArray","identifier"],"sources":["../../../../src/providers/Config/createClientConfig/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport {\n type AdminViewProps,\n type ClientConfig,\n deepCopyObjectSimple,\n type EditViewProps,\n type ImportMap,\n type Payload,\n type PayloadComponent,\n type SanitizedConfig,\n serverOnlyConfigProperties,\n} from 'payload'\nimport React from 'react'\n\nimport { createClientCollectionConfig, createClientCollectionConfigs } from './collections.js'\nimport { createClientField, createClientFields } from './fields.js'\nimport { getComponent } from './getComponent.js'\nimport { getCreateMappedComponent } from './getCreateMappedComponent.js'\nimport { createClientGlobalConfig, createClientGlobalConfigs } from './globals.js'\n\nexport {\n createClientCollectionConfig,\n createClientCollectionConfigs,\n createClientGlobalConfig,\n createClientGlobalConfigs,\n}\n\nexport const createClientConfig = async ({\n children,\n config,\n DefaultEditView,\n DefaultListView,\n i18n,\n importMap,\n payload,\n}: {\n children: React.ReactNode\n config: SanitizedConfig\n DefaultEditView: React.FC<EditViewProps>\n DefaultListView: React.FC<AdminViewProps>\n i18n: I18nClient\n importMap: ImportMap\n payload: Payload\n // eslint-disable-next-line @typescript-eslint/require-await\n}): Promise<{ clientConfig: ClientConfig; render: React.ReactNode }> => {\n // We can use deepCopySimple here, as the clientConfig should be JSON serializable anyways, since it will be sent from server => client\n const clientConfig: ClientConfig = deepCopyObjectSimple(config) as unknown as ClientConfig\n\n const createMappedComponent = getCreateMappedComponent({\n importMap,\n serverProps: {\n i18n,\n payload,\n },\n })\n\n for (const key of serverOnlyConfigProperties) {\n if (key in clientConfig) {\n delete clientConfig[key]\n }\n }\n\n if ('localization' in clientConfig && clientConfig.localization) {\n for (const locale of clientConfig.localization.locales) {\n delete locale.toString\n }\n }\n\n if ('admin' in clientConfig) {\n if (\n config.admin?.avatar &&\n typeof config.admin?.avatar === 'object' &&\n config.admin?.avatar &&\n 'Component' in config.admin.avatar\n ) {\n clientConfig.admin.components.Avatar = createMappedComponent(\n config.admin.avatar.Component,\n undefined,\n undefined,\n 'config.admin.avatar.Component',\n )\n }\n\n if (config.admin?.components?.logout?.Button) {\n clientConfig.admin.components.LogoutButton = createMappedComponent(\n config.admin.components.logout.Button,\n undefined,\n undefined,\n 'config.admin.components.logout.Button',\n )\n }\n\n if (config.admin?.components?.actions && config.admin?.components?.actions.length > 0) {\n clientConfig.admin.components.actions = config.admin.components.actions.map((Component) =>\n createMappedComponent(Component, undefined, undefined, 'config.admin.components.actions'),\n )\n }\n\n if (config.admin?.components?.graphics?.Icon) {\n clientConfig.admin.components.graphics.Icon = createMappedComponent(\n config.admin.components.graphics.Icon,\n undefined,\n undefined,\n 'config.admin.components.graphics.Icon',\n )\n }\n\n if (config.admin?.components?.graphics?.Logo) {\n clientConfig.admin.components.graphics.Logo = createMappedComponent(\n config.admin.components.graphics.Logo,\n undefined,\n undefined,\n 'config.admin.components.graphics.Logo',\n )\n }\n\n if (config.admin?.dependencies) {\n clientConfig.admin.dependencies = {}\n for (const key in config.admin.dependencies) {\n const dependency = config.admin.dependencies[key]\n\n if (dependency.type === 'component') {\n const payloadComponent: PayloadComponent = {\n clientProps: dependency.clientProps,\n path: dependency.path,\n serverProps: dependency.serverProps,\n }\n\n clientConfig.admin.dependencies[key] = createMappedComponent(\n payloadComponent,\n undefined,\n undefined,\n `config.admin.dependencies.${key}`,\n )\n continue\n }\n }\n }\n }\n\n if (\n 'livePreview' in clientConfig.admin &&\n clientConfig.admin.livePreview &&\n 'url' in clientConfig.admin.livePreview\n ) {\n delete clientConfig.admin.livePreview.url\n }\n\n clientConfig.collections = createClientCollectionConfigs({\n clientCollections: clientConfig.collections,\n collections: config.collections,\n createMappedComponent,\n DefaultEditView,\n DefaultListView,\n i18n,\n importMap,\n payload,\n })\n\n clientConfig.globals = createClientGlobalConfigs({\n clientGlobals: clientConfig.globals,\n createMappedComponent,\n DefaultEditView,\n globals: config.globals,\n i18n,\n importMap,\n payload,\n })\n\n const NestProviders = ({\n children,\n providers,\n }: {\n readonly children: React.ReactNode\n readonly providers: React.FC<{ children?: React.ReactNode }>[]\n }) => {\n const Component = providers[0]\n if (providers.length > 1) {\n return (\n <Component>\n <NestProviders providers={providers.slice(1)}>{children}</NestProviders>\n </Component>\n )\n }\n return <Component>{children}</Component>\n }\n\n const render =\n Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders\n providers={config.admin?.components?.providers.map(\n (Component) =>\n getComponent({\n identifier: 'config.admin?.components?.providers',\n importMap,\n payloadComponent: Component,\n }).Component,\n )}\n >\n {children}\n </NestProviders>\n ) : (\n children\n )\n\n return { clientConfig, render }\n}\nexport { createClientField, createClientFields }\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","createContext","useContext","useState","Context","mostRecentUpdate","reportUpdate","doc","DocumentEventsProvider","t0","$","children","t1","_jsx","Provider","value","useDocumentEvents"],"sources":["../../../src/providers/DocumentEvents/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, useContext, useState } from 'react'\n\nexport type UpdatedDocument = {\n entitySlug: string\n id?: number | string\n updatedAt: string\n}\n\nconst Context = createContext({\n mostRecentUpdate: null,\n reportUpdate: (doc: UpdatedDocument) => null, // eslint-disable-line @typescript-eslint/no-unused-vars\n})\n\nexport const DocumentEventsProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [mostRecentUpdate, reportUpdate] = useState<UpdatedDocument>(null)\n\n return <Context.Provider value={{ mostRecentUpdate, reportUpdate }}>{children}</Context.Provider>\n}\n\nexport const useDocumentEvents = () => useContext(Context)\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,aAAa,EAAEC,UAAU,EAAEC,QAAQ,QAAQ;AAQ3D,MAAMC,OAAA,gBAAUH,aAAA,CAAc;EAC5BI,gBAAA,EAAkB;EAClBC,YAAA,EAAeC,GAAA,IAAyB;AAC1C;AAEA,OAAO,MAAMC,sBAAA,GAAkEC,EAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EAAC;IAAAY;EAAA,IAAAF,EAAY;EAC1F,OAAAJ,gBAAA,EAAAC,YAAA,IAAyCH,QAAA,KAA0B;EAAA,IAAAS,EAAA;EAAA,IAAAF,CAAA,QAAAL,gBAAA,IAAAK,CAAA,QAAAC,QAAA;IAE5DC,EAAA,GAAAC,IAAA,CAAAT,OAAA,CAAAU,QAAA;MAAAC,KAAA;QAAAV,gBAAA;QAAAC;MAAA;MAAAK;IAAA,C;;;;;;;SAAAC,E;CACT;AAEA,OAAO,MAAMI,iBAAA,GAAoBA,CAAA;EAAA,OAAMd,UAAA,CAAAE,OAAW;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","createContext","useContext","useState","Context","mostRecentUpdate","reportUpdate","doc","DocumentEventsProvider","t0","$","children","t1","_jsx","Provider","value","useDocumentEvents"],"sources":["../../../src/providers/DocumentEvents/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, useContext, useState } from 'react'\n\nexport type UpdatedDocument = {\n entitySlug: string\n id?: number | string\n updatedAt: string\n}\n\nconst Context = createContext({\n mostRecentUpdate: null,\n reportUpdate: (doc: UpdatedDocument) => null,\n})\n\nexport const DocumentEventsProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [mostRecentUpdate, reportUpdate] = useState<UpdatedDocument>(null)\n\n return <Context.Provider value={{ mostRecentUpdate, reportUpdate }}>{children}</Context.Provider>\n}\n\nexport const useDocumentEvents = () => useContext(Context)\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,aAAa,EAAEC,UAAU,EAAEC,QAAQ,QAAQ;AAQ3D,MAAMC,OAAA,gBAAUH,aAAA,CAAc;EAC5BI,gBAAA,EAAkB;EAClBC,YAAA,EAAeC,GAAA,IAAyB;AAC1C;AAEA,OAAO,MAAMC,sBAAA,GAAkEC,EAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EAAC;IAAAY;EAAA,IAAAF,EAAY;EAC1F,OAAAJ,gBAAA,EAAAC,YAAA,IAAyCH,QAAA,KAA0B;EAAA,IAAAS,EAAA;EAAA,IAAAF,CAAA,QAAAL,gBAAA,IAAAK,CAAA,QAAAC,QAAA;IAE5DC,EAAA,GAAAC,IAAA,CAAAT,OAAA,CAAAU,QAAA;MAAAC,KAAA;QAAAV,gBAAA;QAAAC;MAAA;MAAAK;IAAA,C;;;;;;;SAAAC,E;CACT;AAEA,OAAO,MAAMI,iBAAA,GAAoBA,CAAA;EAAA,OAAMd,UAAA,CAAAE,OAAW;AAAA","ignoreList":[]}
@@ -3,6 +3,6 @@ import type { DocumentInfoContext, DocumentInfoProps } from './types.js';
3
3
  export type * from './types.js';
4
4
  export declare const useDocumentInfo: () => DocumentInfoContext;
5
5
  export declare const DocumentInfoProvider: React.FC<{
6
- children: React.ReactNode;
6
+ readonly children: React.ReactNode;
7
7
  } & DocumentInfoProps>;
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAexE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AAyhB7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,GAAG,iBAAiB,CAOtB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAgBxE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AA2pB7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,GAAG,iBAAiB,CAOtB,CAAA"}
@@ -5,6 +5,7 @@ import { notFound } from 'next/navigation.js';
5
5
  import { reduceFieldsToValues } from 'payload/shared';
6
6
  import * as qs from 'qs-esm';
7
7
  import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';
8
+ import { requests } from '../../utilities/api.js';
8
9
  import { formatDocTitle } from '../../utilities/formatDocTitle.js';
9
10
  import { getFormState } from '../../utilities/getFormState.js';
10
11
  import { hasSavePermission as getHasSavePermission } from '../../utilities/hasSavePermission.js';
@@ -51,6 +52,8 @@ const DocumentInfo = ({
51
52
  const collectionConfig = collections.find(c => c.slug === collectionSlug);
52
53
  const globalConfig = globals.find(g => g.slug === globalSlug);
53
54
  const docConfig = collectionConfig || globalConfig;
55
+ const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true;
56
+ const isLockingEnabled = lockDocumentsProp !== false;
54
57
  const {
55
58
  i18n
56
59
  } = useTranslation();
@@ -58,7 +61,9 @@ const DocumentInfo = ({
58
61
  uploadEdits
59
62
  } = useUploadEdits();
60
63
  const [documentTitle, setDocumentTitle] = useState(() => {
61
- if (!initialDataFromProps) return '';
64
+ if (!initialDataFromProps) {
65
+ return '';
66
+ }
62
67
  return formatDocTitle({
63
68
  collectionConfig,
64
69
  data: {
@@ -80,6 +85,8 @@ const DocumentInfo = ({
80
85
  const [docPermissions, setDocPermissions] = useState(docPermissionsFromProps);
81
86
  const [hasSavePermission, setHasSavePermission] = useState(hasSavePermissionFromProps);
82
87
  const [hasPublishPermission, setHasPublishPermission] = useState(hasPublishPermissionFromProps);
88
+ const [documentIsLocked, setDocumentIsLocked] = useState(false);
89
+ const [currentEditor, setCurrentEditor] = useState(null);
83
90
  const isInitializing = initialState === undefined || data === undefined;
84
91
  const [unpublishedVersions, setUnpublishedVersions] = useState(null);
85
92
  const {
@@ -94,8 +101,6 @@ const DocumentInfo = ({
94
101
  } = useLocale();
95
102
  const prevLocale = useRef(locale);
96
103
  const hasInitializedDocPermissions = useRef(false);
97
- // Separate locale cache used for handling permissions
98
- const prevLocalePermissions = useRef(locale);
99
104
  const versionsConfig = docConfig?.versions;
100
105
  const baseURL = `${serverURL}${api}`;
101
106
  let slug;
@@ -120,6 +125,87 @@ const DocumentInfo = ({
120
125
  });
121
126
  const operation = isEditing ? 'update' : 'create';
122
127
  const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission);
128
+ const unlockDocument = useCallback(async (docId, slug_0) => {
129
+ try {
130
+ const isGlobal = slug_0 === globalSlug;
131
+ const query = isGlobal ? `where[globalSlug][equals]=${slug_0}` : `where[document.value][equals]=${docId}&where[document.relationTo][equals]=${slug_0}`;
132
+ const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`);
133
+ const {
134
+ docs
135
+ } = await request.json();
136
+ if (docs.length > 0) {
137
+ const lockId = docs[0].id;
138
+ await requests.delete(`${serverURL}${api}/payload-locked-documents/${lockId}`, {
139
+ headers: {
140
+ 'Content-Type': 'application/json'
141
+ }
142
+ });
143
+ setDocumentIsLocked(false);
144
+ }
145
+ } catch (error) {
146
+ // eslint-disable-next-line no-console
147
+ console.error('Failed to unlock the document', error);
148
+ }
149
+ }, [serverURL, api, globalSlug]);
150
+ const updateDocumentEditor = useCallback(async (docId_0, slug_1, user) => {
151
+ try {
152
+ const isGlobal_0 = slug_1 === globalSlug;
153
+ const query_0 = isGlobal_0 ? `where[globalSlug][equals]=${slug_1}` : `where[document.value][equals]=${docId_0}&where[document.relationTo][equals]=${slug_1}`;
154
+ // Check if the document is already locked
155
+ const request_0 = await requests.get(`${serverURL}${api}/payload-locked-documents?${query_0}`);
156
+ const {
157
+ docs: docs_0
158
+ } = await request_0.json();
159
+ if (docs_0.length > 0) {
160
+ const lockId_0 = docs_0[0].id;
161
+ // Send a patch request to update the _lastEdited info
162
+ await requests.patch(`${serverURL}${api}/payload-locked-documents/${lockId_0}`, {
163
+ body: JSON.stringify({
164
+ user: {
165
+ relationTo: user?.collection,
166
+ value: user?.id
167
+ }
168
+ }),
169
+ headers: {
170
+ 'Content-Type': 'application/json'
171
+ }
172
+ });
173
+ }
174
+ } catch (error_0) {
175
+ // eslint-disable-next-line no-console
176
+ console.error('Failed to update the document editor', error_0);
177
+ }
178
+ }, [serverURL, api, globalSlug]);
179
+ useEffect(() => {
180
+ if (!isLockingEnabled || !id && !globalSlug) {
181
+ return;
182
+ }
183
+ const fetchDocumentLockState = async () => {
184
+ if (id || globalSlug) {
185
+ try {
186
+ const slug_2 = collectionSlug ?? globalSlug;
187
+ const isGlobal_1 = slug_2 === globalSlug;
188
+ const query_1 = isGlobal_1 ? `where[globalSlug][equals]=${slug_2}` : `where[document.value][equals]=${id}&where[document.relationTo][equals]=${slug_2}`;
189
+ const request_1 = await requests.get(`${serverURL}${api}/payload-locked-documents?${query_1}`);
190
+ const {
191
+ docs: docs_1
192
+ } = await request_1.json();
193
+ if (docs_1.length > 0) {
194
+ const newEditor = docs_1[0].user?.value;
195
+ if (newEditor && newEditor.id !== currentEditor?.id) {
196
+ setCurrentEditor(newEditor);
197
+ setDocumentIsLocked(true);
198
+ }
199
+ } else {
200
+ setDocumentIsLocked(false);
201
+ }
202
+ } catch (error_1) {
203
+ // swallow error
204
+ }
205
+ }
206
+ };
207
+ void fetchDocumentLockState();
208
+ }, [id, serverURL, api, collectionSlug, globalSlug, currentEditor, isLockingEnabled]);
123
209
  const getVersions = useCallback(async () => {
124
210
  let versionFetchURL;
125
211
  let publishedFetchURL;
@@ -128,6 +214,7 @@ const DocumentInfo = ({
128
214
  let shouldFetch = true;
129
215
  const versionParams = {
130
216
  depth: 0,
217
+ limit: 0,
131
218
  where: {
132
219
  and: []
133
220
  }
@@ -196,8 +283,12 @@ const DocumentInfo = ({
196
283
  where: {
197
284
  ...versionParams.where,
198
285
  and: [...versionParams.where.and, {
286
+ 'version._status': {
287
+ equals: 'draft'
288
+ }
289
+ }, {
199
290
  updatedAt: {
200
- greater_than: publishedJSON?.updatedAt
291
+ greater_than: publishedJSON.updatedAt
201
292
  }
202
293
  }]
203
294
  }
@@ -233,7 +324,10 @@ const DocumentInfo = ({
233
324
  const docAccessURL = collectionSlug ? `/${collectionSlug}/access/${idToUse}` : globalSlug ? `/globals/${globalSlug}/access` : null;
234
325
  if (docAccessURL) {
235
326
  const res_1 = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {
236
- body: JSON.stringify(data_0),
327
+ body: JSON.stringify({
328
+ ...(data_0 || {}),
329
+ _status: 'draft'
330
+ }),
237
331
  credentials: 'include',
238
332
  headers: {
239
333
  'Accept-Language': i18n.language,
@@ -305,7 +399,9 @@ const DocumentInfo = ({
305
399
  }
306
400
  const docPreferences = await getDocPreferences();
307
401
  const newData = collectionSlug ? json_0.doc : json_0.result;
308
- const newState = await getFormState({
402
+ const {
403
+ state: newState
404
+ } = await getFormState({
309
405
  apiRoute: api,
310
406
  body: {
311
407
  id,
@@ -327,12 +423,16 @@ const DocumentInfo = ({
327
423
  const abortController = new AbortController();
328
424
  const localeChanged = locale !== prevLocale.current;
329
425
  if (initialStateFromProps === undefined || initialDataFromProps === undefined || localeChanged) {
330
- if (localeChanged) prevLocale.current = locale;
426
+ if (localeChanged) {
427
+ prevLocale.current = locale;
428
+ }
331
429
  const getInitialState = async () => {
332
430
  setIsError(false);
333
431
  setIsLoading(true);
334
432
  try {
335
- const result = await getFormState({
433
+ const {
434
+ state: result
435
+ } = await getFormState({
336
436
  apiRoute: api,
337
437
  body: {
338
438
  id,
@@ -348,7 +448,9 @@ const DocumentInfo = ({
348
448
  });
349
449
  const data_1 = reduceFieldsToValues(result, true);
350
450
  setData(data_1);
351
- if (localeChanged) void getDocPermissions(data_1);
451
+ if (localeChanged) {
452
+ void getDocPermissions(data_1);
453
+ }
352
454
  setInitialState(result);
353
455
  } catch (err) {
354
456
  if (!abortController.signal.aborted) {
@@ -366,7 +468,7 @@ const DocumentInfo = ({
366
468
  return () => {
367
469
  try {
368
470
  abortController.abort();
369
- } catch (error) {
471
+ } catch (error_2) {
370
472
  // swallow error
371
473
  }
372
474
  };
@@ -407,12 +509,16 @@ const DocumentInfo = ({
407
509
  addQueryPrefix: true
408
510
  })}`;
409
511
  }, [baseURL, locale, pluralType, id, slug, uploadEdits]);
410
- if (isError) notFound();
512
+ if (isError) {
513
+ notFound();
514
+ }
411
515
  const value = {
412
516
  ...props,
413
517
  action,
518
+ currentEditor,
414
519
  docConfig,
415
520
  docPermissions,
521
+ documentIsLocked,
416
522
  getDocPermissions,
417
523
  getDocPreferences,
418
524
  getVersions,
@@ -425,10 +531,14 @@ const DocumentInfo = ({
425
531
  onSave,
426
532
  preferencesKey,
427
533
  publishedDoc,
534
+ setCurrentEditor,
428
535
  setDocFieldPreferences,
536
+ setDocumentIsLocked,
429
537
  setDocumentTitle,
430
538
  title: documentTitle,
539
+ unlockDocument,
431
540
  unpublishedVersions,
541
+ updateDocumentEditor,
432
542
  versions
433
543
  };
434
544
  return /*#__PURE__*/_jsx(Context.Provider, {
@@ -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","requests","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","lockDocumentsProp","lockDocuments","undefined","isLockingEnabled","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","isLoading","setIsLoading","isError","setIsError","setData","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","setDocPermissions","setHasSavePermission","setHasPublishPermission","documentIsLocked","setDocumentIsLocked","currentEditor","setCurrentEditor","isInitializing","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","permissions","code","locale","prevLocale","hasInitializedDocPermissions","versionsConfig","baseURL","pluralType","preferencesKey","operation","shouldFetchVersions","Boolean","readVersions","permission","unlockDocument","docId","isGlobal","query","request","get","docs","json","length","lockId","delete","headers","error","console","updateDocumentEditor","user","patch","body","JSON","stringify","relationTo","collection","value","fetchDocumentLockState","newEditor","getVersions","versionFetchURL","publishedFetchURL","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","limit","where","and","publishedVersionParams","or","_status","equals","exists","push","parent","publishedJSON","drafts","fetch","credentials","language","then","res","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","params","idToUse","newIsEditing","docAccessURL","method","publishedAccessJSON","update","newDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","docPreferences","newData","doc","result","state","newState","apiRoute","schemaPath","abortController","AbortController","localeChanged","current","getInitialState","onError","signal","err","aborted","abort","action","useMemo","docURL","addQueryPrefix","title","_jsx","Provider","DocumentInfoProvider"],"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientUser,\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 { requests } from '../../utilities/api.js'\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 readonly 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 lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n\n const isLockingEnabled = lockDocumentsProp !== false\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\n const [documentIsLocked, setDocumentIsLocked] = useState<boolean | undefined>(false)\n const [currentEditor, setCurrentEditor] = useState<ClientUser | null>(null)\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\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 unlockDocument = useCallback(\n async (docId: number | string, slug: string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docId}&where[document.relationTo][equals]=${slug}`\n\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockId = docs[0].id\n await requests.delete(`${serverURL}${api}/payload-locked-documents/${lockId}`, {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n setDocumentIsLocked(false)\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to unlock the document', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const updateDocumentEditor = useCallback(\n async (docId: number | string, slug: string, user: ClientUser) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docId}&where[document.relationTo][equals]=${slug}`\n\n // Check if the document is already locked\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockId = docs[0].id\n\n // Send a patch request to update the _lastEdited info\n await requests.patch(`${serverURL}${api}/payload-locked-documents/${lockId}`, {\n body: JSON.stringify({\n user: { relationTo: user?.collection, value: user?.id },\n }),\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to update the document editor', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n useEffect(() => {\n if (!isLockingEnabled || (!id && !globalSlug)) {\n return\n }\n\n const fetchDocumentLockState = async () => {\n if (id || globalSlug) {\n try {\n const slug = collectionSlug ?? globalSlug\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${id}&where[document.relationTo][equals]=${slug}`\n\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const newEditor = docs[0].user?.value\n if (newEditor && newEditor.id !== currentEditor?.id) {\n setCurrentEditor(newEditor)\n setDocumentIsLocked(true)\n }\n } else {\n setDocumentIsLocked(false)\n }\n } catch (error) {\n // swallow error\n }\n }\n }\n void fetchDocumentLockState()\n }, [id, serverURL, api, collectionSlug, globalSlug, currentEditor, isLockingEnabled])\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 limit: 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 'version._status': {\n equals: 'draft',\n },\n },\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({\n ...(data || {}),\n _status: 'draft',\n }),\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 { state: 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\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 { state: 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 currentEditor,\n docConfig,\n docPermissions,\n documentIsLocked,\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 setCurrentEditor,\n setDocFieldPreferences,\n setDocumentIsLocked,\n setDocumentTitle,\n title: documentTitle,\n unlockDocument,\n unpublishedVersions,\n updateDocumentEditor,\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":[]}