@payloadcms/ui 3.23.0 → 3.24.0-canary.05013b2

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 (281) hide show
  1. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  2. package/dist/elements/AppHeader/index.js +2 -4
  3. package/dist/elements/AppHeader/index.js.map +1 -1
  4. package/dist/elements/Banner/index.d.ts.map +1 -1
  5. package/dist/elements/Banner/index.js +1 -2
  6. package/dist/elements/Banner/index.js.map +1 -1
  7. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  8. package/dist/elements/BulkUpload/EditForm/index.js +6 -2
  9. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  10. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  11. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +22 -20
  12. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  13. package/dist/elements/Button/index.d.ts.map +1 -1
  14. package/dist/elements/Button/index.js +11 -12
  15. package/dist/elements/Button/index.js.map +1 -1
  16. package/dist/elements/Button/types.d.ts +5 -0
  17. package/dist/elements/Button/types.d.ts.map +1 -1
  18. package/dist/elements/Button/types.js.map +1 -1
  19. package/dist/elements/Card/index.d.ts +7 -3
  20. package/dist/elements/Card/index.d.ts.map +1 -1
  21. package/dist/elements/Card/index.js +0 -2
  22. package/dist/elements/Card/index.js.map +1 -1
  23. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  24. package/dist/elements/CopyLocaleData/index.js +220 -99
  25. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  26. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  27. package/dist/elements/DeleteDocument/index.js +7 -3
  28. package/dist/elements/DeleteDocument/index.js.map +1 -1
  29. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  30. package/dist/elements/DeleteMany/index.js +2 -2
  31. package/dist/elements/DeleteMany/index.js.map +1 -1
  32. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  33. package/dist/elements/DocumentControls/index.js.map +1 -1
  34. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  35. package/dist/elements/DocumentLocked/index.js +67 -39
  36. package/dist/elements/DocumentLocked/index.js.map +1 -1
  37. package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -1
  38. package/dist/elements/DocumentTakeOver/index.js +28 -12
  39. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  40. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  41. package/dist/elements/DuplicateDocument/index.js +8 -4
  42. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  43. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  44. package/dist/elements/EditMany/DrawerContent.js +3 -2
  45. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  46. package/dist/elements/EditUpload/index.js +1 -1
  47. package/dist/elements/EditUpload/index.js.map +1 -1
  48. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -0
  49. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  50. package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -17
  51. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  52. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +1 -0
  53. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  54. package/dist/elements/FileDetails/StaticFileDetails/index.js +2 -1
  55. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  56. package/dist/elements/FileDetails/index.d.ts +1 -0
  57. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  58. package/dist/elements/FileDetails/index.js.map +1 -1
  59. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  60. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  61. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +6 -2
  62. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  63. package/dist/elements/Link/formatUrl.d.ts +4 -0
  64. package/dist/elements/Link/formatUrl.d.ts.map +1 -0
  65. package/dist/elements/Link/formatUrl.js +87 -0
  66. package/dist/elements/Link/formatUrl.js.map +1 -0
  67. package/dist/elements/Link/index.d.ts +6 -0
  68. package/dist/elements/Link/index.d.ts.map +1 -0
  69. package/dist/elements/Link/index.js +58 -0
  70. package/dist/elements/Link/index.js.map +1 -0
  71. package/dist/elements/ListControls/index.d.ts +2 -1
  72. package/dist/elements/ListControls/index.d.ts.map +1 -1
  73. package/dist/elements/ListControls/index.js +5 -3
  74. package/dist/elements/ListControls/index.js.map +1 -1
  75. package/dist/elements/Logout/index.d.ts +5 -0
  76. package/dist/elements/Logout/index.d.ts.map +1 -1
  77. package/dist/elements/Logout/index.js +10 -13
  78. package/dist/elements/Logout/index.js.map +1 -1
  79. package/dist/elements/Nav/context.d.ts.map +1 -1
  80. package/dist/elements/Nav/context.js +3 -1
  81. package/dist/elements/Nav/context.js.map +1 -1
  82. package/dist/elements/Pill/index.d.ts.map +1 -1
  83. package/dist/elements/Pill/index.js +1 -2
  84. package/dist/elements/Pill/index.js.map +1 -1
  85. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  86. package/dist/elements/Popup/PopupButtonList/index.js +1 -2
  87. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  88. package/dist/elements/PreviewButton/index.d.ts +2 -1
  89. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  90. package/dist/elements/PreviewButton/index.js +2 -2
  91. package/dist/elements/PreviewButton/index.js.map +1 -1
  92. package/dist/elements/PreviewSizes/index.js +1 -1
  93. package/dist/elements/PreviewSizes/index.js.map +1 -1
  94. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts +1 -2
  95. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  96. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  97. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  98. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  99. package/dist/elements/PublishButton/index.d.ts +2 -3
  100. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  101. package/dist/elements/PublishButton/index.js +2 -2
  102. package/dist/elements/PublishButton/index.js.map +1 -1
  103. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  104. package/dist/elements/RelationshipTable/index.js.map +1 -1
  105. package/dist/elements/SaveButton/index.d.ts +2 -3
  106. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  107. package/dist/elements/SaveButton/index.js +3 -3
  108. package/dist/elements/SaveButton/index.js.map +1 -1
  109. package/dist/elements/SaveDraftButton/index.d.ts +2 -1
  110. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  111. package/dist/elements/SaveDraftButton/index.js +2 -2
  112. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  113. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  114. package/dist/elements/StayLoggedIn/index.js +32 -27
  115. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  116. package/dist/elements/StepNav/index.d.ts +5 -0
  117. package/dist/elements/StepNav/index.d.ts.map +1 -1
  118. package/dist/elements/StepNav/index.js +18 -25
  119. package/dist/elements/StepNav/index.js.map +1 -1
  120. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  121. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +12 -4
  122. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  123. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  124. package/dist/elements/Table/DefaultCell/index.js +1 -2
  125. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  126. package/dist/elements/Table/index.d.ts +1 -9
  127. package/dist/elements/Table/index.d.ts.map +1 -1
  128. package/dist/elements/Table/index.js.map +1 -1
  129. package/dist/elements/TableColumns/buildColumnState.d.ts +1 -2
  130. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  131. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  132. package/dist/elements/TableColumns/index.d.ts +1 -2
  133. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  134. package/dist/elements/TableColumns/index.js.map +1 -1
  135. package/dist/elements/Thumbnail/index.js +2 -2
  136. package/dist/elements/Thumbnail/index.js.map +1 -1
  137. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  138. package/dist/elements/UnpublishMany/index.js.map +1 -1
  139. package/dist/elements/Upload/index.d.ts.map +1 -1
  140. package/dist/elements/Upload/index.js +5 -1
  141. package/dist/elements/Upload/index.js.map +1 -1
  142. package/dist/elements/ViewDescription/index.d.ts +2 -5
  143. package/dist/elements/ViewDescription/index.d.ts.map +1 -1
  144. package/dist/elements/ViewDescription/index.js +2 -2
  145. package/dist/elements/ViewDescription/index.js.map +1 -1
  146. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts +2 -1
  147. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts.map +1 -1
  148. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +2 -0
  149. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  150. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  151. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +4 -0
  152. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  153. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts +2 -1
  154. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
  155. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  156. package/dist/elements/WhereBuilder/Condition/index.d.ts +2 -1
  157. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  158. package/dist/elements/WhereBuilder/Condition/index.js +2 -0
  159. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  160. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  161. package/dist/elements/WhereBuilder/index.js +3 -1
  162. package/dist/elements/WhereBuilder/index.js.map +1 -1
  163. package/dist/elements/WhereBuilder/types.d.ts +2 -1
  164. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  165. package/dist/elements/WhereBuilder/types.js.map +1 -1
  166. package/dist/exports/client/{CodeEditor-BMYVMDNZ.js → CodeEditor-L6GW2VQ6.js} +2 -2
  167. package/dist/exports/client/chunk-ZZDNSFEW.js +26 -0
  168. package/dist/exports/client/{chunk-CQQHQHCB.js.map → chunk-ZZDNSFEW.js.map} +4 -4
  169. package/dist/exports/client/index.d.ts +47 -4
  170. package/dist/exports/client/index.d.ts.map +1 -1
  171. package/dist/exports/client/index.js +23 -23
  172. package/dist/exports/client/index.js.map +4 -4
  173. package/dist/exports/rsc/index.d.ts +1 -0
  174. package/dist/exports/rsc/index.d.ts.map +1 -1
  175. package/dist/exports/rsc/index.js +1 -0
  176. package/dist/exports/rsc/index.js.map +1 -1
  177. package/dist/fields/Array/index.d.ts.map +1 -1
  178. package/dist/fields/Array/index.js +1 -2
  179. package/dist/fields/Array/index.js.map +1 -1
  180. package/dist/fields/Blocks/BlockRow.d.ts +1 -1
  181. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  182. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  183. package/dist/fields/Blocks/BlocksDrawer/index.d.ts +1 -1
  184. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  185. package/dist/fields/Blocks/BlocksDrawer/index.js +31 -23
  186. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  187. package/dist/fields/Blocks/RowActions.d.ts +1 -1
  188. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  189. package/dist/fields/Blocks/RowActions.js.map +1 -1
  190. package/dist/fields/Blocks/index.d.ts.map +1 -1
  191. package/dist/fields/Blocks/index.js +6 -4
  192. package/dist/fields/Blocks/index.js.map +1 -1
  193. package/dist/fields/JSON/index.d.ts.map +1 -1
  194. package/dist/fields/JSON/index.js +5 -6
  195. package/dist/fields/JSON/index.js.map +1 -1
  196. package/dist/fields/Join/index.d.ts.map +1 -1
  197. package/dist/fields/Join/index.js +20 -4
  198. package/dist/fields/Join/index.js.map +1 -1
  199. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  200. package/dist/fields/Relationship/optionsReducer.js +1 -0
  201. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  202. package/dist/fields/Upload/Input.d.ts +1 -0
  203. package/dist/fields/Upload/Input.d.ts.map +1 -1
  204. package/dist/fields/Upload/Input.js.map +1 -1
  205. package/dist/fields/Upload/RelationshipContent/index.js +1 -1
  206. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  207. package/dist/forms/Form/index.d.ts.map +1 -1
  208. package/dist/forms/Form/index.js +5 -1
  209. package/dist/forms/Form/index.js.map +1 -1
  210. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  211. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +4 -3
  212. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  213. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  214. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +1 -1
  215. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  216. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  217. package/dist/forms/fieldSchemasToFormState/renderField.js +2 -1
  218. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  219. package/dist/providers/Auth/index.d.ts.map +1 -1
  220. package/dist/providers/Auth/index.js +9 -13
  221. package/dist/providers/Auth/index.js.map +1 -1
  222. package/dist/providers/Config/index.d.ts +2 -2
  223. package/dist/providers/Config/index.d.ts.map +1 -1
  224. package/dist/providers/Config/index.js +17 -2
  225. package/dist/providers/Config/index.js.map +1 -1
  226. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  227. package/dist/providers/ListQuery/index.js +2 -1
  228. package/dist/providers/ListQuery/index.js.map +1 -1
  229. package/dist/providers/Root/index.d.ts.map +1 -1
  230. package/dist/providers/Root/index.js +44 -41
  231. package/dist/providers/Root/index.js.map +1 -1
  232. package/dist/providers/RouteTransition/ProgressBar/index.d.ts +17 -0
  233. package/dist/providers/RouteTransition/ProgressBar/index.d.ts.map +1 -0
  234. package/dist/providers/RouteTransition/ProgressBar/index.js +104 -0
  235. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -0
  236. package/dist/providers/RouteTransition/ProgressBar/index.scss +21 -0
  237. package/dist/providers/RouteTransition/index.d.ts +51 -0
  238. package/dist/providers/RouteTransition/index.d.ts.map +1 -0
  239. package/dist/providers/RouteTransition/index.js +133 -0
  240. package/dist/providers/RouteTransition/index.js.map +1 -0
  241. package/dist/styles.css +1 -1
  242. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
  243. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +3 -1
  244. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  245. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  246. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +4 -1
  247. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  248. package/dist/utilities/buildTableState.d.ts +1 -2
  249. package/dist/utilities/buildTableState.d.ts.map +1 -1
  250. package/dist/utilities/buildTableState.js +1 -0
  251. package/dist/utilities/buildTableState.js.map +1 -1
  252. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  253. package/dist/utilities/copyDataFromLocale.js +22 -18
  254. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  255. package/dist/utilities/getClientConfig.js.map +1 -1
  256. package/dist/utilities/renderTable.d.ts.map +1 -1
  257. package/dist/utilities/renderTable.js.map +1 -1
  258. package/dist/utilities/resolveFilterOptions.d.ts +5 -0
  259. package/dist/utilities/resolveFilterOptions.d.ts.map +1 -0
  260. package/dist/{forms/fieldSchemasToFormState/getFilterOptionsQuery.js → utilities/resolveFilterOptions.js} +2 -2
  261. package/dist/utilities/resolveFilterOptions.js.map +1 -0
  262. package/dist/views/Edit/index.d.ts +2 -2
  263. package/dist/views/Edit/index.d.ts.map +1 -1
  264. package/dist/views/Edit/index.js +8 -4
  265. package/dist/views/Edit/index.js.map +1 -1
  266. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  267. package/dist/views/List/ListHeader/index.js +1 -4
  268. package/dist/views/List/ListHeader/index.js.map +1 -1
  269. package/dist/views/List/index.d.ts +2 -24
  270. package/dist/views/List/index.d.ts.map +1 -1
  271. package/dist/views/List/index.js +7 -7
  272. package/dist/views/List/index.js.map +1 -1
  273. package/dist/views/List/types.d.ts +1 -18
  274. package/dist/views/List/types.d.ts.map +1 -1
  275. package/dist/views/List/types.js.map +1 -1
  276. package/package.json +6 -6
  277. package/dist/exports/client/chunk-CQQHQHCB.js +0 -26
  278. package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.d.ts +0 -7
  279. package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.d.ts.map +0 -1
  280. package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.js.map +0 -1
  281. /package/dist/exports/client/{CodeEditor-BMYVMDNZ.js.map → CodeEditor-L6GW2VQ6.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["c","_c","useModal","qs","React","useCallback","useEffect","useMemo","useBulkUpload","Button","useDocumentDrawer","Dropzone","useListDrawer","RenderCustomComponent","ShimmerEffect","FieldDescription","FieldError","FieldLabel","useAuth","useLocale","useTranslation","fieldBaseClass","UploadComponentHasMany","UploadComponentHasOne","baseClass","UploadInput","props","$","AfterInput","allowCreate","api","BeforeInput","className","Description","description","Error","filterOptions","filterOptionsFromProps","hasMany","isSortable","Label","label","localized","maxRows","onChange","onChangeFromProps","path","readOnly","relationTo","required","serverURL","showError","style","value","populatedDocs","setPopulatedDocs","useState","activeRelationTo","Array","isArray","openModal","drawerSlug","setCollectionSlug","setCurrentActivePath","setInitialFiles","setMaxFiles","setOnSuccess","permissions","code","i18n","t","t0","t1","t2","id","t3","not_in","t4","concat","t5","t6","t7","t8","t9","collectionSlugs","ListDrawer","t10","closeDrawer","closeListDrawer","openDrawer","openListDrawer","t11","collectionSlug","CreateDocDrawer","t12","closeCreateDocDrawer","openCreateDocDrawer","loadedValueDocsRef","useRef","t13","bb0","collections","create","canCreate","t14","newValue","t15","language","ids","relatedCollectionSlug","query","depth","draft","limit","length","locale","where","and","in","response","fetch","body","stringify","credentials","headers","method","ok","json","sortedDocs","map","docs","find","doc","String","includes","undefined","doc_0","index","filename","isPlaceholder","populateDocs","t16","newDocs","mergedValue","_temp","currentDocs","doc_2","firstDoc","onUploadSuccess","t17","fileList","fileListToUse","dataTransfer","DataTransfer","items","add","files","onLocalFileSelection","t18","selectedDocIDs","id_0","isSelected","push","loadedDocs","currentDocs_0","doc_3","onListBulkSelect","t19","data","currentDocs_1","onDocCreate","t20","t21","docID","loadedDocs_0","selectedDoc","currentDocs_2","onListSelect","docID_0","collectionSlug_0","docs_0","updatedDocsToPropogate","currentDocs_3","existingDocIndex","findIndex","doc_4","hasExisting","updatedDocs","_temp2","reloadDoc","t22","newValue_0","newValueIDs","_temp3","onReorder","t23","newValue_1","newValueIDs_0","_temp4","onRemove","t24","t25","loadInitialDocs","current","loadedDocs_1","doc_6","t26","t27","showDropzone","t28","t29","t30","filter","Boolean","t31","join","t32","replace","t33","_jsxs","children","_jsx","CustomComponent","Fallback","_Fragment","fileDocs","readonly","_temp5","fileDoc","height","disabled","multipleFiles","buttonStyle","onClick","size","onSave","enableRowSelections","onBulkSelect","onSelect","id_1","value_1","value_0","doc_5","doc_1"],"sources":["../../../src/fields/Upload/Input.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientCollectionConfig,\n FieldLabelClientProps,\n FilterOptionsResult,\n JsonObject,\n StaticDescription,\n StaticLabel,\n UploadFieldClient,\n UploadField as UploadFieldType,\n Where,\n} from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\nimport type { PopulateDocs, ReloadDoc } from './types.js'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { Dropzone } from '../../elements/Dropzone/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { UploadComponentHasMany } from './HasMany/index.js'\nimport { UploadComponentHasOne } from './HasOne/index.js'\nimport './index.scss'\n\nexport const baseClass = 'upload'\n\ntype PopulatedDocs = { relationTo: string; value: JsonObject }[]\n\nexport type UploadInputProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n /**\n * Controls the visibility of the \"Create new collection\" button\n */\n readonly api?: string\n readonly BeforeInput?: React.ReactNode\n readonly className?: string\n readonly collection?: ClientCollectionConfig\n readonly customUploadActions?: React.ReactNode[]\n readonly Description?: React.ReactNode\n readonly description?: StaticDescription\n readonly Error?: React.ReactNode\n readonly filterOptions?: FilterOptionsResult\n readonly hasMany?: boolean\n readonly isSortable?: boolean\n readonly Label?: React.ReactNode\n readonly label?: StaticLabel\n readonly labelProps?: FieldLabelClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly localized?: boolean\n readonly maxRows?: number\n readonly onChange?: (e) => void\n readonly path: string\n readonly readOnly?: boolean\n readonly relationTo: UploadFieldType['relationTo']\n readonly required?: boolean\n readonly serverURL?: string\n readonly showError?: boolean\n readonly style?: React.CSSProperties\n readonly value?: (number | string)[] | (number | string)\n}\n\nexport function UploadInput(props: UploadInputProps) {\n const {\n AfterInput,\n allowCreate,\n api,\n BeforeInput,\n className,\n Description,\n description,\n Error,\n filterOptions: filterOptionsFromProps,\n hasMany,\n isSortable,\n Label,\n label,\n localized,\n maxRows,\n onChange: onChangeFromProps,\n path,\n readOnly,\n relationTo,\n required,\n serverURL,\n showError,\n style,\n value,\n } = props\n\n const [populatedDocs, setPopulatedDocs] = React.useState<\n {\n relationTo: string\n value: JsonObject\n }[]\n >()\n\n const [activeRelationTo, setActiveRelationTo] = React.useState<string>(\n Array.isArray(relationTo) ? relationTo[0] : relationTo,\n )\n\n const { openModal } = useModal()\n const {\n drawerSlug,\n setCollectionSlug,\n setCurrentActivePath,\n setInitialFiles,\n setMaxFiles,\n setOnSuccess,\n } = useBulkUpload()\n const { permissions } = useAuth()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const filterOptions: FilterOptionsResult = useMemo(() => {\n return {\n ...filterOptionsFromProps,\n [activeRelationTo]: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any) || {}),\n id: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any)?.id || {}),\n not_in: ((filterOptionsFromProps?.[activeRelationTo] as any)?.id?.not_in || []).concat(\n ...(Array.isArray(value) || value ? [value] : []),\n ),\n },\n },\n }\n }, [value, activeRelationTo, filterOptionsFromProps])\n\n const [ListDrawer, , { closeDrawer: closeListDrawer, openDrawer: openListDrawer }] =\n useListDrawer({\n collectionSlugs: typeof relationTo === 'string' ? [relationTo] : relationTo,\n filterOptions,\n })\n\n const [\n CreateDocDrawer,\n ,\n { closeDrawer: closeCreateDocDrawer, openDrawer: openCreateDocDrawer },\n ] = useDocumentDrawer({\n collectionSlug: activeRelationTo,\n })\n\n /**\n * Prevent initial retrieval of documents from running more than once\n */\n const loadedValueDocsRef = React.useRef<boolean>(false)\n\n const canCreate = useMemo(() => {\n if (!allowCreate) {\n return false\n }\n\n if (typeof activeRelationTo === 'string') {\n if (permissions?.collections && permissions.collections?.[activeRelationTo]?.create) {\n return true\n }\n }\n\n return false\n }, [activeRelationTo, permissions, allowCreate])\n\n const onChange = React.useCallback(\n (newValue) => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newValue)\n }\n },\n [onChangeFromProps],\n )\n\n const populateDocs = React.useCallback<PopulateDocs>(\n async (ids, relatedCollectionSlug) => {\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n draft: true,\n limit: ids.length,\n locale: code,\n where: {\n and: [\n {\n id: {\n in: ids,\n },\n },\n ],\n },\n }\n\n const response = await fetch(`${serverURL}${api}/${relatedCollectionSlug}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n if (response.ok) {\n const json = await response.json()\n let sortedDocs = ids.map((id) =>\n json.docs.find((doc) => {\n return String(doc.id) === String(id)\n }),\n )\n\n if (sortedDocs.includes(undefined) && hasMany) {\n sortedDocs = sortedDocs.map((doc, index) =>\n doc\n ? doc\n : {\n id: ids[index],\n filename: `${t('general:untitled')} - ID: ${ids[index]}`,\n isPlaceholder: true,\n },\n )\n }\n\n return { ...json, docs: sortedDocs }\n }\n\n return null\n },\n [code, serverURL, api, i18n.language, t, hasMany],\n )\n\n const onUploadSuccess = useCallback(\n (newDocs: JsonObject[]) => {\n if (hasMany) {\n const mergedValue = [\n ...(Array.isArray(value) ? value : []),\n ...newDocs.map((doc) => doc.id),\n ]\n onChange(mergedValue)\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...newDocs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n } else {\n const firstDoc = newDocs[0]\n onChange(firstDoc.id)\n setPopulatedDocs([\n {\n relationTo: activeRelationTo,\n value: firstDoc,\n },\n ])\n }\n },\n [value, onChange, activeRelationTo, hasMany],\n )\n\n const onLocalFileSelection = React.useCallback(\n (fileList?: FileList) => {\n let fileListToUse = fileList\n if (!hasMany && fileList && fileList.length > 1) {\n const dataTransfer = new DataTransfer()\n dataTransfer.items.add(fileList[0])\n fileListToUse = dataTransfer.files\n }\n if (fileListToUse) {\n setInitialFiles(fileListToUse)\n }\n setCollectionSlug(relationTo)\n if (typeof maxRows === 'number') {\n setMaxFiles(maxRows)\n }\n setCurrentActivePath(path)\n openModal(drawerSlug)\n },\n [\n drawerSlug,\n hasMany,\n openModal,\n relationTo,\n setCollectionSlug,\n setInitialFiles,\n maxRows,\n setMaxFiles,\n path,\n setCurrentActivePath,\n ],\n )\n\n // only hasMany can bulk select\n const onListBulkSelect = React.useCallback<NonNullable<ListDrawerProps['onBulkSelect']>>(\n async (docs) => {\n const selectedDocIDs = []\n\n for (const [id, isSelected] of docs) {\n if (isSelected) {\n selectedDocIDs.push(id)\n }\n }\n\n const loadedDocs = await populateDocs(selectedDocIDs, activeRelationTo)\n if (loadedDocs) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...loadedDocs.docs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n }\n onChange([...(Array.isArray(value) ? value : []), ...selectedDocIDs])\n closeListDrawer()\n },\n [activeRelationTo, closeListDrawer, onChange, populateDocs, value],\n )\n\n const onDocCreate = React.useCallback(\n (data) => {\n if (data.doc) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: data.doc,\n },\n ])\n\n onChange(data.doc.id)\n }\n closeCreateDocDrawer()\n },\n [closeCreateDocDrawer, activeRelationTo, onChange],\n )\n\n const onListSelect = React.useCallback<NonNullable<ListDrawerProps['onSelect']>>(\n async ({ collectionSlug, docID }) => {\n const loadedDocs = await populateDocs([docID], collectionSlug)\n const selectedDoc = loadedDocs ? loadedDocs.docs?.[0] : null\n setPopulatedDocs((currentDocs) => {\n if (selectedDoc) {\n if (hasMany) {\n return [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return [\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return currentDocs\n })\n if (hasMany) {\n onChange([...(Array.isArray(value) ? value : []), docID])\n } else {\n onChange(docID)\n }\n closeListDrawer()\n },\n [closeListDrawer, hasMany, populateDocs, onChange, value, activeRelationTo],\n )\n\n const reloadDoc = React.useCallback<ReloadDoc>(\n async (docID, collectionSlug) => {\n const { docs } = await populateDocs([docID], collectionSlug)\n\n if (docs[0]) {\n let updatedDocsToPropogate = []\n setPopulatedDocs((currentDocs) => {\n const existingDocIndex = currentDocs?.findIndex((doc) => {\n const hasExisting = doc.value?.id === docs[0].id || doc.value?.isPlaceholder\n return hasExisting && doc.relationTo === collectionSlug\n })\n if (existingDocIndex > -1) {\n const updatedDocs = [...currentDocs]\n updatedDocs[existingDocIndex] = {\n relationTo: collectionSlug,\n value: docs[0],\n }\n updatedDocsToPropogate = updatedDocs\n return updatedDocs\n }\n })\n\n if (updatedDocsToPropogate.length && hasMany) {\n onChange(updatedDocsToPropogate.map((doc) => doc.value?.id))\n }\n }\n },\n [populateDocs, onChange, hasMany],\n )\n\n // only hasMany can reorder\n const onReorder = React.useCallback(\n (newValue) => {\n const newValueIDs = newValue.map(({ value }) => value.id)\n onChange(newValueIDs)\n setPopulatedDocs(newValue)\n },\n [onChange],\n )\n\n const onRemove = React.useCallback(\n (newValue?: PopulatedDocs) => {\n const newValueIDs = newValue ? newValue.map(({ value }) => value.id) : null\n onChange(hasMany ? newValueIDs : newValueIDs ? newValueIDs[0] : null)\n setPopulatedDocs(newValue ? newValue : [])\n },\n [onChange, hasMany],\n )\n\n useEffect(() => {\n async function loadInitialDocs() {\n if (value) {\n loadedValueDocsRef.current = true\n const loadedDocs = await populateDocs(\n Array.isArray(value) ? value : [value],\n activeRelationTo,\n )\n if (loadedDocs) {\n setPopulatedDocs(\n loadedDocs.docs.map((doc) => ({ relationTo: activeRelationTo, value: doc })),\n )\n }\n }\n }\n\n if (!loadedValueDocsRef.current) {\n void loadInitialDocs()\n }\n }, [populateDocs, activeRelationTo, value])\n\n useEffect(() => {\n setOnSuccess(path, onUploadSuccess)\n }, [value, path, onUploadSuccess, setOnSuccess])\n\n const showDropzone =\n !value ||\n (hasMany && Array.isArray(value) && (typeof maxRows !== 'number' || value.length < maxRows)) ||\n (!hasMany && populatedDocs?.[0] && typeof populatedDocs[0].value === 'undefined')\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n style={style}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${baseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n </div>\n {BeforeInput}\n <div className={`${baseClass}__dropzoneAndUpload`}>\n {hasMany && Array.isArray(value) && value.length > 0 ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 ? (\n <UploadComponentHasMany\n fileDocs={populatedDocs}\n isSortable={isSortable && !readOnly}\n onRemove={onRemove}\n onReorder={onReorder}\n readonly={readOnly}\n reloadDoc={reloadDoc}\n serverURL={serverURL}\n />\n ) : (\n <div className={`${baseClass}__loadingRows`}>\n {value.map((id) => (\n <ShimmerEffect height=\"40px\" key={id} />\n ))}\n </div>\n )}\n </>\n ) : null}\n {!hasMany && value ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 && populatedDocs[0].value ? (\n <UploadComponentHasOne\n fileDoc={populatedDocs[0]}\n onRemove={onRemove}\n readonly={readOnly}\n reloadDoc={reloadDoc}\n serverURL={serverURL}\n />\n ) : populatedDocs && value && !populatedDocs?.[0]?.value ? (\n <>\n {t('general:untitled')} - ID: {value}\n </>\n ) : (\n <ShimmerEffect height=\"62px\" />\n )}\n </>\n ) : null}\n {showDropzone ? (\n <Dropzone\n disabled={readOnly || !canCreate}\n multipleFiles={hasMany}\n onChange={onLocalFileSelection}\n >\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneContent__buttons`}>\n {canCreate && (\n <>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__createNewToggler`}\n disabled={readOnly || !canCreate}\n onClick={() => {\n if (!readOnly) {\n if (hasMany) {\n onLocalFileSelection()\n } else {\n openCreateDocDrawer()\n }\n }\n }}\n size=\"small\"\n >\n {t('general:createNew')}\n </Button>\n <span className={`${baseClass}__dropzoneContent__orText`}>\n {t('general:or')}\n </span>\n </>\n )}\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__listToggler`}\n disabled={readOnly}\n onClick={openListDrawer}\n size=\"small\"\n >\n {t('fields:chooseFromExisting')}\n </Button>\n <CreateDocDrawer onSave={onDocCreate} />\n <ListDrawer\n allowCreate={canCreate}\n enableRowSelections={hasMany}\n onBulkSelect={onListBulkSelect}\n onSelect={onListSelect}\n />\n </div>\n\n {canCreate && !readOnly && (\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n )}\n </div>\n </Dropzone>\n ) : (\n <>\n {!readOnly &&\n !populatedDocs &&\n (!value ||\n typeof maxRows !== 'number' ||\n (Array.isArray(value) && value.length < maxRows)) ? (\n <ShimmerEffect height=\"40px\" />\n ) : null}\n </>\n )}\n </div>\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Input.js","names":["c","_c","useModal","qs","React","useCallback","useEffect","useMemo","useBulkUpload","Button","useDocumentDrawer","Dropzone","useListDrawer","RenderCustomComponent","ShimmerEffect","FieldDescription","FieldError","FieldLabel","useAuth","useLocale","useTranslation","fieldBaseClass","UploadComponentHasMany","UploadComponentHasOne","baseClass","UploadInput","props","$","AfterInput","allowCreate","api","BeforeInput","className","Description","description","Error","filterOptions","filterOptionsFromProps","hasMany","isSortable","Label","label","localized","maxRows","onChange","onChangeFromProps","path","readOnly","relationTo","required","serverURL","showError","style","value","populatedDocs","setPopulatedDocs","useState","activeRelationTo","Array","isArray","openModal","drawerSlug","setCollectionSlug","setCurrentActivePath","setInitialFiles","setMaxFiles","setOnSuccess","permissions","code","i18n","t","t0","t1","t2","id","t3","not_in","t4","concat","t5","t6","t7","t8","t9","collectionSlugs","ListDrawer","t10","closeDrawer","closeListDrawer","openDrawer","openListDrawer","t11","collectionSlug","CreateDocDrawer","t12","closeCreateDocDrawer","openCreateDocDrawer","loadedValueDocsRef","useRef","t13","bb0","collections","create","canCreate","t14","newValue","t15","language","ids","relatedCollectionSlug","query","depth","draft","limit","length","locale","where","and","in","response","fetch","body","stringify","credentials","headers","method","ok","json","sortedDocs","map","docs","find","doc","String","includes","undefined","doc_0","index","filename","isPlaceholder","populateDocs","t16","newDocs","mergedValue","_temp","currentDocs","doc_2","firstDoc","onUploadSuccess","t17","fileList","fileListToUse","dataTransfer","DataTransfer","items","add","files","onLocalFileSelection","t18","selectedDocIDs","id_0","isSelected","push","loadedDocs","currentDocs_0","doc_3","onListBulkSelect","t19","data","currentDocs_1","onDocCreate","t20","t21","docID","loadedDocs_0","selectedDoc","currentDocs_2","onListSelect","docID_0","collectionSlug_0","docs_0","updatedDocsToPropogate","currentDocs_3","existingDocIndex","findIndex","doc_4","hasExisting","updatedDocs","_temp2","reloadDoc","t22","newValue_0","newValueIDs","_temp3","onReorder","t23","newValue_1","newValueIDs_0","_temp4","onRemove","t24","t25","loadInitialDocs","current","loadedDocs_1","doc_6","t26","t27","showDropzone","t28","t29","t30","filter","Boolean","t31","join","t32","replace","t33","_jsxs","children","_jsx","CustomComponent","Fallback","_Fragment","fileDocs","readonly","_temp5","fileDoc","height","disabled","multipleFiles","buttonStyle","onClick","size","onSave","enableRowSelections","onBulkSelect","onSelect","id_1","value_1","value_0","doc_5","doc_1"],"sources":["../../../src/fields/Upload/Input.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientCollectionConfig,\n FieldLabelClientProps,\n FilterOptionsResult,\n JsonObject,\n StaticDescription,\n StaticLabel,\n UploadFieldClient,\n UploadField as UploadFieldType,\n Where,\n} from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\nimport type { PopulateDocs, ReloadDoc } from './types.js'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { Dropzone } from '../../elements/Dropzone/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { UploadComponentHasMany } from './HasMany/index.js'\nimport { UploadComponentHasOne } from './HasOne/index.js'\nimport './index.scss'\n\nexport const baseClass = 'upload'\n\ntype PopulatedDocs = { relationTo: string; value: JsonObject }[]\n\nexport type UploadInputProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n /**\n * Controls the visibility of the \"Create new collection\" button\n */\n readonly api?: string\n readonly BeforeInput?: React.ReactNode\n readonly className?: string\n readonly collection?: ClientCollectionConfig\n readonly customUploadActions?: React.ReactNode[]\n readonly Description?: React.ReactNode\n readonly description?: StaticDescription\n readonly Error?: React.ReactNode\n readonly filterOptions?: FilterOptionsResult\n readonly hasMany?: boolean\n readonly hideRemoveFile?: boolean\n readonly isSortable?: boolean\n readonly Label?: React.ReactNode\n readonly label?: StaticLabel\n readonly labelProps?: FieldLabelClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly localized?: boolean\n readonly maxRows?: number\n readonly onChange?: (e) => void\n readonly path: string\n readonly readOnly?: boolean\n readonly relationTo: UploadFieldType['relationTo']\n readonly required?: boolean\n readonly serverURL?: string\n readonly showError?: boolean\n readonly style?: React.CSSProperties\n readonly value?: (number | string)[] | (number | string)\n}\n\nexport function UploadInput(props: UploadInputProps) {\n const {\n AfterInput,\n allowCreate,\n api,\n BeforeInput,\n className,\n Description,\n description,\n Error,\n filterOptions: filterOptionsFromProps,\n hasMany,\n isSortable,\n Label,\n label,\n localized,\n maxRows,\n onChange: onChangeFromProps,\n path,\n readOnly,\n relationTo,\n required,\n serverURL,\n showError,\n style,\n value,\n } = props\n\n const [populatedDocs, setPopulatedDocs] = React.useState<\n {\n relationTo: string\n value: JsonObject\n }[]\n >()\n\n const [activeRelationTo, setActiveRelationTo] = React.useState<string>(\n Array.isArray(relationTo) ? relationTo[0] : relationTo,\n )\n\n const { openModal } = useModal()\n const {\n drawerSlug,\n setCollectionSlug,\n setCurrentActivePath,\n setInitialFiles,\n setMaxFiles,\n setOnSuccess,\n } = useBulkUpload()\n const { permissions } = useAuth()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const filterOptions: FilterOptionsResult = useMemo(() => {\n return {\n ...filterOptionsFromProps,\n [activeRelationTo]: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any) || {}),\n id: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any)?.id || {}),\n not_in: ((filterOptionsFromProps?.[activeRelationTo] as any)?.id?.not_in || []).concat(\n ...(Array.isArray(value) || value ? [value] : []),\n ),\n },\n },\n }\n }, [value, activeRelationTo, filterOptionsFromProps])\n\n const [ListDrawer, , { closeDrawer: closeListDrawer, openDrawer: openListDrawer }] =\n useListDrawer({\n collectionSlugs: typeof relationTo === 'string' ? [relationTo] : relationTo,\n filterOptions,\n })\n\n const [\n CreateDocDrawer,\n ,\n { closeDrawer: closeCreateDocDrawer, openDrawer: openCreateDocDrawer },\n ] = useDocumentDrawer({\n collectionSlug: activeRelationTo,\n })\n\n /**\n * Prevent initial retrieval of documents from running more than once\n */\n const loadedValueDocsRef = React.useRef<boolean>(false)\n\n const canCreate = useMemo(() => {\n if (!allowCreate) {\n return false\n }\n\n if (typeof activeRelationTo === 'string') {\n if (permissions?.collections && permissions.collections?.[activeRelationTo]?.create) {\n return true\n }\n }\n\n return false\n }, [activeRelationTo, permissions, allowCreate])\n\n const onChange = React.useCallback(\n (newValue) => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newValue)\n }\n },\n [onChangeFromProps],\n )\n\n const populateDocs = React.useCallback<PopulateDocs>(\n async (ids, relatedCollectionSlug) => {\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n draft: true,\n limit: ids.length,\n locale: code,\n where: {\n and: [\n {\n id: {\n in: ids,\n },\n },\n ],\n },\n }\n\n const response = await fetch(`${serverURL}${api}/${relatedCollectionSlug}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n if (response.ok) {\n const json = await response.json()\n let sortedDocs = ids.map((id) =>\n json.docs.find((doc) => {\n return String(doc.id) === String(id)\n }),\n )\n\n if (sortedDocs.includes(undefined) && hasMany) {\n sortedDocs = sortedDocs.map((doc, index) =>\n doc\n ? doc\n : {\n id: ids[index],\n filename: `${t('general:untitled')} - ID: ${ids[index]}`,\n isPlaceholder: true,\n },\n )\n }\n\n return { ...json, docs: sortedDocs }\n }\n\n return null\n },\n [code, serverURL, api, i18n.language, t, hasMany],\n )\n\n const onUploadSuccess = useCallback(\n (newDocs: JsonObject[]) => {\n if (hasMany) {\n const mergedValue = [\n ...(Array.isArray(value) ? value : []),\n ...newDocs.map((doc) => doc.id),\n ]\n onChange(mergedValue)\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...newDocs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n } else {\n const firstDoc = newDocs[0]\n onChange(firstDoc.id)\n setPopulatedDocs([\n {\n relationTo: activeRelationTo,\n value: firstDoc,\n },\n ])\n }\n },\n [value, onChange, activeRelationTo, hasMany],\n )\n\n const onLocalFileSelection = React.useCallback(\n (fileList?: FileList) => {\n let fileListToUse = fileList\n if (!hasMany && fileList && fileList.length > 1) {\n const dataTransfer = new DataTransfer()\n dataTransfer.items.add(fileList[0])\n fileListToUse = dataTransfer.files\n }\n if (fileListToUse) {\n setInitialFiles(fileListToUse)\n }\n setCollectionSlug(relationTo)\n if (typeof maxRows === 'number') {\n setMaxFiles(maxRows)\n }\n setCurrentActivePath(path)\n openModal(drawerSlug)\n },\n [\n drawerSlug,\n hasMany,\n openModal,\n relationTo,\n setCollectionSlug,\n setInitialFiles,\n maxRows,\n setMaxFiles,\n path,\n setCurrentActivePath,\n ],\n )\n\n // only hasMany can bulk select\n const onListBulkSelect = React.useCallback<NonNullable<ListDrawerProps['onBulkSelect']>>(\n async (docs) => {\n const selectedDocIDs = []\n\n for (const [id, isSelected] of docs) {\n if (isSelected) {\n selectedDocIDs.push(id)\n }\n }\n\n const loadedDocs = await populateDocs(selectedDocIDs, activeRelationTo)\n if (loadedDocs) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...loadedDocs.docs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n }\n onChange([...(Array.isArray(value) ? value : []), ...selectedDocIDs])\n closeListDrawer()\n },\n [activeRelationTo, closeListDrawer, onChange, populateDocs, value],\n )\n\n const onDocCreate = React.useCallback(\n (data) => {\n if (data.doc) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: data.doc,\n },\n ])\n\n onChange(data.doc.id)\n }\n closeCreateDocDrawer()\n },\n [closeCreateDocDrawer, activeRelationTo, onChange],\n )\n\n const onListSelect = React.useCallback<NonNullable<ListDrawerProps['onSelect']>>(\n async ({ collectionSlug, docID }) => {\n const loadedDocs = await populateDocs([docID], collectionSlug)\n const selectedDoc = loadedDocs ? loadedDocs.docs?.[0] : null\n setPopulatedDocs((currentDocs) => {\n if (selectedDoc) {\n if (hasMany) {\n return [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return [\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return currentDocs\n })\n if (hasMany) {\n onChange([...(Array.isArray(value) ? value : []), docID])\n } else {\n onChange(docID)\n }\n closeListDrawer()\n },\n [closeListDrawer, hasMany, populateDocs, onChange, value, activeRelationTo],\n )\n\n const reloadDoc = React.useCallback<ReloadDoc>(\n async (docID, collectionSlug) => {\n const { docs } = await populateDocs([docID], collectionSlug)\n\n if (docs[0]) {\n let updatedDocsToPropogate = []\n setPopulatedDocs((currentDocs) => {\n const existingDocIndex = currentDocs?.findIndex((doc) => {\n const hasExisting = doc.value?.id === docs[0].id || doc.value?.isPlaceholder\n return hasExisting && doc.relationTo === collectionSlug\n })\n if (existingDocIndex > -1) {\n const updatedDocs = [...currentDocs]\n updatedDocs[existingDocIndex] = {\n relationTo: collectionSlug,\n value: docs[0],\n }\n updatedDocsToPropogate = updatedDocs\n return updatedDocs\n }\n })\n\n if (updatedDocsToPropogate.length && hasMany) {\n onChange(updatedDocsToPropogate.map((doc) => doc.value?.id))\n }\n }\n },\n [populateDocs, onChange, hasMany],\n )\n\n // only hasMany can reorder\n const onReorder = React.useCallback(\n (newValue) => {\n const newValueIDs = newValue.map(({ value }) => value.id)\n onChange(newValueIDs)\n setPopulatedDocs(newValue)\n },\n [onChange],\n )\n\n const onRemove = React.useCallback(\n (newValue?: PopulatedDocs) => {\n const newValueIDs = newValue ? newValue.map(({ value }) => value.id) : null\n onChange(hasMany ? newValueIDs : newValueIDs ? newValueIDs[0] : null)\n setPopulatedDocs(newValue ? newValue : [])\n },\n [onChange, hasMany],\n )\n\n useEffect(() => {\n async function loadInitialDocs() {\n if (value) {\n loadedValueDocsRef.current = true\n const loadedDocs = await populateDocs(\n Array.isArray(value) ? value : [value],\n activeRelationTo,\n )\n if (loadedDocs) {\n setPopulatedDocs(\n loadedDocs.docs.map((doc) => ({ relationTo: activeRelationTo, value: doc })),\n )\n }\n }\n }\n\n if (!loadedValueDocsRef.current) {\n void loadInitialDocs()\n }\n }, [populateDocs, activeRelationTo, value])\n\n useEffect(() => {\n setOnSuccess(path, onUploadSuccess)\n }, [value, path, onUploadSuccess, setOnSuccess])\n\n const showDropzone =\n !value ||\n (hasMany && Array.isArray(value) && (typeof maxRows !== 'number' || value.length < maxRows)) ||\n (!hasMany && populatedDocs?.[0] && typeof populatedDocs[0].value === 'undefined')\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n style={style}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${baseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n </div>\n {BeforeInput}\n <div className={`${baseClass}__dropzoneAndUpload`}>\n {hasMany && Array.isArray(value) && value.length > 0 ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 ? (\n <UploadComponentHasMany\n fileDocs={populatedDocs}\n isSortable={isSortable && !readOnly}\n onRemove={onRemove}\n onReorder={onReorder}\n readonly={readOnly}\n reloadDoc={reloadDoc}\n serverURL={serverURL}\n />\n ) : (\n <div className={`${baseClass}__loadingRows`}>\n {value.map((id) => (\n <ShimmerEffect height=\"40px\" key={id} />\n ))}\n </div>\n )}\n </>\n ) : null}\n {!hasMany && value ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 && populatedDocs[0].value ? (\n <UploadComponentHasOne\n fileDoc={populatedDocs[0]}\n onRemove={onRemove}\n readonly={readOnly}\n reloadDoc={reloadDoc}\n serverURL={serverURL}\n />\n ) : populatedDocs && value && !populatedDocs?.[0]?.value ? (\n <>\n {t('general:untitled')} - ID: {value}\n </>\n ) : (\n <ShimmerEffect height=\"62px\" />\n )}\n </>\n ) : null}\n {showDropzone ? (\n <Dropzone\n disabled={readOnly || !canCreate}\n multipleFiles={hasMany}\n onChange={onLocalFileSelection}\n >\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneContent__buttons`}>\n {canCreate && (\n <>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__createNewToggler`}\n disabled={readOnly || !canCreate}\n onClick={() => {\n if (!readOnly) {\n if (hasMany) {\n onLocalFileSelection()\n } else {\n openCreateDocDrawer()\n }\n }\n }}\n size=\"small\"\n >\n {t('general:createNew')}\n </Button>\n <span className={`${baseClass}__dropzoneContent__orText`}>\n {t('general:or')}\n </span>\n </>\n )}\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__listToggler`}\n disabled={readOnly}\n onClick={openListDrawer}\n size=\"small\"\n >\n {t('fields:chooseFromExisting')}\n </Button>\n <CreateDocDrawer onSave={onDocCreate} />\n <ListDrawer\n allowCreate={canCreate}\n enableRowSelections={hasMany}\n onBulkSelect={onListBulkSelect}\n onSelect={onListSelect}\n />\n </div>\n\n {canCreate && !readOnly && (\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n )}\n </div>\n </Dropzone>\n ) : (\n <>\n {!readOnly &&\n !populatedDocs &&\n (!value ||\n typeof maxRows !== 'number' ||\n (Array.isArray(value) && value.length < maxRows)) ? (\n <ShimmerEffect height=\"40px\" />\n ) : null}\n </>\n )}\n </div>\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -65,7 +65,7 @@ export function RelationshipContent(props) {
65
65
  if ($[6] !== x || $[7] !== y) {
66
66
  t5 = function generateMetaText(mimeType_0, size) {
67
67
  const sections = [];
68
- if (mimeType_0?.includes("image")) {
68
+ if (size) {
69
69
  sections.push(formatFilesize(size));
70
70
  }
71
71
  if (x && y) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","formatFilesize","React","Button","useDocumentDrawer","ThumbnailComponent","baseClass","RelationshipContent","props","$","id","allowEdit","allowRemove","alt","byteSize","className","collectionSlug","filename","mimeType","onRemove","reloadDoc","src","withMeta","t0","x","y","undefined","t1","t2","DocumentDrawer","t3","openDrawer","t4","t5","doc","onSave","generateMetaText","mimeType_0","size","sections","includes","push","join","metaText","t6","filter","Boolean","t7","t8","t9","_jsx","href","target","children","_jsxs","fileSrc","buttonStyle","icon","iconStyle","onClick"],"sources":["../../../../src/fields/Upload/RelationshipContent/index.tsx"],"sourcesContent":["'use client'\n\nimport type { TypeWithID } from 'payload'\n\nimport { formatFilesize } from 'payload/shared'\nimport React from 'react'\n\nimport type { ReloadDoc } from '../types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../../elements/DocumentDrawer/index.js'\nimport { ThumbnailComponent } from '../../../elements/Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'upload-relationship-details'\n\ntype Props = {\n readonly allowEdit?: boolean\n readonly allowRemove?: boolean\n readonly alt: string\n readonly byteSize: number\n readonly className?: string\n readonly collectionSlug: string\n readonly filename: string\n readonly id?: number | string\n readonly mimeType: string\n readonly onRemove: () => void\n readonly reloadDoc: ReloadDoc\n readonly src: string\n readonly withMeta?: boolean\n readonly x?: number\n readonly y?: number\n}\nexport function RelationshipContent(props: Props) {\n const {\n id,\n allowEdit,\n allowRemove,\n alt,\n byteSize,\n className,\n collectionSlug,\n filename,\n mimeType,\n onRemove,\n reloadDoc,\n src,\n withMeta = true,\n x,\n y,\n } = props\n\n const [DocumentDrawer, _, { openDrawer }] = useDocumentDrawer({\n id: src ? id : undefined,\n collectionSlug,\n })\n\n const onSave = React.useCallback(\n async ({ doc }: { doc: TypeWithID }) => reloadDoc(doc.id, collectionSlug),\n [reloadDoc, collectionSlug],\n )\n\n function generateMetaText(mimeType: string, size: number): string {\n const sections: string[] = []\n if (mimeType?.includes('image')) {\n sections.push(formatFilesize(size))\n }\n\n if (x && y) {\n sections.push(`${x}x${y}`)\n }\n\n if (mimeType) {\n sections.push(mimeType)\n }\n\n return sections.join(' — ')\n }\n\n const metaText = withMeta ? generateMetaText(mimeType, byteSize) : ''\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__imageAndDetails`}>\n <ThumbnailComponent\n alt={alt}\n className={`${baseClass}__thumbnail`}\n filename={filename}\n fileSrc={src}\n size=\"small\"\n />\n <div className={`${baseClass}__details`}>\n <p className={`${baseClass}__filename`}>\n {src ? (\n <a href={src} target=\"_blank\">\n {filename}\n </a>\n ) : (\n filename\n )}\n </p>\n {withMeta ? <p className={`${baseClass}__meta`}>{metaText}</p> : null}\n </div>\n </div>\n\n {allowEdit !== false || allowRemove !== false ? (\n <div className={`${baseClass}__actions`}>\n {allowEdit !== false ? (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__edit`}\n icon=\"edit\"\n iconStyle=\"none\"\n onClick={openDrawer}\n />\n ) : null}\n {allowRemove !== false ? (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"none\"\n onClick={() => onRemove()}\n />\n ) : null}\n <DocumentDrawer onSave={onSave} />\n </div>\n ) : null}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","formatFilesize","React","Button","useDocumentDrawer","ThumbnailComponent","baseClass","RelationshipContent","props","$","id","allowEdit","allowRemove","alt","byteSize","className","collectionSlug","filename","mimeType","onRemove","reloadDoc","src","withMeta","t0","x","y","undefined","t1","t2","DocumentDrawer","t3","openDrawer","t4","t5","doc","onSave","generateMetaText","mimeType_0","size","sections","push","join","metaText","t6","filter","Boolean","t7","t8","t9","_jsx","href","target","children","_jsxs","fileSrc","buttonStyle","icon","iconStyle","onClick"],"sources":["../../../../src/fields/Upload/RelationshipContent/index.tsx"],"sourcesContent":["'use client'\n\nimport type { TypeWithID } from 'payload'\n\nimport { formatFilesize } from 'payload/shared'\nimport React from 'react'\n\nimport type { ReloadDoc } from '../types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../../elements/DocumentDrawer/index.js'\nimport { ThumbnailComponent } from '../../../elements/Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'upload-relationship-details'\n\ntype Props = {\n readonly allowEdit?: boolean\n readonly allowRemove?: boolean\n readonly alt: string\n readonly byteSize: number\n readonly className?: string\n readonly collectionSlug: string\n readonly filename: string\n readonly id?: number | string\n readonly mimeType: string\n readonly onRemove: () => void\n readonly reloadDoc: ReloadDoc\n readonly src: string\n readonly withMeta?: boolean\n readonly x?: number\n readonly y?: number\n}\nexport function RelationshipContent(props: Props) {\n const {\n id,\n allowEdit,\n allowRemove,\n alt,\n byteSize,\n className,\n collectionSlug,\n filename,\n mimeType,\n onRemove,\n reloadDoc,\n src,\n withMeta = true,\n x,\n y,\n } = props\n\n const [DocumentDrawer, _, { openDrawer }] = useDocumentDrawer({\n id: src ? id : undefined,\n collectionSlug,\n })\n\n const onSave = React.useCallback(\n async ({ doc }: { doc: TypeWithID }) => reloadDoc(doc.id, collectionSlug),\n [reloadDoc, collectionSlug],\n )\n\n function generateMetaText(mimeType: string, size: number): string {\n const sections: string[] = []\n if (size) {\n sections.push(formatFilesize(size))\n }\n\n if (x && y) {\n sections.push(`${x}x${y}`)\n }\n\n if (mimeType) {\n sections.push(mimeType)\n }\n\n return sections.join(' — ')\n }\n\n const metaText = withMeta ? generateMetaText(mimeType, byteSize) : ''\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__imageAndDetails`}>\n <ThumbnailComponent\n alt={alt}\n className={`${baseClass}__thumbnail`}\n filename={filename}\n fileSrc={src}\n size=\"small\"\n />\n <div className={`${baseClass}__details`}>\n <p className={`${baseClass}__filename`}>\n {src ? (\n <a href={src} target=\"_blank\">\n {filename}\n </a>\n ) : (\n filename\n )}\n </p>\n {withMeta ? <p className={`${baseClass}__meta`}>{metaText}</p> : null}\n </div>\n </div>\n\n {allowEdit !== false || allowRemove !== false ? (\n <div className={`${baseClass}__actions`}>\n {allowEdit !== false ? (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__edit`}\n icon=\"edit\"\n iconStyle=\"none\"\n onClick={openDrawer}\n />\n ) : null}\n {allowRemove !== false ? (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"none\"\n onClick={() => onRemove()}\n />\n ) : null}\n <DocumentDrawer onSave={onSave} />\n </div>\n ) : null}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAIlB,SAASC,MAAM,QAAQ;AACvB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,kBAAkB,QAAQ;AACnC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAmBlB,OAAO,SAAAC,oBAAAC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACL;IAAAU,EAAA;IAAAC,SAAA;IAAAC,WAAA;IAAAC,GAAA;IAAAC,QAAA;IAAAC,SAAA;IAAAC,cAAA;IAAAC,QAAA;IAAAC,QAAA;IAAAC,QAAA;IAAAC,SAAA;IAAAC,GAAA;IAAAC,QAAA,EAAAC,EAAA;IAAAC,CAAA;IAAAC;EAAA,IAgBIjB,KAAA;EAHF,MAAAc,QAAA,GAAAC,EAAe,KAAAG,SAAA,UAAfH,EAAe;EAMX,MAAAI,EAAA,GAAAN,GAAA,GAAMX,EAAA,GAAAgB,SAAK;EAAA,IAAAE,EAAA;EAAA,IAAAnB,CAAA,QAAAO,cAAA,IAAAP,CAAA,QAAAkB,EAAA;IAD6CC,EAAA;MAAAlB,EAAA,EACxDiB,EAAW;MAAAX;IAAA;IAEjBP,CAAA,MAAAO,cAAA;IAAAP,CAAA,MAAAkB,EAAA;IAAAlB,CAAA,MAAAmB,EAAA;EAAA;IAAAA,EAAA,GAAAnB,CAAA;EAAA;EAHA,OAAAoB,cAAA,GAAAC,EAAA,IAA4C1B,iBAAA,CAAkBwB,EAG9D;EAH0B;IAAAG;EAAA,IAAAD,EAAc;EAAA,IAAAE,EAAA;EAAA,IAAAvB,CAAA,QAAAO,cAAA,IAAAP,CAAA,QAAAW,SAAA;IAMtCY,EAAA,SAAAC,EAAA;MAAO;QAAAC;MAAA,IAAAD,EAA4B;MAAA,OAAKb,SAAA,CAAUc,GAAA,CAAAxB,EAAA,EAAQM,cAAA;IAAA;IAAAP,CAAA,MAAAO,cAAA;IAAAP,CAAA,MAAAW,SAAA;IAAAX,CAAA,MAAAuB,EAAA;EAAA;IAAAA,EAAA,GAAAvB,CAAA;EAAA;EAD5D,MAAA0B,MAAA,GAAeH,EAEc;EAAA,IAAAC,EAAA;EAAA,IAAAxB,CAAA,QAAAe,CAAA,IAAAf,CAAA,QAAAgB,CAAA;IAG7BQ,EAAA,YAAAG,iBAAAC,UAAA,EAAAC,IAAA;MACE,MAAAC,QAAA;MAA6B,IACzBD,IAAA;QACFC,QAAA,CAAAC,IAAA,CAAcvC,cAAA,CAAeqC,IAAA;MAAA;MAAA,IAG3Bd,CAAA,IAAKC,CAAA;QACPc,QAAA,CAAAC,IAAA,CAAc,GAAGhB,CAAA,IAAKC,CAAA,EAAG;MAAA;MAAA,IAGvBP,UAAA;QACFqB,QAAA,CAAAC,IAAA,CAActB,UAAA;MAAA;MAAA,OAGTqB,QAAA,CAAAE,IAAA,CAAc;IAAA;IACvBhC,CAAA,MAAAe,CAAA;IAAAf,CAAA,MAAAgB,CAAA;IAAAhB,CAAA,MAAAwB,EAAA;EAAA;IAAAA,EAAA,GAAAxB,CAAA;EAAA;EAfA,MAAA2B,gBAAA,GAAAH,EAeA;EAEA,MAAAS,QAAA,GAAiBpB,QAAA,GAAWc,gBAAA,CAAiBlB,QAAA,EAAUJ,QAAA,IAAY;EAAA,IAAA6B,EAAA;EAAA,IAAAlC,CAAA,QAAAM,SAAA;IAGjD4B,EAAA,IAAArC,SAAA,EAAYS,SAAA,EAAA6B,MAAA,CAAAC,OAAkB;IAAApC,CAAA,MAAAM,SAAA;IAAAN,CAAA,OAAAkC,EAAA;EAAA;IAAAA,EAAA,GAAAlC,CAAA;EAAA;EAA9B,MAAAqC,EAAA,GAAAH,EAA8B,CAAAF,IAAA,CAAc;EAAA,IAAAM,EAAA;EAAA,IAAAtC,CAAA,SAAAoB,cAAA,IAAApB,CAAA,SAAAE,SAAA,IAAAF,CAAA,SAAAG,WAAA,IAAAH,CAAA,SAAAI,GAAA,IAAAJ,CAAA,SAAAQ,QAAA,IAAAR,CAAA,SAAAiC,QAAA,IAAAjC,CAAA,SAAAU,QAAA,IAAAV,CAAA,SAAA0B,MAAA,IAAA1B,CAAA,SAAAsB,UAAA,IAAAtB,CAAA,SAAAY,GAAA,IAAAZ,CAAA,SAAAqC,EAAA,IAAArC,CAAA,SAAAa,QAAA;IAAA,IAAA0B,EAAA;IAAA,IAAAvC,CAAA,SAAAQ,QAAA,IAAAR,CAAA,SAAAY,GAAA;MAWnD2B,EAAA,GAAA3B,GAAA,GACC4B,IAAA,CAAC;QAAAC,IAAA,EAAQ7B,GAAA;QAAA8B,MAAA,EAAY;QAAAC,QAAA,EAClBnC;MAAA,C,IAGHA,QAAA;MAAAR,CAAA,OAAAQ,QAAA;MAAAR,CAAA,OAAAY,GAAA;MAAAZ,CAAA,OAAAuC,EAAA;IAAA;MAAAA,EAAA,GAAAvC,CAAA;IAAA;IAhBVsC,EAAA,GAAAM,KAAA,CAAC;MAAAtC,SAAA,EAAe+B,EAA4C;MAAAM,QAAA,GAC1DC,KAAA,CAAC;QAAAtC,SAAA,EAAe,GAAAT,SAAA,mBAA+B;QAAA8C,QAAA,GAC7CH,IAAA,CAAA5C,kBAAA;UAAAQ,GAAA;UAAAE,SAAA,EAEa,GAAAT,SAAA,aAAyB;UAAAW,QAAA;UAAAqC,OAAA,EAE3BjC,GAAA;UAAAiB,IAAA,EACJ;QAAA,C,GAEPe,KAAA,CAAC;UAAAtC,SAAA,EAAe,GAAAT,SAAA,WAAuB;UAAA8C,QAAA,GACrCH,IAAA,CAAC;YAAAlC,SAAA,EAAa,GAAAT,SAAA,YAAwB;YAAA8C,QAAA,EACnCJ;UAKC,C,GAGH1B,QAAA,GAAW2B,IAAA,CAAC;YAAAlC,SAAA,EAAa,GAAAT,SAAA,QAAoB;YAAA8C,QAAA,EAAGV;UAAA,C,QAAgB;QAAA,C;UAIpE/B,SAAA,UAAc,IAASC,WAAA,UAAgB,GACtCyC,KAAA,CAAC;QAAAtC,SAAA,EAAe,GAAAT,SAAA,WAAuB;QAAA8C,QAAA,GACpCzC,SAAA,UAAc,GACbsC,IAAA,CAAA9C,MAAA;UAAAoD,WAAA,EACc;UAAAxC,SAAA,EACD,GAAAT,SAAA,QAAoB;UAAAkD,IAAA,EAC1B;UAAAC,SAAA,EACK;UAAAC,OAAA,EACD3B;QAAA,C,QAET,EACHnB,WAAA,UAAgB,GACfqC,IAAA,CAAA9C,MAAA;UAAAoD,WAAA,EACc;UAAAxC,SAAA,EACD,GAAAT,SAAA,UAAsB;UAAAkD,IAAA,EAC5B;UAAAC,SAAA,EACK;UAAAC,OAAA,EAAAA,CAAA,KACKvC,QAAA;QAAA,C,QAEf,EACJ8B,IAAA,CAACpB,cAAA;UAAAM;QAAA,C;eAED;IAAA,C;;;;;;;;;;;;;;;;;SA7CNY,E","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAwE,MAAM,OAAO,CAAA;AAG5F,OAAO,KAAK,EAGV,SAAS,EAGV,MAAM,YAAY,CAAA;AAgCnB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA6sBpC,CAAA;AAED,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,GACb,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,SAAS,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAA+D,MAAM,OAAO,CAAA;AAGnF,OAAO,KAAK,EAGV,SAAS,EAGV,MAAM,YAAY,CAAA;AAiCnB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA8sBpC,CAAA;AAED,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,GACb,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,SAAS,EAAE,CAAA"}
@@ -15,6 +15,7 @@ import { useConfig } from '../../providers/Config/index.js';
15
15
  import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
16
16
  import { useLocale } from '../../providers/Locale/index.js';
17
17
  import { useOperation } from '../../providers/Operation/index.js';
18
+ import { useRouteTransition } from '../../providers/RouteTransition/index.js';
18
19
  import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
19
20
  import { useTranslation } from '../../providers/Translation/index.js';
20
21
  import { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js';
@@ -72,6 +73,9 @@ export const Form = props => {
72
73
  const {
73
74
  getFormState
74
75
  } = useServerFunctions();
76
+ const {
77
+ startRouteTransition
78
+ } = useRouteTransition();
75
79
  const {
76
80
  config
77
81
  } = useConfig();
@@ -294,7 +298,7 @@ export const Form = props => {
294
298
  setSubmitted(false);
295
299
  setProcessing(false);
296
300
  if (redirect) {
297
- router.push(redirect);
301
+ startRouteTransition(() => router.push(redirect));
298
302
  } else if (!disableSuccessStatus) {
299
303
  successToast(json.message || t('general:submissionSuccessful'));
300
304
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["dequal","useRouter","serialize","deepCopyObjectSimpleWithoutReactComponents","getDataByPath","getDataByPathFunc","getSiblingData","getSiblingDataFunc","reduceFieldsToValues","wait","React","useCallback","useEffect","useReducer","useRef","useState","toast","useDebouncedEffect","useEffectEvent","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useLocale","useOperation","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","requests","DocumentFormContext","FormContext","FormFieldsContext","FormWatchContext","InitializingContext","ModifiedContext","ProcessingContext","SubmittedContext","useDocumentForm","errorMessages","fieldReducer","initContextState","mergeServerFormState","baseClass","Form","props","id","collectionSlug","docPermissions","getDocPreferences","globalSlug","action","beforeSubmit","children","className","disabled","disabledFromProps","disableSuccessStatus","disableValidationOnSubmit","handleResponse","initialState","isDocumentForm","isInitializing","initializingFromProps","onChange","onSubmit","onSuccess","redirect","submitted","submittedFromProps","uuid","waitForAutocomplete","method","undefined","router","documentForm","code","locale","i18n","t","refreshCookie","user","operation","getFormState","config","setDisabled","isMounted","setIsMounted","modified","setModified","initializing","setInitializing","processing","setProcessing","setSubmitted","formRef","contextRef","abortResetFormRef","fieldsReducer","fields","dispatchFields","current","validateForm","validatedFieldState","isValid","data","getData","validationPromises","Object","entries","map","path","field","validatedField","passesCondition","validationResult","valid","validate","valueToValidate","value","rows","Array","isArray","blockData","event","preferences","req","payload","siblingData","errorMessage","Promise","all","type","state","submit","options","e","actionArg","methodToUse","overrides","overridesFromArgs","skipValidation","preventDefault","errorToast","successToast","promise","resolve","reject","hasFormSubmitAction","success","error","loading","stopPropagation","revalidatedFormState","serializableFields","reduce","priorOnChange","beforeSubmitFn","result","formState","every","key","formData","createFormData","mergeOverrideData","Boolean","res","toLowerCase","body","headers","language","contentType","get","isJSON","indexOf","json","status","newFormState","newState","mergedFormState","acceptValues","existingState","incomingState","optimize","push","message","errors","fieldErrors","nonFieldErrors","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","forEach","dataError","statusText","console","getFields","getField","file","dataToSerialize","_payload","JSON","stringify","indices","nullsAsUndefineds","reset","controller","docPreferences","renderAllFields","schemaPath","signal","replaceState","addFieldRow","blockType","rowIndex","rowIndexArg","subFieldState","newRows","length","removeFieldRow","replaceFieldRow","currentRows","abortOnChange","sanitize","classes","filter","join","executeOnChange","onChangeFn","changed","prevFields","isFirstRenderRef","DocumentFormContextComponent","Provider","Fragment","documentFormContextProps","_jsx","noValidate","ref","useAllFormFields","useForm","useFormFields","useFormModified","useFormProcessing","useFormSubmitted","useWatchForm"],"sources":["../../../src/forms/Form/index.tsx"],"sourcesContent":["'use client'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { useRouter } from 'next/navigation.js'\nimport { serialize } from 'object-to-formdata'\nimport { type FormState, type PayloadRequest } from 'payload'\nimport {\n deepCopyObjectSimpleWithoutReactComponents,\n getDataByPath as getDataByPathFunc,\n getSiblingData as getSiblingDataFunc,\n reduceFieldsToValues,\n wait,\n} from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useReducer, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type {\n CreateFormData,\n Context as FormContextType,\n FormProps,\n GetDataByPath,\n SubmitOptions,\n} from './types.js'\n\nimport { useDebouncedEffect } from '../../hooks/useDebouncedEffect.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { requests } from '../../utilities/api.js'\nimport {\n DocumentFormContext,\n FormContext,\n FormFieldsContext,\n FormWatchContext,\n InitializingContext,\n ModifiedContext,\n ProcessingContext,\n SubmittedContext,\n useDocumentForm,\n} from './context.js'\nimport { errorMessages } from './errorMessages.js'\nimport { fieldReducer } from './fieldReducer.js'\nimport { initContextState } from './initContextState.js'\nimport { mergeServerFormState } from './mergeServerFormState.js'\n\nconst baseClass = 'form'\n\nexport const Form: React.FC<FormProps> = (props) => {\n const { id, collectionSlug, docPermissions, getDocPreferences, globalSlug } = useDocumentInfo()\n\n const {\n action,\n beforeSubmit,\n children,\n className,\n disabled: disabledFromProps,\n disableSuccessStatus,\n disableValidationOnSubmit,\n // fields: fieldsFromProps = collection?.fields || global?.fields,\n handleResponse,\n initialState, // fully formed initial field state\n isDocumentForm,\n isInitializing: initializingFromProps,\n onChange,\n onSubmit,\n onSuccess,\n redirect,\n submitted: submittedFromProps,\n uuid,\n waitForAutocomplete,\n } = props\n\n const method = 'method' in props ? props?.method : undefined\n\n const router = useRouter()\n\n const documentForm = useDocumentForm()\n\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n const { refreshCookie, user } = useAuth()\n const operation = useOperation()\n\n const { getFormState } = useServerFunctions()\n\n const { config } = useConfig()\n\n const [disabled, setDisabled] = useState(disabledFromProps || false)\n const [isMounted, setIsMounted] = useState(false)\n const [modified, setModified] = useState(false)\n const [initializing, setInitializing] = useState(initializingFromProps)\n const [processing, setProcessing] = useState(false)\n const [submitted, setSubmitted] = useState(false)\n const formRef = useRef<HTMLFormElement>(null)\n const contextRef = useRef({} as FormContextType)\n const abortResetFormRef = useRef<AbortController>(null)\n\n const fieldsReducer = useReducer(fieldReducer, {}, () => initialState)\n\n /**\n * `fields` is the current, up-to-date state/data of all fields in the form. It can be modified by using dispatchFields,\n * which calls the fieldReducer, which then updates the state.\n */\n const [fields, dispatchFields] = fieldsReducer\n\n contextRef.current.fields = fields\n\n const validateForm = useCallback(async () => {\n const validatedFieldState = {}\n let isValid = true\n\n const data = contextRef.current.getData()\n\n const validationPromises = Object.entries(contextRef.current.fields).map(\n async ([path, field]) => {\n const validatedField = field\n\n if (field.passesCondition !== false) {\n let validationResult: boolean | string = validatedField.valid\n\n if ('validate' in field && typeof field.validate === 'function') {\n let valueToValidate = field.value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = contextRef.current.getDataByPath(path)\n }\n\n validationResult = await field.validate(valueToValidate, {\n ...field,\n id,\n collectionSlug,\n // If there is a parent document form, we can get the data from that form\n blockData: undefined, // Will be expensive to get - not worth to pass to client-side validation, as this can be obtained by the user using `useFormFields()`\n data: documentForm?.getData ? documentForm.getData() : data,\n event: 'submit',\n operation,\n preferences: {} as any,\n req: {\n payload: {\n config,\n },\n t,\n user,\n } as unknown as PayloadRequest,\n siblingData: contextRef.current.getSiblingData(path),\n })\n\n if (typeof validationResult === 'string') {\n validatedField.errorMessage = validationResult\n validatedField.valid = false\n } else {\n validatedField.valid = true\n validatedField.errorMessage = undefined\n }\n }\n\n if (validatedField.valid === false) {\n isValid = false\n }\n }\n\n validatedFieldState[path] = validatedField\n },\n )\n\n await Promise.all(validationPromises)\n\n if (!dequal(contextRef.current.fields, validatedFieldState)) {\n dispatchFields({ type: 'REPLACE_STATE', state: validatedFieldState })\n }\n\n return isValid\n }, [collectionSlug, config, dispatchFields, id, operation, t, user, documentForm])\n\n const submit = useCallback(\n async (options: SubmitOptions = {}, e): Promise<void> => {\n const {\n action: actionArg = action,\n method: methodToUse = method,\n overrides: overridesFromArgs = {},\n skipValidation,\n } = options\n\n if (disabled) {\n if (e) {\n e.preventDefault()\n }\n return\n }\n\n // create new toast promise which will resolve manually later\n let errorToast, successToast\n const promise = new Promise((resolve, reject) => {\n successToast = resolve\n errorToast = reject\n })\n\n const hasFormSubmitAction =\n actionArg || typeof action === 'string' || typeof action === 'function'\n\n if (redirect || disableSuccessStatus || !hasFormSubmitAction) {\n // Do not show submitting toast, as the promise toast may never disappear under these conditions.\n // Instead, make successToast() or errorToast() throw toast.success / toast.error\n successToast = (data) => toast.success(data)\n errorToast = (data) => toast.error(data)\n } else {\n toast.promise(promise, {\n error: (data) => {\n return data as string\n },\n loading: t('general:submitting'),\n success: (data) => {\n return data as string\n },\n })\n }\n\n if (e) {\n e.stopPropagation()\n e.preventDefault()\n }\n\n setProcessing(true)\n setDisabled(true)\n\n if (waitForAutocomplete) {\n await wait(100)\n }\n\n // Execute server side validations\n if (Array.isArray(beforeSubmit)) {\n let revalidatedFormState: FormState\n\n const serializableFields = deepCopyObjectSimpleWithoutReactComponents(\n contextRef.current.fields,\n )\n\n await beforeSubmit.reduce(async (priorOnChange, beforeSubmitFn) => {\n await priorOnChange\n\n const result = await beforeSubmitFn({\n formState: serializableFields,\n })\n\n revalidatedFormState = result\n }, Promise.resolve())\n\n const isValid = Object.entries(revalidatedFormState).every(\n ([, field]) => field.valid !== false,\n )\n\n if (!isValid) {\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return dispatchFields({ type: 'REPLACE_STATE', state: revalidatedFormState })\n }\n }\n\n const isValid =\n skipValidation || disableValidationOnSubmit ? true : await contextRef.current.validateForm()\n\n // If not valid, prevent submission\n if (!isValid) {\n errorToast(t('error:correctInvalidFields'))\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return\n }\n\n let overrides = {}\n\n if (typeof overridesFromArgs === 'function') {\n overrides = overridesFromArgs(contextRef.current.fields)\n } else if (typeof overridesFromArgs === 'object') {\n overrides = overridesFromArgs\n }\n\n // If submit handler comes through via props, run that\n if (onSubmit) {\n const serializableFields = deepCopyObjectSimpleWithoutReactComponents(\n contextRef.current.fields,\n )\n\n const data = reduceFieldsToValues(serializableFields, true)\n\n for (const [key, value] of Object.entries(overrides)) {\n data[key] = value\n }\n\n onSubmit(serializableFields, data)\n }\n\n if (!hasFormSubmitAction) {\n // No action provided, so we should return. An example where this happens are lexical link drawers. Upon submitting the drawer, we\n // want to close it without submitting the form. Stuff like validation would be handled by lexical before this, through beforeSubmit\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return\n }\n\n const formData = contextRef.current.createFormData(overrides, {\n mergeOverrideData: Boolean(typeof overridesFromArgs !== 'function'),\n })\n\n try {\n let res\n\n if (typeof actionArg === 'string') {\n res = await requests[methodToUse.toLowerCase()](actionArg, {\n body: formData,\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n } else if (typeof action === 'function') {\n res = await action(formData)\n }\n\n setModified(false)\n setDisabled(false)\n\n if (typeof handleResponse === 'function') {\n handleResponse(res, successToast, errorToast)\n return\n }\n\n const contentType = res.headers.get('content-type')\n const isJSON = contentType && contentType.indexOf('application/json') !== -1\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let json: Record<string, any> = {}\n\n if (isJSON) {\n json = await res.json()\n }\n if (res.status < 400) {\n if (typeof onSuccess === 'function') {\n const newFormState = await onSuccess(json)\n if (newFormState) {\n const { newState: mergedFormState } = mergeServerFormState({\n acceptValues: true,\n existingState: contextRef.current.fields || {},\n incomingState: newFormState,\n })\n\n dispatchFields({\n type: 'REPLACE_STATE',\n optimize: false,\n state: mergedFormState,\n })\n }\n }\n setSubmitted(false)\n setProcessing(false)\n\n if (redirect) {\n router.push(redirect)\n } else if (!disableSuccessStatus) {\n successToast(json.message || t('general:submissionSuccessful'))\n }\n } else {\n setProcessing(false)\n setSubmitted(true)\n\n contextRef.current = { ...contextRef.current } // triggers rerender of all components that subscribe to form\n if (json.message) {\n errorToast(json.message)\n\n return\n }\n\n if (Array.isArray(json.errors)) {\n const [fieldErrors, nonFieldErrors] = json.errors.reduce(\n ([fieldErrs, nonFieldErrs], err) => {\n const newFieldErrs = []\n const newNonFieldErrs = []\n\n if (err?.message) {\n newNonFieldErrs.push(err)\n }\n\n if (Array.isArray(err?.data?.errors)) {\n err.data?.errors.forEach((dataError) => {\n if (dataError?.path) {\n newFieldErrs.push(dataError)\n } else {\n newNonFieldErrs.push(dataError)\n }\n })\n }\n\n return [\n [...fieldErrs, ...newFieldErrs],\n [...nonFieldErrs, ...newNonFieldErrs],\n ]\n },\n [[], []],\n )\n\n dispatchFields({\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n })\n\n nonFieldErrors.forEach((err) => {\n errorToast(err.message || t('error:unknown'))\n })\n\n return\n }\n\n const message = errorMessages?.[res.status] || res?.statusText || t('error:unknown')\n\n errorToast(message)\n }\n } catch (err) {\n console.error('Error submitting form', err) // eslint-disable-line no-console\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n errorToast(err.message)\n }\n },\n [\n beforeSubmit,\n action,\n disableSuccessStatus,\n disableValidationOnSubmit,\n disabled,\n dispatchFields,\n handleResponse,\n method,\n onSubmit,\n onSuccess,\n redirect,\n router,\n t,\n i18n,\n waitForAutocomplete,\n ],\n )\n\n const getFields = useCallback(() => contextRef.current.fields, [])\n\n const getField = useCallback((path: string) => contextRef.current.fields[path], [])\n\n const getData = useCallback(() => reduceFieldsToValues(contextRef.current.fields, true), [])\n\n const getSiblingData = useCallback(\n (path: string) => getSiblingDataFunc(contextRef.current.fields, path),\n [],\n )\n\n const getDataByPath = useCallback<GetDataByPath>(\n (path: string) => getDataByPathFunc(contextRef.current.fields, path),\n [],\n )\n\n const createFormData = useCallback<CreateFormData>((overrides, { mergeOverrideData = true }) => {\n let data = reduceFieldsToValues(contextRef.current.fields, true)\n\n const file = data?.file\n\n if (file) {\n delete data.file\n }\n\n if (mergeOverrideData) {\n data = {\n ...data,\n ...overrides,\n }\n } else {\n data = overrides\n }\n\n const dataToSerialize = {\n _payload: JSON.stringify(data),\n file,\n }\n\n // nullAsUndefineds is important to allow uploads and relationship fields to clear themselves\n const formData = serialize(dataToSerialize, { indices: true, nullsAsUndefineds: false })\n\n return formData\n }, [])\n\n const reset = useCallback(\n async (data: unknown) => {\n const controller = handleAbortRef(abortResetFormRef)\n\n const docPreferences = await getDocPreferences()\n\n const { state: newState } = await getFormState({\n id,\n collectionSlug,\n data,\n docPermissions,\n docPreferences,\n globalSlug,\n locale,\n operation,\n renderAllFields: true,\n schemaPath: collectionSlug ? collectionSlug : globalSlug,\n signal: controller.signal,\n skipValidation: true,\n })\n\n contextRef.current = { ...initContextState } as FormContextType\n setModified(false)\n dispatchFields({ type: 'REPLACE_STATE', state: newState })\n\n abortResetFormRef.current = null\n },\n [\n collectionSlug,\n dispatchFields,\n globalSlug,\n id,\n operation,\n getFormState,\n docPermissions,\n getDocPreferences,\n locale,\n ],\n )\n\n const replaceState = useCallback(\n (state: FormState) => {\n contextRef.current = { ...initContextState } as FormContextType\n setModified(false)\n dispatchFields({ type: 'REPLACE_STATE', state })\n },\n [dispatchFields],\n )\n\n const addFieldRow: FormContextType['addFieldRow'] = useCallback(\n ({ blockType, path, rowIndex: rowIndexArg, subFieldState }) => {\n const newRows: unknown[] = getDataByPath(path) || []\n const rowIndex = rowIndexArg === undefined ? newRows.length : rowIndexArg\n\n // dispatch ADD_ROW that sets requiresRender: true and adds a blank row to local form state.\n // This performs no form state request, as the debounced onChange effect will do that for us.\n dispatchFields({\n type: 'ADD_ROW',\n blockType,\n path,\n rowIndex,\n subFieldState,\n })\n\n setModified(true)\n },\n [dispatchFields, getDataByPath],\n )\n\n const removeFieldRow: FormContextType['removeFieldRow'] = useCallback(\n ({ path, rowIndex }) => {\n dispatchFields({ type: 'REMOVE_ROW', path, rowIndex })\n },\n [dispatchFields],\n )\n\n const replaceFieldRow: FormContextType['replaceFieldRow'] = useCallback(\n ({ blockType, path, rowIndex: rowIndexArg, subFieldState }) => {\n const currentRows: unknown[] = getDataByPath(path)\n const rowIndex = rowIndexArg === undefined ? currentRows.length : rowIndexArg\n\n dispatchFields({\n type: 'REPLACE_ROW',\n blockType,\n path,\n rowIndex,\n subFieldState,\n })\n\n setModified(true)\n },\n [dispatchFields, getDataByPath],\n )\n\n useEffect(() => {\n const abortOnChange = abortResetFormRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n useEffect(() => {\n if (initializingFromProps !== undefined) {\n setInitializing(initializingFromProps)\n }\n }, [initializingFromProps])\n\n contextRef.current.submit = submit\n contextRef.current.getFields = getFields\n contextRef.current.getField = getField\n contextRef.current.getData = getData\n contextRef.current.getSiblingData = getSiblingData\n contextRef.current.getDataByPath = getDataByPath\n contextRef.current.validateForm = validateForm\n contextRef.current.createFormData = createFormData\n contextRef.current.setModified = setModified\n contextRef.current.setProcessing = setProcessing\n contextRef.current.setSubmitted = setSubmitted\n contextRef.current.disabled = disabled\n contextRef.current.setDisabled = setDisabled\n contextRef.current.formRef = formRef\n contextRef.current.reset = reset\n contextRef.current.replaceState = replaceState\n contextRef.current.dispatchFields = dispatchFields\n contextRef.current.addFieldRow = addFieldRow\n contextRef.current.removeFieldRow = removeFieldRow\n contextRef.current.replaceFieldRow = replaceFieldRow\n contextRef.current.uuid = uuid\n contextRef.current.initializing = initializing\n\n useEffect(() => {\n setIsMounted(true)\n }, [])\n\n useEffect(() => {\n if (typeof disabledFromProps === 'boolean') {\n setDisabled(disabledFromProps)\n }\n }, [disabledFromProps])\n\n useEffect(() => {\n if (typeof submittedFromProps === 'boolean') {\n setSubmitted(submittedFromProps)\n }\n }, [submittedFromProps])\n\n useEffect(() => {\n if (initialState) {\n contextRef.current = { ...initContextState } as FormContextType\n dispatchFields({\n type: 'REPLACE_STATE',\n optimize: false,\n sanitize: true,\n state: initialState,\n })\n }\n }, [initialState, dispatchFields])\n\n useThrottledEffect(\n () => {\n refreshCookie()\n },\n 15000,\n [fields],\n )\n\n useEffect(() => {\n contextRef.current = { ...contextRef.current } // triggers rerender of all components that subscribe to form\n setModified(false)\n }, [locale])\n\n const classes = [className, baseClass].filter(Boolean).join(' ')\n\n const executeOnChange = useEffectEvent(async (submitted: boolean) => {\n if (Array.isArray(onChange)) {\n let revalidatedFormState: FormState = contextRef.current.fields\n\n for (const onChangeFn of onChange) {\n // Edit view default onChange is in packages/ui/src/views/Edit/index.tsx. This onChange usually sends a form state request\n revalidatedFormState = await onChangeFn({\n formState: deepCopyObjectSimpleWithoutReactComponents(contextRef.current.fields),\n submitted,\n })\n }\n\n if (!revalidatedFormState) {\n return\n }\n\n const { changed, newState } = mergeServerFormState({\n existingState: contextRef.current.fields || {},\n incomingState: revalidatedFormState,\n })\n\n if (changed) {\n dispatchFields({\n type: 'REPLACE_STATE',\n optimize: false,\n state: newState,\n })\n }\n }\n })\n\n const prevFields = useRef(contextRef.current.fields)\n const isFirstRenderRef = useRef(true)\n\n useDebouncedEffect(\n () => {\n if (isFirstRenderRef.current || !dequal(contextRef.current.fields, prevFields.current)) {\n if (modified) {\n void executeOnChange(submitted)\n }\n }\n\n isFirstRenderRef.current = false\n prevFields.current = contextRef.current.fields\n },\n /*\n Make sure we trigger this whenever modified changes (not just when `fields` changes),\n otherwise we will miss merging server form state for the first form update/onChange.\n\n Here's why:\n `fields` updates before `modified`, because setModified is in a setTimeout.\n So on the first change, modified is false, so we don't trigger the effect even though we should.\n **/\n [modified, submitted, contextRef.current.fields],\n 250,\n )\n\n const DocumentFormContextComponent: React.FC<any> = isDocumentForm\n ? DocumentFormContext.Provider\n : React.Fragment\n\n const documentFormContextProps = isDocumentForm\n ? {\n value: contextRef.current,\n }\n : {}\n\n return (\n <form\n action={typeof action === 'function' ? void action : action}\n className={classes}\n method={method}\n noValidate\n onSubmit={(e) => void contextRef.current.submit({}, e)}\n ref={formRef}\n >\n <DocumentFormContextComponent {...documentFormContextProps}>\n <FormContext.Provider value={contextRef.current}>\n <FormWatchContext.Provider\n value={{\n fields,\n ...contextRef.current,\n }}\n >\n <SubmittedContext.Provider value={submitted}>\n <InitializingContext.Provider value={!isMounted || (isMounted && initializing)}>\n <ProcessingContext.Provider value={processing}>\n <ModifiedContext.Provider value={modified}>\n <FormFieldsContext.Provider value={fieldsReducer}>\n {children}\n </FormFieldsContext.Provider>\n </ModifiedContext.Provider>\n </ProcessingContext.Provider>\n </InitializingContext.Provider>\n </SubmittedContext.Provider>\n </FormWatchContext.Provider>\n </FormContext.Provider>\n </DocumentFormContextComponent>\n </form>\n )\n}\n\nexport {\n DocumentFormContext,\n FormContext,\n FormFieldsContext,\n FormWatchContext,\n ModifiedContext,\n ProcessingContext,\n SubmittedContext,\n useAllFormFields,\n useDocumentForm,\n useForm,\n useFormFields,\n useFormModified,\n useFormProcessing,\n useFormSubmitted,\n useWatchForm,\n} from './context.js'\n\nexport { FormProps }\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["dequal","useRouter","serialize","deepCopyObjectSimpleWithoutReactComponents","getDataByPath","getDataByPathFunc","getSiblingData","getSiblingDataFunc","reduceFieldsToValues","wait","React","useCallback","useEffect","useReducer","useRef","useState","toast","useDebouncedEffect","useEffectEvent","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useLocale","useOperation","useRouteTransition","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","requests","DocumentFormContext","FormContext","FormFieldsContext","FormWatchContext","InitializingContext","ModifiedContext","ProcessingContext","SubmittedContext","useDocumentForm","errorMessages","fieldReducer","initContextState","mergeServerFormState","baseClass","Form","props","id","collectionSlug","docPermissions","getDocPreferences","globalSlug","action","beforeSubmit","children","className","disabled","disabledFromProps","disableSuccessStatus","disableValidationOnSubmit","handleResponse","initialState","isDocumentForm","isInitializing","initializingFromProps","onChange","onSubmit","onSuccess","redirect","submitted","submittedFromProps","uuid","waitForAutocomplete","method","undefined","router","documentForm","code","locale","i18n","t","refreshCookie","user","operation","getFormState","startRouteTransition","config","setDisabled","isMounted","setIsMounted","modified","setModified","initializing","setInitializing","processing","setProcessing","setSubmitted","formRef","contextRef","abortResetFormRef","fieldsReducer","fields","dispatchFields","current","validateForm","validatedFieldState","isValid","data","getData","validationPromises","Object","entries","map","path","field","validatedField","passesCondition","validationResult","valid","validate","valueToValidate","value","rows","Array","isArray","blockData","event","preferences","req","payload","siblingData","errorMessage","Promise","all","type","state","submit","options","e","actionArg","methodToUse","overrides","overridesFromArgs","skipValidation","preventDefault","errorToast","successToast","promise","resolve","reject","hasFormSubmitAction","success","error","loading","stopPropagation","revalidatedFormState","serializableFields","reduce","priorOnChange","beforeSubmitFn","result","formState","every","key","formData","createFormData","mergeOverrideData","Boolean","res","toLowerCase","body","headers","language","contentType","get","isJSON","indexOf","json","status","newFormState","newState","mergedFormState","acceptValues","existingState","incomingState","optimize","push","message","errors","fieldErrors","nonFieldErrors","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","forEach","dataError","statusText","console","getFields","getField","file","dataToSerialize","_payload","JSON","stringify","indices","nullsAsUndefineds","reset","controller","docPreferences","renderAllFields","schemaPath","signal","replaceState","addFieldRow","blockType","rowIndex","rowIndexArg","subFieldState","newRows","length","removeFieldRow","replaceFieldRow","currentRows","abortOnChange","sanitize","classes","filter","join","executeOnChange","onChangeFn","changed","prevFields","isFirstRenderRef","DocumentFormContextComponent","Provider","Fragment","documentFormContextProps","_jsx","noValidate","ref","useAllFormFields","useForm","useFormFields","useFormModified","useFormProcessing","useFormSubmitted","useWatchForm"],"sources":["../../../src/forms/Form/index.tsx"],"sourcesContent":["'use client'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { useRouter } from 'next/navigation.js'\nimport { serialize } from 'object-to-formdata'\nimport { type FormState, type PayloadRequest } from 'payload'\nimport {\n deepCopyObjectSimpleWithoutReactComponents,\n getDataByPath as getDataByPathFunc,\n getSiblingData as getSiblingDataFunc,\n reduceFieldsToValues,\n wait,\n} from 'payload/shared'\nimport React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type {\n CreateFormData,\n Context as FormContextType,\n FormProps,\n GetDataByPath,\n SubmitOptions,\n} from './types.js'\n\nimport { useDebouncedEffect } from '../../hooks/useDebouncedEffect.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { requests } from '../../utilities/api.js'\nimport {\n DocumentFormContext,\n FormContext,\n FormFieldsContext,\n FormWatchContext,\n InitializingContext,\n ModifiedContext,\n ProcessingContext,\n SubmittedContext,\n useDocumentForm,\n} from './context.js'\nimport { errorMessages } from './errorMessages.js'\nimport { fieldReducer } from './fieldReducer.js'\nimport { initContextState } from './initContextState.js'\nimport { mergeServerFormState } from './mergeServerFormState.js'\n\nconst baseClass = 'form'\n\nexport const Form: React.FC<FormProps> = (props) => {\n const { id, collectionSlug, docPermissions, getDocPreferences, globalSlug } = useDocumentInfo()\n\n const {\n action,\n beforeSubmit,\n children,\n className,\n disabled: disabledFromProps,\n disableSuccessStatus,\n disableValidationOnSubmit,\n // fields: fieldsFromProps = collection?.fields || global?.fields,\n handleResponse,\n initialState, // fully formed initial field state\n isDocumentForm,\n isInitializing: initializingFromProps,\n onChange,\n onSubmit,\n onSuccess,\n redirect,\n submitted: submittedFromProps,\n uuid,\n waitForAutocomplete,\n } = props\n\n const method = 'method' in props ? props?.method : undefined\n\n const router = useRouter()\n\n const documentForm = useDocumentForm()\n\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n const { refreshCookie, user } = useAuth()\n const operation = useOperation()\n\n const { getFormState } = useServerFunctions()\n const { startRouteTransition } = useRouteTransition()\n\n const { config } = useConfig()\n\n const [disabled, setDisabled] = useState(disabledFromProps || false)\n const [isMounted, setIsMounted] = useState(false)\n const [modified, setModified] = useState(false)\n const [initializing, setInitializing] = useState(initializingFromProps)\n const [processing, setProcessing] = useState(false)\n const [submitted, setSubmitted] = useState(false)\n const formRef = useRef<HTMLFormElement>(null)\n const contextRef = useRef({} as FormContextType)\n const abortResetFormRef = useRef<AbortController>(null)\n\n const fieldsReducer = useReducer(fieldReducer, {}, () => initialState)\n\n /**\n * `fields` is the current, up-to-date state/data of all fields in the form. It can be modified by using dispatchFields,\n * which calls the fieldReducer, which then updates the state.\n */\n const [fields, dispatchFields] = fieldsReducer\n\n contextRef.current.fields = fields\n\n const validateForm = useCallback(async () => {\n const validatedFieldState = {}\n let isValid = true\n\n const data = contextRef.current.getData()\n\n const validationPromises = Object.entries(contextRef.current.fields).map(\n async ([path, field]) => {\n const validatedField = field\n\n if (field.passesCondition !== false) {\n let validationResult: boolean | string = validatedField.valid\n\n if ('validate' in field && typeof field.validate === 'function') {\n let valueToValidate = field.value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = contextRef.current.getDataByPath(path)\n }\n\n validationResult = await field.validate(valueToValidate, {\n ...field,\n id,\n collectionSlug,\n // If there is a parent document form, we can get the data from that form\n blockData: undefined, // Will be expensive to get - not worth to pass to client-side validation, as this can be obtained by the user using `useFormFields()`\n data: documentForm?.getData ? documentForm.getData() : data,\n event: 'submit',\n operation,\n preferences: {} as any,\n req: {\n payload: {\n config,\n },\n t,\n user,\n } as unknown as PayloadRequest,\n siblingData: contextRef.current.getSiblingData(path),\n })\n\n if (typeof validationResult === 'string') {\n validatedField.errorMessage = validationResult\n validatedField.valid = false\n } else {\n validatedField.valid = true\n validatedField.errorMessage = undefined\n }\n }\n\n if (validatedField.valid === false) {\n isValid = false\n }\n }\n\n validatedFieldState[path] = validatedField\n },\n )\n\n await Promise.all(validationPromises)\n\n if (!dequal(contextRef.current.fields, validatedFieldState)) {\n dispatchFields({ type: 'REPLACE_STATE', state: validatedFieldState })\n }\n\n return isValid\n }, [collectionSlug, config, dispatchFields, id, operation, t, user, documentForm])\n\n const submit = useCallback(\n async (options: SubmitOptions = {}, e): Promise<void> => {\n const {\n action: actionArg = action,\n method: methodToUse = method,\n overrides: overridesFromArgs = {},\n skipValidation,\n } = options\n\n if (disabled) {\n if (e) {\n e.preventDefault()\n }\n return\n }\n\n // create new toast promise which will resolve manually later\n let errorToast, successToast\n const promise = new Promise((resolve, reject) => {\n successToast = resolve\n errorToast = reject\n })\n\n const hasFormSubmitAction =\n actionArg || typeof action === 'string' || typeof action === 'function'\n\n if (redirect || disableSuccessStatus || !hasFormSubmitAction) {\n // Do not show submitting toast, as the promise toast may never disappear under these conditions.\n // Instead, make successToast() or errorToast() throw toast.success / toast.error\n successToast = (data) => toast.success(data)\n errorToast = (data) => toast.error(data)\n } else {\n toast.promise(promise, {\n error: (data) => {\n return data as string\n },\n loading: t('general:submitting'),\n success: (data) => {\n return data as string\n },\n })\n }\n\n if (e) {\n e.stopPropagation()\n e.preventDefault()\n }\n\n setProcessing(true)\n setDisabled(true)\n\n if (waitForAutocomplete) {\n await wait(100)\n }\n\n // Execute server side validations\n if (Array.isArray(beforeSubmit)) {\n let revalidatedFormState: FormState\n\n const serializableFields = deepCopyObjectSimpleWithoutReactComponents(\n contextRef.current.fields,\n )\n\n await beforeSubmit.reduce(async (priorOnChange, beforeSubmitFn) => {\n await priorOnChange\n\n const result = await beforeSubmitFn({\n formState: serializableFields,\n })\n\n revalidatedFormState = result\n }, Promise.resolve())\n\n const isValid = Object.entries(revalidatedFormState).every(\n ([, field]) => field.valid !== false,\n )\n\n if (!isValid) {\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return dispatchFields({ type: 'REPLACE_STATE', state: revalidatedFormState })\n }\n }\n\n const isValid =\n skipValidation || disableValidationOnSubmit ? true : await contextRef.current.validateForm()\n\n // If not valid, prevent submission\n if (!isValid) {\n errorToast(t('error:correctInvalidFields'))\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return\n }\n\n let overrides = {}\n\n if (typeof overridesFromArgs === 'function') {\n overrides = overridesFromArgs(contextRef.current.fields)\n } else if (typeof overridesFromArgs === 'object') {\n overrides = overridesFromArgs\n }\n\n // If submit handler comes through via props, run that\n if (onSubmit) {\n const serializableFields = deepCopyObjectSimpleWithoutReactComponents(\n contextRef.current.fields,\n )\n\n const data = reduceFieldsToValues(serializableFields, true)\n\n for (const [key, value] of Object.entries(overrides)) {\n data[key] = value\n }\n\n onSubmit(serializableFields, data)\n }\n\n if (!hasFormSubmitAction) {\n // No action provided, so we should return. An example where this happens are lexical link drawers. Upon submitting the drawer, we\n // want to close it without submitting the form. Stuff like validation would be handled by lexical before this, through beforeSubmit\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return\n }\n\n const formData = contextRef.current.createFormData(overrides, {\n mergeOverrideData: Boolean(typeof overridesFromArgs !== 'function'),\n })\n\n try {\n let res\n\n if (typeof actionArg === 'string') {\n res = await requests[methodToUse.toLowerCase()](actionArg, {\n body: formData,\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n } else if (typeof action === 'function') {\n res = await action(formData)\n }\n\n setModified(false)\n setDisabled(false)\n\n if (typeof handleResponse === 'function') {\n handleResponse(res, successToast, errorToast)\n return\n }\n\n const contentType = res.headers.get('content-type')\n const isJSON = contentType && contentType.indexOf('application/json') !== -1\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let json: Record<string, any> = {}\n\n if (isJSON) {\n json = await res.json()\n }\n if (res.status < 400) {\n if (typeof onSuccess === 'function') {\n const newFormState = await onSuccess(json)\n if (newFormState) {\n const { newState: mergedFormState } = mergeServerFormState({\n acceptValues: true,\n existingState: contextRef.current.fields || {},\n incomingState: newFormState,\n })\n\n dispatchFields({\n type: 'REPLACE_STATE',\n optimize: false,\n state: mergedFormState,\n })\n }\n }\n setSubmitted(false)\n setProcessing(false)\n\n if (redirect) {\n startRouteTransition(() => router.push(redirect))\n } else if (!disableSuccessStatus) {\n successToast(json.message || t('general:submissionSuccessful'))\n }\n } else {\n setProcessing(false)\n setSubmitted(true)\n\n contextRef.current = { ...contextRef.current } // triggers rerender of all components that subscribe to form\n if (json.message) {\n errorToast(json.message)\n\n return\n }\n\n if (Array.isArray(json.errors)) {\n const [fieldErrors, nonFieldErrors] = json.errors.reduce(\n ([fieldErrs, nonFieldErrs], err) => {\n const newFieldErrs = []\n const newNonFieldErrs = []\n\n if (err?.message) {\n newNonFieldErrs.push(err)\n }\n\n if (Array.isArray(err?.data?.errors)) {\n err.data?.errors.forEach((dataError) => {\n if (dataError?.path) {\n newFieldErrs.push(dataError)\n } else {\n newNonFieldErrs.push(dataError)\n }\n })\n }\n\n return [\n [...fieldErrs, ...newFieldErrs],\n [...nonFieldErrs, ...newNonFieldErrs],\n ]\n },\n [[], []],\n )\n\n dispatchFields({\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n })\n\n nonFieldErrors.forEach((err) => {\n errorToast(err.message || t('error:unknown'))\n })\n\n return\n }\n\n const message = errorMessages?.[res.status] || res?.statusText || t('error:unknown')\n\n errorToast(message)\n }\n } catch (err) {\n console.error('Error submitting form', err) // eslint-disable-line no-console\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n errorToast(err.message)\n }\n },\n [\n beforeSubmit,\n action,\n disableSuccessStatus,\n disableValidationOnSubmit,\n disabled,\n dispatchFields,\n handleResponse,\n method,\n onSubmit,\n onSuccess,\n redirect,\n router,\n t,\n i18n,\n waitForAutocomplete,\n ],\n )\n\n const getFields = useCallback(() => contextRef.current.fields, [])\n\n const getField = useCallback((path: string) => contextRef.current.fields[path], [])\n\n const getData = useCallback(() => reduceFieldsToValues(contextRef.current.fields, true), [])\n\n const getSiblingData = useCallback(\n (path: string) => getSiblingDataFunc(contextRef.current.fields, path),\n [],\n )\n\n const getDataByPath = useCallback<GetDataByPath>(\n (path: string) => getDataByPathFunc(contextRef.current.fields, path),\n [],\n )\n\n const createFormData = useCallback<CreateFormData>((overrides, { mergeOverrideData = true }) => {\n let data = reduceFieldsToValues(contextRef.current.fields, true)\n\n const file = data?.file\n\n if (file) {\n delete data.file\n }\n\n if (mergeOverrideData) {\n data = {\n ...data,\n ...overrides,\n }\n } else {\n data = overrides\n }\n\n const dataToSerialize = {\n _payload: JSON.stringify(data),\n file,\n }\n\n // nullAsUndefineds is important to allow uploads and relationship fields to clear themselves\n const formData = serialize(dataToSerialize, { indices: true, nullsAsUndefineds: false })\n\n return formData\n }, [])\n\n const reset = useCallback(\n async (data: unknown) => {\n const controller = handleAbortRef(abortResetFormRef)\n\n const docPreferences = await getDocPreferences()\n\n const { state: newState } = await getFormState({\n id,\n collectionSlug,\n data,\n docPermissions,\n docPreferences,\n globalSlug,\n locale,\n operation,\n renderAllFields: true,\n schemaPath: collectionSlug ? collectionSlug : globalSlug,\n signal: controller.signal,\n skipValidation: true,\n })\n\n contextRef.current = { ...initContextState } as FormContextType\n setModified(false)\n dispatchFields({ type: 'REPLACE_STATE', state: newState })\n\n abortResetFormRef.current = null\n },\n [\n collectionSlug,\n dispatchFields,\n globalSlug,\n id,\n operation,\n getFormState,\n docPermissions,\n getDocPreferences,\n locale,\n ],\n )\n\n const replaceState = useCallback(\n (state: FormState) => {\n contextRef.current = { ...initContextState } as FormContextType\n setModified(false)\n dispatchFields({ type: 'REPLACE_STATE', state })\n },\n [dispatchFields],\n )\n\n const addFieldRow: FormContextType['addFieldRow'] = useCallback(\n ({ blockType, path, rowIndex: rowIndexArg, subFieldState }) => {\n const newRows: unknown[] = getDataByPath(path) || []\n const rowIndex = rowIndexArg === undefined ? newRows.length : rowIndexArg\n\n // dispatch ADD_ROW that sets requiresRender: true and adds a blank row to local form state.\n // This performs no form state request, as the debounced onChange effect will do that for us.\n dispatchFields({\n type: 'ADD_ROW',\n blockType,\n path,\n rowIndex,\n subFieldState,\n })\n\n setModified(true)\n },\n [dispatchFields, getDataByPath],\n )\n\n const removeFieldRow: FormContextType['removeFieldRow'] = useCallback(\n ({ path, rowIndex }) => {\n dispatchFields({ type: 'REMOVE_ROW', path, rowIndex })\n },\n [dispatchFields],\n )\n\n const replaceFieldRow: FormContextType['replaceFieldRow'] = useCallback(\n ({ blockType, path, rowIndex: rowIndexArg, subFieldState }) => {\n const currentRows: unknown[] = getDataByPath(path)\n const rowIndex = rowIndexArg === undefined ? currentRows.length : rowIndexArg\n\n dispatchFields({\n type: 'REPLACE_ROW',\n blockType,\n path,\n rowIndex,\n subFieldState,\n })\n\n setModified(true)\n },\n [dispatchFields, getDataByPath],\n )\n\n useEffect(() => {\n const abortOnChange = abortResetFormRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n useEffect(() => {\n if (initializingFromProps !== undefined) {\n setInitializing(initializingFromProps)\n }\n }, [initializingFromProps])\n\n contextRef.current.submit = submit\n contextRef.current.getFields = getFields\n contextRef.current.getField = getField\n contextRef.current.getData = getData\n contextRef.current.getSiblingData = getSiblingData\n contextRef.current.getDataByPath = getDataByPath\n contextRef.current.validateForm = validateForm\n contextRef.current.createFormData = createFormData\n contextRef.current.setModified = setModified\n contextRef.current.setProcessing = setProcessing\n contextRef.current.setSubmitted = setSubmitted\n contextRef.current.disabled = disabled\n contextRef.current.setDisabled = setDisabled\n contextRef.current.formRef = formRef\n contextRef.current.reset = reset\n contextRef.current.replaceState = replaceState\n contextRef.current.dispatchFields = dispatchFields\n contextRef.current.addFieldRow = addFieldRow\n contextRef.current.removeFieldRow = removeFieldRow\n contextRef.current.replaceFieldRow = replaceFieldRow\n contextRef.current.uuid = uuid\n contextRef.current.initializing = initializing\n\n useEffect(() => {\n setIsMounted(true)\n }, [])\n\n useEffect(() => {\n if (typeof disabledFromProps === 'boolean') {\n setDisabled(disabledFromProps)\n }\n }, [disabledFromProps])\n\n useEffect(() => {\n if (typeof submittedFromProps === 'boolean') {\n setSubmitted(submittedFromProps)\n }\n }, [submittedFromProps])\n\n useEffect(() => {\n if (initialState) {\n contextRef.current = { ...initContextState } as FormContextType\n dispatchFields({\n type: 'REPLACE_STATE',\n optimize: false,\n sanitize: true,\n state: initialState,\n })\n }\n }, [initialState, dispatchFields])\n\n useThrottledEffect(\n () => {\n refreshCookie()\n },\n 15000,\n [fields],\n )\n\n useEffect(() => {\n contextRef.current = { ...contextRef.current } // triggers rerender of all components that subscribe to form\n setModified(false)\n }, [locale])\n\n const classes = [className, baseClass].filter(Boolean).join(' ')\n\n const executeOnChange = useEffectEvent(async (submitted: boolean) => {\n if (Array.isArray(onChange)) {\n let revalidatedFormState: FormState = contextRef.current.fields\n\n for (const onChangeFn of onChange) {\n // Edit view default onChange is in packages/ui/src/views/Edit/index.tsx. This onChange usually sends a form state request\n revalidatedFormState = await onChangeFn({\n formState: deepCopyObjectSimpleWithoutReactComponents(contextRef.current.fields),\n submitted,\n })\n }\n\n if (!revalidatedFormState) {\n return\n }\n\n const { changed, newState } = mergeServerFormState({\n existingState: contextRef.current.fields || {},\n incomingState: revalidatedFormState,\n })\n\n if (changed) {\n dispatchFields({\n type: 'REPLACE_STATE',\n optimize: false,\n state: newState,\n })\n }\n }\n })\n\n const prevFields = useRef(contextRef.current.fields)\n const isFirstRenderRef = useRef(true)\n\n useDebouncedEffect(\n () => {\n if (isFirstRenderRef.current || !dequal(contextRef.current.fields, prevFields.current)) {\n if (modified) {\n void executeOnChange(submitted)\n }\n }\n\n isFirstRenderRef.current = false\n prevFields.current = contextRef.current.fields\n },\n /*\n Make sure we trigger this whenever modified changes (not just when `fields` changes),\n otherwise we will miss merging server form state for the first form update/onChange.\n\n Here's why:\n `fields` updates before `modified`, because setModified is in a setTimeout.\n So on the first change, modified is false, so we don't trigger the effect even though we should.\n **/\n [modified, submitted, contextRef.current.fields],\n 250,\n )\n\n const DocumentFormContextComponent: React.FC<any> = isDocumentForm\n ? DocumentFormContext.Provider\n : React.Fragment\n\n const documentFormContextProps = isDocumentForm\n ? {\n value: contextRef.current,\n }\n : {}\n\n return (\n <form\n action={typeof action === 'function' ? void action : action}\n className={classes}\n method={method}\n noValidate\n onSubmit={(e) => void contextRef.current.submit({}, e)}\n ref={formRef}\n >\n <DocumentFormContextComponent {...documentFormContextProps}>\n <FormContext.Provider value={contextRef.current}>\n <FormWatchContext.Provider\n value={{\n fields,\n ...contextRef.current,\n }}\n >\n <SubmittedContext.Provider value={submitted}>\n <InitializingContext.Provider value={!isMounted || (isMounted && initializing)}>\n <ProcessingContext.Provider value={processing}>\n <ModifiedContext.Provider value={modified}>\n <FormFieldsContext.Provider value={fieldsReducer}>\n {children}\n </FormFieldsContext.Provider>\n </ModifiedContext.Provider>\n </ProcessingContext.Provider>\n </InitializingContext.Provider>\n </SubmittedContext.Provider>\n </FormWatchContext.Provider>\n </FormContext.Provider>\n </DocumentFormContextComponent>\n </form>\n )\n}\n\nexport {\n DocumentFormContext,\n FormContext,\n FormFieldsContext,\n FormWatchContext,\n ModifiedContext,\n ProcessingContext,\n SubmittedContext,\n useAllFormFields,\n useDocumentForm,\n useForm,\n useFormFields,\n useFormModified,\n useFormProcessing,\n useFormSubmitted,\n useWatchForm,\n} from './context.js'\n\nexport { FormProps }\n"],"mappings":"AAAA;;;AACA,SAASA,MAAM,QAAQ,cAAa,CAAC;AACrC,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAE1B,SACEC,0CAA0C,EAC1CC,aAAA,IAAiBC,iBAAiB,EAClCC,cAAA,IAAkBC,kBAAkB,EACpCC,oBAAoB,EACpBC,IAAI,QACC;AACP,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,UAAU,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAC5E,SAASC,KAAK,QAAQ;AAUtB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,SAAS,QAAQ;AAC1B,SAASC,YAAY,QAAQ;AAC7B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,EAAEC,cAAc,QAAQ;AAC/C,SAASC,QAAQ,QAAQ;AACzB,SACEC,mBAAmB,EACnBC,WAAW,EACXC,iBAAiB,EACjBC,gBAAgB,EAChBC,mBAAmB,EACnBC,eAAe,EACfC,iBAAiB,EACjBC,gBAAgB,EAChBC,eAAe,QACV;AACP,SAASC,aAAa,QAAQ;AAC9B,SAASC,YAAY,QAAQ;AAC7B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,oBAAoB,QAAQ;AAErC,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,IAAA,GAA6BC,KAAA;EACxC,MAAM;IAAEC,EAAE;IAAEC,cAAc;IAAEC,cAAc;IAAEC,iBAAiB;IAAEC;EAAU,CAAE,GAAG7B,eAAA;EAE9E,MAAM;IACJ8B,MAAM;IACNC,YAAY;IACZC,QAAQ;IACRC,SAAS;IACTC,QAAA,EAAUC,iBAAiB;IAC3BC,oBAAoB;IACpBC,yBAAyB;IACzB;IACAC,cAAc;IACdC,YAAY;IACZC,cAAc;IACdC,cAAA,EAAgBC,qBAAqB;IACrCC,QAAQ;IACRC,QAAQ;IACRC,SAAS;IACTC,QAAQ;IACRC,SAAA,EAAWC,kBAAkB;IAC7BC,IAAI;IACJC;EAAmB,CACpB,GAAG1B,KAAA;EAEJ,MAAM2B,MAAA,GAAS,YAAY3B,KAAA,GAAQA,KAAA,EAAO2B,MAAA,GAASC,SAAA;EAEnD,MAAMC,MAAA,GAAS1E,SAAA;EAEf,MAAM2E,YAAA,GAAerC,eAAA;EAErB,MAAM;IAAEsC,IAAA,EAAMC;EAAM,CAAE,GAAGvD,SAAA;EACzB,MAAM;IAAEwD,IAAI;IAAEC;EAAC,CAAE,GAAGrD,cAAA;EACpB,MAAM;IAAEsD,aAAa;IAAEC;EAAI,CAAE,GAAG9D,OAAA;EAChC,MAAM+D,SAAA,GAAY3D,YAAA;EAElB,MAAM;IAAE4D;EAAY,CAAE,GAAG1D,kBAAA;EACzB,MAAM;IAAE2D;EAAoB,CAAE,GAAG5D,kBAAA;EAEjC,MAAM;IAAE6D;EAAM,CAAE,GAAGjE,SAAA;EAEnB,MAAM,CAACmC,QAAA,EAAU+B,WAAA,CAAY,GAAGxE,QAAA,CAAS0C,iBAAA,IAAqB;EAC9D,MAAM,CAAC+B,SAAA,EAAWC,YAAA,CAAa,GAAG1E,QAAA,CAAS;EAC3C,MAAM,CAAC2E,QAAA,EAAUC,WAAA,CAAY,GAAG5E,QAAA,CAAS;EACzC,MAAM,CAAC6E,YAAA,EAAcC,eAAA,CAAgB,GAAG9E,QAAA,CAASiD,qBAAA;EACjD,MAAM,CAAC8B,UAAA,EAAYC,aAAA,CAAc,GAAGhF,QAAA,CAAS;EAC7C,MAAM,CAACsD,SAAA,EAAW2B,YAAA,CAAa,GAAGjF,QAAA,CAAS;EAC3C,MAAMkF,OAAA,GAAUnF,MAAA,CAAwB;EACxC,MAAMoF,UAAA,GAAapF,MAAA,CAAO,CAAC;EAC3B,MAAMqF,iBAAA,GAAoBrF,MAAA,CAAwB;EAElD,MAAMsF,aAAA,GAAgBvF,UAAA,CAAW4B,YAAA,EAAc,CAAC,GAAG,MAAMoB,YAAA;EAEzD;;;;EAIA,MAAM,CAACwC,MAAA,EAAQC,cAAA,CAAe,GAAGF,aAAA;EAEjCF,UAAA,CAAWK,OAAO,CAACF,MAAM,GAAGA,MAAA;EAE5B,MAAMG,YAAA,GAAe7F,WAAA,CAAY;IAC/B,MAAM8F,mBAAA,GAAsB,CAAC;IAC7B,IAAIC,OAAA,GAAU;IAEd,MAAMC,IAAA,GAAOT,UAAA,CAAWK,OAAO,CAACK,OAAO;IAEvC,MAAMC,kBAAA,GAAqBC,MAAA,CAAOC,OAAO,CAACb,UAAA,CAAWK,OAAO,CAACF,MAAM,EAAEW,GAAG,CACtE,OAAO,CAACC,IAAA,EAAMC,KAAA,CAAM;MAClB,MAAMC,cAAA,GAAiBD,KAAA;MAEvB,IAAIA,KAAA,CAAME,eAAe,KAAK,OAAO;QACnC,IAAIC,gBAAA,GAAqCF,cAAA,CAAeG,KAAK;QAE7D,IAAI,cAAcJ,KAAA,IAAS,OAAOA,KAAA,CAAMK,QAAQ,KAAK,YAAY;UAC/D,IAAIC,eAAA,GAAkBN,KAAA,CAAMO,KAAK;UAEjC,IAAIP,KAAA,EAAOQ,IAAA,IAAQC,KAAA,CAAMC,OAAO,CAACV,KAAA,CAAMQ,IAAI,GAAG;YAC5CF,eAAA,GAAkBtB,UAAA,CAAWK,OAAO,CAACnG,aAAa,CAAC6G,IAAA;UACrD;UAEAI,gBAAA,GAAmB,MAAMH,KAAA,CAAMK,QAAQ,CAACC,eAAA,EAAiB;YACvD,GAAGN,KAAK;YACRnE,EAAA;YACAC,cAAA;YACA;YACA6E,SAAA,EAAWnD,SAAA;YACXiC,IAAA,EAAM/B,YAAA,EAAcgC,OAAA,GAAUhC,YAAA,CAAagC,OAAO,KAAKD,IAAA;YACvDmB,KAAA,EAAO;YACP3C,SAAA;YACA4C,WAAA,EAAa,CAAC;YACdC,GAAA,EAAK;cACHC,OAAA,EAAS;gBACP3C;cACF;cACAN,CAAA;cACAE;YACF;YACAgD,WAAA,EAAahC,UAAA,CAAWK,OAAO,CAACjG,cAAc,CAAC2G,IAAA;UACjD;UAEA,IAAI,OAAOI,gBAAA,KAAqB,UAAU;YACxCF,cAAA,CAAegB,YAAY,GAAGd,gBAAA;YAC9BF,cAAA,CAAeG,KAAK,GAAG;UACzB,OAAO;YACLH,cAAA,CAAeG,KAAK,GAAG;YACvBH,cAAA,CAAegB,YAAY,GAAGzD,SAAA;UAChC;QACF;QAEA,IAAIyC,cAAA,CAAeG,KAAK,KAAK,OAAO;UAClCZ,OAAA,GAAU;QACZ;MACF;MAEAD,mBAAmB,CAACQ,IAAA,CAAK,GAAGE,cAAA;IAC9B;IAGF,MAAMiB,OAAA,CAAQC,GAAG,CAACxB,kBAAA;IAElB,IAAI,CAAC7G,MAAA,CAAOkG,UAAA,CAAWK,OAAO,CAACF,MAAM,EAAEI,mBAAA,GAAsB;MAC3DH,cAAA,CAAe;QAAEgC,IAAA,EAAM;QAAiBC,KAAA,EAAO9B;MAAoB;IACrE;IAEA,OAAOC,OAAA;EACT,GAAG,CAAC1D,cAAA,EAAgBsC,MAAA,EAAQgB,cAAA,EAAgBvD,EAAA,EAAIoC,SAAA,EAAWH,CAAA,EAAGE,IAAA,EAAMN,YAAA,CAAa;EAEjF,MAAM4D,MAAA,GAAS7H,WAAA,CACb,OAAO8H,OAAA,GAAyB,CAAC,CAAC,EAAEC,CAAA;IAClC,MAAM;MACJtF,MAAA,EAAQuF,SAAA,GAAYvF,MAAM;MAC1BqB,MAAA,EAAQmE,WAAA,GAAcnE,MAAM;MAC5BoE,SAAA,EAAWC,iBAAA,GAAoB,CAAC,CAAC;MACjCC;IAAc,CACf,GAAGN,OAAA;IAEJ,IAAIjF,QAAA,EAAU;MACZ,IAAIkF,CAAA,EAAG;QACLA,CAAA,CAAEM,cAAc;MAClB;MACA;IACF;IAEA;IACA,IAAIC,UAAA,EAAYC,YAAA;IAChB,MAAMC,OAAA,GAAU,IAAIf,OAAA,CAAQ,CAACgB,OAAA,EAASC,MAAA;MACpCH,YAAA,GAAeE,OAAA;MACfH,UAAA,GAAaI,MAAA;IACf;IAEA,MAAMC,mBAAA,GACJX,SAAA,IAAa,OAAOvF,MAAA,KAAW,YAAY,OAAOA,MAAA,KAAW;IAE/D,IAAIgB,QAAA,IAAYV,oBAAA,IAAwB,CAAC4F,mBAAA,EAAqB;MAC5D;MACA;MACAJ,YAAA,GAAgBvC,MAAA,IAAS3F,KAAA,CAAMuI,OAAO,CAAC5C,MAAA;MACvCsC,UAAA,GAActC,MAAA,IAAS3F,KAAA,CAAMwI,KAAK,CAAC7C,MAAA;IACrC,OAAO;MACL3F,KAAA,CAAMmI,OAAO,CAACA,OAAA,EAAS;QACrBK,KAAA,EAAQ7C,MAAA;UACN,OAAOA,MAAA;QACT;QACA8C,OAAA,EAASzE,CAAA,CAAE;QACXuE,OAAA,EAAU5C,MAAA;UACR,OAAOA,MAAA;QACT;MACF;IACF;IAEA,IAAI+B,CAAA,EAAG;MACLA,CAAA,CAAEgB,eAAe;MACjBhB,CAAA,CAAEM,cAAc;IAClB;IAEAjD,aAAA,CAAc;IACdR,WAAA,CAAY;IAEZ,IAAIf,mBAAA,EAAqB;MACvB,MAAM/D,IAAA,CAAK;IACb;IAEA;IACA,IAAIkH,KAAA,CAAMC,OAAO,CAACvE,YAAA,GAAe;MAC/B,IAAIsG,oBAAA;MAEJ,MAAMC,kBAAA,GAAqBzJ,0CAAA,CACzB+F,UAAA,CAAWK,OAAO,CAACF,MAAM;MAG3B,MAAMhD,YAAA,CAAawG,MAAM,CAAC,OAAOC,aAAA,EAAeC,cAAA;QAC9C,MAAMD,aAAA;QAEN,MAAME,MAAA,GAAS,MAAMD,cAAA,CAAe;UAClCE,SAAA,EAAWL;QACb;QAEAD,oBAAA,GAAuBK,MAAA;MACzB,GAAG5B,OAAA,CAAQgB,OAAO;MAElB,MAAM1C,SAAA,GAAUI,MAAA,CAAOC,OAAO,CAAC4C,oBAAA,EAAsBO,KAAK,CACxD,CAAC,GAAGhD,OAAA,CAAM,KAAKA,OAAA,CAAMI,KAAK,KAAK;MAGjC,IAAI,CAACZ,SAAA,EAAS;QACZX,aAAA,CAAc;QACdC,YAAA,CAAa;QACbT,WAAA,CAAY;QACZ,OAAOe,cAAA,CAAe;UAAEgC,IAAA,EAAM;UAAiBC,KAAA,EAAOoB;QAAqB;MAC7E;IACF;IAEA,MAAMjD,SAAA,GACJqC,cAAA,IAAkBpF,yBAAA,GAA4B,OAAO,MAAMuC,UAAA,CAAWK,OAAO,CAACC,YAAY;IAE5F;IACA,IAAI,CAACE,SAAA,EAAS;MACZuC,UAAA,CAAWjE,CAAA,CAAE;MACbe,aAAA,CAAc;MACdC,YAAA,CAAa;MACbT,WAAA,CAAY;MACZ;IACF;IAEA,IAAIsD,SAAA,GAAY,CAAC;IAEjB,IAAI,OAAOC,iBAAA,KAAsB,YAAY;MAC3CD,SAAA,GAAYC,iBAAA,CAAkB5C,UAAA,CAAWK,OAAO,CAACF,MAAM;IACzD,OAAO,IAAI,OAAOyC,iBAAA,KAAsB,UAAU;MAChDD,SAAA,GAAYC,iBAAA;IACd;IAEA;IACA,IAAI5E,QAAA,EAAU;MACZ,MAAM0F,oBAAA,GAAqBzJ,0CAAA,CACzB+F,UAAA,CAAWK,OAAO,CAACF,MAAM;MAG3B,MAAMM,MAAA,GAAOnG,oBAAA,CAAqBoJ,oBAAA,EAAoB;MAEtD,KAAK,MAAM,CAACO,GAAA,EAAK1C,KAAA,CAAM,IAAIX,MAAA,CAAOC,OAAO,CAAC8B,SAAA,GAAY;QACpDlC,MAAI,CAACwD,GAAA,CAAI,GAAG1C,KAAA;MACd;MAEAvD,QAAA,CAAS0F,oBAAA,EAAoBjD,MAAA;IAC/B;IAEA,IAAI,CAAC2C,mBAAA,EAAqB;MACxB;MACA;MACAvD,aAAA,CAAc;MACdC,YAAA,CAAa;MACbT,WAAA,CAAY;MACZ;IACF;IAEA,MAAM6E,QAAA,GAAWlE,UAAA,CAAWK,OAAO,CAAC8D,cAAc,CAACxB,SAAA,EAAW;MAC5DyB,iBAAA,EAAmBC,OAAA,CAAQ,OAAOzB,iBAAA,KAAsB;IAC1D;IAEA,IAAI;MACF,IAAI0B,GAAA;MAEJ,IAAI,OAAO7B,SAAA,KAAc,UAAU;QACjC6B,GAAA,GAAM,MAAM1I,QAAQ,CAAC8G,WAAA,CAAY6B,WAAW,GAAG,CAAC9B,SAAA,EAAW;UACzD+B,IAAA,EAAMN,QAAA;UACNO,OAAA,EAAS;YACP,mBAAmB5F,IAAA,CAAK6F;UAC1B;QACF;MACF,OAAO,IAAI,OAAOxH,MAAA,KAAW,YAAY;QACvCoH,GAAA,GAAM,MAAMpH,MAAA,CAAOgH,QAAA;MACrB;MAEAzE,WAAA,CAAY;MACZJ,WAAA,CAAY;MAEZ,IAAI,OAAO3B,cAAA,KAAmB,YAAY;QACxCA,cAAA,CAAe4G,GAAA,EAAKtB,YAAA,EAAcD,UAAA;QAClC;MACF;MAEA,MAAM4B,WAAA,GAAcL,GAAA,CAAIG,OAAO,CAACG,GAAG,CAAC;MACpC,MAAMC,MAAA,GAASF,WAAA,IAAeA,WAAA,CAAYG,OAAO,CAAC,wBAAwB,CAAC;MAE3E;MACA,IAAIC,IAAA,GAA4B,CAAC;MAEjC,IAAIF,MAAA,EAAQ;QACVE,IAAA,GAAO,MAAMT,GAAA,CAAIS,IAAI;MACvB;MACA,IAAIT,GAAA,CAAIU,MAAM,GAAG,KAAK;QACpB,IAAI,OAAO/G,SAAA,KAAc,YAAY;UACnC,MAAMgH,YAAA,GAAe,MAAMhH,SAAA,CAAU8G,IAAA;UACrC,IAAIE,YAAA,EAAc;YAChB,MAAM;cAAEC,QAAA,EAAUC;YAAe,CAAE,GAAG1I,oBAAA,CAAqB;cACzD2I,YAAA,EAAc;cACdC,aAAA,EAAerF,UAAA,CAAWK,OAAO,CAACF,MAAM,IAAI,CAAC;cAC7CmF,aAAA,EAAeL;YACjB;YAEA7E,cAAA,CAAe;cACbgC,IAAA,EAAM;cACNmD,QAAA,EAAU;cACVlD,KAAA,EAAO8C;YACT;UACF;QACF;QACArF,YAAA,CAAa;QACbD,aAAA,CAAc;QAEd,IAAI3B,QAAA,EAAU;UACZiB,oBAAA,CAAqB,MAAMV,MAAA,CAAO+G,IAAI,CAACtH,QAAA;QACzC,OAAO,IAAI,CAACV,oBAAA,EAAsB;UAChCwF,YAAA,CAAa+B,IAAA,CAAKU,OAAO,IAAI3G,CAAA,CAAE;QACjC;MACF,OAAO;QACLe,aAAA,CAAc;QACdC,YAAA,CAAa;QAEbE,UAAA,CAAWK,OAAO,GAAG;UAAE,GAAGL,UAAA,CAAWK;QAAQ,EAAE;QAAA;QAC/C,IAAI0E,IAAA,CAAKU,OAAO,EAAE;UAChB1C,UAAA,CAAWgC,IAAA,CAAKU,OAAO;UAEvB;QACF;QAEA,IAAIhE,KAAA,CAAMC,OAAO,CAACqD,IAAA,CAAKW,MAAM,GAAG;UAC9B,MAAM,CAACC,WAAA,EAAaC,cAAA,CAAe,GAAGb,IAAA,CAAKW,MAAM,CAAC/B,MAAM,CACtD,CAAC,CAACkC,SAAA,EAAWC,YAAA,CAAa,EAAEC,KAAA;YAC1B,MAAMC,YAAA,GAAe,EAAE;YACvB,MAAMC,eAAA,GAAkB,EAAE;YAE1B,IAAIF,KAAA,EAAKN,OAAA,EAAS;cAChBQ,eAAA,CAAgBT,IAAI,CAACO,KAAA;YACvB;YAEA,IAAItE,KAAA,CAAMC,OAAO,CAACqE,KAAA,EAAKtF,IAAA,EAAMiF,MAAA,GAAS;cACpCK,KAAA,CAAItF,IAAI,EAAEiF,MAAA,CAAOQ,OAAA,CAASC,SAAA;gBACxB,IAAIA,SAAA,EAAWpF,IAAA,EAAM;kBACnBiF,YAAA,CAAaR,IAAI,CAACW,SAAA;gBACpB,OAAO;kBACLF,eAAA,CAAgBT,IAAI,CAACW,SAAA;gBACvB;cACF;YACF;YAEA,OAAO,CACL,C,GAAIN,SAAA,E,GAAcG,YAAA,CAAa,EAC/B,C,GAAIF,YAAA,E,GAAiBG,eAAA,CAAgB,CACtC;UACH,GACA,CAAC,EAAE,EAAE,EAAE,CAAC;UAGV7F,cAAA,CAAe;YACbgC,IAAA,EAAM;YACNsD,MAAA,EAAQC;UACV;UAEAC,cAAA,CAAeM,OAAO,CAAEH,KAAA;YACtBhD,UAAA,CAAWgD,KAAA,CAAIN,OAAO,IAAI3G,CAAA,CAAE;UAC9B;UAEA;QACF;QAEA,MAAM2G,OAAA,GAAUnJ,aAAA,GAAgBgI,GAAA,CAAIU,MAAM,CAAC,IAAIV,GAAA,EAAK8B,UAAA,IAActH,CAAA,CAAE;QAEpEiE,UAAA,CAAW0C,OAAA;MACb;IACF,EAAE,OAAOM,GAAA,EAAK;MACZM,OAAA,CAAQ/C,KAAK,CAAC,yBAAyByC,GAAA,EAAK;MAAA;MAC5ClG,aAAA,CAAc;MACdC,YAAA,CAAa;MACbT,WAAA,CAAY;MACZ0D,UAAA,CAAWgD,GAAA,CAAIN,OAAO;IACxB;EACF,GACA,CACEtI,YAAA,EACAD,MAAA,EACAM,oBAAA,EACAC,yBAAA,EACAH,QAAA,EACA8C,cAAA,EACA1C,cAAA,EACAa,MAAA,EACAP,QAAA,EACAC,SAAA,EACAC,QAAA,EACAO,MAAA,EACAK,CAAA,EACAD,IAAA,EACAP,mBAAA,CACD;EAGH,MAAMgI,SAAA,GAAY7L,WAAA,CAAY,MAAMuF,UAAA,CAAWK,OAAO,CAACF,MAAM,EAAE,EAAE;EAEjE,MAAMoG,QAAA,GAAW9L,WAAA,CAAasG,MAAA,IAAiBf,UAAA,CAAWK,OAAO,CAACF,MAAM,CAACY,MAAA,CAAK,EAAE,EAAE;EAElF,MAAML,OAAA,GAAUjG,WAAA,CAAY,MAAMH,oBAAA,CAAqB0F,UAAA,CAAWK,OAAO,CAACF,MAAM,EAAE,OAAO,EAAE;EAE3F,MAAM/F,cAAA,GAAiBK,WAAA,CACpBsG,MAAA,IAAiB1G,kBAAA,CAAmB2F,UAAA,CAAWK,OAAO,CAACF,MAAM,EAAEY,MAAA,GAChE,EAAE;EAGJ,MAAM7G,aAAA,GAAgBO,WAAA,CACnBsG,MAAA,IAAiB5G,iBAAA,CAAkB6F,UAAA,CAAWK,OAAO,CAACF,MAAM,EAAEY,MAAA,GAC/D,EAAE;EAGJ,MAAMoD,cAAA,GAAiB1J,WAAA,CAA4B,CAACkI,WAAA,EAAW;IAAEyB,iBAAA,GAAoB;EAAI,CAAE;IACzF,IAAI3D,MAAA,GAAOnG,oBAAA,CAAqB0F,UAAA,CAAWK,OAAO,CAACF,MAAM,EAAE;IAE3D,MAAMqG,IAAA,GAAO/F,MAAA,EAAM+F,IAAA;IAEnB,IAAIA,IAAA,EAAM;MACR,OAAO/F,MAAA,CAAK+F,IAAI;IAClB;IAEA,IAAIpC,iBAAA,EAAmB;MACrB3D,MAAA,GAAO;QACL,GAAGA,MAAI;QACP,GAAGkC;MACL;IACF,OAAO;MACLlC,MAAA,GAAOkC,WAAA;IACT;IAEA,MAAM8D,eAAA,GAAkB;MACtBC,QAAA,EAAUC,IAAA,CAAKC,SAAS,CAACnG,MAAA;MACzB+F;IACF;IAEA;IACA,MAAMtC,UAAA,GAAWlK,SAAA,CAAUyM,eAAA,EAAiB;MAAEI,OAAA,EAAS;MAAMC,iBAAA,EAAmB;IAAM;IAEtF,OAAO5C,UAAA;EACT,GAAG,EAAE;EAEL,MAAM6C,KAAA,GAAQtM,WAAA,CACZ,MAAOgG,MAAA;IACL,MAAMuG,UAAA,GAAarL,cAAA,CAAesE,iBAAA;IAElC,MAAMgH,cAAA,GAAiB,MAAMjK,iBAAA;IAE7B,MAAM;MAAEqF,KAAA,EAAO6C;IAAQ,CAAE,GAAG,MAAMhG,YAAA,CAAa;MAC7CrC,EAAA;MACAC,cAAA;MACA2D,IAAA,EAAAA,MAAA;MACA1D,cAAA;MACAkK,cAAA;MACAhK,UAAA;MACA2B,MAAA;MACAK,SAAA;MACAiI,eAAA,EAAiB;MACjBC,UAAA,EAAYrK,cAAA,GAAiBA,cAAA,GAAiBG,UAAA;MAC9CmK,MAAA,EAAQJ,UAAA,CAAWI,MAAM;MACzBvE,cAAA,EAAgB;IAClB;IAEA7C,UAAA,CAAWK,OAAO,GAAG;MAAE,GAAG7D;IAAiB;IAC3CiD,WAAA,CAAY;IACZW,cAAA,CAAe;MAAEgC,IAAA,EAAM;MAAiBC,KAAA,EAAO6C;IAAS;IAExDjF,iBAAA,CAAkBI,OAAO,GAAG;EAC9B,GACA,CACEvD,cAAA,EACAsD,cAAA,EACAnD,UAAA,EACAJ,EAAA,EACAoC,SAAA,EACAC,YAAA,EACAnC,cAAA,EACAC,iBAAA,EACA4B,MAAA,CACD;EAGH,MAAMyI,YAAA,GAAe5M,WAAA,CAClB4H,KAAA;IACCrC,UAAA,CAAWK,OAAO,GAAG;MAAE,GAAG7D;IAAiB;IAC3CiD,WAAA,CAAY;IACZW,cAAA,CAAe;MAAEgC,IAAA,EAAM;MAAiBC;IAAM;EAChD,GACA,CAACjC,cAAA,CAAe;EAGlB,MAAMkH,WAAA,GAA8C7M,WAAA,CAClD,CAAC;IAAE8M,SAAS;IAAExG,IAAI,EAAJA,MAAI;IAAEyG,QAAA,EAAUC,WAAW;IAAEC;EAAa,CAAE;IACxD,MAAMC,OAAA,GAAqBzN,aAAA,CAAc6G,MAAA,KAAS,EAAE;IACpD,MAAMyG,QAAA,GAAWC,WAAA,KAAgBjJ,SAAA,GAAYmJ,OAAA,CAAQC,MAAM,GAAGH,WAAA;IAE9D;IACA;IACArH,cAAA,CAAe;MACbgC,IAAA,EAAM;MACNmF,SAAA;MACAxG,IAAA,EAAAA,MAAA;MACAyG,QAAA;MACAE;IACF;IAEAjI,WAAA,CAAY;EACd,GACA,CAACW,cAAA,EAAgBlG,aAAA,CAAc;EAGjC,MAAM2N,cAAA,GAAoDpN,WAAA,CACxD,CAAC;IAAEsG,IAAI,EAAJA,MAAI;IAAEyG,QAAQ,EAARA;EAAQ,CAAE;IACjBpH,cAAA,CAAe;MAAEgC,IAAA,EAAM;MAAcrB,IAAA,EAAAA,MAAA;MAAMyG,QAAA,EAAAA;IAAS;EACtD,GACA,CAACpH,cAAA,CAAe;EAGlB,MAAM0H,eAAA,GAAsDrN,WAAA,CAC1D,CAAC;IAAE8M,SAAS,EAATA,WAAS;IAAExG,IAAI,EAAJA,MAAI;IAAEyG,QAAA,EAAUC,aAAW;IAAEC,aAAa,EAAbA;EAAa,CAAE;IACxD,MAAMK,WAAA,GAAyB7N,aAAA,CAAc6G,MAAA;IAC7C,MAAMyG,UAAA,GAAWC,aAAA,KAAgBjJ,SAAA,GAAYuJ,WAAA,CAAYH,MAAM,GAAGH,aAAA;IAElErH,cAAA,CAAe;MACbgC,IAAA,EAAM;MACNmF,SAAA,EAAAA,WAAA;MACAxG,IAAA,EAAAA,MAAA;MACAyG,QAAA,EAAAA,UAAA;MACAE,aAAA,EAAAA;IACF;IAEAjI,WAAA,CAAY;EACd,GACA,CAACW,cAAA,EAAgBlG,aAAA,CAAc;EAGjCQ,SAAA,CAAU;IACR,MAAMsN,aAAA,GAAgB/H,iBAAA,CAAkBI,OAAO;IAE/C,OAAO;MACL3E,cAAA,CAAesM,aAAA;IACjB;EACF,GAAG,EAAE;EAELtN,SAAA,CAAU;IACR,IAAIoD,qBAAA,KAA0BU,SAAA,EAAW;MACvCmB,eAAA,CAAgB7B,qBAAA;IAClB;EACF,GAAG,CAACA,qBAAA,CAAsB;EAE1BkC,UAAA,CAAWK,OAAO,CAACiC,MAAM,GAAGA,MAAA;EAC5BtC,UAAA,CAAWK,OAAO,CAACiG,SAAS,GAAGA,SAAA;EAC/BtG,UAAA,CAAWK,OAAO,CAACkG,QAAQ,GAAGA,QAAA;EAC9BvG,UAAA,CAAWK,OAAO,CAACK,OAAO,GAAGA,OAAA;EAC7BV,UAAA,CAAWK,OAAO,CAACjG,cAAc,GAAGA,cAAA;EACpC4F,UAAA,CAAWK,OAAO,CAACnG,aAAa,GAAGA,aAAA;EACnC8F,UAAA,CAAWK,OAAO,CAACC,YAAY,GAAGA,YAAA;EAClCN,UAAA,CAAWK,OAAO,CAAC8D,cAAc,GAAGA,cAAA;EACpCnE,UAAA,CAAWK,OAAO,CAACZ,WAAW,GAAGA,WAAA;EACjCO,UAAA,CAAWK,OAAO,CAACR,aAAa,GAAGA,aAAA;EACnCG,UAAA,CAAWK,OAAO,CAACP,YAAY,GAAGA,YAAA;EAClCE,UAAA,CAAWK,OAAO,CAAC/C,QAAQ,GAAGA,QAAA;EAC9B0C,UAAA,CAAWK,OAAO,CAAChB,WAAW,GAAGA,WAAA;EACjCW,UAAA,CAAWK,OAAO,CAACN,OAAO,GAAGA,OAAA;EAC7BC,UAAA,CAAWK,OAAO,CAAC0G,KAAK,GAAGA,KAAA;EAC3B/G,UAAA,CAAWK,OAAO,CAACgH,YAAY,GAAGA,YAAA;EAClCrH,UAAA,CAAWK,OAAO,CAACD,cAAc,GAAGA,cAAA;EACpCJ,UAAA,CAAWK,OAAO,CAACiH,WAAW,GAAGA,WAAA;EACjCtH,UAAA,CAAWK,OAAO,CAACwH,cAAc,GAAGA,cAAA;EACpC7H,UAAA,CAAWK,OAAO,CAACyH,eAAe,GAAGA,eAAA;EACrC9H,UAAA,CAAWK,OAAO,CAAChC,IAAI,GAAGA,IAAA;EAC1B2B,UAAA,CAAWK,OAAO,CAACX,YAAY,GAAGA,YAAA;EAElChF,SAAA,CAAU;IACR6E,YAAA,CAAa;EACf,GAAG,EAAE;EAEL7E,SAAA,CAAU;IACR,IAAI,OAAO6C,iBAAA,KAAsB,WAAW;MAC1C8B,WAAA,CAAY9B,iBAAA;IACd;EACF,GAAG,CAACA,iBAAA,CAAkB;EAEtB7C,SAAA,CAAU;IACR,IAAI,OAAO0D,kBAAA,KAAuB,WAAW;MAC3C0B,YAAA,CAAa1B,kBAAA;IACf;EACF,GAAG,CAACA,kBAAA,CAAmB;EAEvB1D,SAAA,CAAU;IACR,IAAIiD,YAAA,EAAc;MAChBqC,UAAA,CAAWK,OAAO,GAAG;QAAE,GAAG7D;MAAiB;MAC3C4D,cAAA,CAAe;QACbgC,IAAA,EAAM;QACNmD,QAAA,EAAU;QACV0C,QAAA,EAAU;QACV5F,KAAA,EAAO1E;MACT;IACF;EACF,GAAG,CAACA,YAAA,EAAcyC,cAAA,CAAe;EAEjCnF,kBAAA,CACE;IACE8D,aAAA;EACF,GACA,OACA,CAACoB,MAAA,CAAO;EAGVzF,SAAA,CAAU;IACRsF,UAAA,CAAWK,OAAO,GAAG;MAAE,GAAGL,UAAA,CAAWK;IAAQ,EAAE;IAAA;IAC/CZ,WAAA,CAAY;EACd,GAAG,CAACb,MAAA,CAAO;EAEX,MAAMsJ,OAAA,GAAU,CAAC7K,SAAA,EAAWX,SAAA,CAAU,CAACyL,MAAM,CAAC9D,OAAA,EAAS+D,IAAI,CAAC;EAE5D,MAAMC,eAAA,GAAkBrN,cAAA,CAAe,MAAOmD,WAAA;IAC5C,IAAIsD,KAAA,CAAMC,OAAO,CAAC3D,QAAA,GAAW;MAC3B,IAAI0F,sBAAA,GAAkCzD,UAAA,CAAWK,OAAO,CAACF,MAAM;MAE/D,KAAK,MAAMmI,UAAA,IAAcvK,QAAA,EAAU;QACjC;QACA0F,sBAAA,GAAuB,MAAM6E,UAAA,CAAW;UACtCvE,SAAA,EAAW9J,0CAAA,CAA2C+F,UAAA,CAAWK,OAAO,CAACF,MAAM;UAC/EhC,SAAA,EAAAA;QACF;MACF;MAEA,IAAI,CAACsF,sBAAA,EAAsB;QACzB;MACF;MAEA,MAAM;QAAE8E,OAAO;QAAErD,QAAQ,EAARA;MAAQ,CAAE,GAAGzI,oBAAA,CAAqB;QACjD4I,aAAA,EAAerF,UAAA,CAAWK,OAAO,CAACF,MAAM,IAAI,CAAC;QAC7CmF,aAAA,EAAe7B;MACjB;MAEA,IAAI8E,OAAA,EAAS;QACXnI,cAAA,CAAe;UACbgC,IAAA,EAAM;UACNmD,QAAA,EAAU;UACVlD,KAAA,EAAO6C;QACT;MACF;IACF;EACF;EAEA,MAAMsD,UAAA,GAAa5N,MAAA,CAAOoF,UAAA,CAAWK,OAAO,CAACF,MAAM;EACnD,MAAMsI,gBAAA,GAAmB7N,MAAA,CAAO;EAEhCG,kBAAA,CACE;IACE,IAAI0N,gBAAA,CAAiBpI,OAAO,IAAI,CAACvG,MAAA,CAAOkG,UAAA,CAAWK,OAAO,CAACF,MAAM,EAAEqI,UAAA,CAAWnI,OAAO,GAAG;MACtF,IAAIb,QAAA,EAAU;QACZ,KAAK6I,eAAA,CAAgBlK,SAAA;MACvB;IACF;IAEAsK,gBAAA,CAAiBpI,OAAO,GAAG;IAC3BmI,UAAA,CAAWnI,OAAO,GAAGL,UAAA,CAAWK,OAAO,CAACF,MAAM;EAChD;EACA;;;;;;;EAQA,CAACX,QAAA,EAAUrB,SAAA,EAAW6B,UAAA,CAAWK,OAAO,CAACF,MAAM,CAAC,EAChD;EAGF,MAAMuI,4BAAA,GAA8C9K,cAAA,GAChD/B,mBAAA,CAAoB8M,QAAQ,GAC5BnO,KAAA,CAAMoO,QAAQ;EAElB,MAAMC,wBAAA,GAA2BjL,cAAA,GAC7B;IACE2D,KAAA,EAAOvB,UAAA,CAAWK;EACpB,IACA,CAAC;EAEL,oBACEyI,IAAA,CAAC;IACC5L,MAAA,EAAQ,OAAOA,MAAA,KAAW,aAAa,KAAKA,MAAA,GAASA,MAAA;IACrDG,SAAA,EAAW6K,OAAA;IACX3J,MAAA,EAAQA,MAAA;IACRwK,UAAU;IACV/K,QAAA,EAAWwE,GAAA,IAAM,KAAKxC,UAAA,CAAWK,OAAO,CAACiC,MAAM,CAAC,CAAC,GAAGE,GAAA;IACpDwG,GAAA,EAAKjJ,OAAA;cAEL,aAAA+I,IAAA,CAACJ,4BAAA;MAA8B,GAAGG,wBAAwB;gBACxD,aAAAC,IAAA,CAAChN,WAAA,CAAY6M,QAAQ;QAACpH,KAAA,EAAOvB,UAAA,CAAWK,OAAO;kBAC7C,aAAAyI,IAAA,CAAC9M,gBAAA,CAAiB2M,QAAQ;UACxBpH,KAAA,EAAO;YACLpB,MAAA;YACA,GAAGH,UAAA,CAAWK;UAChB;oBAEA,aAAAyI,IAAA,CAAC1M,gBAAA,CAAiBuM,QAAQ;YAACpH,KAAA,EAAOpD,SAAA;sBAChC,aAAA2K,IAAA,CAAC7M,mBAAA,CAAoB0M,QAAQ;cAACpH,KAAA,EAAO,CAACjC,SAAA,IAAcA,SAAA,IAAaI,YAAA;wBAC/D,aAAAoJ,IAAA,CAAC3M,iBAAA,CAAkBwM,QAAQ;gBAACpH,KAAA,EAAO3B,UAAA;0BACjC,aAAAkJ,IAAA,CAAC5M,eAAA,CAAgByM,QAAQ;kBAACpH,KAAA,EAAO/B,QAAA;4BAC/B,aAAAsJ,IAAA,CAAC/M,iBAAA,CAAkB4M,QAAQ;oBAACpH,KAAA,EAAOrB,aAAA;8BAChC9C;;;;;;;;;;AAWvB;AAEA,SACEvB,mBAAmB,EACnBC,WAAW,EACXC,iBAAiB,EACjBC,gBAAgB,EAChBE,eAAe,EACfC,iBAAiB,EACjBC,gBAAgB,EAChB6M,gBAAgB,EAChB5M,eAAe,EACf6M,OAAO,EACPC,aAAa,EACbC,eAAe,EACfC,iBAAiB,EACjBC,gBAAgB,EAChBC,YAAY,QACP","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"addFieldStatePromise.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EAEd,SAAS,EACT,0BAA0B,EAC1B,cAAc,EAEd,0BAA0B,EAE3B,MAAM,SAAS,CAAA;AAchB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAQnD,MAAM,MAAM,wBAAwB,GAAG;IACrC,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;OAEG;IACH,SAAS,EAAE,IAAI,GAAG,SAAS,CAAA;IAC3B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,cAAc,CAAA;IAC9B;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAA;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAA;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,0BAA0B,CAAA;IAC7C,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,OAAO,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,mBAAmB,CAAA;IAChC,iBAAiB,EAAE,SAAS,CAAA;IAC5B,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,iBAAiB,CAAA;IAChC;;;OAGG;IACH,GAAG,EAAE,cAAc,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,0BAA0B,CAAA;CAClC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,SAAgB,wBAAwB,KAAG,OAAO,CAAC,IAAI,CAotBvF,CAAA"}
1
+ {"version":3,"file":"addFieldStatePromise.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EAGd,SAAS,EACT,0BAA0B,EAC1B,cAAc,EAEd,0BAA0B,EAE3B,MAAM,SAAS,CAAA;AAchB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAQnD,MAAM,MAAM,wBAAwB,GAAG;IACrC,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;OAEG;IACH,SAAS,EAAE,IAAI,GAAG,SAAS,CAAA;IAC3B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,cAAc,CAAA;IAC9B;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAA;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAA;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,0BAA0B,CAAA;IAC7C,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,OAAO,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,mBAAmB,CAAA;IAChC,iBAAiB,EAAE,SAAS,CAAA;IAC5B,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,iBAAiB,CAAA;IAChC;;;OAGG;IACH,GAAG,EAAE,cAAc,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,0BAA0B,CAAA;CAClC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,SAAgB,wBAAwB,KAAG,OAAO,CAAC,IAAI,CA0tBvF,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import ObjectIdImport from 'bson-objectid';
2
2
  import { deepCopyObjectSimple, fieldAffectsData, fieldHasSubFields, fieldIsHiddenOrDisabled, fieldIsID, fieldIsLocalized, getFieldPaths, tabHasName } from 'payload/shared';
3
- import { getFilterOptionsQuery } from './getFilterOptionsQuery.js';
3
+ import { resolveFilterOptions } from '../../utilities/resolveFilterOptions.js';
4
4
  import { iterateFields } from './iterateFields.js';
5
5
  const ObjectId = ObjectIdImport.default || ObjectIdImport;
6
6
  /**
@@ -231,7 +231,8 @@ export const addFieldStatePromise = async args => {
231
231
  promises,
232
232
  rowMetadata
233
233
  } = blocksValue.reduce((acc, row, i) => {
234
- const block = field.blocks.find(blockType => blockType.slug === row.blockType);
234
+ const blockTypeToMatch = row.blockType;
235
+ const block = req.payload.blocks[blockTypeToMatch] ?? (field.blockReferences ?? field.blocks).find(blockType => typeof blockType !== 'string' && blockType.slug === blockTypeToMatch);
235
236
  if (!block) {
236
237
  throw new Error(`Block with type "${row.blockType}" was found in block data, but no block with that type is defined in the config for field with schema path ${schemaPath}.`);
237
238
  }
@@ -390,7 +391,7 @@ export const addFieldStatePromise = async args => {
390
391
  }
391
392
  }
392
393
  if (typeof field.filterOptions === 'function') {
393
- const query = await getFilterOptionsQuery(field.filterOptions, {
394
+ const query = await resolveFilterOptions(field.filterOptions, {
394
395
  id,
395
396
  blockData,
396
397
  data: fullData,