@payloadcms/ui 3.0.0-beta.127 → 3.0.0-beta.129

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 (765) hide show
  1. package/dist/elements/AddNewRelation/index.js.map +1 -1
  2. package/dist/elements/AppHeader/index.d.ts +6 -1
  3. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  4. package/dist/elements/AppHeader/index.js +19 -13
  5. package/dist/elements/AppHeader/index.js.map +1 -1
  6. package/dist/elements/Autosave/index.d.ts.map +1 -1
  7. package/dist/elements/Autosave/index.js +17 -19
  8. package/dist/elements/Autosave/index.js.map +1 -1
  9. package/dist/elements/Banner/index.d.ts.map +1 -1
  10. package/dist/elements/Banner/index.js.map +1 -1
  11. package/dist/elements/BulkUpload/ActionsBar/index.js +20 -26
  12. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  13. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  14. package/dist/elements/BulkUpload/AddingFilesView/index.js +32 -23
  15. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  16. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  17. package/dist/elements/BulkUpload/EditForm/index.js +42 -40
  18. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  19. package/dist/elements/BulkUpload/FormsManager/index.d.ts +2 -1
  20. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  21. package/dist/elements/BulkUpload/FormsManager/index.js +37 -18
  22. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/FormsManager/reducer.js +14 -14
  24. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  25. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  26. package/dist/elements/BulkUpload/index.js +15 -22
  27. package/dist/elements/BulkUpload/index.js.map +1 -1
  28. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  29. package/dist/elements/ColumnSelector/index.js +11 -19
  30. package/dist/elements/ColumnSelector/index.js.map +1 -1
  31. package/dist/elements/DeleteDocument/index.d.ts +2 -2
  32. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  33. package/dist/elements/DeleteDocument/index.js.map +1 -1
  34. package/dist/elements/DocumentControls/index.d.ts +13 -7
  35. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  36. package/dist/elements/DocumentControls/index.js +70 -49
  37. package/dist/elements/DocumentControls/index.js.map +1 -1
  38. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  39. package/dist/elements/DocumentDrawer/DrawerContent.js +106 -239
  40. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  41. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +5 -0
  42. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -0
  43. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +82 -0
  44. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -0
  45. package/dist/elements/DocumentDrawer/DrawerHeader/index.scss +73 -0
  46. package/dist/elements/DocumentDrawer/Provider.d.ts +26 -0
  47. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -0
  48. package/dist/elements/DocumentDrawer/Provider.js +20 -0
  49. package/dist/elements/DocumentDrawer/Provider.js.map +1 -0
  50. package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
  51. package/dist/elements/DocumentDrawer/index.js +34 -36
  52. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  53. package/dist/elements/DocumentDrawer/index.scss +0 -50
  54. package/dist/elements/DocumentDrawer/types.d.ts +2 -5
  55. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  56. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  57. package/dist/elements/DocumentFields/index.d.ts +4 -4
  58. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  59. package/dist/elements/DocumentFields/index.js +113 -49
  60. package/dist/elements/DocumentFields/index.js.map +1 -1
  61. package/dist/elements/DocumentLocked/index.d.ts +12 -0
  62. package/dist/elements/DocumentLocked/index.d.ts.map +1 -0
  63. package/dist/elements/DocumentLocked/index.js +155 -0
  64. package/dist/elements/DocumentLocked/index.js.map +1 -0
  65. package/dist/elements/DocumentLocked/index.scss +40 -0
  66. package/dist/elements/DocumentTakeOver/index.d.ts +8 -0
  67. package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -0
  68. package/dist/elements/DocumentTakeOver/index.js +101 -0
  69. package/dist/elements/DocumentTakeOver/index.js.map +1 -0
  70. package/dist/elements/DocumentTakeOver/index.scss +39 -0
  71. package/dist/elements/Drawer/index.d.ts +5 -0
  72. package/dist/elements/Drawer/index.d.ts.map +1 -1
  73. package/dist/elements/Drawer/index.js +53 -30
  74. package/dist/elements/Drawer/index.js.map +1 -1
  75. package/dist/elements/DuplicateDocument/index.d.ts +2 -2
  76. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  77. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  78. package/dist/elements/EditMany/index.d.ts +1 -2
  79. package/dist/elements/EditMany/index.d.ts.map +1 -1
  80. package/dist/elements/EditMany/index.js +133 -206
  81. package/dist/elements/EditMany/index.js.map +1 -1
  82. package/dist/elements/EmailAndUsername/index.d.ts +16 -0
  83. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -0
  84. package/dist/elements/EmailAndUsername/index.js +47 -0
  85. package/dist/elements/EmailAndUsername/index.js.map +1 -0
  86. package/dist/elements/FieldSelect/index.d.ts +5 -5
  87. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  88. package/dist/elements/FieldSelect/index.js +36 -45
  89. package/dist/elements/FieldSelect/index.js.map +1 -1
  90. package/dist/elements/LeaveWithoutSaving/index.d.ts +4 -0
  91. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -0
  92. package/dist/elements/LeaveWithoutSaving/index.js +167 -0
  93. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -0
  94. package/dist/elements/LeaveWithoutSaving/index.scss +39 -0
  95. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +9 -0
  96. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -0
  97. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +136 -0
  98. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -0
  99. package/dist/elements/ListControls/index.d.ts +6 -2
  100. package/dist/elements/ListControls/index.d.ts.map +1 -1
  101. package/dist/elements/ListControls/index.js +18 -21
  102. package/dist/elements/ListControls/index.js.map +1 -1
  103. package/dist/elements/ListDrawer/DrawerContent.d.ts +0 -2
  104. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  105. package/dist/elements/ListDrawer/DrawerContent.js +123 -615
  106. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  107. package/dist/elements/ListDrawer/Provider.d.ts +27 -0
  108. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -0
  109. package/dist/elements/ListDrawer/Provider.js +23 -0
  110. package/dist/elements/ListDrawer/Provider.js.map +1 -0
  111. package/dist/elements/ListDrawer/index.d.ts +0 -1
  112. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  113. package/dist/elements/ListDrawer/index.js +0 -1
  114. package/dist/elements/ListDrawer/index.js.map +1 -1
  115. package/dist/elements/ListDrawer/types.d.ts +2 -8
  116. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  117. package/dist/elements/ListDrawer/types.js.map +1 -1
  118. package/dist/elements/Locked/index.d.ts +1 -1
  119. package/dist/elements/Locked/index.d.ts.map +1 -1
  120. package/dist/elements/Locked/index.js.map +1 -1
  121. package/dist/elements/Logout/index.d.ts.map +1 -1
  122. package/dist/elements/Logout/index.js +13 -59
  123. package/dist/elements/Logout/index.js.map +1 -1
  124. package/dist/elements/PreviewButton/index.d.ts +1 -6
  125. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  126. package/dist/elements/PreviewButton/index.js +1 -12
  127. package/dist/elements/PreviewButton/index.js.map +1 -1
  128. package/dist/elements/PreviewButton/usePreviewURL.js +2 -2
  129. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  130. package/dist/elements/PublishButton/index.d.ts +1 -7
  131. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  132. package/dist/elements/PublishButton/index.js +45 -48
  133. package/dist/elements/PublishButton/index.js.map +1 -1
  134. package/dist/elements/RelationshipTable/Pagination.d.ts +3 -0
  135. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -0
  136. package/dist/elements/RelationshipTable/Pagination.js +54 -0
  137. package/dist/elements/RelationshipTable/Pagination.js.map +1 -0
  138. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts +1 -2
  139. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts.map +1 -1
  140. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +34 -41
  141. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  142. package/dist/elements/RelationshipTable/index.d.ts +2 -2
  143. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  144. package/dist/elements/RelationshipTable/index.js +138 -380
  145. package/dist/elements/RelationshipTable/index.js.map +1 -1
  146. package/dist/elements/RenderComponent/index.d.ts +7 -0
  147. package/dist/elements/RenderComponent/index.d.ts.map +1 -0
  148. package/dist/elements/RenderComponent/index.js +23 -0
  149. package/dist/elements/RenderComponent/index.js.map +1 -0
  150. package/dist/elements/RenderCustomComponent/index.d.ts +18 -0
  151. package/dist/elements/RenderCustomComponent/index.d.ts.map +1 -0
  152. package/dist/elements/RenderCustomComponent/index.js +17 -0
  153. package/dist/elements/RenderCustomComponent/index.js.map +1 -0
  154. package/dist/elements/RenderIfInViewport/index.d.ts +7 -0
  155. package/dist/elements/RenderIfInViewport/index.d.ts.map +1 -0
  156. package/dist/elements/RenderIfInViewport/index.js +63 -0
  157. package/dist/elements/RenderIfInViewport/index.js.map +1 -0
  158. package/dist/elements/RenderServerComponent/index.d.ts +19 -0
  159. package/dist/elements/RenderServerComponent/index.d.ts.map +1 -0
  160. package/dist/elements/RenderServerComponent/index.js +75 -0
  161. package/dist/elements/RenderServerComponent/index.js.map +1 -0
  162. package/dist/elements/SaveButton/index.d.ts +1 -7
  163. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  164. package/dist/elements/SaveButton/index.js +1 -12
  165. package/dist/elements/SaveButton/index.js.map +1 -1
  166. package/dist/elements/SaveDraftButton/index.d.ts +1 -7
  167. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  168. package/dist/elements/SaveDraftButton/index.js +5 -14
  169. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  170. package/dist/elements/SelectRow/index.d.ts +8 -1
  171. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  172. package/dist/elements/SelectRow/index.js +38 -39
  173. package/dist/elements/SelectRow/index.js.map +1 -1
  174. package/dist/elements/SortColumn/index.d.ts +2 -2
  175. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  176. package/dist/elements/SortColumn/index.js +33 -19
  177. package/dist/elements/SortColumn/index.js.map +1 -1
  178. package/dist/elements/Status/index.d.ts.map +1 -1
  179. package/dist/elements/Status/index.js +70 -65
  180. package/dist/elements/Status/index.js.map +1 -1
  181. package/dist/elements/StepNav/index.d.ts +2 -1
  182. package/dist/elements/StepNav/index.d.ts.map +1 -1
  183. package/dist/elements/StepNav/index.js +11 -11
  184. package/dist/elements/StepNav/index.js.map +1 -1
  185. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +2 -2
  186. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  187. package/dist/elements/Table/DefaultCell/fields/File/index.js +3 -7
  188. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  189. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  190. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +11 -12
  191. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  192. package/dist/elements/Table/DefaultCell/index.d.ts +2 -2
  193. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  194. package/dist/elements/Table/DefaultCell/index.js +63 -90
  195. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  196. package/dist/elements/Table/RelationshipProvider/reducer.js +16 -16
  197. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  198. package/dist/elements/Table/index.d.ts +4 -7
  199. package/dist/elements/Table/index.d.ts.map +1 -1
  200. package/dist/elements/Table/index.js +38 -100
  201. package/dist/elements/Table/index.js.map +1 -1
  202. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts +11 -0
  203. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +1 -0
  204. package/dist/elements/TableColumns/RenderDefaultCell/index.js +77 -0
  205. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -0
  206. package/dist/elements/TableColumns/RenderDefaultCell/index.scss +15 -0
  207. package/dist/elements/TableColumns/buildColumnState.d.ts +9 -3
  208. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  209. package/dist/elements/TableColumns/buildColumnState.js +131 -77
  210. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  211. package/dist/elements/TableColumns/filterFields.d.ts +2 -2
  212. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
  213. package/dist/elements/TableColumns/filterFields.js +1 -3
  214. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  215. package/dist/elements/TableColumns/getInitialColumns.d.ts +3 -3
  216. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
  217. package/dist/elements/TableColumns/getInitialColumns.js +1 -3
  218. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  219. package/dist/elements/TableColumns/index.d.ts +12 -9
  220. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  221. package/dist/elements/TableColumns/index.js +142 -246
  222. package/dist/elements/TableColumns/index.js.map +1 -1
  223. package/dist/elements/Upload/index.d.ts.map +1 -1
  224. package/dist/elements/Upload/index.js +18 -16
  225. package/dist/elements/Upload/index.js.map +1 -1
  226. package/dist/elements/ViewDescription/index.d.ts +1 -2
  227. package/dist/elements/ViewDescription/index.d.ts.map +1 -1
  228. package/dist/elements/ViewDescription/index.js +9 -44
  229. package/dist/elements/ViewDescription/index.js.map +1 -1
  230. package/dist/elements/WhereBuilder/Condition/Date/index.js +3 -1
  231. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  232. package/dist/elements/WhereBuilder/Condition/Date/types.d.ts +5 -8
  233. package/dist/elements/WhereBuilder/Condition/Date/types.d.ts.map +1 -1
  234. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  235. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts +15 -0
  236. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts.map +1 -0
  237. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +70 -0
  238. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -0
  239. package/dist/elements/WhereBuilder/Condition/Number/index.d.ts.map +1 -1
  240. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  241. package/dist/elements/WhereBuilder/Condition/Number/types.d.ts +6 -4
  242. package/dist/elements/WhereBuilder/Condition/Number/types.d.ts.map +1 -1
  243. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  244. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  245. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +17 -10
  246. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  247. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +7 -7
  248. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  249. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts +5 -6
  250. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
  251. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  252. package/dist/elements/WhereBuilder/Condition/Select/types.d.ts +7 -7
  253. package/dist/elements/WhereBuilder/Condition/Select/types.d.ts.map +1 -1
  254. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  255. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
  256. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  257. package/dist/elements/WhereBuilder/Condition/Text/types.d.ts +6 -4
  258. package/dist/elements/WhereBuilder/Condition/Text/types.d.ts.map +1 -1
  259. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  260. package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
  261. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  262. package/dist/elements/WhereBuilder/Condition/index.js +111 -137
  263. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  264. package/dist/elements/WhereBuilder/Condition/types.d.ts +7 -1
  265. package/dist/elements/WhereBuilder/Condition/types.d.ts.map +1 -1
  266. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  267. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  268. package/dist/elements/WhereBuilder/index.js +13 -10
  269. package/dist/elements/WhereBuilder/index.js.map +1 -1
  270. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
  271. package/dist/elements/WhereBuilder/reduceClientFields.js +1 -7
  272. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
  273. package/dist/elements/WhereBuilder/types.d.ts +2 -3
  274. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  275. package/dist/elements/WhereBuilder/types.js.map +1 -1
  276. package/dist/exports/client/{CodeEditor-LZ2347XA.js → CodeEditor-DRTCMRCY.js} +2 -2
  277. package/dist/exports/client/{CodeEditor-LZ2347XA.js.map → CodeEditor-DRTCMRCY.js.map} +1 -1
  278. package/dist/exports/client/{DatePicker-FUJV23KL.js → DatePicker-4XUJ6BT3.js} +2 -2
  279. package/dist/exports/client/chunk-PNHVQDTJ.js +14 -0
  280. package/dist/exports/client/chunk-PNHVQDTJ.js.map +8 -0
  281. package/dist/exports/client/chunk-Z4TYTOUE.js +30 -0
  282. package/dist/exports/client/{chunk-UMJJTMDP.js.map → chunk-Z4TYTOUE.js.map} +4 -4
  283. package/dist/exports/client/index.d.ts +23 -11
  284. package/dist/exports/client/index.d.ts.map +1 -1
  285. package/dist/exports/client/index.js +22 -22
  286. package/dist/exports/client/index.js.map +4 -4
  287. package/dist/exports/rsc/index.d.ts +2 -0
  288. package/dist/exports/rsc/index.d.ts.map +1 -0
  289. package/dist/exports/rsc/index.js +2 -0
  290. package/dist/exports/rsc/index.js.map +1 -0
  291. package/dist/exports/shared/index.d.ts +5 -4
  292. package/dist/exports/shared/index.d.ts.map +1 -1
  293. package/dist/exports/shared/index.js +2 -2
  294. package/dist/exports/shared/index.js.map +4 -4
  295. package/dist/fields/Array/ArrayRow.d.ts +3 -3
  296. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  297. package/dist/fields/Array/ArrayRow.js +35 -38
  298. package/dist/fields/Array/ArrayRow.js.map +1 -1
  299. package/dist/fields/Array/index.d.ts +3 -6
  300. package/dist/fields/Array/index.d.ts.map +1 -1
  301. package/dist/fields/Array/index.js +169 -179
  302. package/dist/fields/Array/index.js.map +1 -1
  303. package/dist/fields/Blocks/BlockRow.d.ts +4 -3
  304. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  305. package/dist/fields/Blocks/BlockRow.js +67 -56
  306. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  307. package/dist/fields/Blocks/index.d.ts +3 -5
  308. package/dist/fields/Blocks/index.d.ts.map +1 -1
  309. package/dist/fields/Blocks/index.js +156 -172
  310. package/dist/fields/Blocks/index.js.map +1 -1
  311. package/dist/fields/Checkbox/Input.d.ts +5 -7
  312. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  313. package/dist/fields/Checkbox/Input.js +15 -19
  314. package/dist/fields/Checkbox/Input.js.map +1 -1
  315. package/dist/fields/Checkbox/index.d.ts +2 -4
  316. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  317. package/dist/fields/Checkbox/index.js +102 -115
  318. package/dist/fields/Checkbox/index.js.map +1 -1
  319. package/dist/fields/Code/index.d.ts +3 -5
  320. package/dist/fields/Code/index.d.ts.map +1 -1
  321. package/dist/fields/Code/index.js +100 -114
  322. package/dist/fields/Code/index.js.map +1 -1
  323. package/dist/fields/Collapsible/index.d.ts +5 -143
  324. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  325. package/dist/fields/Collapsible/index.js +141 -120
  326. package/dist/fields/Collapsible/index.js.map +1 -1
  327. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  328. package/dist/fields/ConfirmPassword/index.js +0 -2
  329. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  330. package/dist/fields/DateTime/index.d.ts +2 -4
  331. package/dist/fields/DateTime/index.d.ts.map +1 -1
  332. package/dist/fields/DateTime/index.js +102 -117
  333. package/dist/fields/DateTime/index.js.map +1 -1
  334. package/dist/fields/Email/index.d.ts +2 -5
  335. package/dist/fields/Email/index.d.ts.map +1 -1
  336. package/dist/fields/Email/index.js +93 -108
  337. package/dist/fields/Email/index.js.map +1 -1
  338. package/dist/fields/FieldDescription/index.d.ts +3 -2
  339. package/dist/fields/FieldDescription/index.d.ts.map +1 -1
  340. package/dist/fields/FieldDescription/index.js +4 -23
  341. package/dist/fields/FieldDescription/index.js.map +1 -1
  342. package/dist/fields/FieldError/index.d.ts +3 -2
  343. package/dist/fields/FieldError/index.d.ts.map +1 -1
  344. package/dist/fields/FieldError/index.js +2 -23
  345. package/dist/fields/FieldError/index.js.map +1 -1
  346. package/dist/fields/FieldLabel/index.d.ts +3 -2
  347. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  348. package/dist/fields/FieldLabel/index.js +7 -33
  349. package/dist/fields/FieldLabel/index.js.map +1 -1
  350. package/dist/fields/Group/index.d.ts +4 -5
  351. package/dist/fields/Group/index.d.ts.map +1 -1
  352. package/dist/fields/Group/index.js +97 -98
  353. package/dist/fields/Group/index.js.map +1 -1
  354. package/dist/fields/Hidden/index.d.ts.map +1 -1
  355. package/dist/fields/Hidden/index.js +33 -31
  356. package/dist/fields/Hidden/index.js.map +1 -1
  357. package/dist/fields/JSON/index.d.ts +2 -4
  358. package/dist/fields/JSON/index.d.ts.map +1 -1
  359. package/dist/fields/JSON/index.js +42 -45
  360. package/dist/fields/JSON/index.js.map +1 -1
  361. package/dist/fields/Join/index.d.ts +1 -4
  362. package/dist/fields/Join/index.d.ts.map +1 -1
  363. package/dist/fields/Join/index.js +26 -29
  364. package/dist/fields/Join/index.js.map +1 -1
  365. package/dist/fields/Number/index.d.ts +2 -4
  366. package/dist/fields/Number/index.d.ts.map +1 -1
  367. package/dist/fields/Number/index.js +134 -149
  368. package/dist/fields/Number/index.js.map +1 -1
  369. package/dist/fields/Password/index.d.ts.map +1 -1
  370. package/dist/fields/Password/index.js +60 -52
  371. package/dist/fields/Password/index.js.map +1 -1
  372. package/dist/fields/Password/input.d.ts.map +1 -1
  373. package/dist/fields/Password/input.js +51 -65
  374. package/dist/fields/Password/input.js.map +1 -1
  375. package/dist/fields/Password/types.d.ts +28 -12
  376. package/dist/fields/Password/types.d.ts.map +1 -1
  377. package/dist/fields/Password/types.js.map +1 -1
  378. package/dist/fields/Point/index.d.ts +2 -4
  379. package/dist/fields/Point/index.d.ts.map +1 -1
  380. package/dist/fields/Point/index.js +133 -142
  381. package/dist/fields/Point/index.js.map +1 -1
  382. package/dist/fields/RadioGroup/index.d.ts +2 -4
  383. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  384. package/dist/fields/RadioGroup/index.js +104 -118
  385. package/dist/fields/RadioGroup/index.js.map +1 -1
  386. package/dist/fields/Relationship/index.d.ts +2 -4
  387. package/dist/fields/Relationship/index.d.ts.map +1 -1
  388. package/dist/fields/Relationship/index.js +43 -43
  389. package/dist/fields/Relationship/index.js.map +1 -1
  390. package/dist/fields/Relationship/optionsReducer.js +42 -42
  391. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  392. package/dist/fields/Row/index.d.ts +2 -8
  393. package/dist/fields/Row/index.d.ts.map +1 -1
  394. package/dist/fields/Row/index.js +28 -69
  395. package/dist/fields/Row/index.js.map +1 -1
  396. package/dist/fields/Select/Input.d.ts +7 -12
  397. package/dist/fields/Select/Input.d.ts.map +1 -1
  398. package/dist/fields/Select/Input.js +73 -105
  399. package/dist/fields/Select/Input.js.map +1 -1
  400. package/dist/fields/Select/index.d.ts +2 -4
  401. package/dist/fields/Select/index.d.ts.map +1 -1
  402. package/dist/fields/Select/index.js +23 -25
  403. package/dist/fields/Select/index.js.map +1 -1
  404. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  405. package/dist/fields/Tabs/Tab/index.js +61 -36
  406. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  407. package/dist/fields/Tabs/index.d.ts +2 -5
  408. package/dist/fields/Tabs/index.d.ts.map +1 -1
  409. package/dist/fields/Tabs/index.js +313 -156
  410. package/dist/fields/Tabs/index.js.map +1 -1
  411. package/dist/fields/Text/Input.d.ts.map +1 -1
  412. package/dist/fields/Text/Input.js +55 -85
  413. package/dist/fields/Text/Input.js.map +1 -1
  414. package/dist/fields/Text/index.d.ts +2 -4
  415. package/dist/fields/Text/index.d.ts.map +1 -1
  416. package/dist/fields/Text/index.js +72 -66
  417. package/dist/fields/Text/index.js.map +1 -1
  418. package/dist/fields/Text/types.d.ts +7 -11
  419. package/dist/fields/Text/types.d.ts.map +1 -1
  420. package/dist/fields/Text/types.js.map +1 -1
  421. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  422. package/dist/fields/Textarea/Input.js +50 -79
  423. package/dist/fields/Textarea/Input.js.map +1 -1
  424. package/dist/fields/Textarea/index.d.ts +2 -4
  425. package/dist/fields/Textarea/index.d.ts.map +1 -1
  426. package/dist/fields/Textarea/index.js +42 -44
  427. package/dist/fields/Textarea/index.js.map +1 -1
  428. package/dist/fields/Textarea/types.d.ts +7 -11
  429. package/dist/fields/Textarea/types.d.ts.map +1 -1
  430. package/dist/fields/Textarea/types.js.map +1 -1
  431. package/dist/fields/Upload/Input.d.ts +8 -7
  432. package/dist/fields/Upload/Input.d.ts.map +1 -1
  433. package/dist/fields/Upload/Input.js +63 -83
  434. package/dist/fields/Upload/Input.js.map +1 -1
  435. package/dist/fields/Upload/index.d.ts.map +1 -1
  436. package/dist/fields/Upload/index.js +70 -51
  437. package/dist/fields/Upload/index.js.map +1 -1
  438. package/dist/fields/index.d.ts +9 -2
  439. package/dist/fields/index.d.ts.map +1 -1
  440. package/dist/fields/index.js +11 -0
  441. package/dist/fields/index.js.map +1 -1
  442. package/dist/forms/Form/context.d.ts +2 -0
  443. package/dist/forms/Form/context.d.ts.map +1 -1
  444. package/dist/forms/Form/context.js.map +1 -1
  445. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  446. package/dist/forms/Form/fieldReducer.js +181 -161
  447. package/dist/forms/Form/fieldReducer.js.map +1 -1
  448. package/dist/forms/Form/index.d.ts.map +1 -1
  449. package/dist/forms/Form/index.js +79 -73
  450. package/dist/forms/Form/index.js.map +1 -1
  451. package/dist/forms/Form/mergeServerFormState.d.ts +1 -1
  452. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  453. package/dist/forms/Form/mergeServerFormState.js +17 -4
  454. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  455. package/dist/forms/Form/reduceToSerializableFields.d.ts +7 -0
  456. package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -0
  457. package/dist/forms/Form/reduceToSerializableFields.js +20 -0
  458. package/dist/forms/Form/reduceToSerializableFields.js.map +1 -0
  459. package/dist/forms/Form/types.d.ts +15 -12
  460. package/dist/forms/Form/types.d.ts.map +1 -1
  461. package/dist/forms/Form/types.js.map +1 -1
  462. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  463. package/dist/forms/NullifyField/index.js +6 -1
  464. package/dist/forms/NullifyField/index.js.map +1 -1
  465. package/dist/forms/RenderFields/RenderField.d.ts +6 -18
  466. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  467. package/dist/forms/RenderFields/RenderField.js +136 -68
  468. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  469. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  470. package/dist/forms/RenderFields/index.js +90 -101
  471. package/dist/forms/RenderFields/index.js.map +1 -1
  472. package/dist/forms/RenderFields/types.d.ts +8 -9
  473. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  474. package/dist/forms/RenderFields/types.js.map +1 -1
  475. package/dist/forms/RowLabel/index.d.ts.map +1 -1
  476. package/dist/forms/RowLabel/index.js +15 -23
  477. package/dist/forms/RowLabel/index.js.map +1 -1
  478. package/dist/forms/RowLabel/types.d.ts +2 -5
  479. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  480. package/dist/forms/RowLabel/types.js.map +1 -1
  481. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts +1 -1
  482. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  483. package/dist/forms/WatchChildErrors/buildPathSegments.js +3 -3
  484. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  485. package/dist/forms/WatchChildErrors/index.d.ts +1 -1
  486. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  487. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  488. package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/addFieldStatePromise.d.ts +12 -4
  489. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -0
  490. package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/addFieldStatePromise.js +167 -32
  491. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -0
  492. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -0
  493. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -0
  494. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -0
  495. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -0
  496. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -0
  497. package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/promise.js +17 -17
  498. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -0
  499. package/dist/forms/{buildStateFromSchema/buildStateFromSchema.spec.js → fieldSchemasToFormState/fieldSchemasToFormState.spec.js} +9 -9
  500. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -0
  501. package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.d.ts.map +1 -0
  502. package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.js.map +1 -0
  503. package/dist/forms/fieldSchemasToFormState/index.d.ts +34 -0
  504. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -0
  505. package/dist/forms/fieldSchemasToFormState/index.js +58 -0
  506. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -0
  507. package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/iterateFields.d.ts +13 -8
  508. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -0
  509. package/dist/forms/fieldSchemasToFormState/iterateFields.js +73 -0
  510. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -0
  511. package/dist/forms/fieldSchemasToFormState/renderField.d.ts +3 -0
  512. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -0
  513. package/dist/forms/fieldSchemasToFormState/renderField.js +188 -0
  514. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -0
  515. package/dist/forms/fieldSchemasToFormState/types.d.ts +20 -0
  516. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -0
  517. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -0
  518. package/dist/forms/useField/index.d.ts +1 -1
  519. package/dist/forms/useField/index.d.ts.map +1 -1
  520. package/dist/forms/useField/index.js +62 -72
  521. package/dist/forms/useField/index.js.map +1 -1
  522. package/dist/forms/useField/types.d.ts +3 -8
  523. package/dist/forms/useField/types.d.ts.map +1 -1
  524. package/dist/forms/useField/types.js.map +1 -1
  525. package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
  526. package/dist/forms/withCondition/WatchCondition.js +23 -42
  527. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  528. package/dist/forms/withCondition/index.d.ts +3 -1
  529. package/dist/forms/withCondition/index.d.ts.map +1 -1
  530. package/dist/forms/withCondition/index.js +16 -31
  531. package/dist/forms/withCondition/index.js.map +1 -1
  532. package/dist/graphics/Account/index.d.ts.map +1 -1
  533. package/dist/graphics/Account/index.js +17 -38
  534. package/dist/graphics/Account/index.js.map +1 -1
  535. package/dist/hooks/useDebouncedEffect.d.ts +1 -1
  536. package/dist/hooks/useDebouncedEffect.d.ts.map +1 -1
  537. package/dist/hooks/useDebouncedEffect.js +1 -1
  538. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  539. package/dist/hooks/useIgnoredEffect.d.ts +4 -0
  540. package/dist/hooks/useIgnoredEffect.d.ts.map +1 -1
  541. package/dist/hooks/useIgnoredEffect.js +13 -0
  542. package/dist/hooks/useIgnoredEffect.js.map +1 -1
  543. package/dist/hooks/usePayloadAPI.js +1 -1
  544. package/dist/hooks/usePayloadAPI.js.map +1 -1
  545. package/dist/hooks/useUseAsTitle.d.ts +1 -1
  546. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  547. package/dist/hooks/useUseAsTitle.js +4 -3
  548. package/dist/hooks/useUseAsTitle.js.map +1 -1
  549. package/dist/providers/Actions/index.d.ts +8 -4
  550. package/dist/providers/Actions/index.d.ts.map +1 -1
  551. package/dist/providers/Actions/index.js +13 -74
  552. package/dist/providers/Actions/index.js.map +1 -1
  553. package/dist/providers/Config/index.d.ts +11 -2
  554. package/dist/providers/Config/index.d.ts.map +1 -1
  555. package/dist/providers/Config/index.js +8 -6
  556. package/dist/providers/Config/index.js.map +1 -1
  557. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  558. package/dist/providers/DocumentInfo/index.js +86 -356
  559. package/dist/providers/DocumentInfo/index.js.map +1 -1
  560. package/dist/providers/DocumentInfo/types.d.ts +18 -26
  561. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  562. package/dist/providers/DocumentInfo/types.js.map +1 -1
  563. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts +16 -0
  564. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -0
  565. package/dist/providers/DocumentInfo/useGetDocPermissions.js +77 -0
  566. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -0
  567. package/dist/providers/EditDepth/index.d.ts +0 -1
  568. package/dist/providers/EditDepth/index.d.ts.map +1 -1
  569. package/dist/providers/EditDepth/index.js +22 -7
  570. package/dist/providers/EditDepth/index.js.map +1 -1
  571. package/dist/providers/ListQuery/index.d.ts +6 -23
  572. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  573. package/dist/providers/ListQuery/index.js +51 -56
  574. package/dist/providers/ListQuery/index.js.map +1 -1
  575. package/dist/providers/Root/index.d.ts +2 -1
  576. package/dist/providers/Root/index.d.ts.map +1 -1
  577. package/dist/providers/Root/index.js +44 -42
  578. package/dist/providers/Root/index.js.map +1 -1
  579. package/dist/providers/Selection/index.d.ts.map +1 -1
  580. package/dist/providers/Selection/index.js.map +1 -1
  581. package/dist/providers/ServerFunctions/index.d.ts +42 -0
  582. package/dist/providers/ServerFunctions/index.d.ts.map +1 -0
  583. package/dist/providers/ServerFunctions/index.js +99 -0
  584. package/dist/providers/ServerFunctions/index.js.map +1 -0
  585. package/dist/styles.css +1 -1
  586. package/dist/utilities/abortAndIgnore.d.ts +2 -0
  587. package/dist/utilities/abortAndIgnore.d.ts.map +1 -0
  588. package/dist/utilities/abortAndIgnore.js +10 -0
  589. package/dist/utilities/abortAndIgnore.js.map +1 -0
  590. package/dist/utilities/buildFieldSchemaMap/index.d.ts +9 -3
  591. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  592. package/dist/utilities/buildFieldSchemaMap/index.js +58 -36
  593. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  594. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts +4 -4
  595. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  596. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +55 -30
  597. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  598. package/dist/utilities/buildFormState.d.ts +28 -7
  599. package/dist/utilities/buildFormState.d.ts.map +1 -1
  600. package/dist/utilities/buildFormState.js +163 -264
  601. package/dist/utilities/buildFormState.js.map +1 -1
  602. package/dist/utilities/buildTableState.d.ts +30 -0
  603. package/dist/utilities/buildTableState.d.ts.map +1 -0
  604. package/dist/utilities/buildTableState.js +185 -0
  605. package/dist/utilities/buildTableState.js.map +1 -0
  606. package/dist/utilities/flattenFieldMap.d.ts +2 -2
  607. package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
  608. package/dist/utilities/flattenFieldMap.js +5 -3
  609. package/dist/utilities/flattenFieldMap.js.map +1 -1
  610. package/dist/utilities/groupNavItems.d.ts +8 -4
  611. package/dist/utilities/groupNavItems.d.ts.map +1 -1
  612. package/dist/utilities/groupNavItems.js +14 -2
  613. package/dist/utilities/groupNavItems.js.map +1 -1
  614. package/dist/utilities/handleFormStateLocking.d.ts +16 -0
  615. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -0
  616. package/dist/utilities/handleFormStateLocking.js +129 -0
  617. package/dist/utilities/handleFormStateLocking.js.map +1 -0
  618. package/dist/utilities/mergeListSearchAndWhere.d.ts +10 -0
  619. package/dist/utilities/mergeListSearchAndWhere.d.ts.map +1 -0
  620. package/dist/utilities/mergeListSearchAndWhere.js +47 -0
  621. package/dist/utilities/mergeListSearchAndWhere.js.map +1 -0
  622. package/dist/utilities/renderTable.d.ts +24 -0
  623. package/dist/utilities/renderTable.d.ts.map +1 -0
  624. package/dist/utilities/renderTable.js +64 -0
  625. package/dist/utilities/renderTable.js.map +1 -0
  626. package/dist/views/Edit/Auth/APIKey.d.ts +6 -0
  627. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -0
  628. package/dist/views/Edit/Auth/APIKey.js +123 -0
  629. package/dist/views/Edit/Auth/APIKey.js.map +1 -0
  630. package/dist/views/Edit/Auth/index.d.ts +5 -0
  631. package/dist/views/Edit/Auth/index.d.ts.map +1 -0
  632. package/dist/views/Edit/Auth/index.js +345 -0
  633. package/dist/views/Edit/Auth/index.js.map +1 -0
  634. package/dist/views/Edit/Auth/index.scss +78 -0
  635. package/dist/views/Edit/Auth/types.d.ts +17 -0
  636. package/dist/views/Edit/Auth/types.d.ts.map +1 -0
  637. package/dist/views/Edit/Auth/types.js +2 -0
  638. package/dist/views/Edit/Auth/types.js.map +1 -0
  639. package/dist/views/Edit/SetDocumentStepNav/index.d.ts +11 -0
  640. package/dist/views/Edit/SetDocumentStepNav/index.d.ts.map +1 -0
  641. package/dist/views/Edit/SetDocumentStepNav/index.js +135 -0
  642. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -0
  643. package/dist/views/Edit/SetDocumentTitle/index.d.ts +8 -0
  644. package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -0
  645. package/dist/views/Edit/SetDocumentTitle/index.js +83 -0
  646. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -0
  647. package/dist/views/Edit/index.d.ts +5 -0
  648. package/dist/views/Edit/index.d.ts.map +1 -0
  649. package/dist/views/Edit/index.js +397 -0
  650. package/dist/views/Edit/index.js.map +1 -0
  651. package/dist/views/Edit/index.scss +23 -0
  652. package/dist/views/Edit/types.d.ts +6 -0
  653. package/dist/views/Edit/types.d.ts.map +1 -0
  654. package/dist/views/Edit/types.js +2 -0
  655. package/dist/views/Edit/types.js.map +1 -0
  656. package/dist/views/List/ListHeader/index.d.ts +19 -0
  657. package/dist/views/List/ListHeader/index.d.ts.map +1 -0
  658. package/dist/views/List/ListHeader/index.js +141 -0
  659. package/dist/views/List/ListHeader/index.js.map +1 -0
  660. package/dist/{elements/ListDrawer → views/List/ListHeader}/index.scss +12 -1
  661. package/dist/views/List/index.d.ts +27 -0
  662. package/dist/views/List/index.d.ts.map +1 -0
  663. package/dist/views/List/index.js +294 -0
  664. package/dist/views/List/index.js.map +1 -0
  665. package/dist/views/List/index.scss +179 -0
  666. package/dist/views/List/types.d.ts +15 -0
  667. package/dist/views/List/types.d.ts.map +1 -0
  668. package/dist/views/List/types.js +2 -0
  669. package/dist/views/List/types.js.map +1 -0
  670. package/license.md +22 -0
  671. package/package.json +24 -10
  672. package/dist/elements/ListHeader/index.d.ts +0 -10
  673. package/dist/elements/ListHeader/index.d.ts.map +0 -1
  674. package/dist/elements/ListHeader/index.js +0 -17
  675. package/dist/elements/ListHeader/index.js.map +0 -1
  676. package/dist/elements/ListHeader/index.scss +0 -12
  677. package/dist/elements/RelationshipTable/TableWrapper.d.ts +0 -8
  678. package/dist/elements/RelationshipTable/TableWrapper.d.ts.map +0 -1
  679. package/dist/elements/RelationshipTable/TableWrapper.js +0 -69
  680. package/dist/elements/RelationshipTable/TableWrapper.js.map +0 -1
  681. package/dist/elements/Table/RenderCell.d.ts +0 -11
  682. package/dist/elements/Table/RenderCell.d.ts.map +0 -1
  683. package/dist/elements/Table/RenderCell.js +0 -30
  684. package/dist/elements/Table/RenderCell.js.map +0 -1
  685. package/dist/elements/Table/TableCellProvider/index.d.ts +0 -19
  686. package/dist/elements/Table/TableCellProvider/index.d.ts.map +0 -1
  687. package/dist/elements/Table/TableCellProvider/index.js +0 -48
  688. package/dist/elements/Table/TableCellProvider/index.js.map +0 -1
  689. package/dist/exports/client/chunk-6IWEPNUV.js +0 -14
  690. package/dist/exports/client/chunk-6IWEPNUV.js.map +0 -8
  691. package/dist/exports/client/chunk-UMJJTMDP.js +0 -30
  692. package/dist/forms/FieldPropsProvider/index.d.ts +0 -31
  693. package/dist/forms/FieldPropsProvider/index.d.ts.map +0 -1
  694. package/dist/forms/FieldPropsProvider/index.js +0 -44
  695. package/dist/forms/FieldPropsProvider/index.js.map +0 -1
  696. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +0 -1
  697. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +0 -1
  698. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +0 -1
  699. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +0 -1
  700. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +0 -1
  701. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +0 -1
  702. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +0 -1
  703. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +0 -1
  704. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +0 -1
  705. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts.map +0 -1
  706. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +0 -1
  707. package/dist/forms/buildStateFromSchema/index.d.ts +0 -28
  708. package/dist/forms/buildStateFromSchema/index.d.ts.map +0 -1
  709. package/dist/forms/buildStateFromSchema/index.js +0 -42
  710. package/dist/forms/buildStateFromSchema/index.js.map +0 -1
  711. package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +0 -1
  712. package/dist/forms/buildStateFromSchema/iterateFields.js +0 -62
  713. package/dist/forms/buildStateFromSchema/iterateFields.js.map +0 -1
  714. package/dist/providers/Actions/SetViewActions/index.d.ts +0 -6
  715. package/dist/providers/Actions/SetViewActions/index.d.ts.map +0 -1
  716. package/dist/providers/Actions/SetViewActions/index.js +0 -35
  717. package/dist/providers/Actions/SetViewActions/index.js.map +0 -1
  718. package/dist/providers/Config/RenderComponent.d.ts +0 -12
  719. package/dist/providers/Config/RenderComponent.d.ts.map +0 -1
  720. package/dist/providers/Config/RenderComponent.js +0 -77
  721. package/dist/providers/Config/RenderComponent.js.map +0 -1
  722. package/dist/providers/Config/createClientConfig/collections.d.ts +0 -24
  723. package/dist/providers/Config/createClientConfig/collections.d.ts.map +0 -1
  724. package/dist/providers/Config/createClientConfig/collections.js +0 -203
  725. package/dist/providers/Config/createClientConfig/collections.js.map +0 -1
  726. package/dist/providers/Config/createClientConfig/fields.d.ts +0 -22
  727. package/dist/providers/Config/createClientConfig/fields.d.ts.map +0 -1
  728. package/dist/providers/Config/createClientConfig/fields.js +0 -348
  729. package/dist/providers/Config/createClientConfig/fields.js.map +0 -1
  730. package/dist/providers/Config/createClientConfig/getComponent.d.ts +0 -11
  731. package/dist/providers/Config/createClientConfig/getComponent.d.ts.map +0 -1
  732. package/dist/providers/Config/createClientConfig/getComponent.js +0 -38
  733. package/dist/providers/Config/createClientConfig/getComponent.js.map +0 -1
  734. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts +0 -11
  735. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +0 -1
  736. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +0 -101
  737. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +0 -1
  738. package/dist/providers/Config/createClientConfig/globals.d.ts +0 -22
  739. package/dist/providers/Config/createClientConfig/globals.d.ts.map +0 -1
  740. package/dist/providers/Config/createClientConfig/globals.js +0 -114
  741. package/dist/providers/Config/createClientConfig/globals.js.map +0 -1
  742. package/dist/providers/Config/createClientConfig/index.d.ts +0 -21
  743. package/dist/providers/Config/createClientConfig/index.d.ts.map +0 -1
  744. package/dist/providers/Config/createClientConfig/index.js +0 -123
  745. package/dist/providers/Config/createClientConfig/index.js.map +0 -1
  746. package/dist/providers/ListInfo/index.d.ts +0 -29
  747. package/dist/providers/ListInfo/index.d.ts.map +0 -1
  748. package/dist/providers/ListInfo/index.js +0 -18
  749. package/dist/providers/ListInfo/index.js.map +0 -1
  750. package/dist/utilities/buildFieldSchemaMap/types.d.ts +0 -3
  751. package/dist/utilities/buildFieldSchemaMap/types.d.ts.map +0 -1
  752. package/dist/utilities/buildFieldSchemaMap/types.js.map +0 -1
  753. package/dist/utilities/getFormState.d.ts +0 -17
  754. package/dist/utilities/getFormState.d.ts.map +0 -1
  755. package/dist/utilities/getFormState.js +0 -34
  756. package/dist/utilities/getFormState.js.map +0 -1
  757. /package/dist/exports/client/{DatePicker-FUJV23KL.js.map → DatePicker-4XUJ6BT3.js.map} +0 -0
  758. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/index.d.ts +0 -0
  759. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/index.js +0 -0
  760. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/iterateFields.d.ts +0 -0
  761. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/iterateFields.js +0 -0
  762. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/calculateDefaultValues/promise.d.ts +0 -0
  763. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/getFilterOptionsQuery.d.ts +0 -0
  764. /package/dist/forms/{buildStateFromSchema → fieldSchemasToFormState}/getFilterOptionsQuery.js +0 -0
  765. /package/dist/{utilities/buildFieldSchemaMap → forms/fieldSchemasToFormState}/types.js +0 -0
