@payloadcms/ui 3.0.0-canary.291e44c → 3.0.0-canary.2d0dd26

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 (919) hide show
  1. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  2. package/dist/elements/AddNewRelation/index.js +4 -4
  3. package/dist/elements/AddNewRelation/index.js.map +1 -1
  4. package/dist/elements/AppHeader/index.d.ts +6 -1
  5. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  6. package/dist/elements/AppHeader/index.js +20 -13
  7. package/dist/elements/AppHeader/index.js.map +1 -1
  8. package/dist/elements/AppHeader/index.scss +0 -1
  9. package/dist/elements/Autosave/index.d.ts.map +1 -1
  10. package/dist/elements/Autosave/index.js +17 -19
  11. package/dist/elements/Autosave/index.js.map +1 -1
  12. package/dist/elements/Banner/index.d.ts.map +1 -1
  13. package/dist/elements/Banner/index.js.map +1 -1
  14. package/dist/elements/BulkUpload/ActionsBar/index.js +20 -26
  15. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  16. package/dist/elements/BulkUpload/ActionsBar/index.scss +4 -0
  17. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -1
  18. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  19. package/dist/elements/BulkUpload/AddFilesView/index.js +2 -0
  20. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  22. package/dist/elements/BulkUpload/AddingFilesView/index.js +32 -23
  23. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  25. package/dist/elements/BulkUpload/EditForm/index.js +42 -40
  26. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  27. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  28. package/dist/elements/BulkUpload/FileSidebar/index.js +34 -25
  29. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/FileSidebar/index.scss +40 -2
  31. package/dist/elements/BulkUpload/FormsManager/index.d.ts +4 -2
  32. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  33. package/dist/elements/BulkUpload/FormsManager/index.js +95 -41
  34. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  35. package/dist/elements/BulkUpload/FormsManager/reducer.js +14 -14
  36. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  37. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  38. package/dist/elements/BulkUpload/index.js +45 -62
  39. package/dist/elements/BulkUpload/index.js.map +1 -1
  40. package/dist/elements/Button/index.d.ts.map +1 -1
  41. package/dist/elements/Button/index.js +14 -4
  42. package/dist/elements/Button/index.js.map +1 -1
  43. package/dist/elements/Button/index.scss +4 -0
  44. package/dist/elements/Button/types.d.ts +4 -1
  45. package/dist/elements/Button/types.d.ts.map +1 -1
  46. package/dist/elements/Button/types.js.map +1 -1
  47. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  48. package/dist/elements/CodeEditor/CodeEditor.js +32 -27
  49. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  50. package/dist/elements/CodeEditor/types.d.ts +1 -0
  51. package/dist/elements/CodeEditor/types.d.ts.map +1 -1
  52. package/dist/elements/CodeEditor/types.js.map +1 -1
  53. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  54. package/dist/elements/ColumnSelector/index.js +11 -19
  55. package/dist/elements/ColumnSelector/index.js.map +1 -1
  56. package/dist/elements/DatePicker/DatePicker.d.ts +1 -1
  57. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  58. package/dist/elements/DatePicker/DatePicker.js +1 -1
  59. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  60. package/dist/elements/DatePicker/library.scss +859 -0
  61. package/dist/elements/DeleteDocument/index.d.ts +2 -2
  62. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  63. package/dist/elements/DeleteDocument/index.js.map +1 -1
  64. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  65. package/dist/elements/DeleteMany/index.js +17 -6
  66. package/dist/elements/DeleteMany/index.js.map +1 -1
  67. package/dist/elements/DocumentControls/index.d.ts +14 -8
  68. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  69. package/dist/elements/DocumentControls/index.js +72 -51
  70. package/dist/elements/DocumentControls/index.js.map +1 -1
  71. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  72. package/dist/elements/DocumentDrawer/DrawerContent.js +106 -239
  73. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  74. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +5 -0
  75. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -0
  76. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +82 -0
  77. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -0
  78. package/dist/elements/DocumentDrawer/DrawerHeader/index.scss +73 -0
  79. package/dist/elements/DocumentDrawer/Provider.d.ts +26 -0
  80. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -0
  81. package/dist/elements/DocumentDrawer/Provider.js +20 -0
  82. package/dist/elements/DocumentDrawer/Provider.js.map +1 -0
  83. package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
  84. package/dist/elements/DocumentDrawer/index.js +41 -37
  85. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  86. package/dist/elements/DocumentDrawer/index.scss +0 -50
  87. package/dist/elements/DocumentDrawer/types.d.ts +3 -5
  88. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  89. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  90. package/dist/elements/DocumentFields/index.d.ts +5 -5
  91. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  92. package/dist/elements/DocumentFields/index.js +113 -49
  93. package/dist/elements/DocumentFields/index.js.map +1 -1
  94. package/dist/elements/DocumentLocked/index.d.ts +12 -0
  95. package/dist/elements/DocumentLocked/index.d.ts.map +1 -0
  96. package/dist/elements/DocumentLocked/index.js +155 -0
  97. package/dist/elements/DocumentLocked/index.js.map +1 -0
  98. package/dist/elements/DocumentLocked/index.scss +40 -0
  99. package/dist/elements/DocumentTakeOver/index.d.ts +8 -0
  100. package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -0
  101. package/dist/elements/DocumentTakeOver/index.js +101 -0
  102. package/dist/elements/DocumentTakeOver/index.js.map +1 -0
  103. package/dist/elements/DocumentTakeOver/index.scss +39 -0
  104. package/dist/elements/Drawer/index.d.ts +5 -0
  105. package/dist/elements/Drawer/index.d.ts.map +1 -1
  106. package/dist/elements/Drawer/index.js +53 -30
  107. package/dist/elements/Drawer/index.js.map +1 -1
  108. package/dist/elements/DuplicateDocument/index.d.ts +2 -2
  109. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  110. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  111. package/dist/elements/EditMany/index.d.ts +1 -2
  112. package/dist/elements/EditMany/index.d.ts.map +1 -1
  113. package/dist/elements/EditMany/index.js +135 -207
  114. package/dist/elements/EditMany/index.js.map +1 -1
  115. package/dist/elements/EmailAndUsername/index.d.ts +16 -0
  116. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -0
  117. package/dist/elements/EmailAndUsername/index.js +42 -0
  118. package/dist/elements/EmailAndUsername/index.js.map +1 -0
  119. package/dist/elements/FieldSelect/index.d.ts +5 -5
  120. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  121. package/dist/elements/FieldSelect/index.js +36 -45
  122. package/dist/elements/FieldSelect/index.js.map +1 -1
  123. package/dist/elements/HydrateAuthProvider/index.d.ts +2 -2
  124. package/dist/elements/HydrateAuthProvider/index.d.ts.map +1 -1
  125. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  126. package/dist/elements/LeaveWithoutSaving/index.d.ts +4 -0
  127. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -0
  128. package/dist/elements/LeaveWithoutSaving/index.js +167 -0
  129. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -0
  130. package/dist/elements/LeaveWithoutSaving/index.scss +39 -0
  131. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +9 -0
  132. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -0
  133. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +136 -0
  134. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -0
  135. package/dist/elements/ListControls/index.d.ts +6 -2
  136. package/dist/elements/ListControls/index.d.ts.map +1 -1
  137. package/dist/elements/ListControls/index.js +18 -21
  138. package/dist/elements/ListControls/index.js.map +1 -1
  139. package/dist/elements/ListDrawer/DrawerContent.d.ts +0 -2
  140. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  141. package/dist/elements/ListDrawer/DrawerContent.js +123 -611
  142. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  143. package/dist/elements/ListDrawer/Provider.d.ts +27 -0
  144. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -0
  145. package/dist/elements/ListDrawer/Provider.js +23 -0
  146. package/dist/elements/ListDrawer/Provider.js.map +1 -0
  147. package/dist/elements/ListDrawer/index.d.ts +0 -1
  148. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  149. package/dist/elements/ListDrawer/index.js +2 -1
  150. package/dist/elements/ListDrawer/index.js.map +1 -1
  151. package/dist/elements/ListDrawer/types.d.ts +6 -12
  152. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  153. package/dist/elements/ListDrawer/types.js.map +1 -1
  154. package/dist/elements/Locked/index.d.ts.map +1 -1
  155. package/dist/elements/Locked/index.js +2 -5
  156. package/dist/elements/Locked/index.js.map +1 -1
  157. package/dist/elements/Logout/index.d.ts.map +1 -1
  158. package/dist/elements/Logout/index.js +25 -66
  159. package/dist/elements/Logout/index.js.map +1 -1
  160. package/dist/elements/Nav/NavToggler/index.d.ts.map +1 -1
  161. package/dist/elements/Nav/NavToggler/index.js +1 -1
  162. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  163. package/dist/elements/NavGroup/index.d.ts +1 -0
  164. package/dist/elements/NavGroup/index.d.ts.map +1 -1
  165. package/dist/elements/NavGroup/index.js +69 -90
  166. package/dist/elements/NavGroup/index.js.map +1 -1
  167. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  168. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  169. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  170. package/dist/elements/PreviewButton/index.d.ts +1 -6
  171. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  172. package/dist/elements/PreviewButton/index.js +1 -12
  173. package/dist/elements/PreviewButton/index.js.map +1 -1
  174. package/dist/elements/PreviewButton/usePreviewURL.js +2 -2
  175. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  176. package/dist/elements/PublishButton/index.d.ts +1 -7
  177. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  178. package/dist/elements/PublishButton/index.js +58 -48
  179. package/dist/elements/PublishButton/index.js.map +1 -1
  180. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  181. package/dist/elements/PublishMany/index.js +17 -6
  182. package/dist/elements/PublishMany/index.js.map +1 -1
  183. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  184. package/dist/elements/ReactSelect/index.js +1 -0
  185. package/dist/elements/ReactSelect/index.js.map +1 -1
  186. package/dist/elements/ReactSelect/index.scss +9 -1
  187. package/dist/elements/RelationshipTable/Pagination.d.ts +3 -0
  188. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -0
  189. package/dist/elements/RelationshipTable/Pagination.js +54 -0
  190. package/dist/elements/RelationshipTable/Pagination.js.map +1 -0
  191. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts +1 -2
  192. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts.map +1 -1
  193. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +34 -41
  194. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  195. package/dist/elements/RelationshipTable/index.d.ts +4 -2
  196. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  197. package/dist/elements/RelationshipTable/index.js +139 -378
  198. package/dist/elements/RelationshipTable/index.js.map +1 -1
  199. package/dist/elements/RenderComponent/index.d.ts +7 -0
  200. package/dist/elements/RenderComponent/index.d.ts.map +1 -0
  201. package/dist/elements/RenderComponent/index.js +23 -0
  202. package/dist/elements/RenderComponent/index.js.map +1 -0
  203. package/dist/elements/RenderCustomComponent/index.d.ts +18 -0
  204. package/dist/elements/RenderCustomComponent/index.d.ts.map +1 -0
  205. package/dist/elements/RenderCustomComponent/index.js +17 -0
  206. package/dist/elements/RenderCustomComponent/index.js.map +1 -0
  207. package/dist/elements/RenderIfInViewport/index.d.ts +7 -0
  208. package/dist/elements/RenderIfInViewport/index.d.ts.map +1 -0
  209. package/dist/elements/RenderIfInViewport/index.js +63 -0
  210. package/dist/elements/RenderIfInViewport/index.js.map +1 -0
  211. package/dist/elements/RenderServerComponent/index.d.ts +13 -0
  212. package/dist/elements/RenderServerComponent/index.d.ts.map +1 -0
  213. package/dist/elements/RenderServerComponent/index.js +61 -0
  214. package/dist/elements/RenderServerComponent/index.js.map +1 -0
  215. package/dist/elements/SaveButton/index.d.ts +1 -7
  216. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  217. package/dist/elements/SaveButton/index.js +1 -12
  218. package/dist/elements/SaveButton/index.js.map +1 -1
  219. package/dist/elements/SaveDraftButton/index.d.ts +1 -7
  220. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  221. package/dist/elements/SaveDraftButton/index.js +5 -14
  222. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  223. package/dist/elements/SelectRow/index.d.ts +8 -1
  224. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  225. package/dist/elements/SelectRow/index.js +38 -39
  226. package/dist/elements/SelectRow/index.js.map +1 -1
  227. package/dist/elements/SortColumn/index.d.ts +2 -2
  228. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  229. package/dist/elements/SortColumn/index.js +33 -19
  230. package/dist/elements/SortColumn/index.js.map +1 -1
  231. package/dist/elements/Status/index.d.ts.map +1 -1
  232. package/dist/elements/Status/index.js +71 -66
  233. package/dist/elements/Status/index.js.map +1 -1
  234. package/dist/elements/StayLoggedIn/index.scss +1 -0
  235. package/dist/elements/StepNav/index.d.ts +2 -1
  236. package/dist/elements/StepNav/index.d.ts.map +1 -1
  237. package/dist/elements/StepNav/index.js +30 -23
  238. package/dist/elements/StepNav/index.js.map +1 -1
  239. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts +1 -1
  240. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
  241. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  242. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +1 -1
  243. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  244. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  245. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts +1 -1
  246. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
  247. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  248. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +1 -1
  249. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
  250. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  251. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts +1 -1
  252. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
  253. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  254. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +2 -2
  255. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  256. package/dist/elements/Table/DefaultCell/fields/File/index.js +3 -7
  257. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  258. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts +1 -1
  259. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
  260. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  261. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +1 -1
  262. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  263. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +11 -12
  264. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  265. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts +1 -1
  266. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +1 -1
  267. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  268. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts +1 -1
  269. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts.map +1 -1
  270. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  271. package/dist/elements/Table/DefaultCell/fields/index.d.ts +4 -4
  272. package/dist/elements/Table/DefaultCell/index.d.ts +2 -2
  273. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  274. package/dist/elements/Table/DefaultCell/index.js +67 -94
  275. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  276. package/dist/elements/Table/RelationshipProvider/reducer.js +16 -16
  277. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  278. package/dist/elements/Table/index.d.ts +4 -7
  279. package/dist/elements/Table/index.d.ts.map +1 -1
  280. package/dist/elements/Table/index.js +38 -100
  281. package/dist/elements/Table/index.js.map +1 -1
  282. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts +11 -0
  283. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +1 -0
  284. package/dist/elements/TableColumns/RenderDefaultCell/index.js +77 -0
  285. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -0
  286. package/dist/elements/TableColumns/RenderDefaultCell/index.scss +15 -0
  287. package/dist/elements/TableColumns/buildColumnState.d.ts +9 -3
  288. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  289. package/dist/elements/TableColumns/buildColumnState.js +131 -76
  290. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  291. package/dist/elements/TableColumns/filterFields.d.ts +2 -2
  292. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
  293. package/dist/elements/TableColumns/filterFields.js +1 -3
  294. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  295. package/dist/elements/TableColumns/getInitialColumns.d.ts +3 -3
  296. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
  297. package/dist/elements/TableColumns/getInitialColumns.js +1 -3
  298. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  299. package/dist/elements/TableColumns/index.d.ts +12 -9
  300. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  301. package/dist/elements/TableColumns/index.js +176 -245
  302. package/dist/elements/TableColumns/index.js.map +1 -1
  303. package/dist/elements/Thumbnail/createThumbnail.d.ts +5 -0
  304. package/dist/elements/Thumbnail/createThumbnail.d.ts.map +1 -0
  305. package/dist/elements/Thumbnail/createThumbnail.js +50 -0
  306. package/dist/elements/Thumbnail/createThumbnail.js.map +1 -0
  307. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  308. package/dist/elements/Thumbnail/index.js.map +1 -1
  309. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  310. package/dist/elements/UnpublishMany/index.js +17 -6
  311. package/dist/elements/UnpublishMany/index.js.map +1 -1
  312. package/dist/elements/Upload/index.d.ts.map +1 -1
  313. package/dist/elements/Upload/index.js +21 -17
  314. package/dist/elements/Upload/index.js.map +1 -1
  315. package/dist/elements/Upload/index.scss +0 -6
  316. package/dist/elements/ViewDescription/index.d.ts +1 -2
  317. package/dist/elements/ViewDescription/index.d.ts.map +1 -1
  318. package/dist/elements/ViewDescription/index.js +9 -44
  319. package/dist/elements/ViewDescription/index.js.map +1 -1
  320. package/dist/elements/WhereBuilder/Condition/Date/index.js +3 -1
  321. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  322. package/dist/elements/WhereBuilder/Condition/Date/types.d.ts +5 -8
  323. package/dist/elements/WhereBuilder/Condition/Date/types.d.ts.map +1 -1
  324. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  325. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts +15 -0
  326. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts.map +1 -0
  327. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +70 -0
  328. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -0
  329. package/dist/elements/WhereBuilder/Condition/Number/index.d.ts.map +1 -1
  330. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  331. package/dist/elements/WhereBuilder/Condition/Number/types.d.ts +6 -4
  332. package/dist/elements/WhereBuilder/Condition/Number/types.d.ts.map +1 -1
  333. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  334. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  335. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +17 -10
  336. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  337. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +7 -7
  338. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  339. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts +5 -6
  340. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
  341. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  342. package/dist/elements/WhereBuilder/Condition/Select/types.d.ts +7 -7
  343. package/dist/elements/WhereBuilder/Condition/Select/types.d.ts.map +1 -1
  344. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  345. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
  346. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  347. package/dist/elements/WhereBuilder/Condition/Text/types.d.ts +6 -4
  348. package/dist/elements/WhereBuilder/Condition/Text/types.d.ts.map +1 -1
  349. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  350. package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
  351. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  352. package/dist/elements/WhereBuilder/Condition/index.js +111 -137
  353. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  354. package/dist/elements/WhereBuilder/Condition/types.d.ts +7 -1
  355. package/dist/elements/WhereBuilder/Condition/types.d.ts.map +1 -1
  356. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  357. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  358. package/dist/elements/WhereBuilder/index.js +13 -10
  359. package/dist/elements/WhereBuilder/index.js.map +1 -1
  360. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
  361. package/dist/elements/WhereBuilder/reduceClientFields.js +1 -7
  362. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
  363. package/dist/elements/WhereBuilder/types.d.ts +2 -3
  364. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  365. package/dist/elements/WhereBuilder/types.js.map +1 -1
  366. package/dist/exports/client/{CodeEditor-4A6256PR.js → CodeEditor-DRTCMRCY.js} +6 -6
  367. package/dist/exports/client/CodeEditor-DRTCMRCY.js.map +8 -0
  368. package/dist/exports/client/{DatePicker-HNJMUG32.js → DatePicker-23XPGPYP.js} +2 -2
  369. package/dist/exports/client/chunk-PELL3UMP.js +30 -0
  370. package/dist/exports/client/{chunk-IHJK2MAT.js.map → chunk-PELL3UMP.js.map} +4 -4
  371. package/dist/exports/client/chunk-PNHVQDTJ.js +14 -0
  372. package/dist/exports/client/chunk-PNHVQDTJ.js.map +8 -0
  373. package/dist/exports/client/index.d.ts +29 -13
  374. package/dist/exports/client/index.d.ts.map +1 -1
  375. package/dist/exports/client/index.js +22 -19
  376. package/dist/exports/client/index.js.map +4 -4
  377. package/dist/exports/rsc/index.d.ts +2 -0
  378. package/dist/exports/rsc/index.d.ts.map +1 -0
  379. package/dist/exports/rsc/index.js +2 -0
  380. package/dist/exports/rsc/index.js.map +1 -0
  381. package/dist/exports/shared/index.d.ts +8 -5
  382. package/dist/exports/shared/index.d.ts.map +1 -1
  383. package/dist/exports/shared/index.js +2 -2
  384. package/dist/exports/shared/index.js.map +4 -4
  385. package/dist/fields/Array/ArrayRow.d.ts +4 -4
  386. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  387. package/dist/fields/Array/ArrayRow.js +37 -40
  388. package/dist/fields/Array/ArrayRow.js.map +1 -1
  389. package/dist/fields/Array/index.d.ts +2 -6
  390. package/dist/fields/Array/index.d.ts.map +1 -1
  391. package/dist/fields/Array/index.js +169 -179
  392. package/dist/fields/Array/index.js.map +1 -1
  393. package/dist/fields/Blocks/BlockRow.d.ts +5 -4
  394. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  395. package/dist/fields/Blocks/BlockRow.js +68 -57
  396. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  397. package/dist/fields/Blocks/index.d.ts +2 -5
  398. package/dist/fields/Blocks/index.d.ts.map +1 -1
  399. package/dist/fields/Blocks/index.js +156 -172
  400. package/dist/fields/Blocks/index.js.map +1 -1
  401. package/dist/fields/Checkbox/Input.d.ts +5 -7
  402. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  403. package/dist/fields/Checkbox/Input.js +15 -19
  404. package/dist/fields/Checkbox/Input.js.map +1 -1
  405. package/dist/fields/Checkbox/index.d.ts +2 -4
  406. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  407. package/dist/fields/Checkbox/index.js +75 -201
  408. package/dist/fields/Checkbox/index.js.map +1 -1
  409. package/dist/fields/Code/index.d.ts +3 -5
  410. package/dist/fields/Code/index.d.ts.map +1 -1
  411. package/dist/fields/Code/index.js +74 -192
  412. package/dist/fields/Code/index.js.map +1 -1
  413. package/dist/fields/Collapsible/index.d.ts +3 -143
  414. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  415. package/dist/fields/Collapsible/index.js +111 -201
  416. package/dist/fields/Collapsible/index.js.map +1 -1
  417. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  418. package/dist/fields/ConfirmPassword/index.js +0 -2
  419. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  420. package/dist/fields/DateTime/index.d.ts +2 -4
  421. package/dist/fields/DateTime/index.d.ts.map +1 -1
  422. package/dist/fields/DateTime/index.js +79 -186
  423. package/dist/fields/DateTime/index.js.map +1 -1
  424. package/dist/fields/Email/index.d.ts +2 -5
  425. package/dist/fields/Email/index.d.ts.map +1 -1
  426. package/dist/fields/Email/index.js +77 -183
  427. package/dist/fields/Email/index.js.map +1 -1
  428. package/dist/fields/FieldDescription/index.d.ts +3 -2
  429. package/dist/fields/FieldDescription/index.d.ts.map +1 -1
  430. package/dist/fields/FieldDescription/index.js +4 -23
  431. package/dist/fields/FieldDescription/index.js.map +1 -1
  432. package/dist/fields/FieldError/index.d.ts +3 -2
  433. package/dist/fields/FieldError/index.d.ts.map +1 -1
  434. package/dist/fields/FieldError/index.js +2 -23
  435. package/dist/fields/FieldError/index.js.map +1 -1
  436. package/dist/fields/FieldLabel/index.d.ts +3 -2
  437. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  438. package/dist/fields/FieldLabel/index.js +61 -59
  439. package/dist/fields/FieldLabel/index.js.map +1 -1
  440. package/dist/fields/FieldLabel/index.scss +24 -2
  441. package/dist/fields/Group/index.d.ts +2 -5
  442. package/dist/fields/Group/index.d.ts.map +1 -1
  443. package/dist/fields/Group/index.js +72 -162
  444. package/dist/fields/Group/index.js.map +1 -1
  445. package/dist/fields/Hidden/index.d.ts.map +1 -1
  446. package/dist/fields/Hidden/index.js +30 -41
  447. package/dist/fields/Hidden/index.js.map +1 -1
  448. package/dist/fields/JSON/index.d.ts +2 -4
  449. package/dist/fields/JSON/index.d.ts.map +1 -1
  450. package/dist/fields/JSON/index.js +48 -53
  451. package/dist/fields/JSON/index.js.map +1 -1
  452. package/dist/fields/Join/index.d.ts +4 -5
  453. package/dist/fields/Join/index.d.ts.map +1 -1
  454. package/dist/fields/Join/index.js +41 -32
  455. package/dist/fields/Join/index.js.map +1 -1
  456. package/dist/fields/Number/index.d.ts +2 -4
  457. package/dist/fields/Number/index.d.ts.map +1 -1
  458. package/dist/fields/Number/index.js +146 -295
  459. package/dist/fields/Number/index.js.map +1 -1
  460. package/dist/fields/Password/index.d.ts.map +1 -1
  461. package/dist/fields/Password/index.js +79 -160
  462. package/dist/fields/Password/index.js.map +1 -1
  463. package/dist/fields/Password/input.d.ts.map +1 -1
  464. package/dist/fields/Password/input.js +51 -65
  465. package/dist/fields/Password/input.js.map +1 -1
  466. package/dist/fields/Password/types.d.ts +28 -12
  467. package/dist/fields/Password/types.d.ts.map +1 -1
  468. package/dist/fields/Password/types.js.map +1 -1
  469. package/dist/fields/Point/index.d.ts +2 -4
  470. package/dist/fields/Point/index.d.ts.map +1 -1
  471. package/dist/fields/Point/index.js +116 -252
  472. package/dist/fields/Point/index.js.map +1 -1
  473. package/dist/fields/RadioGroup/index.d.ts +3 -4
  474. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  475. package/dist/fields/RadioGroup/index.js +101 -230
  476. package/dist/fields/RadioGroup/index.js.map +1 -1
  477. package/dist/fields/Relationship/index.d.ts +2 -4
  478. package/dist/fields/Relationship/index.d.ts.map +1 -1
  479. package/dist/fields/Relationship/index.js +68 -72
  480. package/dist/fields/Relationship/index.js.map +1 -1
  481. package/dist/fields/Relationship/optionsReducer.js +42 -42
  482. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  483. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +1 -1
  484. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  485. package/dist/fields/Relationship/select-components/SingleValue/index.js +1 -1
  486. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  487. package/dist/fields/Row/index.d.ts +2 -8
  488. package/dist/fields/Row/index.d.ts.map +1 -1
  489. package/dist/fields/Row/index.js +28 -69
  490. package/dist/fields/Row/index.js.map +1 -1
  491. package/dist/fields/Select/Input.d.ts +7 -13
  492. package/dist/fields/Select/Input.d.ts.map +1 -1
  493. package/dist/fields/Select/Input.js +77 -114
  494. package/dist/fields/Select/Input.js.map +1 -1
  495. package/dist/fields/Select/index.d.ts +2 -4
  496. package/dist/fields/Select/index.d.ts.map +1 -1
  497. package/dist/fields/Select/index.js +28 -31
  498. package/dist/fields/Select/index.js.map +1 -1
  499. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  500. package/dist/fields/Tabs/Tab/index.js +61 -36
  501. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  502. package/dist/fields/Tabs/index.d.ts +2 -5
  503. package/dist/fields/Tabs/index.d.ts.map +1 -1
  504. package/dist/fields/Tabs/index.js +315 -142
  505. package/dist/fields/Tabs/index.js.map +1 -1
  506. package/dist/fields/Text/Input.d.ts.map +1 -1
  507. package/dist/fields/Text/Input.js +58 -93
  508. package/dist/fields/Text/Input.js.map +1 -1
  509. package/dist/fields/Text/index.d.ts +2 -4
  510. package/dist/fields/Text/index.d.ts.map +1 -1
  511. package/dist/fields/Text/index.js +93 -167
  512. package/dist/fields/Text/index.js.map +1 -1
  513. package/dist/fields/Text/types.d.ts +7 -12
  514. package/dist/fields/Text/types.d.ts.map +1 -1
  515. package/dist/fields/Text/types.js.map +1 -1
  516. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  517. package/dist/fields/Textarea/Input.js +53 -87
  518. package/dist/fields/Textarea/Input.js.map +1 -1
  519. package/dist/fields/Textarea/index.d.ts +2 -4
  520. package/dist/fields/Textarea/index.d.ts.map +1 -1
  521. package/dist/fields/Textarea/index.js +64 -117
  522. package/dist/fields/Textarea/index.js.map +1 -1
  523. package/dist/fields/Textarea/types.d.ts +7 -12
  524. package/dist/fields/Textarea/types.d.ts.map +1 -1
  525. package/dist/fields/Textarea/types.js.map +1 -1
  526. package/dist/fields/Upload/HasMany/index.d.ts +2 -0
  527. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
  528. package/dist/fields/Upload/HasMany/index.js +22 -18
  529. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  530. package/dist/fields/Upload/HasMany/index.scss +8 -0
  531. package/dist/fields/Upload/HasOne/index.d.ts +2 -0
  532. package/dist/fields/Upload/HasOne/index.d.ts.map +1 -1
  533. package/dist/fields/Upload/HasOne/index.js +2 -0
  534. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  535. package/dist/fields/Upload/Input.d.ts +8 -8
  536. package/dist/fields/Upload/Input.d.ts.map +1 -1
  537. package/dist/fields/Upload/Input.js +153 -148
  538. package/dist/fields/Upload/Input.js.map +1 -1
  539. package/dist/fields/Upload/RelationshipContent/index.d.ts +2 -0
  540. package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -1
  541. package/dist/fields/Upload/RelationshipContent/index.js +61 -42
  542. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  543. package/dist/fields/Upload/index.d.ts.map +1 -1
  544. package/dist/fields/Upload/index.js +64 -119
  545. package/dist/fields/Upload/index.js.map +1 -1
  546. package/dist/fields/Upload/types.d.ts +4 -0
  547. package/dist/fields/Upload/types.d.ts.map +1 -0
  548. package/dist/fields/Upload/types.js.map +1 -0
  549. package/dist/fields/index.d.ts +13 -2
  550. package/dist/fields/index.d.ts.map +1 -1
  551. package/dist/fields/index.js +11 -0
  552. package/dist/fields/index.js.map +1 -1
  553. package/dist/fields/mergeFieldStyles.d.ts +3 -0
  554. package/dist/fields/mergeFieldStyles.d.ts.map +1 -0
  555. package/dist/fields/mergeFieldStyles.js +13 -0
  556. package/dist/fields/mergeFieldStyles.js.map +1 -0
  557. package/dist/forms/Form/context.d.ts +2 -0
  558. package/dist/forms/Form/context.d.ts.map +1 -1
  559. package/dist/forms/Form/context.js.map +1 -1
  560. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  561. package/dist/forms/Form/fieldReducer.js +181 -154
  562. package/dist/forms/Form/fieldReducer.js.map +1 -1
  563. package/dist/forms/Form/index.d.ts.map +1 -1
  564. package/dist/forms/Form/index.js +80 -74
  565. package/dist/forms/Form/index.js.map +1 -1
  566. package/dist/forms/Form/mergeServerFormState.d.ts +1 -1
  567. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  568. package/dist/forms/Form/mergeServerFormState.js +17 -4
  569. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  570. package/dist/forms/Form/reduceToSerializableFields.d.ts +7 -0
  571. package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -0
  572. package/dist/forms/Form/reduceToSerializableFields.js +20 -0
  573. package/dist/forms/Form/reduceToSerializableFields.js.map +1 -0
  574. package/dist/forms/Form/types.d.ts +15 -12
  575. package/dist/forms/Form/types.d.ts.map +1 -1
  576. package/dist/forms/Form/types.js.map +1 -1
  577. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  578. package/dist/forms/NullifyField/index.js +3 -1
  579. package/dist/forms/NullifyField/index.js.map +1 -1
  580. package/dist/forms/RenderFields/RenderField.d.ts +6 -18
  581. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  582. package/dist/forms/RenderFields/RenderField.js +290 -69
  583. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  584. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  585. package/dist/forms/RenderFields/index.js +89 -101
  586. package/dist/forms/RenderFields/index.js.map +1 -1
  587. package/dist/forms/RenderFields/types.d.ts +9 -10
  588. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  589. package/dist/forms/RenderFields/types.js.map +1 -1
  590. package/dist/forms/RowLabel/index.d.ts.map +1 -1
  591. package/dist/forms/RowLabel/index.js +15 -23
  592. package/dist/forms/RowLabel/index.js.map +1 -1
  593. package/dist/forms/RowLabel/types.d.ts +2 -5
  594. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  595. package/dist/forms/RowLabel/types.js.map +1 -1
  596. package/dist/forms/Submit/index.d.ts.map +1 -1
  597. package/dist/forms/Submit/index.js +7 -2
  598. package/dist/forms/Submit/index.js.map +1 -1
  599. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts +1 -1
  600. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  601. package/dist/forms/WatchChildErrors/buildPathSegments.js +3 -3
  602. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  603. package/dist/forms/WatchChildErrors/index.d.ts +1 -1
  604. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  605. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  606. package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/addFieldStatePromise.d.ts +14 -4
  607. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -0
  608. package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/addFieldStatePromise.js +171 -32
  609. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -0
  610. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -0
  611. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -0
  612. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -0
  613. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -0
  614. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -0
  615. package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/promise.js +17 -17
  616. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -0
  617. package/dist/forms/{buildStateFromSchema/buildStateFromSchema.spec.js → fieldSchemasToFormState/fieldSchemasToFormState.spec.js} +9 -9
  618. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -0
  619. package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.d.ts.map +1 -0
  620. package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.js.map +1 -0
  621. package/dist/forms/fieldSchemasToFormState/index.d.ts +34 -0
  622. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -0
  623. package/dist/forms/fieldSchemasToFormState/index.js +58 -0
  624. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -0
  625. package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/iterateFields.d.ts +15 -8
  626. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -0
  627. package/dist/forms/fieldSchemasToFormState/iterateFields.js +73 -0
  628. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -0
  629. package/dist/forms/fieldSchemasToFormState/renderField.d.ts +3 -0
  630. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -0
  631. package/dist/forms/fieldSchemasToFormState/renderField.js +222 -0
  632. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -0
  633. package/dist/forms/fieldSchemasToFormState/types.d.ts +25 -0
  634. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -0
  635. package/dist/forms/fieldSchemasToFormState/types.js +2 -0
  636. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -0
  637. package/dist/forms/useField/index.d.ts +1 -1
  638. package/dist/forms/useField/index.d.ts.map +1 -1
  639. package/dist/forms/useField/index.js +63 -73
  640. package/dist/forms/useField/index.js.map +1 -1
  641. package/dist/forms/useField/types.d.ts +3 -8
  642. package/dist/forms/useField/types.d.ts.map +1 -1
  643. package/dist/forms/useField/types.js.map +1 -1
  644. package/dist/forms/withCondition/WatchCondition.d.ts +1 -4
  645. package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
  646. package/dist/forms/withCondition/WatchCondition.js +21 -42
  647. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  648. package/dist/forms/withCondition/index.d.ts +3 -1
  649. package/dist/forms/withCondition/index.d.ts.map +1 -1
  650. package/dist/forms/withCondition/index.js +9 -31
  651. package/dist/forms/withCondition/index.js.map +1 -1
  652. package/dist/graphics/Account/index.d.ts.map +1 -1
  653. package/dist/graphics/Account/index.js +17 -38
  654. package/dist/graphics/Account/index.js.map +1 -1
  655. package/dist/graphics/ExternalLink/index.d.ts +1 -0
  656. package/dist/graphics/ExternalLink/index.d.ts.map +1 -1
  657. package/dist/graphics/ExternalLink/index.js +6 -9
  658. package/dist/graphics/ExternalLink/index.js.map +1 -1
  659. package/dist/graphics/ExternalLink/index.scss +14 -0
  660. package/dist/hooks/useDebouncedEffect.d.ts +1 -1
  661. package/dist/hooks/useDebouncedEffect.d.ts.map +1 -1
  662. package/dist/hooks/useDebouncedEffect.js +1 -1
  663. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  664. package/dist/hooks/useIgnoredEffect.d.ts +4 -0
  665. package/dist/hooks/useIgnoredEffect.d.ts.map +1 -1
  666. package/dist/hooks/useIgnoredEffect.js +13 -0
  667. package/dist/hooks/useIgnoredEffect.js.map +1 -1
  668. package/dist/hooks/usePayloadAPI.js +1 -1
  669. package/dist/hooks/usePayloadAPI.js.map +1 -1
  670. package/dist/hooks/useUseAsTitle.d.ts +1 -1
  671. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  672. package/dist/hooks/useUseAsTitle.js +4 -3
  673. package/dist/hooks/useUseAsTitle.js.map +1 -1
  674. package/dist/providers/Actions/index.d.ts +8 -4
  675. package/dist/providers/Actions/index.d.ts.map +1 -1
  676. package/dist/providers/Actions/index.js +13 -74
  677. package/dist/providers/Actions/index.js.map +1 -1
  678. package/dist/providers/Auth/index.d.ts +11 -6
  679. package/dist/providers/Auth/index.d.ts.map +1 -1
  680. package/dist/providers/Auth/index.js +49 -58
  681. package/dist/providers/Auth/index.js.map +1 -1
  682. package/dist/providers/Config/index.d.ts +11 -2
  683. package/dist/providers/Config/index.d.ts.map +1 -1
  684. package/dist/providers/Config/index.js +8 -6
  685. package/dist/providers/Config/index.js.map +1 -1
  686. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  687. package/dist/providers/DocumentInfo/index.js +95 -352
  688. package/dist/providers/DocumentInfo/index.js.map +1 -1
  689. package/dist/providers/DocumentInfo/types.d.ts +21 -28
  690. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  691. package/dist/providers/DocumentInfo/types.js.map +1 -1
  692. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts +16 -0
  693. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -0
  694. package/dist/providers/DocumentInfo/useGetDocPermissions.js +77 -0
  695. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -0
  696. package/dist/providers/EditDepth/index.d.ts +0 -1
  697. package/dist/providers/EditDepth/index.d.ts.map +1 -1
  698. package/dist/providers/EditDepth/index.js +22 -7
  699. package/dist/providers/EditDepth/index.js.map +1 -1
  700. package/dist/providers/ListQuery/index.d.ts +6 -23
  701. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  702. package/dist/providers/ListQuery/index.js +52 -57
  703. package/dist/providers/ListQuery/index.js.map +1 -1
  704. package/dist/providers/Preferences/index.d.ts.map +1 -1
  705. package/dist/providers/Preferences/index.js +2 -4
  706. package/dist/providers/Preferences/index.js.map +1 -1
  707. package/dist/providers/Root/index.d.ts +3 -2
  708. package/dist/providers/Root/index.d.ts.map +1 -1
  709. package/dist/providers/Root/index.js +11 -14
  710. package/dist/providers/Root/index.js.map +1 -1
  711. package/dist/providers/Selection/index.d.ts.map +1 -1
  712. package/dist/providers/Selection/index.js +3 -3
  713. package/dist/providers/Selection/index.js.map +1 -1
  714. package/dist/providers/ServerFunctions/index.d.ts +42 -0
  715. package/dist/providers/ServerFunctions/index.d.ts.map +1 -0
  716. package/dist/providers/ServerFunctions/index.js +108 -0
  717. package/dist/providers/ServerFunctions/index.js.map +1 -0
  718. package/dist/scss/vars.scss +2 -2
  719. package/dist/styles.css +1 -1
  720. package/dist/utilities/abortAndIgnore.d.ts +2 -0
  721. package/dist/utilities/abortAndIgnore.d.ts.map +1 -0
  722. package/dist/utilities/abortAndIgnore.js +10 -0
  723. package/dist/utilities/abortAndIgnore.js.map +1 -0
  724. package/dist/utilities/buildFieldSchemaMap/index.d.ts +9 -3
  725. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  726. package/dist/utilities/buildFieldSchemaMap/index.js +58 -36
  727. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  728. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts +4 -4
  729. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  730. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +55 -30
  731. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  732. package/dist/utilities/buildFormState.d.ts +24 -7
  733. package/dist/utilities/buildFormState.d.ts.map +1 -1
  734. package/dist/utilities/buildFormState.js +149 -216
  735. package/dist/utilities/buildFormState.js.map +1 -1
  736. package/dist/utilities/buildTableState.d.ts +31 -0
  737. package/dist/utilities/buildTableState.d.ts.map +1 -0
  738. package/dist/utilities/buildTableState.js +200 -0
  739. package/dist/utilities/buildTableState.js.map +1 -0
  740. package/dist/utilities/flattenFieldMap.d.ts +2 -2
  741. package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
  742. package/dist/utilities/flattenFieldMap.js +5 -3
  743. package/dist/utilities/flattenFieldMap.js.map +1 -1
  744. package/dist/utilities/groupNavItems.d.ts +10 -6
  745. package/dist/utilities/groupNavItems.d.ts.map +1 -1
  746. package/dist/utilities/groupNavItems.js +15 -3
  747. package/dist/utilities/groupNavItems.js.map +1 -1
  748. package/dist/utilities/handleFormStateLocking.d.ts +16 -0
  749. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -0
  750. package/dist/utilities/handleFormStateLocking.js +129 -0
  751. package/dist/utilities/handleFormStateLocking.js.map +1 -0
  752. package/dist/utilities/handleTakeOver.d.ts +2 -2
  753. package/dist/utilities/handleTakeOver.d.ts.map +1 -1
  754. package/dist/utilities/handleTakeOver.js.map +1 -1
  755. package/dist/utilities/hasSavePermission.d.ts +2 -2
  756. package/dist/utilities/hasSavePermission.d.ts.map +1 -1
  757. package/dist/utilities/hasSavePermission.js +2 -2
  758. package/dist/utilities/hasSavePermission.js.map +1 -1
  759. package/dist/utilities/isClientUserObject.d.ts +3 -0
  760. package/dist/utilities/isClientUserObject.d.ts.map +1 -0
  761. package/dist/utilities/isClientUserObject.js +4 -0
  762. package/dist/utilities/isClientUserObject.js.map +1 -0
  763. package/dist/utilities/mergeListSearchAndWhere.d.ts +10 -0
  764. package/dist/utilities/mergeListSearchAndWhere.d.ts.map +1 -0
  765. package/dist/utilities/mergeListSearchAndWhere.js +47 -0
  766. package/dist/utilities/mergeListSearchAndWhere.js.map +1 -0
  767. package/dist/utilities/removeUndefined.d.ts +2 -0
  768. package/dist/utilities/removeUndefined.d.ts.map +1 -0
  769. package/dist/utilities/removeUndefined.js +4 -0
  770. package/dist/utilities/removeUndefined.js.map +1 -0
  771. package/dist/utilities/renderTable.d.ts +24 -0
  772. package/dist/utilities/renderTable.d.ts.map +1 -0
  773. package/dist/utilities/renderTable.js +64 -0
  774. package/dist/utilities/renderTable.js.map +1 -0
  775. package/dist/views/Edit/Auth/APIKey.d.ts +6 -0
  776. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -0
  777. package/dist/views/Edit/Auth/APIKey.js +123 -0
  778. package/dist/views/Edit/Auth/APIKey.js.map +1 -0
  779. package/dist/views/Edit/Auth/index.d.ts +5 -0
  780. package/dist/views/Edit/Auth/index.d.ts.map +1 -0
  781. package/dist/views/Edit/Auth/index.js +337 -0
  782. package/dist/views/Edit/Auth/index.js.map +1 -0
  783. package/dist/views/Edit/Auth/index.scss +78 -0
  784. package/dist/views/Edit/Auth/types.d.ts +17 -0
  785. package/dist/views/Edit/Auth/types.d.ts.map +1 -0
  786. package/dist/views/Edit/Auth/types.js +2 -0
  787. package/dist/views/Edit/Auth/types.js.map +1 -0
  788. package/dist/views/Edit/SetDocumentStepNav/index.d.ts +11 -0
  789. package/dist/views/Edit/SetDocumentStepNav/index.d.ts.map +1 -0
  790. package/dist/views/Edit/SetDocumentStepNav/index.js +135 -0
  791. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -0
  792. package/dist/views/Edit/SetDocumentTitle/index.d.ts +8 -0
  793. package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -0
  794. package/dist/views/Edit/SetDocumentTitle/index.js +83 -0
  795. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -0
  796. package/dist/views/Edit/index.d.ts +5 -0
  797. package/dist/views/Edit/index.d.ts.map +1 -0
  798. package/dist/views/Edit/index.js +397 -0
  799. package/dist/views/Edit/index.js.map +1 -0
  800. package/dist/views/Edit/index.scss +23 -0
  801. package/dist/views/Edit/types.d.ts +6 -0
  802. package/dist/views/Edit/types.d.ts.map +1 -0
  803. package/dist/views/Edit/types.js +2 -0
  804. package/dist/views/Edit/types.js.map +1 -0
  805. package/dist/views/List/ListHeader/index.d.ts +18 -0
  806. package/dist/views/List/ListHeader/index.d.ts.map +1 -0
  807. package/dist/views/List/ListHeader/index.js +141 -0
  808. package/dist/views/List/ListHeader/index.js.map +1 -0
  809. package/dist/{elements/ListDrawer → views/List/ListHeader}/index.scss +12 -1
  810. package/dist/views/List/index.d.ts +27 -0
  811. package/dist/views/List/index.d.ts.map +1 -0
  812. package/dist/views/List/index.js +294 -0
  813. package/dist/views/List/index.js.map +1 -0
  814. package/dist/views/List/index.scss +179 -0
  815. package/dist/views/List/types.d.ts +32 -0
  816. package/dist/views/List/types.d.ts.map +1 -0
  817. package/dist/views/List/types.js +2 -0
  818. package/dist/views/List/types.js.map +1 -0
  819. package/license.md +22 -0
  820. package/package.json +40 -16
  821. package/dist/elements/ListHeader/index.d.ts +0 -10
  822. package/dist/elements/ListHeader/index.d.ts.map +0 -1
  823. package/dist/elements/ListHeader/index.js +0 -17
  824. package/dist/elements/ListHeader/index.js.map +0 -1
  825. package/dist/elements/ListHeader/index.scss +0 -12
  826. package/dist/elements/RelationshipTable/TableWrapper.d.ts +0 -8
  827. package/dist/elements/RelationshipTable/TableWrapper.d.ts.map +0 -1
  828. package/dist/elements/RelationshipTable/TableWrapper.js +0 -69
  829. package/dist/elements/RelationshipTable/TableWrapper.js.map +0 -1
  830. package/dist/elements/Table/RenderCell.d.ts +0 -11
  831. package/dist/elements/Table/RenderCell.d.ts.map +0 -1
  832. package/dist/elements/Table/RenderCell.js +0 -30
  833. package/dist/elements/Table/RenderCell.js.map +0 -1
  834. package/dist/elements/Table/TableCellProvider/index.d.ts +0 -19
  835. package/dist/elements/Table/TableCellProvider/index.d.ts.map +0 -1
  836. package/dist/elements/Table/TableCellProvider/index.js +0 -48
  837. package/dist/elements/Table/TableCellProvider/index.js.map +0 -1
  838. package/dist/exports/client/CodeEditor-4A6256PR.js.map +0 -8
  839. package/dist/exports/client/chunk-6IWEPNUV.js +0 -14
  840. package/dist/exports/client/chunk-6IWEPNUV.js.map +0 -8
  841. package/dist/exports/client/chunk-IHJK2MAT.js +0 -30
  842. package/dist/forms/FieldPropsProvider/index.d.ts +0 -31
  843. package/dist/forms/FieldPropsProvider/index.d.ts.map +0 -1
  844. package/dist/forms/FieldPropsProvider/index.js +0 -44
  845. package/dist/forms/FieldPropsProvider/index.js.map +0 -1
  846. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +0 -1
  847. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +0 -1
  848. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +0 -1
  849. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +0 -1
  850. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +0 -1
  851. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +0 -1
  852. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +0 -1
  853. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +0 -1
  854. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +0 -1
  855. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts.map +0 -1
  856. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +0 -1
  857. package/dist/forms/buildStateFromSchema/index.d.ts +0 -28
  858. package/dist/forms/buildStateFromSchema/index.d.ts.map +0 -1
  859. package/dist/forms/buildStateFromSchema/index.js +0 -42
  860. package/dist/forms/buildStateFromSchema/index.js.map +0 -1
  861. package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +0 -1
  862. package/dist/forms/buildStateFromSchema/iterateFields.js +0 -62
  863. package/dist/forms/buildStateFromSchema/iterateFields.js.map +0 -1
  864. package/dist/providers/Actions/SetViewActions/index.d.ts +0 -6
  865. package/dist/providers/Actions/SetViewActions/index.d.ts.map +0 -1
  866. package/dist/providers/Actions/SetViewActions/index.js +0 -35
  867. package/dist/providers/Actions/SetViewActions/index.js.map +0 -1
  868. package/dist/providers/Config/RenderComponent.d.ts +0 -12
  869. package/dist/providers/Config/RenderComponent.d.ts.map +0 -1
  870. package/dist/providers/Config/RenderComponent.js +0 -77
  871. package/dist/providers/Config/RenderComponent.js.map +0 -1
  872. package/dist/providers/Config/createClientConfig/collections.d.ts +0 -24
  873. package/dist/providers/Config/createClientConfig/collections.d.ts.map +0 -1
  874. package/dist/providers/Config/createClientConfig/collections.js +0 -203
  875. package/dist/providers/Config/createClientConfig/collections.js.map +0 -1
  876. package/dist/providers/Config/createClientConfig/fields.d.ts +0 -22
  877. package/dist/providers/Config/createClientConfig/fields.d.ts.map +0 -1
  878. package/dist/providers/Config/createClientConfig/fields.js +0 -333
  879. package/dist/providers/Config/createClientConfig/fields.js.map +0 -1
  880. package/dist/providers/Config/createClientConfig/getComponent.d.ts +0 -11
  881. package/dist/providers/Config/createClientConfig/getComponent.d.ts.map +0 -1
  882. package/dist/providers/Config/createClientConfig/getComponent.js +0 -38
  883. package/dist/providers/Config/createClientConfig/getComponent.js.map +0 -1
  884. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts +0 -11
  885. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +0 -1
  886. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +0 -101
  887. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +0 -1
  888. package/dist/providers/Config/createClientConfig/globals.d.ts +0 -22
  889. package/dist/providers/Config/createClientConfig/globals.d.ts.map +0 -1
  890. package/dist/providers/Config/createClientConfig/globals.js +0 -114
  891. package/dist/providers/Config/createClientConfig/globals.js.map +0 -1
  892. package/dist/providers/Config/createClientConfig/index.d.ts +0 -21
  893. package/dist/providers/Config/createClientConfig/index.d.ts.map +0 -1
  894. package/dist/providers/Config/createClientConfig/index.js +0 -123
  895. package/dist/providers/Config/createClientConfig/index.js.map +0 -1
  896. package/dist/providers/FieldComponents/index.d.ts +0 -9
  897. package/dist/providers/FieldComponents/index.d.ts.map +0 -1
  898. package/dist/providers/FieldComponents/index.js +0 -18
  899. package/dist/providers/FieldComponents/index.js.map +0 -1
  900. package/dist/providers/ListInfo/index.d.ts +0 -29
  901. package/dist/providers/ListInfo/index.d.ts.map +0 -1
  902. package/dist/providers/ListInfo/index.js +0 -18
  903. package/dist/providers/ListInfo/index.js.map +0 -1
  904. package/dist/utilities/buildFieldSchemaMap/types.d.ts +0 -3
  905. package/dist/utilities/buildFieldSchemaMap/types.d.ts.map +0 -1
  906. package/dist/utilities/buildFieldSchemaMap/types.js.map +0 -1
  907. package/dist/utilities/getFormState.d.ts +0 -17
  908. package/dist/utilities/getFormState.d.ts.map +0 -1
  909. package/dist/utilities/getFormState.js +0 -34
  910. package/dist/utilities/getFormState.js.map +0 -1
  911. /package/dist/exports/client/{DatePicker-HNJMUG32.js.map → DatePicker-23XPGPYP.js.map} +0 -0
  912. /package/dist/{utilities/buildFieldSchemaMap → fields/Upload}/types.js +0 -0
  913. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/index.d.ts +0 -0
  914. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/index.js +0 -0
  915. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/iterateFields.d.ts +0 -0
  916. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/iterateFields.js +0 -0
  917. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/promise.d.ts +0 -0
  918. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/getFilterOptionsQuery.d.ts +0 -0
  919. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/getFilterOptionsQuery.js +0 -0
