@payloadcms/ui 3.0.0-canary.518fabe → 3.0.0-canary.51be7be

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 (499) hide show
  1. package/dist/elements/AddNewRelation/index.scss +36 -34
  2. package/dist/elements/AppHeader/index.scss +151 -150
  3. package/dist/elements/ArrayAction/index.scss +23 -21
  4. package/dist/elements/Autosave/index.d.ts.map +1 -1
  5. package/dist/elements/Autosave/index.js +1 -3
  6. package/dist/elements/Autosave/index.js.map +1 -1
  7. package/dist/elements/Autosave/index.scss +4 -2
  8. package/dist/elements/Banner/index.scss +51 -49
  9. package/dist/elements/BulkUpload/ActionsBar/index.js +2 -2
  10. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  11. package/dist/elements/BulkUpload/ActionsBar/index.scss +45 -43
  12. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -1
  13. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  14. package/dist/elements/BulkUpload/AddFilesView/index.js +2 -0
  15. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  16. package/dist/elements/BulkUpload/AddFilesView/index.scss +23 -21
  17. package/dist/elements/BulkUpload/AddingFilesView/index.scss +16 -14
  18. package/dist/elements/BulkUpload/DrawerCloseButton/index.scss +23 -21
  19. package/dist/elements/BulkUpload/EditForm/index.js +3 -1
  20. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/EditForm/index.scss +6 -4
  22. package/dist/elements/BulkUpload/FileSidebar/index.scss +214 -212
  23. package/dist/elements/BulkUpload/FormsManager/index.js +3 -1
  24. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  25. package/dist/elements/BulkUpload/Header/index.scss +11 -9
  26. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  27. package/dist/elements/BulkUpload/index.js +22 -42
  28. package/dist/elements/BulkUpload/index.js.map +1 -1
  29. package/dist/elements/Button/index.d.ts.map +1 -1
  30. package/dist/elements/Button/index.js +1 -0
  31. package/dist/elements/Button/index.js.map +1 -1
  32. package/dist/elements/Button/index.scss +202 -200
  33. package/dist/elements/Button/types.d.ts +6 -0
  34. package/dist/elements/Button/types.d.ts.map +1 -1
  35. package/dist/elements/Button/types.js.map +1 -1
  36. package/dist/elements/Card/index.scss +58 -56
  37. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  38. package/dist/elements/CodeEditor/CodeEditor.js +51 -25
  39. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  40. package/dist/elements/CodeEditor/index.d.ts.map +1 -1
  41. package/dist/elements/CodeEditor/index.js +2 -8
  42. package/dist/elements/CodeEditor/index.js.map +1 -1
  43. package/dist/elements/CodeEditor/index.scss +16 -14
  44. package/dist/elements/Collapsible/index.scss +125 -123
  45. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  46. package/dist/elements/ColumnSelector/index.js +14 -2
  47. package/dist/elements/ColumnSelector/index.js.map +1 -1
  48. package/dist/elements/ColumnSelector/index.scss +36 -34
  49. package/dist/elements/CopyToClipboard/index.scss +21 -19
  50. package/dist/elements/DatePicker/DatePicker.d.ts +1 -1
  51. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  52. package/dist/elements/DatePicker/DatePicker.js +1 -1
  53. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  54. package/dist/elements/DatePicker/index.scss +309 -307
  55. package/dist/elements/DatePicker/library.scss +859 -0
  56. package/dist/elements/DeleteDocument/index.scss +32 -30
  57. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  58. package/dist/elements/DeleteMany/index.js +16 -5
  59. package/dist/elements/DeleteMany/index.js.map +1 -1
  60. package/dist/elements/DeleteMany/index.scss +29 -27
  61. package/dist/elements/DocumentControls/index.d.ts +4 -1
  62. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  63. package/dist/elements/DocumentControls/index.js +43 -7
  64. package/dist/elements/DocumentControls/index.js.map +1 -1
  65. package/dist/elements/DocumentControls/index.scss +192 -182
  66. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  67. package/dist/elements/DocumentDrawer/DrawerContent.js +23 -17
  68. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  69. package/dist/elements/DocumentDrawer/index.scss +55 -53
  70. package/dist/elements/DocumentDrawer/types.d.ts +4 -1
  71. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  72. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  73. package/dist/elements/DocumentFields/index.scss +144 -142
  74. package/dist/elements/Drawer/index.scss +111 -109
  75. package/dist/elements/Dropzone/index.d.ts +2 -1
  76. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  77. package/dist/elements/Dropzone/index.js +3 -2
  78. package/dist/elements/Dropzone/index.js.map +1 -1
  79. package/dist/elements/Dropzone/index.scss +32 -30
  80. package/dist/elements/DuplicateDocument/index.scss +31 -29
  81. package/dist/elements/EditMany/index.d.ts.map +1 -1
  82. package/dist/elements/EditMany/index.js +235 -124
  83. package/dist/elements/EditMany/index.js.map +1 -1
  84. package/dist/elements/EditMany/index.scss +162 -160
  85. package/dist/elements/EditUpload/index.scss +180 -178
  86. package/dist/elements/ErrorPill/index.scss +27 -25
  87. package/dist/elements/FieldSelect/index.js +2 -2
  88. package/dist/elements/FieldSelect/index.js.map +1 -1
  89. package/dist/elements/FieldSelect/index.scss +4 -2
  90. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +25 -23
  91. package/dist/elements/FileDetails/FileMeta/index.scss +21 -19
  92. package/dist/elements/FileDetails/StaticFileDetails/index.scss +104 -102
  93. package/dist/elements/GenerateConfirmation/index.scss +29 -27
  94. package/dist/elements/Gutter/index.scss +14 -12
  95. package/dist/elements/Hamburger/index.scss +38 -32
  96. package/dist/elements/IDLabel/index.scss +11 -9
  97. package/dist/elements/ListControls/index.d.ts.map +1 -1
  98. package/dist/elements/ListControls/index.js +9 -5
  99. package/dist/elements/ListControls/index.js.map +1 -1
  100. package/dist/elements/ListControls/index.scss +70 -74
  101. package/dist/elements/ListDrawer/DrawerContent.d.ts +2 -0
  102. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  103. package/dist/elements/ListDrawer/DrawerContent.js +194 -188
  104. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  105. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  106. package/dist/elements/ListDrawer/index.js +18 -15
  107. package/dist/elements/ListDrawer/index.js.map +1 -1
  108. package/dist/elements/ListDrawer/index.scss +93 -91
  109. package/dist/elements/ListDrawer/types.d.ts +4 -1
  110. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  111. package/dist/elements/ListDrawer/types.js.map +1 -1
  112. package/dist/elements/ListHeader/index.scss +9 -7
  113. package/dist/elements/ListSelection/index.scss +14 -12
  114. package/dist/elements/Loading/index.scss +108 -106
  115. package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
  116. package/dist/elements/Localizer/LocalizerLabel/index.js +9 -5
  117. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  118. package/dist/elements/Localizer/LocalizerLabel/index.scss +45 -39
  119. package/dist/elements/Localizer/index.scss +7 -5
  120. package/dist/elements/Locked/index.d.ts +8 -0
  121. package/dist/elements/Locked/index.d.ts.map +1 -0
  122. package/dist/elements/Locked/index.js +72 -0
  123. package/dist/elements/Locked/index.js.map +1 -0
  124. package/dist/elements/Locked/index.scss +16 -0
  125. package/dist/elements/Nav/NavToggler/index.scss +9 -7
  126. package/dist/elements/NavGroup/index.scss +43 -41
  127. package/dist/elements/Pagination/ClickableArrow/index.scss +34 -32
  128. package/dist/elements/Pagination/index.d.ts.map +1 -1
  129. package/dist/elements/Pagination/index.js +1 -1
  130. package/dist/elements/Pagination/index.js.map +1 -1
  131. package/dist/elements/Pagination/index.scss +40 -38
  132. package/dist/elements/PerPage/index.d.ts +5 -5
  133. package/dist/elements/PerPage/index.d.ts.map +1 -1
  134. package/dist/elements/PerPage/index.js +2 -1
  135. package/dist/elements/PerPage/index.js.map +1 -1
  136. package/dist/elements/PerPage/index.scss +37 -35
  137. package/dist/elements/Pill/index.scss +104 -100
  138. package/dist/elements/Popup/PopupButtonList/index.scss +45 -43
  139. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  140. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  141. package/dist/elements/Popup/PopupTrigger/index.js +3 -2
  142. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  143. package/dist/elements/Popup/PopupTrigger/index.scss +26 -12
  144. package/dist/elements/Popup/index.d.ts +1 -0
  145. package/dist/elements/Popup/index.d.ts.map +1 -1
  146. package/dist/elements/Popup/index.js +6 -3
  147. package/dist/elements/Popup/index.js.map +1 -1
  148. package/dist/elements/Popup/index.scss +194 -175
  149. package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -1
  150. package/dist/elements/PreviewButton/usePreviewURL.js +11 -3
  151. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  152. package/dist/elements/PreviewSizes/index.scss +115 -113
  153. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  154. package/dist/elements/PublishButton/index.js +97 -46
  155. package/dist/elements/PublishButton/index.js.map +1 -1
  156. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  157. package/dist/elements/PublishMany/index.js +18 -6
  158. package/dist/elements/PublishMany/index.js.map +1 -1
  159. package/dist/elements/PublishMany/index.scss +28 -26
  160. package/dist/elements/ReactSelect/ClearIndicator/index.scss +6 -4
  161. package/dist/elements/ReactSelect/DropdownIndicator/index.scss +11 -9
  162. package/dist/elements/ReactSelect/MultiValue/index.scss +26 -24
  163. package/dist/elements/ReactSelect/MultiValueLabel/index.scss +16 -14
  164. package/dist/elements/ReactSelect/MultiValueRemove/index.scss +20 -18
  165. package/dist/elements/ReactSelect/ValueContainer/index.scss +22 -20
  166. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  167. package/dist/elements/ReactSelect/index.js +2 -0
  168. package/dist/elements/ReactSelect/index.js.map +1 -1
  169. package/dist/elements/ReactSelect/index.scss +67 -56
  170. package/dist/elements/ReactSelect/types.d.ts +2 -1
  171. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  172. package/dist/elements/ReactSelect/types.js.map +1 -1
  173. package/dist/elements/RelationshipTable/TableWrapper.d.ts +8 -0
  174. package/dist/elements/RelationshipTable/TableWrapper.d.ts.map +1 -0
  175. package/dist/elements/RelationshipTable/TableWrapper.js +69 -0
  176. package/dist/elements/RelationshipTable/TableWrapper.js.map +1 -0
  177. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts +8 -0
  178. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts.map +1 -0
  179. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +82 -0
  180. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -0
  181. package/dist/elements/RelationshipTable/cells/DrawerLink/index.scss +6 -0
  182. package/dist/elements/RelationshipTable/index.d.ts +15 -0
  183. package/dist/elements/RelationshipTable/index.d.ts.map +1 -0
  184. package/dist/elements/RelationshipTable/index.js +445 -0
  185. package/dist/elements/RelationshipTable/index.js.map +1 -0
  186. package/dist/elements/RelationshipTable/index.scss +28 -0
  187. package/dist/elements/RenderTitle/index.scss +7 -5
  188. package/dist/elements/SearchFilter/index.scss +31 -28
  189. package/dist/elements/SelectAll/index.scss +5 -3
  190. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  191. package/dist/elements/SelectRow/index.js +64 -24
  192. package/dist/elements/SelectRow/index.js.map +1 -1
  193. package/dist/elements/SelectRow/index.scss +6 -4
  194. package/dist/elements/ShimmerEffect/index.scss +26 -24
  195. package/dist/elements/SortColumn/index.d.ts +1 -0
  196. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  197. package/dist/elements/SortColumn/index.js +29 -17
  198. package/dist/elements/SortColumn/index.js.map +1 -1
  199. package/dist/elements/SortColumn/index.scss +54 -43
  200. package/dist/elements/SortComplex/index.scss +27 -25
  201. package/dist/elements/Status/index.js +1 -1
  202. package/dist/elements/Status/index.js.map +1 -1
  203. package/dist/elements/Status/index.scss +45 -43
  204. package/dist/elements/StayLoggedIn/index.scss +28 -26
  205. package/dist/elements/StepNav/index.scss +62 -61
  206. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.scss +20 -18
  207. package/dist/elements/Table/DefaultCell/fields/Code/index.scss +22 -20
  208. package/dist/elements/Table/DefaultCell/fields/File/index.scss +18 -16
  209. package/dist/elements/Table/DefaultCell/fields/JSON/index.scss +20 -18
  210. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +2 -3
  211. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  212. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +43 -40
  213. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  214. package/dist/elements/Table/DefaultCell/fields/Relationship/index.scss +0 -3
  215. package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -0
  216. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  217. package/dist/elements/Table/DefaultCell/fields/index.js +1 -0
  218. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  219. package/dist/elements/Table/DefaultCell/index.js +2 -2
  220. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  221. package/dist/elements/Table/RenderCell.d.ts +11 -0
  222. package/dist/elements/Table/RenderCell.d.ts.map +1 -0
  223. package/dist/elements/Table/RenderCell.js +30 -0
  224. package/dist/elements/Table/RenderCell.js.map +1 -0
  225. package/dist/elements/Table/TableCellProvider/index.js +9 -9
  226. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  227. package/dist/elements/Table/index.d.ts +3 -6
  228. package/dist/elements/Table/index.d.ts.map +1 -1
  229. package/dist/elements/Table/index.js +36 -31
  230. package/dist/elements/Table/index.js.map +1 -1
  231. package/dist/elements/Table/index.scss +87 -35
  232. package/dist/elements/TableColumns/buildColumnState.d.ts +5 -2
  233. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  234. package/dist/elements/TableColumns/buildColumnState.js +35 -22
  235. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  236. package/dist/elements/TableColumns/index.d.ts +5 -0
  237. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  238. package/dist/elements/TableColumns/index.js +107 -74
  239. package/dist/elements/TableColumns/index.js.map +1 -1
  240. package/dist/elements/Thumbnail/index.scss +37 -35
  241. package/dist/elements/ThumbnailCard/index.scss +31 -29
  242. package/dist/elements/Tooltip/index.d.ts +1 -0
  243. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  244. package/dist/elements/Tooltip/index.js +15 -13
  245. package/dist/elements/Tooltip/index.js.map +1 -1
  246. package/dist/elements/Tooltip/index.scss +77 -75
  247. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  248. package/dist/elements/UnpublishMany/index.js +18 -6
  249. package/dist/elements/UnpublishMany/index.js.map +1 -1
  250. package/dist/elements/UnpublishMany/index.scss +28 -26
  251. package/dist/elements/Upload/index.d.ts.map +1 -1
  252. package/dist/elements/Upload/index.js +2 -0
  253. package/dist/elements/Upload/index.js.map +1 -1
  254. package/dist/elements/Upload/index.scss +122 -120
  255. package/dist/elements/WhereBuilder/Condition/Number/index.scss +4 -2
  256. package/dist/elements/WhereBuilder/Condition/Relationship/index.scss +9 -7
  257. package/dist/elements/WhereBuilder/Condition/Text/index.scss +4 -2
  258. package/dist/elements/WhereBuilder/Condition/index.js +32 -30
  259. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  260. package/dist/elements/WhereBuilder/Condition/index.scss +43 -41
  261. package/dist/elements/WhereBuilder/index.scss +28 -26
  262. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
  263. package/dist/elements/WhereBuilder/reduceClientFields.js +3 -1
  264. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
  265. package/dist/exports/client/{CodeEditor-CHKRX3U2.js → CodeEditor-4A6256PR.js} +6 -4
  266. package/dist/exports/client/CodeEditor-4A6256PR.js.map +8 -0
  267. package/dist/exports/client/{DatePicker-OLRZVTAD.js → DatePicker-2ZXVD574.js} +2 -2
  268. package/dist/exports/client/chunk-6IWEPNUV.js +14 -0
  269. package/dist/exports/client/chunk-6IWEPNUV.js.map +8 -0
  270. package/dist/exports/client/{chunk-JINNHJP7.js → chunk-ED2SHEMU.js} +3 -3
  271. package/dist/exports/client/{chunk-JINNHJP7.js.map → chunk-ED2SHEMU.js.map} +4 -4
  272. package/dist/exports/client/index.d.ts +3 -1
  273. package/dist/exports/client/index.d.ts.map +1 -1
  274. package/dist/exports/client/index.js +22 -19
  275. package/dist/exports/client/index.js.map +4 -4
  276. package/dist/exports/shared/index.d.ts +3 -0
  277. package/dist/exports/shared/index.d.ts.map +1 -1
  278. package/dist/exports/shared/index.js +2 -2
  279. package/dist/exports/shared/index.js.map +4 -4
  280. package/dist/fields/Array/ArrayRow.js +2 -2
  281. package/dist/fields/Array/ArrayRow.js.map +1 -1
  282. package/dist/fields/Array/index.scss +74 -72
  283. package/dist/fields/Blocks/BlockRow.js +2 -2
  284. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  285. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.scss +25 -23
  286. package/dist/fields/Blocks/BlocksDrawer/index.scss +36 -34
  287. package/dist/fields/Blocks/SectionTitle/index.scss +51 -49
  288. package/dist/fields/Blocks/index.scss +89 -87
  289. package/dist/fields/Checkbox/Input.js +1 -1
  290. package/dist/fields/Checkbox/Input.js.map +1 -1
  291. package/dist/fields/Checkbox/index.scss +110 -95
  292. package/dist/fields/Code/index.scss +18 -16
  293. package/dist/fields/Collapsible/index.d.ts +141 -4
  294. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  295. package/dist/fields/Collapsible/index.scss +8 -6
  296. package/dist/fields/ConfirmPassword/index.scss +18 -16
  297. package/dist/fields/DateTime/index.scss +13 -11
  298. package/dist/fields/Email/index.scss +21 -19
  299. package/dist/fields/FieldDescription/index.scss +9 -7
  300. package/dist/fields/FieldError/index.scss +13 -11
  301. package/dist/fields/FieldLabel/index.scss +17 -15
  302. package/dist/fields/Group/index.js +2 -2
  303. package/dist/fields/Group/index.js.map +1 -1
  304. package/dist/fields/Group/index.scss +107 -105
  305. package/dist/fields/JSON/index.scss +11 -9
  306. package/dist/fields/Join/index.d.ts +9 -0
  307. package/dist/fields/Join/index.d.ts.map +1 -0
  308. package/dist/fields/Join/index.js +75 -0
  309. package/dist/fields/Join/index.js.map +1 -0
  310. package/dist/fields/Number/index.js +1 -1
  311. package/dist/fields/Number/index.js.map +1 -1
  312. package/dist/fields/Number/index.scss +19 -17
  313. package/dist/fields/Password/index.js +29 -25
  314. package/dist/fields/Password/index.js.map +1 -1
  315. package/dist/fields/Password/index.scss +18 -16
  316. package/dist/fields/Point/index.scss +33 -31
  317. package/dist/fields/RadioGroup/Radio/index.scss +58 -56
  318. package/dist/fields/RadioGroup/index.scss +57 -55
  319. package/dist/fields/Relationship/findOptionsByValue.d.ts +2 -1
  320. package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
  321. package/dist/fields/Relationship/findOptionsByValue.js +9 -2
  322. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  323. package/dist/fields/Relationship/index.d.ts +4 -4
  324. package/dist/fields/Relationship/index.d.ts.map +1 -1
  325. package/dist/fields/Relationship/index.js +2 -0
  326. package/dist/fields/Relationship/index.js.map +1 -1
  327. package/dist/fields/Relationship/index.scss +44 -42
  328. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +23 -20
  329. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  330. package/dist/fields/Relationship/select-components/MultiValueLabel/index.scss +40 -38
  331. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
  332. package/dist/fields/Relationship/select-components/SingleValue/index.js +35 -34
  333. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  334. package/dist/fields/Relationship/select-components/SingleValue/index.scss +43 -41
  335. package/dist/fields/Relationship/types.d.ts +1 -0
  336. package/dist/fields/Relationship/types.d.ts.map +1 -1
  337. package/dist/fields/Relationship/types.js.map +1 -1
  338. package/dist/fields/Row/index.scss +31 -26
  339. package/dist/fields/Select/index.scss +16 -14
  340. package/dist/fields/Tabs/Tab/index.scss +58 -56
  341. package/dist/fields/Tabs/index.d.ts.map +1 -1
  342. package/dist/fields/Tabs/index.js +69 -53
  343. package/dist/fields/Tabs/index.js.map +1 -1
  344. package/dist/fields/Tabs/index.scss +46 -44
  345. package/dist/fields/Text/index.d.ts.map +1 -1
  346. package/dist/fields/Text/index.scss +23 -21
  347. package/dist/fields/Textarea/index.d.ts.map +1 -1
  348. package/dist/fields/Textarea/index.js +4 -1
  349. package/dist/fields/Textarea/index.js.map +1 -1
  350. package/dist/fields/Textarea/index.scss +89 -87
  351. package/dist/fields/Upload/HasMany/index.scss +20 -18
  352. package/dist/fields/Upload/HasOne/index.js +1 -1
  353. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  354. package/dist/fields/Upload/HasOne/index.scss +5 -3
  355. package/dist/fields/Upload/Input.d.ts +0 -1
  356. package/dist/fields/Upload/Input.d.ts.map +1 -1
  357. package/dist/fields/Upload/Input.js +49 -39
  358. package/dist/fields/Upload/Input.js.map +1 -1
  359. package/dist/fields/Upload/RelationshipContent/index.js +28 -29
  360. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  361. package/dist/fields/Upload/RelationshipContent/index.scss +44 -42
  362. package/dist/fields/Upload/UploadCard/index.scss +21 -20
  363. package/dist/fields/Upload/index.scss +49 -47
  364. package/dist/fields/index.d.ts.map +1 -1
  365. package/dist/fields/index.js +2 -0
  366. package/dist/fields/index.js.map +1 -1
  367. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  368. package/dist/forms/Form/fieldReducer.js +7 -0
  369. package/dist/forms/Form/fieldReducer.js.map +1 -1
  370. package/dist/forms/Form/index.js +6 -2
  371. package/dist/forms/Form/index.js.map +1 -1
  372. package/dist/forms/Form/index.scss +5 -3
  373. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  374. package/dist/forms/NullifyField/index.js +1 -0
  375. package/dist/forms/NullifyField/index.js.map +1 -1
  376. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  377. package/dist/forms/RenderFields/RenderField.js +3 -1
  378. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  379. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  380. package/dist/forms/RenderFields/index.js +18 -15
  381. package/dist/forms/RenderFields/index.js.map +1 -1
  382. package/dist/forms/RenderFields/index.scss +47 -45
  383. package/dist/forms/Submit/index.scss +5 -3
  384. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  385. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +3 -4
  386. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  387. package/dist/forms/buildStateFromSchema/index.d.ts +2 -0
  388. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  389. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  390. package/dist/forms/useField/index.d.ts.map +1 -1
  391. package/dist/forms/useField/index.js +203 -111
  392. package/dist/forms/useField/index.js.map +1 -1
  393. package/dist/graphics/Account/Default/index.scss +43 -41
  394. package/dist/hooks/useDelay.js +48 -15
  395. package/dist/hooks/useDelay.js.map +1 -1
  396. package/dist/hooks/useDelayedRender.js +71 -32
  397. package/dist/hooks/useDelayedRender.js.map +1 -1
  398. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  399. package/dist/hooks/usePayloadAPI.js.map +1 -1
  400. package/dist/icons/Calendar/index.scss +8 -6
  401. package/dist/icons/Check/index.scss +9 -7
  402. package/dist/icons/Chevron/index.d.ts +3 -3
  403. package/dist/icons/Chevron/index.d.ts.map +1 -1
  404. package/dist/icons/Chevron/index.js +4 -4
  405. package/dist/icons/Chevron/index.js.map +1 -1
  406. package/dist/icons/Chevron/index.scss +20 -10
  407. package/dist/icons/CloseMenu/index.scss +7 -5
  408. package/dist/icons/Copy/index.scss +9 -7
  409. package/dist/icons/DragHandle/index.scss +9 -7
  410. package/dist/icons/Edit/index.scss +9 -7
  411. package/dist/icons/Line/index.scss +8 -6
  412. package/dist/icons/Link/index.scss +8 -6
  413. package/dist/icons/Lock/index.d.ts +6 -0
  414. package/dist/icons/Lock/index.d.ts.map +1 -0
  415. package/dist/icons/Lock/index.js +27 -0
  416. package/dist/icons/Lock/index.js.map +1 -0
  417. package/dist/icons/Lock/index.scss +10 -0
  418. package/dist/icons/LogOut/index.scss +8 -6
  419. package/dist/icons/Menu/index.scss +6 -4
  420. package/dist/icons/More/index.scss +8 -6
  421. package/dist/icons/Plus/index.scss +6 -4
  422. package/dist/icons/Search/index.scss +8 -6
  423. package/dist/icons/Swap/index.scss +9 -7
  424. package/dist/icons/X/index.scss +6 -4
  425. package/dist/providers/Auth/index.d.ts +9 -4
  426. package/dist/providers/Auth/index.d.ts.map +1 -1
  427. package/dist/providers/Auth/index.js +51 -56
  428. package/dist/providers/Auth/index.js.map +1 -1
  429. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  430. package/dist/providers/Config/createClientConfig/collections.js +11 -1
  431. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  432. package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -1
  433. package/dist/providers/Config/createClientConfig/fields.js +24 -3
  434. package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
  435. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  436. package/dist/providers/DocumentInfo/index.js +109 -7
  437. package/dist/providers/DocumentInfo/index.js.map +1 -1
  438. package/dist/providers/DocumentInfo/types.d.ts +32 -27
  439. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  440. package/dist/providers/DocumentInfo/types.js.map +1 -1
  441. package/dist/providers/ListQuery/index.d.ts +5 -5
  442. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  443. package/dist/providers/ListQuery/index.js.map +1 -1
  444. package/dist/providers/Preferences/index.js +3 -1
  445. package/dist/providers/Preferences/index.js.map +1 -1
  446. package/dist/providers/Root/index.d.ts.map +1 -1
  447. package/dist/providers/Root/index.js +2 -2
  448. package/dist/providers/Root/index.js.map +1 -1
  449. package/dist/providers/ScrollInfo/index.d.ts +1 -3
  450. package/dist/providers/ScrollInfo/index.d.ts.map +1 -1
  451. package/dist/providers/ScrollInfo/index.js +1 -12
  452. package/dist/providers/ScrollInfo/index.js.map +1 -1
  453. package/dist/providers/Selection/index.d.ts +3 -2
  454. package/dist/providers/Selection/index.d.ts.map +1 -1
  455. package/dist/providers/Selection/index.js +66 -37
  456. package/dist/providers/Selection/index.js.map +1 -1
  457. package/dist/providers/Theme/index.d.ts +0 -1
  458. package/dist/providers/Theme/index.d.ts.map +1 -1
  459. package/dist/providers/Theme/index.js +29 -21
  460. package/dist/providers/Theme/index.js.map +1 -1
  461. package/dist/providers/Translation/index.d.ts.map +1 -1
  462. package/dist/providers/Translation/index.js +5 -7
  463. package/dist/providers/Translation/index.js.map +1 -1
  464. package/dist/scss/app.scss +166 -162
  465. package/dist/scss/colors.scss +256 -254
  466. package/dist/scss/resets.scss +9 -7
  467. package/dist/scss/toastify.scss +42 -40
  468. package/dist/scss/toasts.scss +105 -103
  469. package/dist/scss/type.scss +81 -79
  470. package/dist/styles.css +1 -1
  471. package/dist/utilities/buildFormState.d.ts +9 -3
  472. package/dist/utilities/buildFormState.d.ts.map +1 -1
  473. package/dist/utilities/buildFormState.js +82 -4
  474. package/dist/utilities/buildFormState.js.map +1 -1
  475. package/dist/utilities/deepMerge.d.ts +12 -0
  476. package/dist/utilities/deepMerge.d.ts.map +1 -0
  477. package/dist/utilities/deepMerge.js +25 -0
  478. package/dist/utilities/deepMerge.js.map +1 -0
  479. package/dist/utilities/getFormState.d.ts +8 -2
  480. package/dist/utilities/getFormState.d.ts.map +1 -1
  481. package/dist/utilities/getFormState.js +3 -1
  482. package/dist/utilities/getFormState.js.map +1 -1
  483. package/dist/utilities/handleBackToDashboard.d.ts +8 -0
  484. package/dist/utilities/handleBackToDashboard.d.ts.map +1 -0
  485. package/dist/utilities/handleBackToDashboard.js +12 -0
  486. package/dist/utilities/handleBackToDashboard.js.map +1 -0
  487. package/dist/utilities/handleGoBack.d.ts +9 -0
  488. package/dist/utilities/handleGoBack.d.ts.map +1 -0
  489. package/dist/utilities/handleGoBack.js +13 -0
  490. package/dist/utilities/handleGoBack.js.map +1 -0
  491. package/dist/utilities/handleTakeOver.d.ts +7 -0
  492. package/dist/utilities/handleTakeOver.d.ts.map +1 -0
  493. package/dist/utilities/handleTakeOver.js +27 -0
  494. package/dist/utilities/handleTakeOver.js.map +1 -0
  495. package/package.json +16 -16
  496. package/dist/exports/client/CodeEditor-CHKRX3U2.js.map +0 -8
  497. package/dist/exports/client/chunk-BGA6EPOL.js +0 -14
  498. package/dist/exports/client/chunk-BGA6EPOL.js.map +0 -8
  499. /package/dist/exports/client/{DatePicker-OLRZVTAD.js.map → DatePicker-2ZXVD574.js.map} +0 -0