@@ -1,305 +1,204 @@
1
+ import { createClientConfig, formatErrors } from 'payload';
1
2
  import { reduceFieldsToValues } from 'payload/shared';
2
- import { buildStateFromSchema } from '../forms/buildStateFromSchema/index.js';
3
+ import { fieldSchemasToFormState } from '../forms/fieldSchemasToFormState/index.js';
4
+ import { renderField } from '../forms/fieldSchemasToFormState/renderField.js';
3
5
  import { buildFieldSchemaMap } from './buildFieldSchemaMap/index.js';
4
- let cached = global._payload_fieldSchemaMap;
5
- if (!cached) {
6
- cached = global._payload_fieldSchemaMap = null;
6
+ import { handleFormStateLocking } from './handleFormStateLocking.js';
7
+ let cachedFieldMap = global._payload_fieldMap;
8
+ let cachedClientConfig = global._payload_clientConfig;
9
+ if (!cachedFieldMap) {
10
+ cachedFieldMap = global._payload_fieldMap = null;
7
11
  }
8
- export const getFieldSchemaMap = req => {
9
- if (cached && process.env.NODE_ENV !== 'development') {
10
- return cached;
12
+ if (!cachedClientConfig) {
13
+ cachedClientConfig = global._payload_clientConfig = null;
14
+ }
15
+ export const getFieldSchemaMap = args => {
16
+ const {
17
+ collectionSlug,
18
+ config,
19
+ globalSlug,
20
+ i18n
21
+ } = args;
22
+ if (process.env.NODE_ENV !== 'development') {
23
+ if (!cachedFieldMap) {
24
+ cachedFieldMap = new Map();
25
+ }
26
+ const cachedEntityFieldMap = cachedFieldMap.get(collectionSlug || globalSlug);
27
+ if (cachedEntityFieldMap) {
28
+ return cachedEntityFieldMap;
29
+ }
11
30
  }
12
- cached = buildFieldSchemaMap({
13
- config: req.payload.config,
14
- i18n: req.i18n
15
- });
16
- return cached;
17
- };
18
- export const buildFormState = async ({
19
- req
20
- }) => {
21
- const reqData = req.data || {};
22
31
  const {
32
+ fieldSchemaMap: entityFieldMap
33
+ } = buildFieldSchemaMap({
23
34
  collectionSlug,
24
- formState,
35
+ config,
25
36
  globalSlug,
26
- locale,
27
- operation,
28
- returnLockStatus,
29
- schemaPath,
30
- updateLastEdited
31
- } = reqData;
37
+ i18n: i18n
38
+ });
39
+ if (process.env.NODE_ENV !== 'development') {
40
+ cachedFieldMap.set(collectionSlug || globalSlug, entityFieldMap);
41
+ }
42
+ return entityFieldMap;
43
+ };
44
+ export const getClientConfig = args => {
45
+ const {
46
+ config,
47
+ i18n
48
+ } = args;
49
+ if (cachedClientConfig && process.env.NODE_ENV !== 'development') {
50
+ return cachedClientConfig;
51
+ }
52
+ cachedClientConfig = createClientConfig({
53
+ config,
54
+ i18n
55
+ });
56
+ return cachedClientConfig;
57
+ };
58
+ export const buildFormStateHandler = async args => {
59
+ const {
60
+ req
61
+ } = args;
32
62
  const incomingUserSlug = req.user?.collection;
33
63
  const adminUserSlug = req.payload.config.admin.user;
34
- // If we have a user slug, test it against the functions
35
- if (incomingUserSlug) {
36
- const adminAccessFunction = req.payload.collections[incomingUserSlug].config.access?.admin;
37
- // Run the admin access function from the config if it exists
38
- if (adminAccessFunction) {
39
- const canAccessAdmin = await adminAccessFunction({
40
- req
64
+ try {
65
+ // If we have a user slug, test it against the functions
66
+ if (incomingUserSlug) {
67
+ const adminAccessFunction = req.payload.collections[incomingUserSlug].config.access?.admin;
68
+ // Run the admin access function from the config if it exists
69
+ if (adminAccessFunction) {
70
+ const canAccessAdmin = await adminAccessFunction({
71
+ req
72
+ });
73
+ if (!canAccessAdmin) {
74
+ throw new Error('Unauthorized');
75
+ }
76
+ // Match the user collection to the global admin config
77
+ } else if (adminUserSlug !== incomingUserSlug) {
78
+ throw new Error('Unauthorized');
79
+ }
80
+ } else {
81
+ const hasUsers = await req.payload.find({
82
+ collection: adminUserSlug,
83
+ depth: 0,
84
+ limit: 1,
85
+ pagination: false
41
86
  });
42
- if (!canAccessAdmin) {
87
+ // If there are users, we should not allow access because of /create-first-user
88
+ if (hasUsers.docs.length) {
43
89
  throw new Error('Unauthorized');
44
90
  }
45
- // Match the user collection to the global admin config
46
- } else if (adminUserSlug !== incomingUserSlug) {
47
- throw new Error('Unauthorized');
48
91
  }
49
- } else {
50
- const hasUsers = await req.payload.find({
51
- collection: adminUserSlug,
52
- depth: 0,
53
- limit: 1,
54
- pagination: false
92
+ const res = await buildFormState(args);
93
+ return res;
94
+ } catch (err) {
95
+ req.payload.logger.error({
96
+ err,
97
+ msg: `There was an error building form state`
55
98
  });
56
- // If there are users, we should not allow access because of /create-first-user
57
- if (hasUsers.docs.length) {
58
- throw new Error('Unauthorized');
99
+ if (err.message === 'Could not find field schema for given path') {
100
+ return {
101
+ message: err.message
102
+ };
59
103
  }
60
- }
61
- const fieldSchemaMap = getFieldSchemaMap(req);
62
- const id = collectionSlug ? reqData.id : undefined;
63
- const schemaPathSegments = schemaPath && schemaPath.split('.');
64
- let fieldSchema;
65
- if (schemaPathSegments && schemaPathSegments.length === 1) {
66
- if (req.payload.collections[schemaPath]) {
67
- fieldSchema = req.payload.collections[schemaPath].config.fields;
68
- } else {
69
- fieldSchema = req.payload.config.globals.find(global1 => global1.slug === schemaPath)?.fields;
104
+ if (err.message === 'Unauthorized') {
105
+ return null;
70
106
  }
71
- } else if (fieldSchemaMap.has(schemaPath)) {
72
- fieldSchema = fieldSchemaMap.get(schemaPath);
107
+ return formatErrors(err);
73
108
  }
74
- if (!fieldSchema) {
75
- throw new Error(`Could not find field schema for given path "${schemaPath}"`);
109
+ };
110
+ export const buildFormState = async args => {
111
+ const {
112
+ id: idFromArgs,
113
+ collectionSlug,
114
+ data: incomingData,
115
+ docPermissions,
116
+ docPreferences,
117
+ formState,
118
+ globalSlug,
119
+ operation,
120
+ renderAllFields,
121
+ req,
122
+ req: {
123
+ i18n,
124
+ payload,
125
+ payload: {
126
+ config
127
+ }
128
+ },
129
+ returnLockStatus,
130
+ schemaPath = collectionSlug || globalSlug,
131
+ updateLastEdited
132
+ } = args;
133
+ let data = incomingData;
134
+ if (!collectionSlug && !globalSlug) {
135
+ throw new Error('Either collectionSlug or globalSlug must be provided');
76
136
  }
77
- let docPreferences = reqData.docPreferences;
78
- let data = reqData.data;
79
- const promises = {};
80
- // If the request does not include doc preferences,
81
- // we should fetch them. This is useful for DocumentInfoProvider
82
- // as it reduces the amount of client-side fetches necessary
83
- // when we fetch data for the Edit View
84
- if (!docPreferences) {
85
- let preferencesKey;
86
- if (collectionSlug && id) {
87
- preferencesKey = `collection-${collectionSlug}-${id}`;
88
- }
89
- if (globalSlug) {
90
- preferencesKey = `global-${globalSlug}`;
91
- }
92
- if (preferencesKey) {
93
- const fetchPreferences = async () => {
94
- const preferencesResult = await req.payload.find({
95
- collection: 'payload-preferences',
96
- depth: 0,
97
- limit: 1,
98
- where: {
99
- and: [{
100
- key: {
101
- equals: preferencesKey
102
- }
103
- }, {
104
- 'user.relationTo': {
105
- equals: req.user.collection
106
- }
107
- }, {
108
- 'user.value': {
109
- equals: req.user.id
110
- }
111
- }]
112
- }
113
- });
114
- if (preferencesResult?.docs?.[0]?.value) {
115
- docPreferences = preferencesResult.docs[0].value;
116
- }
117
- };
118
- promises.preferences = fetchPreferences();
119
- }
137
+ const fieldSchemaMap = getFieldSchemaMap({
138
+ collectionSlug,
139
+ config,
140
+ globalSlug,
141
+ i18n
142
+ });
143
+ const id = collectionSlug ? idFromArgs : undefined;
144
+ const fieldOrEntityConfig = fieldSchemaMap.get(schemaPath);
145
+ if (!fieldOrEntityConfig) {
146
+ throw new Error(`Could not find "${schemaPath}" in the fieldSchemaMap`);
147
+ }
148
+ if ((!('fields' in fieldOrEntityConfig) || !fieldOrEntityConfig.fields || !fieldOrEntityConfig.fields.length) && 'type' in fieldOrEntityConfig && fieldOrEntityConfig.type !== 'blocks') {
149
+ throw new Error(`The field found in fieldSchemaMap for "${schemaPath}" does not contain any subfields.`);
120
150
  }
121
151
  // If there is a form state,
122
152
  // then we can deduce data from that form state
123
153
  if (formState) {
124
154
  data = reduceFieldsToValues(formState, true);
125
155
  }
126
- // If we do not have data at this point,
127
- // we can fetch it. This is useful for DocumentInfoProvider
128
- // to reduce the amount of fetches required
129
- if (!data) {
130
- const fetchData = async () => {
131
- let resolvedData;
132
- if (collectionSlug && id) {
133
- resolvedData = await req.payload.findByID({
134
- id,
135
- collection: collectionSlug,
136
- depth: 0,
137
- draft: true,
138
- fallbackLocale: null,
139
- locale,
140
- overrideAccess: false,
141
- user: req.user
142
- });
143
- }
144
- if (globalSlug && schemaPath === globalSlug) {
145
- resolvedData = await req.payload.findGlobal({
146
- slug: globalSlug,
147
- depth: 0,
148
- draft: true,
149
- fallbackLocale: null,
150
- locale,
151
- overrideAccess: false,
152
- user: req.user
153
- });
154
- }
155
- data = resolvedData;
156
- };
157
- promises.data = fetchData();
158
- }
159
- if (Object.keys(promises) && Object.keys(promises).length > 0) {
160
- await Promise.all(Object.values(promises));
161
- }
162
- const result = await buildStateFromSchema({
156
+ /**
157
+ * When building state for sub schemas we need to adjust:
158
+ * - `fields`
159
+ * - `parentSchemaPath`
160
+ * - `parentPath`
161
+ *
162
+ * Type assertion is fine because we wrap sub schemas in an array
163
+ * so we can safely map over them within `fieldSchemasToFormState`
164
+ */
165
+ const fields = Array.isArray(fieldOrEntityConfig) ? fieldOrEntityConfig : 'fields' in fieldOrEntityConfig ? fieldOrEntityConfig.fields : [fieldOrEntityConfig];
166
+ const formStateResult = await fieldSchemasToFormState({
163
167
  id,
164
168
  collectionSlug,
165
169
  data,
166
- fieldSchema,
170
+ fields,
171
+ fieldSchemaMap,
167
172
  operation,
173
+ permissions: docPermissions?.fields || {},
168
174
  preferences: docPreferences || {
169
175
  fields: {}
170
176
  },
171
- req
177
+ previousFormState: formState,
178
+ renderAllFields,
179
+ renderFieldFn: renderField,
180
+ req,
181
+ schemaPath
172
182
  });
173
183
  // Maintain form state of auth / upload fields
174
184
  if (collectionSlug && formState) {
175
- if (req.payload.collections[collectionSlug]?.config?.upload && formState.file) {
176
- result.file = formState.file;
185
+ if (payload.collections[collectionSlug]?.config?.upload && formState.file) {
186
+ formStateResult.file = formState.file;
177
187
  }
178
188
  }
179
- if (returnLockStatus && req.user && (id || globalSlug)) {
180
- let lockedDocumentQuery;
181
- if (collectionSlug) {
182
- lockedDocumentQuery = {
183
- and: [{
184
- 'document.relationTo': {
185
- equals: collectionSlug
186
- }
187
- }, {
188
- 'document.value': {
189
- equals: id
190
- }
191
- }]
192
- };
193
- } else if (globalSlug) {
194
- lockedDocumentQuery = {
195
- and: [{
196
- globalSlug: {
197
- equals: globalSlug
198
- }
199
- }]
200
- };
201
- }
202
- const lockDurationDefault = 300 // Default 5 minutes in seconds
203
- ;
204
- const lockDocumentsProp = collectionSlug ? req.payload.config.collections.find(c => c.slug === collectionSlug)?.lockDocuments : req.payload.config.globals.find(g => g.slug === globalSlug)?.lockDocuments;
205
- const lockDuration = typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault;
206
- const lockDurationInMilliseconds = lockDuration * 1000;
207
- const now = new Date().getTime();
208
- if (lockedDocumentQuery) {
209
- // Query where the lock is newer than the current time minus the lock duration
210
- lockedDocumentQuery.and.push({
211
- updatedAt: {
212
- greater_than: new Date(now - lockDurationInMilliseconds).toISOString()
213
- }
214
- });
215
- const lockedDocument = await req.payload.find({
216
- collection: 'payload-locked-documents',
217
- depth: 1,
218
- limit: 1,
219
- pagination: false,
220
- where: lockedDocumentQuery
221
- });
222
- if (lockedDocument.docs && lockedDocument.docs.length > 0) {
223
- const lockedState = {
224
- isLocked: true,
225
- user: lockedDocument.docs[0]?.user?.value
226
- };
227
- const lockOwnerId = typeof lockedDocument.docs[0]?.user?.value === 'object' ? lockedDocument.docs[0]?.user?.value?.id : lockedDocument.docs[0]?.user?.value;
228
- // Should only update doc if the incoming / current user is also the owner of the locked doc
229
- if (updateLastEdited && req.user && lockOwnerId === req.user.id) {
230
- await req.payload.db.updateOne({
231
- id: lockedDocument.docs[0].id,
232
- collection: 'payload-locked-documents',
233
- data: {},
234
- req
235
- });
236
- }
237
- return {
238
- lockedState,
239
- state: result
240
- };
241
- } else {
242
- // If NO ACTIVE lock document exists, first delete any expired locks and then create a fresh lock
243
- // Where updatedAt is older than the duration that is specified in the config
244
- let deleteExpiredLocksQuery;
245
- if (collectionSlug) {
246
- deleteExpiredLocksQuery = {
247
- and: [{
248
- 'document.relationTo': {
249
- equals: collectionSlug
250
- }
251
- }, {
252
- updatedAt: {
253
- less_than: new Date(now - lockDurationInMilliseconds).toISOString()
254
- }
255
- }]
256
- };
257
- } else if (globalSlug) {
258
- deleteExpiredLocksQuery = {
259
- and: [{
260
- globalSlug: {
261
- equals: globalSlug
262
- }
263
- }, {
264
- updatedAt: {
265
- less_than: new Date(now - lockDurationInMilliseconds).toISOString()
266
- }
267
- }]
268
- };
269
- }
270
- await req.payload.db.deleteMany({
271
- collection: 'payload-locked-documents',
272
- req,
273
- where: deleteExpiredLocksQuery
274
- });
275
- await req.payload.db.create({
276
- collection: 'payload-locked-documents',
277
- data: {
278
- document: collectionSlug ? {
279
- relationTo: [collectionSlug],
280
- value: id
281
- } : undefined,
282
- globalSlug: globalSlug ? globalSlug : undefined,
283
- user: {
284
- relationTo: [req.user.collection],
285
- value: req.user.id
286
- }
287
- },
288
- req
289
- });
290
- const lockedState = {
291
- isLocked: true,
292
- user: req.user
293
- };
294
- return {
295
- lockedState,
296
- state: result
297
- };
298
- }
299
- }
189
+ let lockedStateResult;
190
+ if (returnLockStatus) {
191
+ lockedStateResult = await handleFormStateLocking({
192
+ id,
193
+ collectionSlug,
194
+ globalSlug,
195
+ req,
196
+ updateLastEdited
197
+ });
300
198
  }
301
199
  return {
302
- state: result
200
+ lockedState: lockedStateResult,
201
+ state: formStateResult
303
202
  };
304
203
  };
305
204
  //# sourceMappingURL=buildFormState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildFormState.js","names":["reduceFieldsToValues","buildStateFromSchema","buildFieldSchemaMap","cached","global","_payload_fieldSchemaMap","getFieldSchemaMap","req","process","env","NODE_ENV","config","payload","i18n","buildFormState","reqData","data","collectionSlug","formState","globalSlug","locale","operation","returnLockStatus","schemaPath","updateLastEdited","incomingUserSlug","user","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","fieldSchemaMap","id","undefined","schemaPathSegments","split","fieldSchema","fields","globals","global1","slug","has","get","docPreferences","promises","preferencesKey","fetchPreferences","preferencesResult","where","and","key","equals","value","preferences","fetchData","resolvedData","findByID","draft","fallbackLocale","overrideAccess","findGlobal","Object","keys","Promise","all","values","result","upload","file","lockedDocumentQuery","lockDurationDefault","lockDocumentsProp","c","lockDocuments","g","lockDuration","duration","lockDurationInMilliseconds","now","Date","getTime","push","updatedAt","greater_than","toISOString","lockedDocument","lockedState","isLocked","lockOwnerId","db","updateOne","state","deleteExpiredLocksQuery","less_than","deleteMany","create","document","relationTo"],"sources":["../../src/utilities/buildFormState.ts"],"sourcesContent":["import type {\n ClientUser,\n DocumentPreferences,\n Field,\n FormState,\n PayloadRequest,\n TypeWithID,\n} from 'payload'\n\nimport { reduceFieldsToValues } from 'payload/shared'\n\nimport type { BuildFormStateArgs } from '../forms/buildStateFromSchema/index.js'\nimport type { FieldSchemaMap } from './buildFieldSchemaMap/types.js'\n\nimport { buildStateFromSchema } from '../forms/buildStateFromSchema/index.js'\nimport { buildFieldSchemaMap } from './buildFieldSchemaMap/index.js'\n\nlet cached = global._payload_fieldSchemaMap\n\nif (!cached) {\n cached = global._payload_fieldSchemaMap = null\n}\n\nexport const getFieldSchemaMap = (req: PayloadRequest): FieldSchemaMap => {\n if (cached && process.env.NODE_ENV !== 'development') {\n return cached\n }\n\n cached = buildFieldSchemaMap({\n config: req.payload.config,\n i18n: req.i18n,\n })\n\n return cached\n}\n\nexport const buildFormState = async ({\n req,\n}: {\n req: PayloadRequest\n}): Promise<{\n lockedState?: { isLocked: boolean; user: ClientUser | number | string }\n state: FormState\n}> => {\n const reqData: BuildFormStateArgs = (req.data || {}) as BuildFormStateArgs\n const {\n collectionSlug,\n formState,\n globalSlug,\n locale,\n operation,\n returnLockStatus,\n schemaPath,\n updateLastEdited,\n } = reqData\n\n const incomingUserSlug = req.user?.collection\n const adminUserSlug = req.payload.config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = req.payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await req.payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const fieldSchemaMap = getFieldSchemaMap(req)\n\n const id = collectionSlug ? reqData.id : undefined\n const schemaPathSegments = schemaPath && schemaPath.split('.')\n\n let fieldSchema: Field[]\n\n if (schemaPathSegments && schemaPathSegments.length === 1) {\n if (req.payload.collections[schemaPath]) {\n fieldSchema = req.payload.collections[schemaPath].config.fields\n } else {\n fieldSchema = req.payload.config.globals.find((global) => global.slug === schemaPath)?.fields\n }\n } else if (fieldSchemaMap.has(schemaPath)) {\n fieldSchema = fieldSchemaMap.get(schemaPath)\n }\n\n if (!fieldSchema) {\n throw new Error(`Could not find field schema for given path \"${schemaPath}\"`)\n }\n\n let docPreferences = reqData.docPreferences\n let data = reqData.data\n\n const promises: {\n data?: Promise<void>\n preferences?: Promise<void>\n } = {}\n\n // If the request does not include doc preferences,\n // we should fetch them. This is useful for DocumentInfoProvider\n // as it reduces the amount of client-side fetches necessary\n // when we fetch data for the Edit View\n if (!docPreferences) {\n let preferencesKey\n\n if (collectionSlug && id) {\n preferencesKey = `collection-${collectionSlug}-${id}`\n }\n\n if (globalSlug) {\n preferencesKey = `global-${globalSlug}`\n }\n\n if (preferencesKey) {\n const fetchPreferences = async () => {\n const preferencesResult = (await req.payload.find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: req.user.collection,\n },\n },\n {\n 'user.value': {\n equals: req.user.id,\n },\n },\n ],\n },\n })) as unknown as { docs: { value: DocumentPreferences }[] }\n\n if (preferencesResult?.docs?.[0]?.value) {\n docPreferences = preferencesResult.docs[0].value\n }\n }\n\n promises.preferences = fetchPreferences()\n }\n }\n\n // If there is a form state,\n // then we can deduce data from that form state\n if (formState) {\n data = reduceFieldsToValues(formState, true)\n }\n\n // If we do not have data at this point,\n // we can fetch it. This is useful for DocumentInfoProvider\n // to reduce the amount of fetches required\n if (!data) {\n const fetchData = async () => {\n let resolvedData: Record<string, unknown> | TypeWithID\n\n if (collectionSlug && id) {\n resolvedData = await req.payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n if (globalSlug && schemaPath === globalSlug) {\n resolvedData = await req.payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n data = resolvedData\n }\n\n promises.data = fetchData()\n }\n\n if (Object.keys(promises) && Object.keys(promises).length > 0) {\n await Promise.all(Object.values(promises))\n }\n\n const result = await buildStateFromSchema({\n id,\n collectionSlug,\n data,\n fieldSchema,\n operation,\n preferences: docPreferences || { fields: {} },\n req,\n })\n\n // Maintain form state of auth / upload fields\n if (collectionSlug && formState) {\n if (req.payload.collections[collectionSlug]?.config?.upload && formState.file) {\n result.file = formState.file\n }\n }\n\n if (returnLockStatus && req.user && (id || globalSlug)) {\n let lockedDocumentQuery\n\n if (collectionSlug) {\n lockedDocumentQuery = {\n and: [\n { 'document.relationTo': { equals: collectionSlug } },\n { 'document.value': { equals: id } },\n ],\n }\n } else if (globalSlug) {\n lockedDocumentQuery = {\n 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 pagination: false,\n where: lockedDocumentQuery,\n })\n\n if (lockedDocument.docs && lockedDocument.docs.length > 0) {\n const lockedState = {\n isLocked: true,\n user: lockedDocument.docs[0]?.user?.value,\n }\n\n const lockOwnerId =\n typeof lockedDocument.docs[0]?.user?.value === 'object'\n ? lockedDocument.docs[0]?.user?.value?.id\n : lockedDocument.docs[0]?.user?.value\n\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\n return { lockedState, state: result }\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 const lockedState = {\n isLocked: true,\n user: req.user,\n }\n\n return { lockedState, state: result }\n }\n }\n }\n\n return { state: result }\n}\n"],"mappings":"AASA,SAASA,oBAAoB,QAAQ;AAKrC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,mBAAmB,QAAQ;AAEpC,IAAIC,MAAA,GAASC,MAAA,CAAOC,uBAAuB;AAE3C,IAAI,CAACF,MAAA,EAAQ;EACXA,MAAA,GAASC,MAAA,CAAOC,uBAAuB,GAAG;AAC5C;AAEA,OAAO,MAAMC,iBAAA,GAAqBC,GAAA;EAChC,IAAIJ,MAAA,IAAUK,OAAA,CAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;IACpD,OAAOP,MAAA;EACT;EAEAA,MAAA,GAASD,mBAAA,CAAoB;IAC3BS,MAAA,EAAQJ,GAAA,CAAIK,OAAO,CAACD,MAAM;IAC1BE,IAAA,EAAMN,GAAA,CAAIM;EACZ;EAEA,OAAOV,MAAA;AACT;AAEA,OAAO,MAAMW,cAAA,GAAiB,MAAAA,CAAO;EACnCP;AAAG,CAGJ;EAIC,MAAMQ,OAAA,GAA+BR,GAAA,CAAIS,IAAI,IAAI,CAAC;EAClD,MAAM;IACJC,cAAc;IACdC,SAAS;IACTC,UAAU;IACVC,MAAM;IACNC,SAAS;IACTC,gBAAgB;IAChBC,UAAU;IACVC;EAAgB,CACjB,GAAGT,OAAA;EAEJ,MAAMU,gBAAA,GAAmBlB,GAAA,CAAImB,IAAI,EAAEC,UAAA;EACnC,MAAMC,aAAA,GAAgBrB,GAAA,CAAIK,OAAO,CAACD,MAAM,CAACkB,KAAK,CAACH,IAAI;EAEnD;EACA,IAAID,gBAAA,EAAkB;IACpB,MAAMK,mBAAA,GAAsBvB,GAAA,CAAIK,OAAO,CAACmB,WAAW,CAACN,gBAAA,CAAiB,CAACd,MAAM,CAACqB,MAAM,EAAEH,KAAA;IAErF;IACA,IAAIC,mBAAA,EAAqB;MACvB,MAAMG,cAAA,GAAiB,MAAMH,mBAAA,CAAoB;QAAEvB;MAAI;MAEvD,IAAI,CAAC0B,cAAA,EAAgB;QACnB,MAAM,IAAIC,KAAA,CAAM;MAClB;MACA;IACF,OAAO,IAAIN,aAAA,KAAkBH,gBAAA,EAAkB;MAC7C,MAAM,IAAIS,KAAA,CAAM;IAClB;EACF,OAAO;IACL,MAAMC,QAAA,GAAW,MAAM5B,GAAA,CAAIK,OAAO,CAACwB,IAAI,CAAC;MACtCT,UAAA,EAAYC,aAAA;MACZS,KAAA,EAAO;MACPC,KAAA,EAAO;MACPC,UAAA,EAAY;IACd;IACA;IACA,IAAIJ,QAAA,CAASK,IAAI,CAACC,MAAM,EAAE;MACxB,MAAM,IAAIP,KAAA,CAAM;IAClB;EACF;EAEA,MAAMQ,cAAA,GAAiBpC,iBAAA,CAAkBC,GAAA;EAEzC,MAAMoC,EAAA,GAAK1B,cAAA,GAAiBF,OAAA,CAAQ4B,EAAE,GAAGC,SAAA;EACzC,MAAMC,kBAAA,GAAqBtB,UAAA,IAAcA,UAAA,CAAWuB,KAAK,CAAC;EAE1D,IAAIC,WAAA;EAEJ,IAAIF,kBAAA,IAAsBA,kBAAA,CAAmBJ,MAAM,KAAK,GAAG;IACzD,IAAIlC,GAAA,CAAIK,OAAO,CAACmB,WAAW,CAACR,UAAA,CAAW,EAAE;MACvCwB,WAAA,GAAcxC,GAAA,CAAIK,OAAO,CAACmB,WAAW,CAACR,UAAA,CAAW,CAACZ,MAAM,CAACqC,MAAM;IACjE,OAAO;MACLD,WAAA,GAAcxC,GAAA,CAAIK,OAAO,CAACD,MAAM,CAACsC,OAAO,CAACb,IAAI,CAAEc,OAAA,IAAWA,OAAA,CAAOC,IAAI,KAAK5B,UAAA,GAAayB,MAAA;IACzF;EACF,OAAO,IAAIN,cAAA,CAAeU,GAAG,CAAC7B,UAAA,GAAa;IACzCwB,WAAA,GAAcL,cAAA,CAAeW,GAAG,CAAC9B,UAAA;EACnC;EAEA,IAAI,CAACwB,WAAA,EAAa;IAChB,MAAM,IAAIb,KAAA,CAAM,+CAA+CX,UAAA,GAAa;EAC9E;EAEA,IAAI+B,cAAA,GAAiBvC,OAAA,CAAQuC,cAAc;EAC3C,IAAItC,IAAA,GAAOD,OAAA,CAAQC,IAAI;EAEvB,MAAMuC,QAAA,GAGF,CAAC;EAEL;EACA;EACA;EACA;EACA,IAAI,CAACD,cAAA,EAAgB;IACnB,IAAIE,cAAA;IAEJ,IAAIvC,cAAA,IAAkB0B,EAAA,EAAI;MACxBa,cAAA,GAAiB,cAAcvC,cAAA,IAAkB0B,EAAA,EAAI;IACvD;IAEA,IAAIxB,UAAA,EAAY;MACdqC,cAAA,GAAiB,UAAUrC,UAAA,EAAY;IACzC;IAEA,IAAIqC,cAAA,EAAgB;MAClB,MAAMC,gBAAA,GAAmB,MAAAA,CAAA;QACvB,MAAMC,iBAAA,GAAqB,MAAMnD,GAAA,CAAIK,OAAO,CAACwB,IAAI,CAAC;UAChDT,UAAA,EAAY;UACZU,KAAA,EAAO;UACPC,KAAA,EAAO;UACPqB,KAAA,EAAO;YACLC,GAAA,EAAK,CACH;cACEC,GAAA,EAAK;gBACHC,MAAA,EAAQN;cACV;YACF,GACA;cACE,mBAAmB;gBACjBM,MAAA,EAAQvD,GAAA,CAAImB,IAAI,CAACC;cACnB;YACF,GACA;cACE,cAAc;gBACZmC,MAAA,EAAQvD,GAAA,CAAImB,IAAI,CAACiB;cACnB;YACF;UAEJ;QACF;QAEA,IAAIe,iBAAA,EAAmBlB,IAAA,GAAO,EAAE,EAAEuB,KAAA,EAAO;UACvCT,cAAA,GAAiBI,iBAAA,CAAkBlB,IAAI,CAAC,EAAE,CAACuB,KAAK;QAClD;MACF;MAEAR,QAAA,CAASS,WAAW,GAAGP,gBAAA;IACzB;EACF;EAEA;EACA;EACA,IAAIvC,SAAA,EAAW;IACbF,IAAA,GAAOhB,oBAAA,CAAqBkB,SAAA,EAAW;EACzC;EAEA;EACA;EACA;EACA,IAAI,CAACF,IAAA,EAAM;IACT,MAAMiD,SAAA,GAAY,MAAAA,CAAA;MAChB,IAAIC,YAAA;MAEJ,IAAIjD,cAAA,IAAkB0B,EAAA,EAAI;QACxBuB,YAAA,GAAe,MAAM3D,GAAA,CAAIK,OAAO,CAACuD,QAAQ,CAAC;UACxCxB,EAAA;UACAhB,UAAA,EAAYV,cAAA;UACZoB,KAAA,EAAO;UACP+B,KAAA,EAAO;UACPC,cAAA,EAAgB;UAChBjD,MAAA;UACAkD,cAAA,EAAgB;UAChB5C,IAAA,EAAMnB,GAAA,CAAImB;QACZ;MACF;MAEA,IAAIP,UAAA,IAAcI,UAAA,KAAeJ,UAAA,EAAY;QAC3C+C,YAAA,GAAe,MAAM3D,GAAA,CAAIK,OAAO,CAAC2D,UAAU,CAAC;UAC1CpB,IAAA,EAAMhC,UAAA;UACNkB,KAAA,EAAO;UACP+B,KAAA,EAAO;UACPC,cAAA,EAAgB;UAChBjD,MAAA;UACAkD,cAAA,EAAgB;UAChB5C,IAAA,EAAMnB,GAAA,CAAImB;QACZ;MACF;MAEAV,IAAA,GAAOkD,YAAA;IACT;IAEAX,QAAA,CAASvC,IAAI,GAAGiD,SAAA;EAClB;EAEA,IAAIO,MAAA,CAAOC,IAAI,CAAClB,QAAA,KAAaiB,MAAA,CAAOC,IAAI,CAAClB,QAAA,EAAUd,MAAM,GAAG,GAAG;IAC7D,MAAMiC,OAAA,CAAQC,GAAG,CAACH,MAAA,CAAOI,MAAM,CAACrB,QAAA;EAClC;EAEA,MAAMsB,MAAA,GAAS,MAAM5E,oBAAA,CAAqB;IACxC0C,EAAA;IACA1B,cAAA;IACAD,IAAA;IACA+B,WAAA;IACA1B,SAAA;IACA2C,WAAA,EAAaV,cAAA,IAAkB;MAAEN,MAAA,EAAQ,CAAC;IAAE;IAC5CzC;EACF;EAEA;EACA,IAAIU,cAAA,IAAkBC,SAAA,EAAW;IAC/B,IAAIX,GAAA,CAAIK,OAAO,CAACmB,WAAW,CAACd,cAAA,CAAe,EAAEN,MAAA,EAAQmE,MAAA,IAAU5D,SAAA,CAAU6D,IAAI,EAAE;MAC7EF,MAAA,CAAOE,IAAI,GAAG7D,SAAA,CAAU6D,IAAI;IAC9B;EACF;EAEA,IAAIzD,gBAAA,IAAoBf,GAAA,CAAImB,IAAI,KAAKiB,EAAA,IAAMxB,UAAS,GAAI;IACtD,IAAI6D,mBAAA;IAEJ,IAAI/D,cAAA,EAAgB;MAClB+D,mBAAA,GAAsB;QACpBpB,GAAA,EAAK,CACH;UAAE,uBAAuB;YAAEE,MAAA,EAAQ7C;UAAe;QAAE,GACpD;UAAE,kBAAkB;YAAE6C,MAAA,EAAQnB;UAAG;QAAE;MAEvC;IACF,OAAO,IAAIxB,UAAA,EAAY;MACrB6D,mBAAA,GAAsB;QACpBpB,GAAA,EAAK,CAAC;UAAEzC,UAAA,EAAY;YAAE2C,MAAA,EAAQ3C;UAAW;QAAE;MAC7C;IACF;IAEA,MAAM8D,mBAAA,GAAsB,IAAI;IAAA;IAChC,MAAMC,iBAAA,GAAoBjE,cAAA,GACtBV,GAAA,CAAIK,OAAO,CAACD,MAAM,CAACoB,WAAW,CAACK,IAAI,CAAE+C,CAAA,IAAMA,CAAA,CAAEhC,IAAI,KAAKlC,cAAA,GAAiBmE,aAAA,GACvE7E,GAAA,CAAIK,OAAO,CAACD,MAAM,CAACsC,OAAO,CAACb,IAAI,CAAEiD,CAAA,IAAMA,CAAA,CAAElC,IAAI,KAAKhC,UAAA,GAAaiE,aAAA;IAEnE,MAAME,YAAA,GACJ,OAAOJ,iBAAA,KAAsB,WAAWA,iBAAA,CAAkBK,QAAQ,GAAGN,mBAAA;IACvE,MAAMO,0BAAA,GAA6BF,YAAA,GAAe;IAClD,MAAMG,GAAA,GAAM,IAAIC,IAAA,GAAOC,OAAO;IAE9B,IAAIX,mBAAA,EAAqB;MACvB;MACAA,mBAAA,CAAoBpB,GAAG,CAACgC,IAAI,CAAC;QAC3BC,SAAA,EAAW;UACTC,YAAA,EAAc,IAAIJ,IAAA,CAAKD,GAAA,GAAMD,0BAAA,EAA4BO,WAAW;QACtE;MACF;MAEA,MAAMC,cAAA,GAAiB,MAAMzF,GAAA,CAAIK,OAAO,CAACwB,IAAI,CAAC;QAC5CT,UAAA,EAAY;QACZU,KAAA,EAAO;QACPC,KAAA,EAAO;QACPC,UAAA,EAAY;QACZoB,KAAA,EAAOqB;MACT;MAEA,IAAIgB,cAAA,CAAexD,IAAI,IAAIwD,cAAA,CAAexD,IAAI,CAACC,MAAM,GAAG,GAAG;QACzD,MAAMwD,WAAA,GAAc;UAClBC,QAAA,EAAU;UACVxE,IAAA,EAAMsE,cAAA,CAAexD,IAAI,CAAC,EAAE,EAAEd,IAAA,EAAMqC;QACtC;QAEA,MAAMoC,WAAA,GACJ,OAAOH,cAAA,CAAexD,IAAI,CAAC,EAAE,EAAEd,IAAA,EAAMqC,KAAA,KAAU,WAC3CiC,cAAA,CAAexD,IAAI,CAAC,EAAE,EAAEd,IAAA,EAAMqC,KAAA,EAAOpB,EAAA,GACrCqD,cAAA,CAAexD,IAAI,CAAC,EAAE,EAAEd,IAAA,EAAMqC,KAAA;QAEpC;QACA,IAAIvC,gBAAA,IAAoBjB,GAAA,CAAImB,IAAI,IAAIyE,WAAA,KAAgB5F,GAAA,CAAImB,IAAI,CAACiB,EAAE,EAAE;UAC/D,MAAMpC,GAAA,CAAIK,OAAO,CAACwF,EAAE,CAACC,SAAS,CAAC;YAC7B1D,EAAA,EAAIqD,cAAA,CAAexD,IAAI,CAAC,EAAE,CAACG,EAAE;YAC7BhB,UAAA,EAAY;YACZX,IAAA,EAAM,CAAC;YACPT;UACF;QACF;QAEA,OAAO;UAAE0F,WAAA;UAAaK,KAAA,EAAOzB;QAAO;MACtC,OAAO;QACL;QACA;QACA,IAAI0B,uBAAA;QAEJ,IAAItF,cAAA,EAAgB;UAClBsF,uBAAA,GAA0B;YACxB3C,GAAA,EAAK,CACH;cAAE,uBAAuB;gBAAEE,MAAA,EAAQ7C;cAAe;YAAE,GACpD;cACE4E,SAAA,EAAW;gBACTW,SAAA,EAAW,IAAId,IAAA,CAAKD,GAAA,GAAMD,0BAAA,EAA4BO,WAAW;cACnE;YACF;UAEJ;QACF,OAAO,IAAI5E,UAAA,EAAY;UACrBoF,uBAAA,GAA0B;YACxB3C,GAAA,EAAK,CACH;cAAEzC,UAAA,EAAY;gBAAE2C,MAAA,EAAQ3C;cAAW;YAAE,GACrC;cACE0E,SAAA,EAAW;gBACTW,SAAA,EAAW,IAAId,IAAA,CAAKD,GAAA,GAAMD,0BAAA,EAA4BO,WAAW;cACnE;YACF;UAEJ;QACF;QAEA,MAAMxF,GAAA,CAAIK,OAAO,CAACwF,EAAE,CAACK,UAAU,CAAC;UAC9B9E,UAAA,EAAY;UACZpB,GAAA;UACAoD,KAAA,EAAO4C;QACT;QAEA,MAAMhG,GAAA,CAAIK,OAAO,CAACwF,EAAE,CAACM,MAAM,CAAC;UAC1B/E,UAAA,EAAY;UACZX,IAAA,EAAM;YACJ2F,QAAA,EAAU1F,cAAA,GACN;cACE2F,UAAA,EAAY,CAAC3F,cAAA,CAAe;cAC5B8C,KAAA,EAAOpB;YACT,IACAC,SAAA;YACJzB,UAAA,EAAYA,UAAA,GAAaA,UAAA,GAAayB,SAAA;YACtClB,IAAA,EAAM;cACJkF,UAAA,EAAY,CAACrG,GAAA,CAAImB,IAAI,CAACC,UAAU,CAAC;cACjCoC,KAAA,EAAOxD,GAAA,CAAImB,IAAI,CAACiB;YAClB;UACF;UACApC;QACF;QAEA,MAAM0F,WAAA,GAAc;UAClBC,QAAA,EAAU;UACVxE,IAAA,EAAMnB,GAAA,CAAImB;QACZ;QAEA,OAAO;UAAEuE,WAAA;UAAaK,KAAA,EAAOzB;QAAO;MACtC;IACF;EACF;EAEA,OAAO;IAAEyB,KAAA,EAAOzB;EAAO;AACzB","ignoreList":[]}
1
+ {"version":3,"file":"buildFormState.js","names":["createClientConfig","formatErrors","reduceFieldsToValues","fieldSchemasToFormState","renderField","buildFieldSchemaMap","handleFormStateLocking","cachedFieldMap","global","_payload_fieldMap","cachedClientConfig","_payload_clientConfig","getFieldSchemaMap","args","collectionSlug","config","globalSlug","i18n","process","env","NODE_ENV","Map","cachedEntityFieldMap","get","fieldSchemaMap","entityFieldMap","set","getClientConfig","buildFormStateHandler","req","incomingUserSlug","user","collection","adminUserSlug","payload","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","res","buildFormState","err","logger","error","msg","message","id","idFromArgs","data","incomingData","docPermissions","docPreferences","formState","operation","renderAllFields","returnLockStatus","schemaPath","updateLastEdited","undefined","fieldOrEntityConfig","fields","type","Array","isArray","formStateResult","permissions","preferences","previousFormState","renderFieldFn","upload","file","lockedStateResult","lockedState","state"],"sources":["../../src/utilities/buildFormState.ts"],"sourcesContent":["import type { I18n, I18nClient } from '@payloadcms/translations'\nimport type {\n BuildFormStateArgs,\n ClientConfig,\n ClientUser,\n ErrorResult,\n FieldSchemaMap,\n FormState,\n SanitizedConfig,\n} from 'payload'\n\nimport { createClientConfig, formatErrors } from 'payload'\nimport { reduceFieldsToValues } from 'payload/shared'\n\nimport { fieldSchemasToFormState } from '../forms/fieldSchemasToFormState/index.js'\nimport { renderField } from '../forms/fieldSchemasToFormState/renderField.js'\nimport { buildFieldSchemaMap } from './buildFieldSchemaMap/index.js'\nimport { handleFormStateLocking } from './handleFormStateLocking.js'\n\nlet cachedFieldMap = global._payload_fieldMap\nlet cachedClientConfig = global._payload_clientConfig\n\nif (!cachedFieldMap) {\n cachedFieldMap = global._payload_fieldMap = null\n}\n\nif (!cachedClientConfig) {\n cachedClientConfig = global._payload_clientConfig = null\n}\n\nexport const getFieldSchemaMap = (args: {\n collectionSlug?: string\n config: SanitizedConfig\n globalSlug?: string\n i18n: I18nClient\n}): FieldSchemaMap => {\n const { collectionSlug, config, globalSlug, i18n } = args\n\n if (process.env.NODE_ENV !== 'development') {\n if (!cachedFieldMap) {\n cachedFieldMap = new Map()\n }\n const cachedEntityFieldMap = cachedFieldMap.get(collectionSlug || globalSlug)\n if (cachedEntityFieldMap) {\n return cachedEntityFieldMap\n }\n }\n\n const { fieldSchemaMap: entityFieldMap } = buildFieldSchemaMap({\n collectionSlug,\n config,\n globalSlug,\n i18n: i18n as I18n,\n })\n\n if (process.env.NODE_ENV !== 'development') {\n cachedFieldMap.set(collectionSlug || globalSlug, entityFieldMap)\n }\n\n return entityFieldMap\n}\n\nexport const getClientConfig = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n}): ClientConfig => {\n const { config, i18n } = args\n\n if (cachedClientConfig && process.env.NODE_ENV !== 'development') {\n return cachedClientConfig\n }\n\n cachedClientConfig = createClientConfig({\n config,\n i18n,\n })\n\n return cachedClientConfig\n}\n\ntype BuildFormStateSuccessResult = {\n clientConfig?: ClientConfig\n errors?: never\n indexPath?: string\n lockedState?: { isLocked: boolean; lastEditedAt: string; user: ClientUser | number | string }\n state: FormState\n}\n\ntype BuildFormStateErrorResult = {\n lockedState?: never\n state?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport type BuildFormStateResult = BuildFormStateErrorResult | BuildFormStateSuccessResult\n\nexport const buildFormStateHandler = async (\n args: BuildFormStateArgs,\n): Promise<BuildFormStateResult> => {\n const { req } = args\n\n const incomingUserSlug = req.user?.collection\n const adminUserSlug = req.payload.config.admin.user\n\n try {\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = req.payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await req.payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n\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 res = await buildFormState(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 buildFormState = async (\n args: BuildFormStateArgs,\n): Promise<BuildFormStateSuccessResult> => {\n const {\n id: idFromArgs,\n collectionSlug,\n data: incomingData,\n docPermissions,\n docPreferences,\n formState,\n globalSlug,\n operation,\n renderAllFields,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n },\n returnLockStatus,\n schemaPath = collectionSlug || globalSlug,\n updateLastEdited,\n } = args\n\n let data = incomingData\n\n if (!collectionSlug && !globalSlug) {\n throw new Error('Either collectionSlug or globalSlug must be provided')\n }\n\n const fieldSchemaMap = getFieldSchemaMap({\n collectionSlug,\n config,\n globalSlug,\n i18n,\n })\n\n const id = collectionSlug ? idFromArgs : undefined\n const fieldOrEntityConfig = fieldSchemaMap.get(schemaPath)\n\n if (!fieldOrEntityConfig) {\n throw new Error(`Could not find \"${schemaPath}\" in the fieldSchemaMap`)\n }\n\n if (\n (!('fields' in fieldOrEntityConfig) ||\n !fieldOrEntityConfig.fields ||\n !fieldOrEntityConfig.fields.length) &&\n 'type' in fieldOrEntityConfig &&\n fieldOrEntityConfig.type !== 'blocks'\n ) {\n throw new Error(\n `The field found in fieldSchemaMap for \"${schemaPath}\" does not contain any subfields.`,\n )\n }\n\n // If there is a form state,\n // then we can deduce data from that form state\n if (formState) {\n data = reduceFieldsToValues(formState, true)\n }\n\n /**\n * When building state for sub schemas we need to adjust:\n * - `fields`\n * - `parentSchemaPath`\n * - `parentPath`\n *\n * Type assertion is fine because we wrap sub schemas in an array\n * so we can safely map over them within `fieldSchemasToFormState`\n */\n const fields = Array.isArray(fieldOrEntityConfig)\n ? fieldOrEntityConfig\n : 'fields' in fieldOrEntityConfig\n ? fieldOrEntityConfig.fields\n : [fieldOrEntityConfig]\n\n const formStateResult = await fieldSchemasToFormState({\n id,\n collectionSlug,\n data,\n fields,\n fieldSchemaMap,\n operation,\n permissions: docPermissions?.fields || {},\n preferences: docPreferences || { fields: {} },\n previousFormState: formState,\n renderAllFields,\n renderFieldFn: renderField,\n req,\n schemaPath,\n })\n\n // Maintain form state of auth / upload fields\n if (collectionSlug && formState) {\n if (payload.collections[collectionSlug]?.config?.upload && formState.file) {\n formStateResult.file = formState.file\n }\n }\n\n let lockedStateResult\n\n if (returnLockStatus) {\n lockedStateResult = await handleFormStateLocking({\n id,\n collectionSlug,\n globalSlug,\n req,\n updateLastEdited,\n })\n }\n\n return {\n lockedState: lockedStateResult,\n state: formStateResult,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ import type { I18nClient } from '@payloadcms/translations';
2
+ import type { BuildTableStateArgs, ClientConfig, ErrorResult, PaginatedDocs, SanitizedConfig } from 'payload';
3
+ import type { Column } from '../elements/Table/index.js';
4
+ import type { ListPreferences } from '../elements/TableColumns/index.js';
5
+ export declare const getClientConfig: (args: {
6
+ config: SanitizedConfig;
7
+ i18n: I18nClient;
8
+ }) => ClientConfig;
9
+ type BuildTableStateSuccessResult = {
10
+ clientConfig?: ClientConfig;
11
+ data: PaginatedDocs;
12
+ errors?: never;
13
+ preferences: ListPreferences;
14
+ renderedFilters: Map<string, React.ReactNode>;
15
+ state: Column[];
16
+ Table: React.ReactNode;
17
+ };
18
+ type BuildTableStateErrorResult = {
19
+ data?: any;
20
+ renderedFilters?: never;
21
+ state?: never;
22
+ Table?: never;
23
+ } & ({
24
+ message: string;
25
+ } | ErrorResult);
26
+ export type BuildTableStateResult = BuildTableStateErrorResult | BuildTableStateSuccessResult;
27
+ export declare const buildTableStateHandler: (args: BuildTableStateArgs) => Promise<BuildTableStateResult>;
28
+ export declare const buildTableState: (args: BuildTableStateArgs) => Promise<BuildTableStateSuccessResult>;
29
+ export {};
30
+ //# sourceMappingURL=buildTableState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildTableState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildTableState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,mBAAmB,EAEnB,YAAY,EACZ,WAAW,EACX,aAAa,EAEb,eAAe,EAChB,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAUxE,eAAO,MAAM,eAAe,SAAU;IACpC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;CACjB,KAAG,YAaH,CAAA;AAED,KAAK,4BAA4B,GAAG;IAClC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,WAAW,EAAE,eAAe,CAAA;IAC5B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC7C,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,CAAA;AAED,KAAK,0BAA0B,GAAG;IAChC,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,eAAe,CAAC,EAAE,KAAK,CAAA;IACvB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,WAAW,CACd,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,0BAA0B,GAAG,4BAA4B,CAAA;AAE7F,eAAO,MAAM,sBAAsB,SAC3B,mBAAmB,KACxB,OAAO,CAAC,qBAAqB,CAqB/B,CAAA;AAED,eAAO,MAAM,eAAe,SACpB,mBAAmB,KACxB,OAAO,CAAC,4BAA4B,CAoKtC,CAAA"}