@@ -0,0 +1,200 @@
1
+ import { dequal } from 'dequal'; // TODO: Can we change this to dequal/lite ? If not, please add comment explaining why
2
+ import { createClientConfig, formatErrors } from 'payload';
3
+ import { renderFilters, renderTable } from './renderTable.js';
4
+ let cachedClientConfig = global._payload_clientConfig;
5
+ if (!cachedClientConfig) {
6
+ cachedClientConfig = global._payload_clientConfig = null;
7
+ }
8
+ export const getClientConfig = args => {
9
+ const {
10
+ config,
11
+ i18n,
12
+ importMap
13
+ } = args;
14
+ if (cachedClientConfig && process.env.NODE_ENV !== 'development') {
15
+ return cachedClientConfig;
16
+ }
17
+ cachedClientConfig = createClientConfig({
18
+ config,
19
+ i18n,
20
+ importMap
21
+ });
22
+ return cachedClientConfig;
23
+ };
24
+ export const buildTableStateHandler = async args => {
25
+ const {
26
+ req
27
+ } = args;
28
+ try {
29
+ const res = await buildTableState(args);
30
+ return res;
31
+ } catch (err) {
32
+ req.payload.logger.error({
33
+ err,
34
+ msg: `There was an error building form state`
35
+ });
36
+ if (err.message === 'Could not find field schema for given path') {
37
+ return {
38
+ message: err.message
39
+ };
40
+ }
41
+ if (err.message === 'Unauthorized') {
42
+ return null;
43
+ }
44
+ return formatErrors(err);
45
+ }
46
+ };
47
+ export const buildTableState = async args => {
48
+ const {
49
+ collectionSlug,
50
+ columns,
51
+ docs: docsFromArgs,
52
+ enableRowSelections,
53
+ query,
54
+ renderRowTypes,
55
+ req,
56
+ req: {
57
+ i18n,
58
+ payload,
59
+ payload: {
60
+ config
61
+ },
62
+ user
63
+ },
64
+ tableAppearance
65
+ } = args;
66
+ const incomingUserSlug = user?.collection;
67
+ const adminUserSlug = config.admin.user;
68
+ // If we have a user slug, test it against the functions
69
+ if (incomingUserSlug) {
70
+ const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin;
71
+ // Run the admin access function from the config if it exists
72
+ if (adminAccessFunction) {
73
+ const canAccessAdmin = await adminAccessFunction({
74
+ req
75
+ });
76
+ if (!canAccessAdmin) {
77
+ throw new Error('Unauthorized');
78
+ }
79
+ // Match the user collection to the global admin config
80
+ } else if (adminUserSlug !== incomingUserSlug) {
81
+ throw new Error('Unauthorized');
82
+ }
83
+ } else {
84
+ const hasUsers = await payload.find({
85
+ collection: adminUserSlug,
86
+ depth: 0,
87
+ limit: 1,
88
+ pagination: false
89
+ });
90
+ // If there are users, we should not allow access because of /create-first-user
91
+ if (hasUsers.docs.length) {
92
+ throw new Error('Unauthorized');
93
+ }
94
+ }
95
+ const clientConfig = getClientConfig({
96
+ config,
97
+ i18n,
98
+ importMap: payload.importMap
99
+ });
100
+ let collectionConfig;
101
+ let clientCollectionConfig;
102
+ if (req.payload.collections[collectionSlug]) {
103
+ collectionConfig = req.payload.collections[collectionSlug].config;
104
+ clientCollectionConfig = clientConfig.collections.find(collection => collection.slug === collectionSlug);
105
+ }
106
+ // get prefs, then set update them using the columns that we just received
107
+ const preferencesKey = `${collectionSlug}-list`;
108
+ const preferencesResult = await payload.find({
109
+ collection: 'payload-preferences',
110
+ depth: 0,
111
+ limit: 1,
112
+ pagination: false,
113
+ where: {
114
+ and: [{
115
+ key: {
116
+ equals: preferencesKey
117
+ }
118
+ }, {
119
+ 'user.relationTo': {
120
+ equals: user.collection
121
+ }
122
+ }, {
123
+ 'user.value': {
124
+ equals: user.id
125
+ }
126
+ }]
127
+ }
128
+ }).then(res => res.docs[0] ?? {
129
+ id: null,
130
+ value: {}
131
+ });
132
+ let newPrefs = preferencesResult.value;
133
+ if (!preferencesResult.id || !dequal(columns, preferencesResult?.columns)) {
134
+ const mergedPrefs = {
135
+ ...(preferencesResult || {}),
136
+ columns
137
+ };
138
+ const preferencesArgs = {
139
+ collection: 'payload-preferences',
140
+ data: {
141
+ key: preferencesKey,
142
+ user: {
143
+ collection: user.collection,
144
+ value: user.id
145
+ },
146
+ value: mergedPrefs
147
+ },
148
+ depth: 0,
149
+ req
150
+ };
151
+ if (preferencesResult.id) {
152
+ newPrefs = await payload.update({
153
+ ...preferencesArgs,
154
+ id: preferencesResult.id
155
+ })?.then(res => res.value);
156
+ } else {
157
+ newPrefs = await payload.create(preferencesArgs)?.then(res => res.value);
158
+ }
159
+ }
160
+ const fields = collectionConfig.fields;
161
+ let docs = docsFromArgs;
162
+ let data;
163
+ // lookup docs, if desired, i.e. within `join` field which initialize with `depth: 0`
164
+ if (!docs || query) {
165
+ data = await payload.find({
166
+ collection: collectionSlug,
167
+ depth: 0,
168
+ limit: query?.limit ? parseInt(query.limit, 10) : undefined,
169
+ page: query?.page ? parseInt(query.page, 10) : undefined,
170
+ sort: query?.sort,
171
+ where: query?.where
172
+ });
173
+ docs = data.docs;
174
+ }
175
+ const {
176
+ columnState,
177
+ Table
178
+ } = renderTable({
179
+ collectionConfig: clientCollectionConfig,
180
+ columnPreferences: undefined,
181
+ columns,
182
+ docs,
183
+ enableRowSelections,
184
+ fields,
185
+ i18n: req.i18n,
186
+ payload,
187
+ renderRowTypes,
188
+ tableAppearance,
189
+ useAsTitle: collectionConfig.admin.useAsTitle
190
+ });
191
+ const renderedFilters = renderFilters(fields, req.payload.importMap);
192
+ return {
193
+ data,
194
+ preferences: newPrefs,
195
+ renderedFilters,
196
+ state: columnState,
197
+ Table
198
+ };
199
+ };
200
+ //# sourceMappingURL=buildTableState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildTableState.js","names":["dequal","createClientConfig","formatErrors","renderFilters","renderTable","cachedClientConfig","global","_payload_clientConfig","getClientConfig","args","config","i18n","importMap","process","env","NODE_ENV","buildTableStateHandler","req","res","buildTableState","err","payload","logger","error","msg","message","collectionSlug","columns","docs","docsFromArgs","enableRowSelections","query","renderRowTypes","user","tableAppearance","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","length","clientConfig","collectionConfig","clientCollectionConfig","slug","preferencesKey","preferencesResult","where","and","key","equals","id","then","value","newPrefs","mergedPrefs","preferencesArgs","data","update","create","fields","parseInt","undefined","page","sort","columnState","Table","columnPreferences","useAsTitle","renderedFilters","preferences","state"],"sources":["../../src/utilities/buildTableState.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n BuildTableStateArgs,\n ClientCollectionConfig,\n ClientConfig,\n ErrorResult,\n ImportMap,\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedConfig,\n} from 'payload'\n\nimport { dequal } from 'dequal' // TODO: Can we change this to dequal/lite ? If not, please add comment explaining why\nimport { createClientConfig, formatErrors } from 'payload'\n\nimport type { Column } from '../elements/Table/index.js'\nimport type { ListPreferences } from '../elements/TableColumns/index.js'\n\nimport { renderFilters, renderTable } from './renderTable.js'\n\nlet cachedClientConfig = global._payload_clientConfig\n\nif (!cachedClientConfig) {\n cachedClientConfig = global._payload_clientConfig = null\n}\n\nexport const getClientConfig = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n importMap: ImportMap\n}): ClientConfig => {\n const { config, i18n, importMap } = args\n\n if (cachedClientConfig && process.env.NODE_ENV !== 'development') {\n return cachedClientConfig\n }\n\n cachedClientConfig = createClientConfig({\n config,\n i18n,\n importMap,\n })\n\n return cachedClientConfig\n}\n\ntype BuildTableStateSuccessResult = {\n clientConfig?: ClientConfig\n data: PaginatedDocs\n errors?: never\n preferences: ListPreferences\n renderedFilters: Map<string, React.ReactNode>\n state: Column[]\n Table: React.ReactNode\n}\n\ntype BuildTableStateErrorResult = {\n data?: any\n renderedFilters?: never\n state?: never\n Table?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport type BuildTableStateResult = BuildTableStateErrorResult | BuildTableStateSuccessResult\n\nexport const buildTableStateHandler = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateResult> => {\n const { req } = args\n\n try {\n const res = await buildTableState(args)\n return res\n } catch (err) {\n req.payload.logger.error({ err, msg: `There was an error building form state` })\n\n if (err.message === 'Could not find field schema for given path') {\n return {\n message: err.message,\n }\n }\n\n if (err.message === 'Unauthorized') {\n return null\n }\n\n return formatErrors(err)\n }\n}\n\nexport const buildTableState = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateSuccessResult> => {\n const {\n collectionSlug,\n columns,\n docs: docsFromArgs,\n enableRowSelections,\n query,\n renderRowTypes,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n tableAppearance,\n } = args\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = 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 payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\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 clientConfig = getClientConfig({\n config,\n i18n,\n importMap: payload.importMap,\n })\n\n let collectionConfig: SanitizedCollectionConfig\n let clientCollectionConfig: ClientCollectionConfig\n\n if (req.payload.collections[collectionSlug]) {\n collectionConfig = req.payload.collections[collectionSlug].config\n clientCollectionConfig = clientConfig.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n }\n\n // get prefs, then set update them using the columns that we just received\n const preferencesKey = `${collectionSlug}-list`\n\n const preferencesResult = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0] ?? { id: null, value: {} })\n\n let newPrefs = preferencesResult.value\n\n if (!preferencesResult.id || !dequal(columns, preferencesResult?.columns)) {\n const mergedPrefs = {\n ...(preferencesResult || {}),\n columns,\n }\n const preferencesArgs = {\n collection: 'payload-preferences',\n data: {\n key: preferencesKey,\n user: {\n collection: user.collection,\n value: user.id,\n },\n value: mergedPrefs,\n },\n depth: 0,\n req,\n }\n\n if (preferencesResult.id) {\n newPrefs = await payload\n .update({\n ...preferencesArgs,\n id: preferencesResult.id,\n })\n ?.then((res) => res.value as ListPreferences)\n } else {\n newPrefs = await payload.create(preferencesArgs)?.then((res) => res.value as ListPreferences)\n }\n }\n\n const fields = collectionConfig.fields\n\n let docs = docsFromArgs\n let data: PaginatedDocs\n\n // lookup docs, if desired, i.e. within `join` field which initialize with `depth: 0`\n\n if (!docs || query) {\n data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n limit: query?.limit ? parseInt(query.limit, 10) : undefined,\n page: query?.page ? parseInt(query.page, 10) : undefined,\n sort: query?.sort,\n where: query?.where,\n })\n\n docs = data.docs\n }\n\n const { columnState, Table } = renderTable({\n collectionConfig: clientCollectionConfig,\n columnPreferences: undefined, // TODO, might not be needed\n columns,\n docs,\n enableRowSelections,\n fields,\n i18n: req.i18n,\n payload,\n renderRowTypes,\n tableAppearance,\n useAsTitle: collectionConfig.admin.useAsTitle,\n })\n\n const renderedFilters = renderFilters(fields, req.payload.importMap)\n\n return {\n data,\n preferences: newPrefs,\n renderedFilters,\n state: columnState,\n Table,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { ClientField } from 'payload';
1
+ import type { ClientField, Field } from 'payload';
2
2
  /**
3
3
  * Flattens a collection's fields into a single array of fields, as long
4
4
  * as the fields do not affect data.
@@ -6,5 +6,5 @@ import type { ClientField } from 'payload';
6
6
  * @param fields
7
7
  * @param keepPresentationalFields if true, will skip flattening fields that are presentational only
8
8
  */