@@ -1,7 +1,13 @@
1
- import type { FormState, PayloadRequest } from 'payload';
1
+ import type { ClientUser, FormState, PayloadRequest } from 'payload';
2
2
  import type { FieldSchemaMap } from './buildFieldSchemaMap/types.js';
3
3
  export declare const getFieldSchemaMap: (req: PayloadRequest) => FieldSchemaMap;
4
- export declare const buildFormState: ({ req }: {
4
+ export declare const buildFormState: ({ req, }: {
5
5
  req: PayloadRequest;
6
- }) => Promise<FormState>;
6
+ }) => Promise<{
7
+ lockedState?: {
8
+ isLocked: boolean;
9
+ user: ClientUser | number | string;
10
+ };
11
+ state: FormState;
12
+ }>;
7
13
  //# sourceMappingURL=buildFormState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA8B,SAAS,EAAE,cAAc,EAAc,MAAM,SAAS,CAAA;AAKhG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAWpE,eAAO,MAAM,iBAAiB,QAAS,cAAc,KAAG,cAWvD,CAAA;AAED,eAAO,MAAM,cAAc,YAAmB;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE,KAAG,OAAO,CAAC,SAAS,CAqLxF,CAAA"}
1
+ {"version":3,"file":"buildFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAGV,SAAS,EACT,cAAc,EAEf,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAWpE,eAAO,MAAM,iBAAiB,QAAS,cAAc,KAAG,cAWvD,CAAA;AAED,eAAO,MAAM,cAAc,aAExB;IACD,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC;IACV,WAAW,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IACvE,KAAK,EAAE,SAAS,CAAA;CACjB,CAqQA,CAAA"}
@@ -25,7 +25,9 @@ export const buildFormState = async ({
25
25
  globalSlug,
26
26
  locale,
27
27
  operation,
28
- schemaPath
28
+ returnLockStatus,
29
+ schemaPath,
30
+ updateLastEdited
29
31
  } = reqData;
30
32
  const incomingUserSlug = req.user?.collection;
31
33
  const adminUserSlug = req.payload.config.admin.user;
@@ -60,7 +62,7 @@ export const buildFormState = async ({
60
62
  const id = collectionSlug ? reqData.id : undefined;
61
63
  const schemaPathSegments = schemaPath && schemaPath.split('.');
62
64
  let fieldSchema;
63
- if (schemaPathSegments.length === 1) {
65
+ if (schemaPathSegments && schemaPathSegments.length === 1) {
64
66
  if (req.payload.collections[schemaPath]) {
65
67
  fieldSchema = req.payload.collections[schemaPath].config.fields;
66
68
  } else {
@@ -154,7 +156,7 @@ export const buildFormState = async ({
154
156
  };
155
157
  promises.data = fetchData();
156
158
  }
157
- if (Object.keys(promises).length > 0) {
159
+ if (Object.keys(promises) && Object.keys(promises).length > 0) {
158
160
  await Promise.all(Object.values(promises));
159
161
  }
160
162
  const result = await buildStateFromSchema({
@@ -174,6 +176,82 @@ export const buildFormState = async ({
174
176
  result.file = formState.file;
175
177
  }
176
178
  }
177
- return result;
179
+ if (returnLockStatus && req.user && (id || globalSlug)) {
180
+ let lockedDocumentQuery;
181
+ if (collectionSlug) {
182
+ lockedDocumentQuery = {
183
+ and: [{
184
+ 'document.relationTo': {
185
+ equals: collectionSlug
186
+ }
187
+ }, {
188
+ 'document.value': {
189
+ equals: id
190
+ }
191
+ }]
192
+ };
193
+ } else if (globalSlug) {
194
+ lockedDocumentQuery = {
195
+ globalSlug: {
196
+ equals: globalSlug
197
+ }
198
+ };
199
+ }
200
+ if (lockedDocumentQuery) {
201
+ const lockedDocument = await req.payload.find({
202
+ collection: 'payload-locked-documents',
203
+ depth: 1,
204
+ limit: 1,
205
+ pagination: false,
206
+ where: lockedDocumentQuery
207
+ });
208
+ if (lockedDocument.docs && lockedDocument.docs.length > 0) {
209
+ const lockedState = {
210
+ isLocked: true,
211
+ user: lockedDocument.docs[0]?.user?.value
212
+ };
213
+ if (updateLastEdited) {
214
+ await req.payload.db.updateOne({
215
+ id: lockedDocument.docs[0].id,
216
+ collection: 'payload-locked-documents',
217
+ data: {},
218
+ req
219
+ });
220
+ }
221
+ return {
222
+ lockedState,
223
+ state: result
224
+ };
225
+ } else {
226
+ // If no lock document exists, create it
227
+ await req.payload.db.create({
228
+ collection: 'payload-locked-documents',
229
+ data: {
230
+ document: collectionSlug ? {
231
+ relationTo: [collectionSlug],
232
+ value: id
233
+ } : undefined,
234
+ globalSlug: globalSlug ? globalSlug : undefined,
235
+ user: {
236
+ relationTo: [req.user.collection],
237
+ value: req.user.id
238
+ }
239
+ },
240
+ req
241
+ });
242
+ const lockedState = {
243
+ isLocked: true,
244
+ user: req.user
245
+ };
246
+ return {
247
+ lockedState,
248
+ state: result
249
+ };
250
+ }
251
+ }
252
+ }
253
+ return {
254
+ state: result
255
+ };
178
256
  };
179
257
  //# sourceMappingURL=buildFormState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildFormState.js","names":["reduceFieldsToValues","buildStateFromSchema","buildFieldSchemaMap","cached","global","_payload_fieldSchemaMap","getFieldSchemaMap","req","process","env","NODE_ENV","config","payload","i18n","buildFormState","reqData","data","collectionSlug","formState","globalSlug","locale","operation","schemaPath","incomingUserSlug","user","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","fieldSchemaMap","id","undefined","schemaPathSegments","split","fieldSchema","fields","globals","global1","slug","has","get","docPreferences","promises","preferencesKey","fetchPreferences","preferencesResult","where","and","key","equals","value","preferences","fetchData","resolvedData","findByID","draft","fallbackLocale","overrideAccess","findGlobal","Object","keys","Promise","all","values","result","upload","file"],"sources":["../../src/utilities/buildFormState.ts"],"sourcesContent":["import type { DocumentPreferences, Field, FormState, PayloadRequest, TypeWithID } from 'payload'\n\nimport { reduceFieldsToValues } from 'payload/shared'\n\nimport type { BuildFormStateArgs } from '../forms/buildStateFromSchema/index.js'\nimport type { FieldSchemaMap } from './buildFieldSchemaMap/types.js'\n\nimport { buildStateFromSchema } from '../forms/buildStateFromSchema/index.js'\nimport { buildFieldSchemaMap } from './buildFieldSchemaMap/index.js'\n\nlet cached = global._payload_fieldSchemaMap\n\nif (!cached) {\n cached = global._payload_fieldSchemaMap = null\n}\n\nexport const getFieldSchemaMap = (req: PayloadRequest): FieldSchemaMap => {\n if (cached && process.env.NODE_ENV !== 'development') {\n return cached\n }\n\n cached = buildFieldSchemaMap({\n config: req.payload.config,\n i18n: req.i18n,\n })\n\n return cached\n}\n\nexport const buildFormState = async ({ req }: { req: PayloadRequest }): Promise<FormState> => {\n const reqData: BuildFormStateArgs = (req.data || {}) as BuildFormStateArgs\n const { collectionSlug, formState, globalSlug, locale, operation, schemaPath } = reqData\n\n const incomingUserSlug = req.user?.collection\n const adminUserSlug = req.payload.config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = req.payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await req.payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const fieldSchemaMap = getFieldSchemaMap(req)\n\n const id = collectionSlug ? reqData.id : undefined\n const schemaPathSegments = schemaPath && schemaPath.split('.')\n\n let fieldSchema: Field[]\n\n if (schemaPathSegments.length === 1) {\n if (req.payload.collections[schemaPath]) {\n fieldSchema = req.payload.collections[schemaPath].config.fields\n } else {\n fieldSchema = req.payload.config.globals.find((global) => global.slug === schemaPath)?.fields\n }\n } else if (fieldSchemaMap.has(schemaPath)) {\n fieldSchema = fieldSchemaMap.get(schemaPath)\n }\n\n if (!fieldSchema) {\n throw new Error(`Could not find field schema for given path \"${schemaPath}\"`)\n }\n\n let docPreferences = reqData.docPreferences\n let data = reqData.data\n\n const promises: {\n data?: Promise<void>\n preferences?: Promise<void>\n } = {}\n\n // If the request does not include doc preferences,\n // we should fetch them. This is useful for DocumentInfoProvider\n // as it reduces the amount of client-side fetches necessary\n // when we fetch data for the Edit View\n if (!docPreferences) {\n let preferencesKey\n\n if (collectionSlug && id) {\n preferencesKey = `collection-${collectionSlug}-${id}`\n }\n\n if (globalSlug) {\n preferencesKey = `global-${globalSlug}`\n }\n\n if (preferencesKey) {\n const fetchPreferences = async () => {\n const preferencesResult = (await req.payload.find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: req.user.collection,\n },\n },\n {\n 'user.value': {\n equals: req.user.id,\n },\n },\n ],\n },\n })) as unknown as { docs: { value: DocumentPreferences }[] }\n\n if (preferencesResult?.docs?.[0]?.value) {\n docPreferences = preferencesResult.docs[0].value\n }\n }\n\n promises.preferences = fetchPreferences()\n }\n }\n\n // If there is a form state,\n // then we can deduce data from that form state\n if (formState) {\n data = reduceFieldsToValues(formState, true)\n }\n\n // If we do not have data at this point,\n // we can fetch it. This is useful for DocumentInfoProvider\n // to reduce the amount of fetches required\n if (!data) {\n const fetchData = async () => {\n let resolvedData: Record<string, unknown> | TypeWithID\n\n if (collectionSlug && id) {\n resolvedData = await req.payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n if (globalSlug && schemaPath === globalSlug) {\n resolvedData = await req.payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n data = resolvedData\n }\n\n promises.data = fetchData()\n }\n\n if (Object.keys(promises).length > 0) {\n await Promise.all(Object.values(promises))\n }\n\n const result = await buildStateFromSchema({\n id,\n collectionSlug,\n data,\n fieldSchema,\n operation,\n preferences: docPreferences || { fields: {} },\n req,\n })\n\n // Maintain form state of auth / upload fields\n if (collectionSlug && formState) {\n if (req.payload.collections[collectionSlug]?.config?.upload && formState.file) {\n result.file = formState.file\n }\n }\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"buildFormState.js","names":["reduceFieldsToValues","buildStateFromSchema","buildFieldSchemaMap","cached","global","_payload_fieldSchemaMap","getFieldSchemaMap","req","process","env","NODE_ENV","config","payload","i18n","buildFormState","reqData","data","collectionSlug","formState","globalSlug","locale","operation","returnLockStatus","schemaPath","updateLastEdited","incomingUserSlug","user","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","fieldSchemaMap","id","undefined","schemaPathSegments","split","fieldSchema","fields","globals","global1","slug","has","get","docPreferences","promises","preferencesKey","fetchPreferences","preferencesResult","where","and","key","equals","value","preferences","fetchData","resolvedData","findByID","draft","fallbackLocale","overrideAccess","findGlobal","Object","keys","Promise","all","values","result","upload","file","lockedDocumentQuery","lockedDocument","lockedState","isLocked","db","updateOne","state","create","document","relationTo"],"sources":["../../src/utilities/buildFormState.ts"],"sourcesContent":["import type {\n ClientUser,\n DocumentPreferences,\n Field,\n FormState,\n PayloadRequest,\n TypeWithID,\n} from 'payload'\n\nimport { reduceFieldsToValues } from 'payload/shared'\n\nimport type { BuildFormStateArgs } from '../forms/buildStateFromSchema/index.js'\nimport type { FieldSchemaMap } from './buildFieldSchemaMap/types.js'\n\nimport { buildStateFromSchema } from '../forms/buildStateFromSchema/index.js'\nimport { buildFieldSchemaMap } from './buildFieldSchemaMap/index.js'\n\nlet cached = global._payload_fieldSchemaMap\n\nif (!cached) {\n cached = global._payload_fieldSchemaMap = null\n}\n\nexport const getFieldSchemaMap = (req: PayloadRequest): FieldSchemaMap => {\n if (cached && process.env.NODE_ENV !== 'development') {\n return cached\n }\n\n cached = buildFieldSchemaMap({\n config: req.payload.config,\n i18n: req.i18n,\n })\n\n return cached\n}\n\nexport const buildFormState = async ({\n req,\n}: {\n req: PayloadRequest\n}): Promise<{\n lockedState?: { isLocked: boolean; user: ClientUser | number | string }\n state: FormState\n}> => {\n const reqData: BuildFormStateArgs = (req.data || {}) as BuildFormStateArgs\n const {\n collectionSlug,\n formState,\n globalSlug,\n locale,\n operation,\n returnLockStatus,\n schemaPath,\n updateLastEdited,\n } = reqData\n\n const incomingUserSlug = req.user?.collection\n const adminUserSlug = req.payload.config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = req.payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await req.payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const fieldSchemaMap = getFieldSchemaMap(req)\n\n const id = collectionSlug ? reqData.id : undefined\n const schemaPathSegments = schemaPath && schemaPath.split('.')\n\n let fieldSchema: Field[]\n\n if (schemaPathSegments && schemaPathSegments.length === 1) {\n if (req.payload.collections[schemaPath]) {\n fieldSchema = req.payload.collections[schemaPath].config.fields\n } else {\n fieldSchema = req.payload.config.globals.find((global) => global.slug === schemaPath)?.fields\n }\n } else if (fieldSchemaMap.has(schemaPath)) {\n fieldSchema = fieldSchemaMap.get(schemaPath)\n }\n\n if (!fieldSchema) {\n throw new Error(`Could not find field schema for given path \"${schemaPath}\"`)\n }\n\n let docPreferences = reqData.docPreferences\n let data = reqData.data\n\n const promises: {\n data?: Promise<void>\n preferences?: Promise<void>\n } = {}\n\n // If the request does not include doc preferences,\n // we should fetch them. This is useful for DocumentInfoProvider\n // as it reduces the amount of client-side fetches necessary\n // when we fetch data for the Edit View\n if (!docPreferences) {\n let preferencesKey\n\n if (collectionSlug && id) {\n preferencesKey = `collection-${collectionSlug}-${id}`\n }\n\n if (globalSlug) {\n preferencesKey = `global-${globalSlug}`\n }\n\n if (preferencesKey) {\n const fetchPreferences = async () => {\n const preferencesResult = (await req.payload.find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: req.user.collection,\n },\n },\n {\n 'user.value': {\n equals: req.user.id,\n },\n },\n ],\n },\n })) as unknown as { docs: { value: DocumentPreferences }[] }\n\n if (preferencesResult?.docs?.[0]?.value) {\n docPreferences = preferencesResult.docs[0].value\n }\n }\n\n promises.preferences = fetchPreferences()\n }\n }\n\n // If there is a form state,\n // then we can deduce data from that form state\n if (formState) {\n data = reduceFieldsToValues(formState, true)\n }\n\n // If we do not have data at this point,\n // we can fetch it. This is useful for DocumentInfoProvider\n // to reduce the amount of fetches required\n if (!data) {\n const fetchData = async () => {\n let resolvedData: Record<string, unknown> | TypeWithID\n\n if (collectionSlug && id) {\n resolvedData = await req.payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n if (globalSlug && schemaPath === globalSlug) {\n resolvedData = await req.payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n data = resolvedData\n }\n\n promises.data = fetchData()\n }\n\n if (Object.keys(promises) && Object.keys(promises).length > 0) {\n await Promise.all(Object.values(promises))\n }\n\n const result = await buildStateFromSchema({\n id,\n collectionSlug,\n data,\n fieldSchema,\n operation,\n preferences: docPreferences || { fields: {} },\n req,\n })\n\n // Maintain form state of auth / upload fields\n if (collectionSlug && formState) {\n if (req.payload.collections[collectionSlug]?.config?.upload && formState.file) {\n result.file = formState.file\n }\n }\n\n if (returnLockStatus && req.user && (id || globalSlug)) {\n let lockedDocumentQuery\n\n if (collectionSlug) {\n lockedDocumentQuery = {\n and: [\n { 'document.relationTo': { equals: collectionSlug } },\n { 'document.value': { equals: id } },\n ],\n }\n } else if (globalSlug) {\n lockedDocumentQuery = {\n globalSlug: { equals: globalSlug },\n }\n }\n\n if (lockedDocumentQuery) {\n const lockedDocument = await req.payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n limit: 1,\n pagination: false,\n where: lockedDocumentQuery,\n })\n\n if (lockedDocument.docs && lockedDocument.docs.length > 0) {\n const lockedState = {\n isLocked: true,\n user: lockedDocument.docs[0]?.user?.value,\n }\n\n if (updateLastEdited) {\n await req.payload.db.updateOne({\n id: lockedDocument.docs[0].id,\n collection: 'payload-locked-documents',\n data: {},\n req,\n })\n }\n\n return { lockedState, state: result }\n } else {\n // If no lock document exists, create it\n await req.payload.db.create({\n collection: 'payload-locked-documents',\n data: {\n document: collectionSlug\n ? {\n relationTo: [collectionSlug],\n value: id,\n }\n : undefined,\n globalSlug: globalSlug ? globalSlug : undefined,\n user: {\n relationTo: [req.user.collection],\n value: req.user.id,\n },\n },\n req,\n })\n\n const lockedState = {\n isLocked: true,\n user: req.user,\n }\n\n return { lockedState, state: result }\n }\n }\n }\n\n return { state: result }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Very simple, but fast deepMerge implementation. Only deepMerges objects, not arrays and clones everything.
3
+ * Do not use this if your object contains any complex objects like React Components, or if you would like to combine Arrays.
4
+ * If you only have simple objects and need a fast deepMerge, this is the function for you.
5
+ *
6
+ * obj2 takes precedence over obj1 - thus if obj2 has a key that obj1 also has, obj2's value will be used.
7
+ *
8
+ * @param obj1 base object
9
+ * @param obj2 object to merge "into" obj1
10
+ */
11
+ export declare function deepMergeSimple<T = object>(obj1: object, obj2: object): T;
12
+ //# sourceMappingURL=deepMerge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepMerge.d.ts","sourceRoot":"","sources":["../../src/utilities/deepMerge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAczE"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Very simple, but fast deepMerge implementation. Only deepMerges objects, not arrays and clones everything.
3
+ * Do not use this if your object contains any complex objects like React Components, or if you would like to combine Arrays.
4
+ * If you only have simple objects and need a fast deepMerge, this is the function for you.
5
+ *
6
+ * obj2 takes precedence over obj1 - thus if obj2 has a key that obj1 also has, obj2's value will be used.
7
+ *
8
+ * @param obj1 base object
9
+ * @param obj2 object to merge "into" obj1
10
+ */export function deepMergeSimple(obj1, obj2) {
11
+ const output = {
12
+ ...obj1
13
+ };
14
+ for (const key in obj2) {
15
+ if (Object.prototype.hasOwnProperty.call(obj2, key)) {
16
+ if (typeof obj2[key] === 'object' && !Array.isArray(obj2[key]) && obj1[key]) {
17
+ output[key] = deepMergeSimple(obj1[key], obj2[key]);
18
+ } else {
19
+ output[key] = obj2[key];
20
+ }
21
+ }
22
+ }
23
+ return output;
24
+ }
25
+ //# sourceMappingURL=deepMerge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepMerge.js","names":["deepMergeSimple","obj1","obj2","output","key","Object","prototype","hasOwnProperty","call","Array","isArray"],"sources":["../../src/utilities/deepMerge.ts"],"sourcesContent":["/**\n * Very simple, but fast deepMerge implementation. Only deepMerges objects, not arrays and clones everything.\n * Do not use this if your object contains any complex objects like React Components, or if you would like to combine Arrays.\n * If you only have simple objects and need a fast deepMerge, this is the function for you.\n *\n * obj2 takes precedence over obj1 - thus if obj2 has a key that obj1 also has, obj2's value will be used.\n *\n * @param obj1 base object\n * @param obj2 object to merge \"into\" obj1\n */\nexport function deepMergeSimple<T = object>(obj1: object, obj2: object): T {\n const output = { ...obj1 }\n\n for (const key in obj2) {\n if (Object.prototype.hasOwnProperty.call(obj2, key)) {\n if (typeof obj2[key] === 'object' && !Array.isArray(obj2[key]) && obj1[key]) {\n output[key] = deepMergeSimple(obj1[key], obj2[key])\n } else {\n output[key] = obj2[key]\n }\n }\n }\n\n return output as T\n}\n"],"mappings":"AAAA;;;;;;;;;GAUA,OAAO,SAASA,gBAA4BC,IAAY,EAAEC,IAAY;EACpE,MAAMC,MAAA,GAAS;IAAE,GAAGF;EAAK;EAEzB,KAAK,MAAMG,GAAA,IAAOF,IAAA,EAAM;IACtB,IAAIG,MAAA,CAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACN,IAAA,EAAME,GAAA,GAAM;MACnD,IAAI,OAAOF,IAAI,CAACE,GAAA,CAAI,KAAK,YAAY,CAACK,KAAA,CAAMC,OAAO,CAACR,IAAI,CAACE,GAAA,CAAI,KAAKH,IAAI,CAACG,GAAA,CAAI,EAAE;QAC3ED,MAAM,CAACC,GAAA,CAAI,GAAGJ,eAAA,CAAgBC,IAAI,CAACG,GAAA,CAAI,EAAEF,IAAI,CAACE,GAAA,CAAI;MACpD,OAAO;QACLD,MAAM,CAACC,GAAA,CAAI,GAAGF,IAAI,CAACE,GAAA,CAAI;MACzB;IACF;EACF;EAEA,OAAOD,MAAA;AACT","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { FormState, SanitizedConfig } from 'payload';
1
+ import type { ClientUser, FormState, SanitizedConfig } from 'payload';
2
2
  import type { BuildFormStateArgs } from '../forms/buildStateFromSchema/index.js';
3
3
  export declare const getFormState: (args: {
4
4
  apiRoute: SanitizedConfig["routes"]["api"];
@@ -7,5 +7,11 @@ export declare const getFormState: (args: {
7
7
  serverURL: SanitizedConfig["serverURL"];
8
8
  signal?: AbortSignal;
9
9
  token?: string;
10
- }) => Promise<FormState>;
10
+ }) => Promise<{
11
+ lockedState?: {
12
+ isLocked: boolean;
13
+ user: ClientUser;
14
+ };
15
+ state: FormState;
16
+ }>;
11
17
  //# sourceMappingURL=getFormState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/getFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAEhF,eAAO,MAAM,YAAY,SAAgB;IACvC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,EAAE,kBAAkB,CAAA;IACxB,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC9C,SAAS,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;IACvC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,KAAG,OAAO,CAAC,SAAS,CAyBpB,CAAA"}
1
+ {"version":3,"file":"getFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/getFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAErE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAEhF,eAAO,MAAM,YAAY,SAAgB;IACvC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,EAAE,kBAAkB,CAAA;IACxB,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC9C,SAAS,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;IACvC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,KAAG,OAAO,CAAC;IAAE,WAAW,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CA4BtF,CAAA"}
@@ -27,6 +27,8 @@ export const getFormState = async args => {
27
27
  void onError(json);
28
28
  }
29
29
  }
30
- return body?.formState;
30
+ return {
31
+ state: body?.formState
32
+ };
31
33
  };
32
34
  //# sourceMappingURL=getFormState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getFormState.js","names":["getFormState","args","apiRoute","body","onError","serverURL","signal","token","res","fetch","JSON","stringify","credentials","headers","Authorization","method","json","ok","formState"],"sources":["../../src/utilities/getFormState.ts"],"sourcesContent":["import type { FormState, SanitizedConfig } from 'payload'\n\nimport type { BuildFormStateArgs } from '../forms/buildStateFromSchema/index.js'\n\nexport const getFormState = async (args: {\n apiRoute: SanitizedConfig['routes']['api']\n body: BuildFormStateArgs\n onError?: (data?: any) => Promise<void> | void\n serverURL: SanitizedConfig['serverURL']\n signal?: AbortSignal\n token?: string\n}): Promise<FormState> => {\n const { apiRoute, body, onError, serverURL, signal, token } = args\n\n const res = await fetch(`${serverURL}${apiRoute}/form-state`, {\n body: JSON.stringify(body),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n ...(token ? { Authorization: `JWT ${token}` } : {}),\n },\n method: 'POST',\n signal,\n })\n\n const json = (await res.json()) as FormState\n\n if (res.ok) {\n return json\n } else {\n if (typeof onError === 'function') {\n void onError(json)\n }\n }\n\n return body?.formState\n}\n"],"mappings":"AAIA,OAAO,MAAMA,YAAA,GAAe,MAAOC,IAAA;EAQjC,MAAM;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,OAAO;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAK,CAAE,GAAGN,IAAA;EAE9D,MAAMO,GAAA,GAAM,MAAMC,KAAA,CAAM,GAAGJ,SAAA,GAAYH,QAAA,aAAqB,EAAE;IAC5DC,IAAA,EAAMO,IAAA,CAAKC,SAAS,CAACR,IAAA;IACrBS,WAAA,EAAa;IACbC,OAAA,EAAS;MACP,gBAAgB;MAChB,IAAIN,KAAA,GAAQ;QAAEO,aAAA,EAAe,OAAOP,KAAA;MAAQ,IAAI,CAAC,CAAC;IACpD;IACAQ,MAAA,EAAQ;IACRT;EACF;EAEA,MAAMU,IAAA,GAAQ,MAAMR,GAAA,CAAIQ,IAAI;EAE5B,IAAIR,GAAA,CAAIS,EAAE,EAAE;IACV,OAAOD,IAAA;EACT,OAAO;IACL,IAAI,OAAOZ,OAAA,KAAY,YAAY;MACjC,KAAKA,OAAA,CAAQY,IAAA;IACf;EACF;EAEA,OAAOb,IAAA,EAAMe,SAAA;AACf","ignoreList":[]}
1
+ {"version":3,"file":"getFormState.js","names":["getFormState","args","apiRoute","body","onError","serverURL","signal","token","res","fetch","JSON","stringify","credentials","headers","Authorization","method","json","ok","state","formState"],"sources":["../../src/utilities/getFormState.ts"],"sourcesContent":["import type { ClientUser, FormState, SanitizedConfig } from 'payload'\n\nimport type { BuildFormStateArgs } from '../forms/buildStateFromSchema/index.js'\n\nexport const getFormState = async (args: {\n apiRoute: SanitizedConfig['routes']['api']\n body: BuildFormStateArgs\n onError?: (data?: any) => Promise<void> | void\n serverURL: SanitizedConfig['serverURL']\n signal?: AbortSignal\n token?: string\n}): Promise<{ lockedState?: { isLocked: boolean; user: ClientUser }; state: FormState }> => {\n const { apiRoute, body, onError, serverURL, signal, token } = args\n\n const res = await fetch(`${serverURL}${apiRoute}/form-state`, {\n body: JSON.stringify(body),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n ...(token ? { Authorization: `JWT ${token}` } : {}),\n },\n method: 'POST',\n signal,\n })\n\n const json = (await res.json()) as {\n lockedState?: { isLocked: boolean; user: ClientUser }\n state: FormState\n }\n\n if (res.ok) {\n return json\n } else {\n if (typeof onError === 'function') {\n void onError(json)\n }\n }\n\n return { state: body?.formState }\n}\n"],"mappings":"AAIA,OAAO,MAAMA,YAAA,GAAe,MAAOC,IAAA;EAQjC,MAAM;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,OAAO;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAK,CAAE,GAAGN,IAAA;EAE9D,MAAMO,GAAA,GAAM,MAAMC,KAAA,CAAM,GAAGJ,SAAA,GAAYH,QAAA,aAAqB,EAAE;IAC5DC,IAAA,EAAMO,IAAA,CAAKC,SAAS,CAACR,IAAA;IACrBS,WAAA,EAAa;IACbC,OAAA,EAAS;MACP,gBAAgB;MAChB,IAAIN,KAAA,GAAQ;QAAEO,aAAA,EAAe,OAAOP,KAAA;MAAQ,IAAI,CAAC,CAAC;IACpD;IACAQ,MAAA,EAAQ;IACRT;EACF;EAEA,MAAMU,IAAA,GAAQ,MAAMR,GAAA,CAAIQ,IAAI;EAK5B,IAAIR,GAAA,CAAIS,EAAE,EAAE;IACV,OAAOD,IAAA;EACT,OAAO;IACL,IAAI,OAAOZ,OAAA,KAAY,YAAY;MACjC,KAAKA,OAAA,CAAQY,IAAA;IACf;EACF;EAEA,OAAO;IAAEE,KAAA,EAAOf,IAAA,EAAMgB;EAAU;AAClC","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import type { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime.js';
2
+ type BackToDashboardProps = {
3
+ adminRoute: string;
4
+ router: AppRouterInstance;
5
+ };
6
+ export declare const handleBackToDashboard: ({ adminRoute, router }: BackToDashboardProps) => void;
7
+ export {};
8
+ //# sourceMappingURL=handleBackToDashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleBackToDashboard.d.ts","sourceRoot":"","sources":["../../src/utilities/handleBackToDashboard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2DAA2D,CAAA;AAIlG,KAAK,oBAAoB,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,qBAAqB,2BAA4B,oBAAoB,SAMjF,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { formatAdminURL } from './formatAdminURL.js';
2
+ export const handleBackToDashboard = ({
3
+ adminRoute,
4
+ router
5
+ }) => {
6
+ const redirectRoute = formatAdminURL({
7
+ adminRoute,
8
+ path: '/'
9
+ });
10
+ router.push(redirectRoute);
11
+ };
12
+ //# sourceMappingURL=handleBackToDashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleBackToDashboard.js","names":["formatAdminURL","handleBackToDashboard","adminRoute","router","redirectRoute","path","push"],"sources":["../../src/utilities/handleBackToDashboard.tsx"],"sourcesContent":["import type { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime.js'\n\nimport { formatAdminURL } from './formatAdminURL.js'\n\ntype BackToDashboardProps = {\n adminRoute: string\n router: AppRouterInstance\n}\n\nexport const handleBackToDashboard = ({ adminRoute, router }: BackToDashboardProps) => {\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: '/',\n })\n router.push(redirectRoute)\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ;AAO/B,OAAO,MAAMC,qBAAA,GAAwBA,CAAC;EAAEC,UAAU;EAAEC;AAAM,CAAwB;EAChF,MAAMC,aAAA,GAAgBJ,cAAA,CAAe;IACnCE,UAAA;IACAG,IAAA,EAAM;EACR;EACAF,MAAA,CAAOG,IAAI,CAACF,aAAA;AACd","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime.js';
2
+ type GoBackProps = {
3
+ adminRoute: string;
4
+ collectionSlug: string;
5
+ router: AppRouterInstance;
6
+ };
7
+ export declare const handleGoBack: ({ adminRoute, collectionSlug, router }: GoBackProps) => void;
8
+ export {};
9
+ //# sourceMappingURL=handleGoBack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleGoBack.d.ts","sourceRoot":"","sources":["../../src/utilities/handleGoBack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2DAA2D,CAAA;AAIlG,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,YAAY,2CAA4C,WAAW,SAM/E,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { formatAdminURL } from './formatAdminURL.js';
2
+ export const handleGoBack = ({
3
+ adminRoute,
4
+ collectionSlug,
5
+ router
6
+ }) => {
7
+ const redirectRoute = formatAdminURL({
8
+ adminRoute,
9
+ path: collectionSlug ? `/collections/${collectionSlug}` : '/'
10
+ });
11
+ router.push(redirectRoute);
12
+ };
13
+ //# sourceMappingURL=handleGoBack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleGoBack.js","names":["formatAdminURL","handleGoBack","adminRoute","collectionSlug","router","redirectRoute","path","push"],"sources":["../../src/utilities/handleGoBack.tsx"],"sourcesContent":["import type { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime.js'\n\nimport { formatAdminURL } from './formatAdminURL.js'\n\ntype GoBackProps = {\n adminRoute: string\n collectionSlug: string\n router: AppRouterInstance\n}\n\nexport const handleGoBack = ({ adminRoute, collectionSlug, router }: GoBackProps) => {\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: collectionSlug ? `/collections/${collectionSlug}` : '/',\n })\n router.push(redirectRoute)\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ;AAQ/B,OAAO,MAAMC,YAAA,GAAeA,CAAC;EAAEC,UAAU;EAAEC,cAAc;EAAEC;AAAM,CAAe;EAC9E,MAAMC,aAAA,GAAgBL,cAAA,CAAe;IACnCE,UAAA;IACAI,IAAA,EAAMH,cAAA,GAAiB,gBAAgBA,cAAA,EAAgB,GAAG;EAC5D;EACAC,MAAA,CAAOG,IAAI,CAACF,aAAA;AACd","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { ClientUser } from 'payload';
2
+ export declare const handleTakeOver: (id: number | string, collectionSlug: string, globalSlug: string, user: ClientUser, isWithinDoc: boolean, updateDocumentEditor: (docId: number | string, slug: string, user: ClientUser) => Promise<void>, setCurrentEditor: (value: React.SetStateAction<ClientUser>) => void, documentLockStateRef: React.RefObject<{
3
+ hasShownLockedModal: boolean;
4
+ isLocked: boolean;
5
+ user: ClientUser;
6
+ }>, isLockingEnabled: boolean, setIsReadOnlyForIncomingUser?: (value: React.SetStateAction<boolean>) => void) => void;
7
+ //# sourceMappingURL=handleTakeOver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleTakeOver.d.ts","sourceRoot":"","sources":["../../src/utilities/handleTakeOver.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,eAAO,MAAM,cAAc,OACrB,MAAM,GAAG,MAAM,kBACH,MAAM,cACV,MAAM,QACZ,UAAU,eACH,OAAO,wBACE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,oBAC7E,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,IAAI,wBAC7C,KAAK,CAAC,SAAS,CAAC;IACpC,mBAAmB,EAAE,OAAO,CAAA;IAC5B,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,UAAU,CAAA;CACjB,CAAC,oBACgB,OAAO,iCACM,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,KAC5E,IA6BF,CAAA"}
@@ -0,0 +1,27 @@
1
+ export const handleTakeOver = (id, collectionSlug, globalSlug, user, isWithinDoc, updateDocumentEditor, setCurrentEditor, documentLockStateRef, isLockingEnabled, setIsReadOnlyForIncomingUser) => {
2
+ if (!isLockingEnabled) {
3
+ return;
4
+ }
5
+ try {
6
+ // Call updateDocumentEditor to update the document's owner to the current user
7
+ void updateDocumentEditor(id, collectionSlug ?? globalSlug, user);
8
+ if (!isWithinDoc) {
9
+ documentLockStateRef.current.hasShownLockedModal = true;
10
+ }
11
+ // Update the locked state to reflect the current user as the owner
12
+ documentLockStateRef.current = {
13
+ hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal,
14
+ isLocked: true,
15
+ user
16
+ };
17
+ setCurrentEditor(user);
18
+ // If this is a takeover within the document, ensure the document is editable
19
+ if (isWithinDoc && setIsReadOnlyForIncomingUser) {
20
+ setIsReadOnlyForIncomingUser(false);
21
+ }
22
+ } catch (error) {
23
+ // eslint-disable-next-line no-console
24
+ console.error('Error during document takeover:', error);
25
+ }
26
+ };
27
+ //# sourceMappingURL=handleTakeOver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleTakeOver.js","names":["handleTakeOver","id","collectionSlug","globalSlug","user","isWithinDoc","updateDocumentEditor","setCurrentEditor","documentLockStateRef","isLockingEnabled","setIsReadOnlyForIncomingUser","current","hasShownLockedModal","isLocked","error","console"],"sources":["../../src/utilities/handleTakeOver.tsx"],"sourcesContent":["import type { ClientUser } from 'payload'\n\nexport const handleTakeOver = (\n id: number | string,\n collectionSlug: string,\n globalSlug: string,\n user: ClientUser,\n isWithinDoc: boolean,\n updateDocumentEditor: (docId: number | string, slug: string, user: ClientUser) => Promise<void>,\n setCurrentEditor: (value: React.SetStateAction<ClientUser>) => void,\n documentLockStateRef: React.RefObject<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser\n }>,\n isLockingEnabled: boolean,\n setIsReadOnlyForIncomingUser?: (value: React.SetStateAction<boolean>) => void,\n): void => {\n if (!isLockingEnabled) {\n return\n }\n\n try {\n // Call updateDocumentEditor to update the document's owner to the current user\n void updateDocumentEditor(id, collectionSlug ?? globalSlug, user)\n\n if (!isWithinDoc) {\n documentLockStateRef.current.hasShownLockedModal = true\n }\n\n // Update the locked state to reflect the current user as the owner\n documentLockStateRef.current = {\n hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal,\n isLocked: true,\n user,\n }\n setCurrentEditor(user)\n\n // If this is a takeover within the document, ensure the document is editable\n if (isWithinDoc && setIsReadOnlyForIncomingUser) {\n setIsReadOnlyForIncomingUser(false)\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error during document takeover:', error)\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,cAAA,GAAiBA,CAC5BC,EAAA,EACAC,cAAA,EACAC,UAAA,EACAC,IAAA,EACAC,WAAA,EACAC,oBAAA,EACAC,gBAAA,EACAC,oBAAA,EAKAC,gBAAA,EACAC,4BAAA;EAEA,IAAI,CAACD,gBAAA,EAAkB;IACrB;EACF;EAEA,IAAI;IACF;IACA,KAAKH,oBAAA,CAAqBL,EAAA,EAAIC,cAAA,IAAkBC,UAAA,EAAYC,IAAA;IAE5D,IAAI,CAACC,WAAA,EAAa;MAChBG,oBAAA,CAAqBG,OAAO,CAACC,mBAAmB,GAAG;IACrD;IAEA;IACAJ,oBAAA,CAAqBG,OAAO,GAAG;MAC7BC,mBAAA,EAAqBJ,oBAAA,CAAqBG,OAAO,EAAEC,mBAAA;MACnDC,QAAA,EAAU;MACVT;IACF;IACAG,gBAAA,CAAiBH,IAAA;IAEjB;IACA,IAAIC,WAAA,IAAeK,4BAAA,EAA8B;MAC/CA,4BAAA,CAA6B;IAC/B;EACF,EAAE,OAAOI,KAAA,EAAO;IACd;IACAC,OAAA,CAAQD,KAAK,CAAC,mCAAmCA,KAAA;EACnD;AACF","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/ui",
3
- "version": "3.0.0-canary.518fabe",
3
+ "version": "3.0.0-canary.51be7be",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -104,12 +104,12 @@
104
104
  "react-datepicker": "6.9.0",
105
105
  "react-image-crop": "10.1.8",
106
106
  "react-select": "5.8.0",
107
- "scheduler": "0.25.0-rc-f994737d14-20240522",
107
+ "scheduler": "0.0.0-experimental-3edc000d-20240926",
108
108
  "sonner": "^1.5.0",
109
- "ts-essentials": "7.0.3",
109
+ "ts-essentials": "10.0.2",
110
110
  "use-context-selector": "2.0.0",
111
111
  "uuid": "10.0.0",
112
- "@payloadcms/translations": "3.0.0-canary.518fabe"
112
+ "@payloadcms/translations": "3.0.0-canary.51be7be"
113
113
  },
114
114
  "devDependencies": {
115
115
  "@babel/cli": "^7.24.5",
@@ -119,29 +119,29 @@
119
119
  "@babel/preset-typescript": "^7.24.1",
120
120
  "@hyrious/esbuild-plugin-commonjs": "^0.2.4",
121
121
  "@types/body-scroll-lock": "^3.1.0",
122
- "@types/react": "npm:types-react@19.0.0-rc.0",
122
+ "@types/react": "npm:types-react@19.0.0-rc.1",
123
123
  "@types/react-datepicker": "6.2.0",
124
- "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0",
124
+ "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1",
125
125
  "@types/uuid": "10.0.0",
126
- "babel-plugin-react-compiler": "0.0.0-experimental-48eb8f4-20240822",
126
+ "babel-plugin-react-compiler": "0.0.0-experimental-24ec0eb-20240918",
127
127
  "esbuild": "0.23.1",
128
128
  "esbuild-sass-plugin": "3.3.1",
129
- "eslint-plugin-react-compiler": "0.0.0-experimental-72f06b2-20240822",
130
- "@payloadcms/eslint-config": "3.0.0-beta.97",
131
- "payload": "3.0.0-canary.518fabe"
129
+ "eslint-plugin-react-compiler": "0.0.0-experimental-7670337-20240918",
130
+ "@payloadcms/eslint-config": "3.0.0-beta.112",
131
+ "payload": "3.0.0-canary.51be7be"
132
132
  },
133
133
  "peerDependencies": {
134
- "next": "^15.0.0-canary.104",
135
- "react": "^19.0.0 || ^19.0.0-rc-06d0b89e-20240801",
136
- "react-dom": "^19.0.0 || ^19.0.0-rc-06d0b89e-20240801",
137
- "payload": "3.0.0-canary.518fabe"
134
+ "next": "^15.0.0-canary.173",
135
+ "react": "^19.0.0 || ^19.0.0-rc-3edc000d-20240926",
136
+ "react-dom": "^19.0.0 || ^19.0.0-rc-3edc000d-20240926",
137
+ "payload": "3.0.0-canary.51be7be"
138
138
  },
139
139
  "engines": {
140
140
  "node": "^18.20.2 || >=20.9.0"
141
141
  },
142
142
  "overrides": {
143
- "@types/react": "npm:types-react@19.0.0-rc.0",
144
- "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0"
143
+ "@types/react": "npm:types-react@19.0.0-rc.1",
144
+ "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1"
145
145
  },
146
146
  "scripts": {
147
147
  "build": "pnpm build:reactcompiler",