9
- export declare const flattenFieldMap: (fields: ClientField[], keepPresentationalFields?: boolean) => ClientField[];
9
+ export declare const flattenFieldMap: <T extends ClientField | Field>(fields: T[], keepPresentationalFields?: boolean) => T[];
10
10
  //# sourceMappingURL=flattenFieldMap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"flattenFieldMap.d.ts","sourceRoot":"","sources":["../../src/utilities/flattenFieldMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,WAClB,WAAW,EAAE,6BACM,OAAO,KACjC,WAAW,EAuBb,CAAA"}
1
+ {"version":3,"file":"flattenFieldMap.d.ts","sourceRoot":"","sources":["../../src/utilities/flattenFieldMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIjD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,WAAW,GAAG,KAAK,UACnD,CAAC,EAAE,6BACgB,OAAO,KACjC,CAAC,EAuBH,CAAA"}
@@ -1,12 +1,14 @@
1
+ import { fieldIsPresentationalOnly } from 'payload/shared';
1
2
  /**
2
3
  * Flattens a collection's fields into a single array of fields, as long
3
4
  * as the fields do not affect data.
4
5
  *
5
6
  * @param fields
6
7
  * @param keepPresentationalFields if true, will skip flattening fields that are presentational only
7
- */export const flattenFieldMap = (fields, keepPresentationalFields) => {
8
- return fields.reduce((acc, field) => {
9
- if ('name' in field || keepPresentationalFields && field._isPresentational) {
8
+ */
9
+ export const flattenFieldMap = (fields, keepPresentationalFields) => {
10
+ return fields?.reduce((acc, field) => {
11
+ if ('name' in field || keepPresentationalFields && fieldIsPresentationalOnly(field)) {
10
12
  acc.push(field);
11
13
  return acc;
12
14
  } else if ('fields' in field) {
@@ -1 +1 @@
1
- {"version":3,"file":"flattenFieldMap.js","names":["flattenFieldMap","fields","keepPresentationalFields","reduce","acc","field","_isPresentational","push","type","Array","isArray","tabs","tabAcc","tab"],"sources":["../../src/utilities/flattenFieldMap.ts"],"sourcesContent":["import type { ClientField } from 'payload'\n\n/**\n * Flattens a collection's fields into a single array of fields, as long\n * as the fields do not affect data.\n *\n * @param fields\n * @param keepPresentationalFields if true, will skip flattening fields that are presentational only\n */\nexport const flattenFieldMap = (\n fields: ClientField[],\n keepPresentationalFields?: boolean,\n): ClientField[] => {\n return fields.reduce((acc, field) => {\n if ('name' in field || (keepPresentationalFields && field._isPresentational)) {\n acc.push(field)\n return acc\n } else if ('fields' in field) {\n acc.push(...flattenFieldMap(field.fields, keepPresentationalFields))\n } else if (field.type === 'tabs' && 'tabs' in field && Array.isArray(field.tabs)) {\n return [\n ...acc,\n ...field.tabs.reduce((tabAcc, tab) => {\n return [\n ...tabAcc,\n ...('name' in tab\n ? [{ ...tab }]\n : flattenFieldMap(tab.fields, keepPresentationalFields)),\n ]\n }, []),\n ]\n }\n\n return acc\n }, [])\n}\n"],"mappings":"AAEA;;;;;;GAOA,OAAO,MAAMA,eAAA,GAAkBA,CAC7BC,MAAA,EACAC,wBAAA;EAEA,OAAOD,MAAA,CAAOE,MAAM,CAAC,CAACC,GAAA,EAAKC,KAAA;IACzB,IAAI,UAAUA,KAAA,IAAUH,wBAAA,IAA4BG,KAAA,CAAMC,iBAAiB,EAAG;MAC5EF,GAAA,CAAIG,IAAI,CAACF,KAAA;MACT,OAAOD,GAAA;IACT,OAAO,IAAI,YAAYC,KAAA,EAAO;MAC5BD,GAAA,CAAIG,IAAI,IAAIP,eAAA,CAAgBK,KAAA,CAAMJ,MAAM,EAAEC,wBAAA;IAC5C,OAAO,IAAIG,KAAA,CAAMG,IAAI,KAAK,UAAU,UAAUH,KAAA,IAASI,KAAA,CAAMC,OAAO,CAACL,KAAA,CAAMM,IAAI,GAAG;MAChF,OAAO,C,GACFP,GAAA,E,GACAC,KAAA,CAAMM,IAAI,CAACR,MAAM,CAAC,CAACS,MAAA,EAAQC,GAAA;QAC5B,OAAO,C,GACFD,MAAA,E,IACC,UAAUC,GAAA,GACV,CAAC;UAAE,GAAGA;QAAI,EAAE,GACZb,eAAA,CAAgBa,GAAA,CAAIZ,MAAM,EAAEC,wBAAA,GACjC;MACH,GAAG,EAAE,EACN;IACH;IAEA,OAAOE,GAAA;EACT,GAAG,EAAE;AACP","ignoreList":[]}
1
+ {"version":3,"file":"flattenFieldMap.js","names":["fieldIsPresentationalOnly","flattenFieldMap","fields","keepPresentationalFields","reduce","acc","field","push","type","Array","isArray","tabs","tabAcc","tab"],"sources":["../../src/utilities/flattenFieldMap.ts"],"sourcesContent":["import type { ClientField, Field } from 'payload'\n\nimport { fieldIsPresentationalOnly } from 'payload/shared'\n\n/**\n * Flattens a collection's fields into a single array of fields, as long\n * as the fields do not affect data.\n *\n * @param fields\n * @param keepPresentationalFields if true, will skip flattening fields that are presentational only\n */\nexport const flattenFieldMap = <T extends ClientField | Field>(\n fields: T[],\n keepPresentationalFields?: boolean,\n): T[] => {\n return fields?.reduce((acc, field) => {\n if ('name' in field || (keepPresentationalFields && fieldIsPresentationalOnly(field))) {\n acc.push(field)\n return acc\n } else if ('fields' in field) {\n acc.push(...flattenFieldMap(field.fields as T[], keepPresentationalFields))\n } else if (field.type === 'tabs' && 'tabs' in field && Array.isArray(field.tabs)) {\n return [\n ...acc,\n ...field.tabs.reduce((tabAcc, tab) => {\n return [\n ...tabAcc,\n ...('name' in tab\n ? [{ ...tab }]\n : flattenFieldMap(tab.fields as T[], keepPresentationalFields)),\n ]\n }, []),\n ]\n }\n\n return acc\n }, [])\n}\n"],"mappings":"AAEA,SAASA,yBAAyB,QAAQ;AAE1C;;;;;;;AAOA,OAAO,MAAMC,eAAA,GAAkBA,CAC7BC,MAAA,EACAC,wBAAA;EAEA,OAAOD,MAAA,EAAQE,MAAA,CAAO,CAACC,GAAA,EAAKC,KAAA;IAC1B,IAAI,UAAUA,KAAA,IAAUH,wBAAA,IAA4BH,yBAAA,CAA0BM,KAAA,GAAS;MACrFD,GAAA,CAAIE,IAAI,CAACD,KAAA;MACT,OAAOD,GAAA;IACT,OAAO,IAAI,YAAYC,KAAA,EAAO;MAC5BD,GAAA,CAAIE,IAAI,IAAIN,eAAA,CAAgBK,KAAA,CAAMJ,MAAM,EAASC,wBAAA;IACnD,OAAO,IAAIG,KAAA,CAAME,IAAI,KAAK,UAAU,UAAUF,KAAA,IAASG,KAAA,CAAMC,OAAO,CAACJ,KAAA,CAAMK,IAAI,GAAG;MAChF,OAAO,C,GACFN,GAAA,E,GACAC,KAAA,CAAMK,IAAI,CAACP,MAAM,CAAC,CAACQ,MAAA,EAAQC,GAAA;QAC5B,OAAO,C,GACFD,MAAA,E,IACC,UAAUC,GAAA,GACV,CAAC;UAAE,GAAGA;QAAI,EAAE,GACZZ,eAAA,CAAgBY,GAAA,CAAIX,MAAM,EAASC,wBAAA,GACxC;MACH,GAAG,EAAE,EACN;IACH;IAEA,OAAOE,GAAA;EACT,GAAG,EAAE;AACP","ignoreList":[]}
@@ -1,19 +1,23 @@
1
1
  import type { I18nClient } from '@payloadcms/translations';
2
- import type { ClientCollectionConfig, ClientGlobalConfig, Permissions, SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload';
2
+ import type { SanitizedCollectionConfig, SanitizedGlobalConfig, SanitizedPermissions, StaticLabel } from 'payload';
3
3
  export declare enum EntityType {
4
4
  collection = "collections",
5
5
  global = "globals"
6
6
  }
7
7
  export type EntityToGroup = {
8
- entity: ClientCollectionConfig | SanitizedCollectionConfig;
8
+ entity: SanitizedCollectionConfig;
9
9
  type: EntityType.collection;
10
10
  } | {
11
- entity: ClientGlobalConfig | SanitizedGlobalConfig;
11
+ entity: SanitizedGlobalConfig;
12
12
  type: EntityType.global;
13
13
  };
14
- export type Group = {
15
- entities: EntityToGroup[];
14
+ export type NavGroupType = {
15
+ entities: {
16
+ label: StaticLabel;
17
+ slug: string;
18
+ type: EntityType;
19
+ }[];
16
20
  label: string;
17
21
  };
18
- export declare function groupNavItems(entities: EntityToGroup[], permissions: Permissions, i18n: I18nClient): Group[];
22
+ export declare function groupNavItems(entities: EntityToGroup[], permissions: SanitizedPermissions, i18n: I18nClient): NavGroupType[];
19
23
  //# sourceMappingURL=groupNavItems.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"groupNavItems.d.ts","sourceRoot":"","sources":["../../src/utilities/groupNavItems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,WAAW,EACX,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAIhB,oBAAY,UAAU;IACpB,UAAU,gBAAgB;IAC1B,MAAM,YAAY;CACnB;AAED,MAAM,MAAM,aAAa,GACrB;IACE,MAAM,EAAE,sBAAsB,GAAG,yBAAyB,CAAA;IAC1D,IAAI,EAAE,UAAU,CAAC,UAAU,CAAA;CAC5B,GACD;IACE,MAAM,EAAE,kBAAkB,GAAG,qBAAqB,CAAA;IAClD,IAAI,EAAE,UAAU,CAAC,MAAM,CAAA;CACxB,CAAA;AAEL,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,aAAa,EAAE,EACzB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,UAAU,GACf,KAAK,EAAE,CA0CT"}
1
+ {"version":3,"file":"groupNavItems.d.ts","sourceRoot":"","sources":["../../src/utilities/groupNavItems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACZ,MAAM,SAAS,CAAA;AAIhB,oBAAY,UAAU;IACpB,UAAU,gBAAgB;IAC1B,MAAM,YAAY;CACnB;AAED,MAAM,MAAM,aAAa,GACrB;IACE,MAAM,EAAE,yBAAyB,CAAA;IACjC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAA;CAC5B,GACD;IACE,MAAM,EAAE,qBAAqB,CAAA;IAC7B,IAAI,EAAE,UAAU,CAAC,MAAM,CAAA;CACxB,CAAA;AAEL,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE;QACR,KAAK,EAAE,WAAW,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,UAAU,CAAA;KACjB,EAAE,CAAA;IACH,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,aAAa,EAAE,EACzB,WAAW,EAAE,oBAAoB,EACjC,IAAI,EAAE,UAAU,GACf,YAAY,EAAE,CA4DhB"}
@@ -6,7 +6,7 @@ export var EntityType;
6
6
  })(EntityType || (EntityType = {}));
7
7
  export function groupNavItems(entities, permissions, i18n) {
8
8
  const result = entities.reduce((groups, entityToGroup) => {
9
- if (permissions?.[entityToGroup.type.toLowerCase()]?.[entityToGroup.entity.slug]?.read.permission) {
9
+ if (permissions?.[entityToGroup.type.toLowerCase()]?.[entityToGroup.entity.slug]?.read) {
10
10
  const translatedGroup = getTranslation(entityToGroup.entity.admin.group, i18n);
11
11
  if (entityToGroup.entity.admin.group) {
12
12
  const existingGroup = groups.find(group => getTranslation(group.label, i18n) === translatedGroup);
@@ -18,12 +18,24 @@ export function groupNavItems(entities, permissions, i18n) {
18
18
  };
19
19
  groups.push(matchedGroup);
20
20
  }
21
- matchedGroup.entities.push(entityToGroup);
21
+ matchedGroup.entities.push({
22
+ slug: entityToGroup.entity.slug,
23
+ type: entityToGroup.type,
24
+ label: 'labels' in entityToGroup.entity ? typeof entityToGroup.entity.labels.plural === 'function' ? entityToGroup.entity.labels.plural({
25
+ t: i18n.t
26
+ }) : entityToGroup.entity.labels.plural : entityToGroup.entity.label
27
+ });
22
28
  } else {
23
29
  const defaultGroup = groups.find(group => {
24
30
  return getTranslation(group.label, i18n) === i18n.t(`general:${entityToGroup.type}`);
25
31
  });
26
- defaultGroup.entities.push(entityToGroup);
32
+ defaultGroup.entities.push({
33
+ slug: entityToGroup.entity.slug,
34
+ type: entityToGroup.type,
35
+ label: 'labels' in entityToGroup.entity ? typeof entityToGroup.entity.labels.plural === 'function' ? entityToGroup.entity.labels.plural({
36
+ t: i18n.t
37
+ }) : entityToGroup.entity.labels.plural : entityToGroup.entity.label
38
+ });
27
39
  }
28
40
  }
29
41
  return groups;
@@ -1 +1 @@
1
- {"version":3,"file":"groupNavItems.js","names":["getTranslation","EntityType","groupNavItems","entities","permissions","i18n","result","reduce","groups","entityToGroup","type","toLowerCase","entity","slug","read","permission","translatedGroup","admin","group","existingGroup","find","label","matchedGroup","push","defaultGroup","t","filter","length"],"sources":["../../src/utilities/groupNavItems.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n Permissions,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nexport enum EntityType {\n collection = 'collections',\n global = 'globals',\n}\n\nexport type EntityToGroup =\n | {\n entity: ClientCollectionConfig | SanitizedCollectionConfig\n type: EntityType.collection\n }\n | {\n entity: ClientGlobalConfig | SanitizedGlobalConfig\n type: EntityType.global\n }\n\nexport type Group = {\n entities: EntityToGroup[]\n label: string\n}\n\nexport function groupNavItems(\n entities: EntityToGroup[],\n permissions: Permissions,\n i18n: I18nClient,\n): Group[] {\n const result = entities.reduce(\n (groups, entityToGroup) => {\n if (\n permissions?.[entityToGroup.type.toLowerCase()]?.[entityToGroup.entity.slug]?.read\n .permission\n ) {\n const translatedGroup = getTranslation(entityToGroup.entity.admin.group, i18n)\n if (entityToGroup.entity.admin.group) {\n const existingGroup = groups.find(\n (group) => getTranslation(group.label, i18n) === translatedGroup,\n ) as Group\n let matchedGroup: Group = existingGroup\n if (!existingGroup) {\n matchedGroup = { entities: [], label: translatedGroup }\n groups.push(matchedGroup)\n }\n\n matchedGroup.entities.push(entityToGroup)\n } else {\n const defaultGroup = groups.find((group) => {\n return getTranslation(group.label, i18n) === i18n.t(`general:${entityToGroup.type}`)\n }) as Group\n defaultGroup.entities.push(entityToGroup)\n }\n }\n\n return groups\n },\n [\n {\n entities: [],\n label: i18n.t('general:collections'),\n },\n {\n entities: [],\n label: i18n.t('general:globals'),\n },\n ],\n )\n\n return result.filter((group) => group.entities.length > 0)\n}\n"],"mappings":"AASA,SAASA,cAAc,QAAQ;;WAEnBC,UAAA;;;GAAAA,UAAA,KAAAA,UAAA;AAoBZ,OAAO,SAASC,cACdC,QAAyB,EACzBC,WAAwB,EACxBC,IAAgB;EAEhB,MAAMC,MAAA,GAASH,QAAA,CAASI,MAAM,CAC5B,CAACC,MAAA,EAAQC,aAAA;IACP,IACEL,WAAA,GAAcK,aAAA,CAAcC,IAAI,CAACC,WAAW,GAAG,GAAGF,aAAA,CAAcG,MAAM,CAACC,IAAI,CAAC,EAAEC,IAAA,CAC3EC,UAAA,EACH;MACA,MAAMC,eAAA,GAAkBhB,cAAA,CAAeS,aAAA,CAAcG,MAAM,CAACK,KAAK,CAACC,KAAK,EAAEb,IAAA;MACzE,IAAII,aAAA,CAAcG,MAAM,CAACK,KAAK,CAACC,KAAK,EAAE;QACpC,MAAMC,aAAA,GAAgBX,MAAA,CAAOY,IAAI,CAC9BF,KAAA,IAAUlB,cAAA,CAAekB,KAAA,CAAMG,KAAK,EAAEhB,IAAA,MAAUW,eAAA;QAEnD,IAAIM,YAAA,GAAsBH,aAAA;QAC1B,IAAI,CAACA,aAAA,EAAe;UAClBG,YAAA,GAAe;YAAEnB,QAAA,EAAU,EAAE;YAAEkB,KAAA,EAAOL;UAAgB;UACtDR,MAAA,CAAOe,IAAI,CAACD,YAAA;QACd;QAEAA,YAAA,CAAanB,QAAQ,CAACoB,IAAI,CAACd,aAAA;MAC7B,OAAO;QACL,MAAMe,YAAA,GAAehB,MAAA,CAAOY,IAAI,CAAEF,KAAA;UAChC,OAAOlB,cAAA,CAAekB,KAAA,CAAMG,KAAK,EAAEhB,IAAA,MAAUA,IAAA,CAAKoB,CAAC,CAAC,WAAWhB,aAAA,CAAcC,IAAI,EAAE;QACrF;QACAc,YAAA,CAAarB,QAAQ,CAACoB,IAAI,CAACd,aAAA;MAC7B;IACF;IAEA,OAAOD,MAAA;EACT,GACA,CACE;IACEL,QAAA,EAAU,EAAE;IACZkB,KAAA,EAAOhB,IAAA,CAAKoB,CAAC,CAAC;EAChB,GACA;IACEtB,QAAA,EAAU,EAAE;IACZkB,KAAA,EAAOhB,IAAA,CAAKoB,CAAC,CAAC;EAChB,EACD;EAGH,OAAOnB,MAAA,CAAOoB,MAAM,CAAER,KAAA,IAAUA,KAAA,CAAMf,QAAQ,CAACwB,MAAM,GAAG;AAC1D","ignoreList":[]}
1
+ {"version":3,"file":"groupNavItems.js","names":["getTranslation","EntityType","groupNavItems","entities","permissions","i18n","result","reduce","groups","entityToGroup","type","toLowerCase","entity","slug","read","translatedGroup","admin","group","existingGroup","find","label","matchedGroup","push","labels","plural","t","defaultGroup","filter","length"],"sources":["../../src/utilities/groupNavItems.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n SanitizedPermissions,\n StaticLabel,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nexport enum EntityType {\n collection = 'collections',\n global = 'globals',\n}\n\nexport type EntityToGroup =\n | {\n entity: SanitizedCollectionConfig\n type: EntityType.collection\n }\n | {\n entity: SanitizedGlobalConfig\n type: EntityType.global\n }\n\nexport type NavGroupType = {\n entities: {\n label: StaticLabel\n slug: string\n type: EntityType\n }[]\n label: string\n}\n\nexport function groupNavItems(\n entities: EntityToGroup[],\n permissions: SanitizedPermissions,\n i18n: I18nClient,\n): NavGroupType[] {\n const result = entities.reduce(\n (groups, entityToGroup) => {\n if (permissions?.[entityToGroup.type.toLowerCase()]?.[entityToGroup.entity.slug]?.read) {\n const translatedGroup = getTranslation(entityToGroup.entity.admin.group, i18n)\n\n if (entityToGroup.entity.admin.group) {\n const existingGroup = groups.find(\n (group) => getTranslation(group.label, i18n) === translatedGroup,\n ) as NavGroupType\n\n let matchedGroup: NavGroupType = existingGroup\n\n if (!existingGroup) {\n matchedGroup = { entities: [], label: translatedGroup }\n groups.push(matchedGroup)\n }\n\n matchedGroup.entities.push({\n slug: entityToGroup.entity.slug,\n type: entityToGroup.type,\n label:\n 'labels' in entityToGroup.entity\n ? typeof entityToGroup.entity.labels.plural === 'function'\n ? entityToGroup.entity.labels.plural({ t: i18n.t })\n : entityToGroup.entity.labels.plural\n : entityToGroup.entity.label,\n })\n } else {\n const defaultGroup = groups.find((group) => {\n return getTranslation(group.label, i18n) === i18n.t(`general:${entityToGroup.type}`)\n }) as NavGroupType\n defaultGroup.entities.push({\n slug: entityToGroup.entity.slug,\n type: entityToGroup.type,\n label:\n 'labels' in entityToGroup.entity\n ? typeof entityToGroup.entity.labels.plural === 'function'\n ? entityToGroup.entity.labels.plural({ t: i18n.t })\n : entityToGroup.entity.labels.plural\n : entityToGroup.entity.label,\n })\n }\n }\n\n return groups\n },\n [\n {\n entities: [],\n label: i18n.t('general:collections'),\n },\n {\n entities: [],\n label: i18n.t('general:globals'),\n },\n ],\n )\n\n return result.filter((group) => group.entities.length > 0)\n}\n"],"mappings":"AAQA,SAASA,cAAc,QAAQ;;WAEnBC,UAAA;;;GAAAA,UAAA,KAAAA,UAAA;AAwBZ,OAAO,SAASC,cACdC,QAAyB,EACzBC,WAAiC,EACjCC,IAAgB;EAEhB,MAAMC,MAAA,GAASH,QAAA,CAASI,MAAM,CAC5B,CAACC,MAAA,EAAQC,aAAA;IACP,IAAIL,WAAA,GAAcK,aAAA,CAAcC,IAAI,CAACC,WAAW,GAAG,GAAGF,aAAA,CAAcG,MAAM,CAACC,IAAI,CAAC,EAAEC,IAAA,EAAM;MACtF,MAAMC,eAAA,GAAkBf,cAAA,CAAeS,aAAA,CAAcG,MAAM,CAACI,KAAK,CAACC,KAAK,EAAEZ,IAAA;MAEzE,IAAII,aAAA,CAAcG,MAAM,CAACI,KAAK,CAACC,KAAK,EAAE;QACpC,MAAMC,aAAA,GAAgBV,MAAA,CAAOW,IAAI,CAC9BF,KAAA,IAAUjB,cAAA,CAAeiB,KAAA,CAAMG,KAAK,EAAEf,IAAA,MAAUU,eAAA;QAGnD,IAAIM,YAAA,GAA6BH,aAAA;QAEjC,IAAI,CAACA,aAAA,EAAe;UAClBG,YAAA,GAAe;YAAElB,QAAA,EAAU,EAAE;YAAEiB,KAAA,EAAOL;UAAgB;UACtDP,MAAA,CAAOc,IAAI,CAACD,YAAA;QACd;QAEAA,YAAA,CAAalB,QAAQ,CAACmB,IAAI,CAAC;UACzBT,IAAA,EAAMJ,aAAA,CAAcG,MAAM,CAACC,IAAI;UAC/BH,IAAA,EAAMD,aAAA,CAAcC,IAAI;UACxBU,KAAA,EACE,YAAYX,aAAA,CAAcG,MAAM,GAC5B,OAAOH,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,KAAK,aAC5Cf,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,CAAC;YAAEC,CAAA,EAAGpB,IAAA,CAAKoB;UAAE,KAC/ChB,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,GACpCf,aAAA,CAAcG,MAAM,CAACQ;QAC7B;MACF,OAAO;QACL,MAAMM,YAAA,GAAelB,MAAA,CAAOW,IAAI,CAAEF,KAAA;UAChC,OAAOjB,cAAA,CAAeiB,KAAA,CAAMG,KAAK,EAAEf,IAAA,MAAUA,IAAA,CAAKoB,CAAC,CAAC,WAAWhB,aAAA,CAAcC,IAAI,EAAE;QACrF;QACAgB,YAAA,CAAavB,QAAQ,CAACmB,IAAI,CAAC;UACzBT,IAAA,EAAMJ,aAAA,CAAcG,MAAM,CAACC,IAAI;UAC/BH,IAAA,EAAMD,aAAA,CAAcC,IAAI;UACxBU,KAAA,EACE,YAAYX,aAAA,CAAcG,MAAM,GAC5B,OAAOH,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,KAAK,aAC5Cf,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,CAAC;YAAEC,CAAA,EAAGpB,IAAA,CAAKoB;UAAE,KAC/ChB,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,GACpCf,aAAA,CAAcG,MAAM,CAACQ;QAC7B;MACF;IACF;IAEA,OAAOZ,MAAA;EACT,GACA,CACE;IACEL,QAAA,EAAU,EAAE;IACZiB,KAAA,EAAOf,IAAA,CAAKoB,CAAC,CAAC;EAChB,GACA;IACEtB,QAAA,EAAU,EAAE;IACZiB,KAAA,EAAOf,IAAA,CAAKoB,CAAC,CAAC;EAChB,EACD;EAGH,OAAOnB,MAAA,CAAOqB,MAAM,CAAEV,KAAA,IAAUA,KAAA,CAAMd,QAAQ,CAACyB,MAAM,GAAG;AAC1D","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ import type { PayloadRequest, TypedUser } from 'payload';
2
+ type Args = {
3
+ collectionSlug?: string;
4
+ globalSlug?: string;
5
+ id?: number | string;
6
+ req: PayloadRequest;
7
+ updateLastEdited?: boolean;
8
+ };
9
+ type Result = {
10
+ isLocked: boolean;
11
+ lastEditedAt: string;
12
+ user: TypedUser;
13
+ };
14
+ export declare const handleFormStateLocking: ({ id, collectionSlug, globalSlug, req, updateLastEdited, }: Args) => Promise<Result>;
15
+ export {};
16
+ //# sourceMappingURL=handleFormStateLocking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleFormStateLocking.d.ts","sourceRoot":"","sources":["../../src/utilities/handleFormStateLocking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExD,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,sBAAsB,+DAMhC,IAAI,KAAG,OAAO,CAAC,MAAM,CAkIvB,CAAA"}
@@ -0,0 +1,129 @@
1
+ export const handleFormStateLocking = async ({
2
+ id,
3
+ collectionSlug,
4
+ globalSlug,
5
+ req,
6
+ updateLastEdited
7
+ }) => {
8
+ let result;
9
+ if (id || globalSlug) {
10
+ let lockedDocumentQuery;
11
+ if (collectionSlug) {
12
+ lockedDocumentQuery = {
13
+ and: [{
14
+ 'document.relationTo': {
15
+ equals: collectionSlug
16
+ }
17
+ }, {
18
+ 'document.value': {
19
+ equals: id
20
+ }
21
+ }]
22
+ };
23
+ } else if (globalSlug) {
24
+ lockedDocumentQuery = {
25
+ and: [{
26
+ globalSlug: {
27
+ equals: globalSlug
28
+ }
29
+ }]
30
+ };
31
+ }
32
+ const lockDurationDefault = 300 // Default 5 minutes in seconds
33
+ ;
34
+ const lockDocumentsProp = collectionSlug ? req.payload.config.collections.find(c => c.slug === collectionSlug)?.lockDocuments : req.payload.config.globals.find(g => g.slug === globalSlug)?.lockDocuments;
35
+ const lockDuration = typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault;
36
+ const lockDurationInMilliseconds = lockDuration * 1000;
37
+ const now = new Date().getTime();
38
+ if (lockedDocumentQuery) {
39
+ // Query where the lock is newer than the current time minus the lock duration
40
+ lockedDocumentQuery.and.push({
41
+ updatedAt: {
42
+ greater_than: new Date(now - lockDurationInMilliseconds).toISOString()
43
+ }
44
+ });
45
+ const lockedDocument = await req.payload.find({
46
+ collection: 'payload-locked-documents',
47
+ depth: 1,
48
+ limit: 1,
49
+ overrideAccess: false,
50
+ pagination: false,
51
+ req,
52
+ where: lockedDocumentQuery
53
+ });
54
+ if (lockedDocument.docs && lockedDocument.docs.length > 0) {
55
+ result = {
56
+ isLocked: true,
57
+ lastEditedAt: lockedDocument.docs[0]?.updatedAt,
58
+ user: lockedDocument.docs[0]?.user?.value
59
+ };
60
+ const lockOwnerId = typeof lockedDocument.docs[0]?.user?.value === 'object' ? lockedDocument.docs[0]?.user?.value?.id : lockedDocument.docs[0]?.user?.value;
61
+ // Should only update doc if the incoming / current user is also the owner of the locked doc
62
+ if (updateLastEdited && req.user && lockOwnerId === req.user.id) {
63
+ await req.payload.db.updateOne({
64
+ id: lockedDocument.docs[0].id,
65
+ collection: 'payload-locked-documents',
66
+ data: {},
67
+ req
68
+ });
69
+ }
70
+ } else {
71
+ // If NO ACTIVE lock document exists, first delete any expired locks and then create a fresh lock
72
+ // Where updatedAt is older than the duration that is specified in the config
73
+ let deleteExpiredLocksQuery;
74
+ if (collectionSlug) {
75
+ deleteExpiredLocksQuery = {
76
+ and: [{
77
+ 'document.relationTo': {
78
+ equals: collectionSlug
79
+ }
80
+ }, {
81
+ updatedAt: {
82
+ less_than: new Date(now - lockDurationInMilliseconds).toISOString()
83
+ }
84
+ }]
85
+ };
86
+ } else if (globalSlug) {
87
+ deleteExpiredLocksQuery = {
88
+ and: [{
89
+ globalSlug: {
90
+ equals: globalSlug
91
+ }
92
+ }, {
93
+ updatedAt: {
94
+ less_than: new Date(now - lockDurationInMilliseconds).toISOString()
95
+ }
96
+ }]
97
+ };
98
+ }
99
+ await req.payload.db.deleteMany({
100
+ collection: 'payload-locked-documents',
101
+ req,
102
+ where: deleteExpiredLocksQuery
103
+ });
104
+ await req.payload.db.create({
105
+ collection: 'payload-locked-documents',
106
+ data: {
107
+ document: collectionSlug ? {
108
+ relationTo: collectionSlug,
109
+ value: id
110
+ } : undefined,
111
+ globalSlug: globalSlug ? globalSlug : undefined,
112
+ user: {
113
+ relationTo: req.user.collection,
114
+ value: req.user.id
115
+ }
116
+ },
117
+ req
118
+ });
119
+ result = {
120
+ isLocked: true,
121
+ lastEditedAt: new Date().toISOString(),
122
+ user: req.user
123
+ };
124
+ }
125
+ }
126
+ }
127
+ return result;
128
+ };
129
+ //# sourceMappingURL=handleFormStateLocking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleFormStateLocking.js","names":["handleFormStateLocking","id","collectionSlug","globalSlug","req","updateLastEdited","result","lockedDocumentQuery","and","equals","lockDurationDefault","lockDocumentsProp","payload","config","collections","find","c","slug","lockDocuments","globals","g","lockDuration","duration","lockDurationInMilliseconds","now","Date","getTime","push","updatedAt","greater_than","toISOString","lockedDocument","collection","depth","limit","overrideAccess","pagination","where","docs","length","isLocked","lastEditedAt","user","value","lockOwnerId","db","updateOne","data","deleteExpiredLocksQuery","less_than","deleteMany","create","document","relationTo","undefined"],"sources":["../../src/utilities/handleFormStateLocking.ts"],"sourcesContent":["import type { PayloadRequest, TypedUser } from 'payload'\n\ntype Args = {\n collectionSlug?: string\n globalSlug?: string\n id?: number | string\n req: PayloadRequest\n updateLastEdited?: boolean\n}\n\ntype Result = {\n isLocked: boolean\n lastEditedAt: string\n user: TypedUser\n}\n\nexport const handleFormStateLocking = async ({\n id,\n collectionSlug,\n globalSlug,\n req,\n updateLastEdited,\n}: Args): Promise<Result> => {\n let result: Result\n\n if (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 and: [{ globalSlug: { equals: globalSlug } }],\n }\n }\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDocumentsProp = collectionSlug\n ? req.payload.config.collections.find((c) => c.slug === collectionSlug)?.lockDocuments\n : req.payload.config.globals.find((g) => g.slug === globalSlug)?.lockDocuments\n\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n const now = new Date().getTime()\n\n if (lockedDocumentQuery) {\n // Query where the lock is newer than the current time minus the lock duration\n lockedDocumentQuery.and.push({\n updatedAt: {\n greater_than: new Date(now - lockDurationInMilliseconds).toISOString(),\n },\n })\n\n const lockedDocument = await req.payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n limit: 1,\n overrideAccess: false,\n pagination: false,\n req,\n where: lockedDocumentQuery,\n })\n\n if (lockedDocument.docs && lockedDocument.docs.length > 0) {\n result = {\n isLocked: true,\n lastEditedAt: lockedDocument.docs[0]?.updatedAt,\n user: lockedDocument.docs[0]?.user?.value,\n }\n\n const lockOwnerId =\n typeof lockedDocument.docs[0]?.user?.value === 'object'\n ? lockedDocument.docs[0]?.user?.value?.id\n : lockedDocument.docs[0]?.user?.value\n // Should only update doc if the incoming / current user is also the owner of the locked doc\n if (updateLastEdited && req.user && lockOwnerId === req.user.id) {\n await req.payload.db.updateOne({\n id: lockedDocument.docs[0].id,\n collection: 'payload-locked-documents',\n data: {},\n req,\n })\n }\n } else {\n // If NO ACTIVE lock document exists, first delete any expired locks and then create a fresh lock\n // Where updatedAt is older than the duration that is specified in the config\n let deleteExpiredLocksQuery\n\n if (collectionSlug) {\n deleteExpiredLocksQuery = {\n and: [\n { 'document.relationTo': { equals: collectionSlug } },\n {\n updatedAt: {\n less_than: new Date(now - lockDurationInMilliseconds).toISOString(),\n },\n },\n ],\n }\n } else if (globalSlug) {\n deleteExpiredLocksQuery = {\n and: [\n { globalSlug: { equals: globalSlug } },\n {\n updatedAt: {\n less_than: new Date(now - lockDurationInMilliseconds).toISOString(),\n },\n },\n ],\n }\n }\n\n await req.payload.db.deleteMany({\n collection: 'payload-locked-documents',\n req,\n where: deleteExpiredLocksQuery,\n })\n\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 result = {\n isLocked: true,\n lastEditedAt: new Date().toISOString(),\n user: req.user,\n }\n }\n }\n }\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
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<{
2
+ export declare const handleTakeOver: (id: number | string, collectionSlug: string, globalSlug: string, user: ClientUser | number | string, isWithinDoc: boolean, updateDocumentEditor: (docId: number | string, slug: string, user: ClientUser | number | string) => Promise<void>, setCurrentEditor: (value: React.SetStateAction<ClientUser | number | string>) => void, documentLockStateRef: React.RefObject<{
3
3
  hasShownLockedModal: boolean;
4
4
  isLocked: boolean;
5
- user: ClientUser;
5
+ user: ClientUser | number | string;
6
6
  }>, isLockingEnabled: boolean, setIsReadOnlyForIncomingUser?: (value: React.SetStateAction<boolean>) => void) => void;
7
7
  //# sourceMappingURL=handleTakeOver.d.ts.map
@@ -1 +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"}
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,GAAG,MAAM,GAAG,MAAM,eACrB,OAAO,wBACE,CACpB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,KAC/B,OAAO,CAAC,IAAI,CAAC,oBACA,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,wBAC/D,KAAK,CAAC,SAAS,CAAC;IACpC,mBAAmB,EAAE,OAAO,CAAA;IAC5B,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;CACnC,CAAC,oBACgB,OAAO,iCACM,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,KAC5E,IA6BF,CAAA"}
@@ -1 +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":[]}
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 | number | string,\n isWithinDoc: boolean,\n updateDocumentEditor: (\n docId: number | string,\n slug: string,\n user: ClientUser | number | string,\n ) => Promise<void>,\n setCurrentEditor: (value: React.SetStateAction<ClientUser | number | string>) => void,\n documentLockStateRef: React.RefObject<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\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,EAKAC,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":[]}
@@ -1,7 +1,7 @@
1
- import type { DocumentPermissions } from 'payload';
1
+ import type { SanitizedDocumentPermissions } from 'payload';
2
2
  export declare const hasSavePermission: (args: {
3
3
  collectionSlug?: string;
4
- docPermissions: DocumentPermissions;
4
+ docPermissions: SanitizedDocumentPermissions;
5
5
  globalSlug?: string;
6
6
  isEditing: boolean;
7
7
  }) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"hasSavePermission.d.ts","sourceRoot":"","sources":["../../src/utilities/hasSavePermission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwB,mBAAmB,EAAoB,MAAM,SAAS,CAAA;AAE1F,eAAO,MAAM,iBAAiB,SAAU;IAItC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,mBAAmB,CAAA;IAInC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;CACnB,YAeA,CAAA"}
1
+ {"version":3,"file":"hasSavePermission.d.ts","sourceRoot":"","sources":["../../src/utilities/hasSavePermission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,4BAA4B,EAE7B,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,iBAAiB,SAAU;IAItC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,4BAA4B,CAAA;IAI5C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;CACnB,YAeA,CAAA"}
@@ -6,10 +6,10 @@ export const hasSavePermission = args => {
6
6
  isEditing
7
7
  } = args;
8
8
  if (collectionSlug) {
9
- return Boolean(isEditing && docPermissions?.update?.permission || !isEditing && docPermissions?.create?.permission);
9
+ return Boolean(isEditing && docPermissions?.update || !isEditing && docPermissions?.create);
10
10
  }
11
11
  if (globalSlug) {
12
- return Boolean(docPermissions?.update?.permission);
12
+ return Boolean(docPermissions?.update);
13
13
  }
14
14
  return false;
15
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"hasSavePermission.js","names":["hasSavePermission","args","collectionSlug","docPermissions","globalSlug","isEditing","Boolean","update","permission","create"],"sources":["../../src/utilities/hasSavePermission.ts"],"sourcesContent":["import type { CollectionPermission, DocumentPermissions, GlobalPermission } from 'payload'\n\nexport const hasSavePermission = (args: {\n /*\n * Pass either `collectionSlug` or `globalSlug`\n */\n collectionSlug?: string\n docPermissions: DocumentPermissions\n /*\n * Pass either `collectionSlug` or `globalSlug`\n */\n globalSlug?: string\n isEditing: boolean\n}) => {\n const { collectionSlug, docPermissions, globalSlug, isEditing } = args\n\n if (collectionSlug) {\n return Boolean(\n (isEditing && docPermissions?.update?.permission) ||\n (!isEditing && (docPermissions as CollectionPermission)?.create?.permission),\n )\n }\n\n if (globalSlug) {\n return Boolean((docPermissions as GlobalPermission)?.update?.permission)\n }\n\n return false\n}\n"],"mappings":"AAEA,OAAO,MAAMA,iBAAA,GAAqBC,IAAA;EAYhC,MAAM;IAAEC,cAAc;IAAEC,cAAc;IAAEC,UAAU;IAAEC;EAAS,CAAE,GAAGJ,IAAA;EAElE,IAAIC,cAAA,EAAgB;IAClB,OAAOI,OAAA,CACLD,SAAC,IAAaF,cAAA,EAAgBI,MAAA,EAAQC,UAAA,IACnC,CAACH,SAAA,IAAcF,cAAA,EAAyCM,MAAA,EAAQD,UAAA;EAEvE;EAEA,IAAIJ,UAAA,EAAY;IACd,OAAOE,OAAA,CAASH,cAAA,EAAqCI,MAAA,EAAQC,UAAA;EAC/D;EAEA,OAAO;AACT","ignoreList":[]}
1
+ {"version":3,"file":"hasSavePermission.js","names":["hasSavePermission","args","collectionSlug","docPermissions","globalSlug","isEditing","Boolean","update","create"],"sources":["../../src/utilities/hasSavePermission.ts"],"sourcesContent":["import type {\n SanitizedCollectionPermission,\n SanitizedDocumentPermissions,\n SanitizedGlobalPermission,\n} from 'payload'\n\nexport const hasSavePermission = (args: {\n /*\n * Pass either `collectionSlug` or `globalSlug`\n */\n collectionSlug?: string\n docPermissions: SanitizedDocumentPermissions\n /*\n * Pass either `collectionSlug` or `globalSlug`\n */\n globalSlug?: string\n isEditing: boolean\n}) => {\n const { collectionSlug, docPermissions, globalSlug, isEditing } = args\n\n if (collectionSlug) {\n return Boolean(\n (isEditing && docPermissions?.update) ||\n (!isEditing && (docPermissions as SanitizedCollectionPermission)?.create),\n )\n }\n\n if (globalSlug) {\n return Boolean((docPermissions as SanitizedGlobalPermission)?.update)\n }\n\n return false\n}\n"],"mappings":"AAMA,OAAO,MAAMA,iBAAA,GAAqBC,IAAA;EAYhC,MAAM;IAAEC,cAAc;IAAEC,cAAc;IAAEC,UAAU;IAAEC;EAAS,CAAE,GAAGJ,IAAA;EAElE,IAAIC,cAAA,EAAgB;IAClB,OAAOI,OAAA,CACLD,SAAC,IAAaF,cAAA,EAAgBI,MAAA,IAC3B,CAACF,SAAA,IAAcF,cAAA,EAAkDK,MAAA;EAExE;EAEA,IAAIJ,UAAA,EAAY;IACd,OAAOE,OAAA,CAASH,cAAA,EAA8CI,MAAA;EAChE;EAEA,OAAO;AACT","ignoreList":[]}