@payloadcms/ui 4.0.0-internal.fa345ef → 4.0.0-internal.fec2230

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 (962) hide show
  1. package/dist/css/app.css +121 -0
  2. package/dist/css/forms.css +0 -6
  3. package/dist/css/spacing.css +11 -3
  4. package/dist/css/z-index.css +10 -0
  5. package/dist/elements/APIKeyInput/index.css +4 -4
  6. package/dist/elements/AddNewRelation/index.css +0 -1
  7. package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -1
  8. package/dist/elements/AppHeader/index.css +3 -18
  9. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  10. package/dist/elements/AppHeader/index.js +10 -10
  11. package/dist/elements/AppHeader/index.js.map +1 -1
  12. package/dist/elements/ArrayAction/index.d.ts +3 -0
  13. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  14. package/dist/elements/ArrayAction/index.js +83 -29
  15. package/dist/elements/ArrayAction/index.js.map +1 -1
  16. package/dist/elements/Autosave/index.d.ts.map +1 -1
  17. package/dist/elements/Autosave/index.js +2 -3
  18. package/dist/elements/Autosave/index.js.map +1 -1
  19. package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
  20. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  21. package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
  22. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +2 -2
  24. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  25. package/dist/elements/BulkUpload/FileSidebar/index.css +4 -0
  26. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +2 -2
  27. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
  28. package/dist/elements/BulkUpload/FormsManager/createFormData.js +4 -15
  29. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  30. package/dist/elements/BulkUpload/FormsManager/index.js +3 -4
  31. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  32. package/dist/elements/Button/index.css +2 -2
  33. package/dist/elements/Button/index.d.ts.map +1 -1
  34. package/dist/elements/Button/index.js +2 -0
  35. package/dist/elements/Button/index.js.map +1 -1
  36. package/dist/elements/ClipboardAction/ClipboardActionLabel.d.ts.map +1 -1
  37. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts +8 -1
  38. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts.map +1 -1
  39. package/dist/elements/ClipboardAction/clipboardUtilities.js +40 -8
  40. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  41. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +120 -0
  42. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +1 -0
  43. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  44. package/dist/elements/ClipboardAction/index.js +17 -1
  45. package/dist/elements/ClipboardAction/index.js.map +1 -1
  46. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +144 -0
  47. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +1 -0
  48. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
  49. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  50. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
  51. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  52. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +345 -1
  53. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
  54. package/dist/elements/ClipboardAction/types.d.ts +3 -0
  55. package/dist/elements/ClipboardAction/types.d.ts.map +1 -1
  56. package/dist/elements/ClipboardAction/types.js.map +1 -1
  57. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts +10 -0
  58. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts.map +1 -0
  59. package/dist/elements/ClipboardAction/useCanPasteClipboard.js +21 -0
  60. package/dist/elements/ClipboardAction/useCanPasteClipboard.js.map +1 -0
  61. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  62. package/dist/elements/CodeEditor/index.css +5 -5
  63. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
  64. package/dist/elements/ColumnSelection/Popup.js +5 -1
  65. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  66. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts +10 -0
  67. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts.map +1 -0
  68. package/dist/elements/ColumnSelection/matchesColumnSearch.js +21 -0
  69. package/dist/elements/ColumnSelection/matchesColumnSearch.js.map +1 -0
  70. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js +87 -0
  71. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +1 -0
  72. package/dist/elements/CommandPalette/index.css +0 -7
  73. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  74. package/dist/elements/CopyLocaleData/index.js +8 -9
  75. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  76. package/dist/elements/CopyToClipboard/index.d.ts +1 -0
  77. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  78. package/dist/elements/CopyToClipboard/index.js +10 -8
  79. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  80. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  81. package/dist/elements/CreateDocumentButton/index.js +4 -1
  82. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  83. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  84. package/dist/elements/DatePicker/DatePicker.js +1 -0
  85. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  86. package/dist/elements/DatePicker/getFormattedLocale.d.ts.map +1 -1
  87. package/dist/elements/DatePicker/index.css +1 -1
  88. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  89. package/dist/elements/DeleteDocument/index.js +16 -1
  90. package/dist/elements/DeleteDocument/index.js.map +1 -1
  91. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  92. package/dist/elements/DeleteMany/index.js +2 -3
  93. package/dist/elements/DeleteMany/index.js.map +1 -1
  94. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -1
  95. package/dist/elements/DocumentControls/index.css +0 -2
  96. package/dist/elements/DocumentControls/index.d.ts +2 -2
  97. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  98. package/dist/elements/DocumentControls/index.js.map +1 -1
  99. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +2 -2
  100. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  101. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  102. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  103. package/dist/elements/DocumentLocked/index.d.ts +2 -2
  104. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  105. package/dist/elements/DocumentLocked/index.js.map +1 -1
  106. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  107. package/dist/elements/Drawer/index.css +10 -4
  108. package/dist/elements/Drawer/index.d.ts.map +1 -1
  109. package/dist/elements/Drawer/index.js +1 -0
  110. package/dist/elements/Drawer/index.js.map +1 -1
  111. package/dist/elements/Drawer/useDrawerSlug.d.ts.map +1 -1
  112. package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
  113. package/dist/elements/Dropzone/index.css +10 -4
  114. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
  115. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  116. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  117. package/dist/elements/DuplicateDocument/index.js +2 -3
  118. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  119. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  120. package/dist/elements/EditMany/DrawerContent.js +4 -5
  121. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  122. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  123. package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
  124. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  125. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
  126. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
  127. package/dist/elements/FileDetails/StaticFileDetails/index.css +8 -9
  128. package/dist/elements/FileManager/FilePreview/index.css +3 -3
  129. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
  130. package/dist/elements/FileManager/FileToolbar/index.js +3 -0
  131. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
  132. package/dist/elements/FileManager/index.css +35 -52
  133. package/dist/elements/FileManager/index.d.ts +1 -1
  134. package/dist/elements/FileManager/index.d.ts.map +1 -1
  135. package/dist/elements/FileManager/index.js +385 -282
  136. package/dist/elements/FileManager/index.js.map +1 -1
  137. package/dist/elements/HTMLDiff/diff/index.d.ts.map +1 -1
  138. package/dist/elements/HTMLDiff/index.d.ts.map +1 -1
  139. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +0 -1
  140. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  141. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  142. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -1
  143. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  144. package/dist/elements/Hierarchy/MoveMany/index.js +2 -3
  145. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  146. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  147. package/dist/elements/Hierarchy/Search/useHierarchySearch.js +2 -3
  148. package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
  149. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  150. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +109 -89
  151. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  152. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  153. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +2 -0
  154. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  155. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +1 -1
  156. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  157. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +0 -1
  158. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  159. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  160. package/dist/elements/IDLabel/index.css +6 -0
  161. package/dist/elements/IDLabel/index.d.ts +1 -1
  162. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  163. package/dist/elements/IDLabel/index.js +16 -21
  164. package/dist/elements/IDLabel/index.js.map +1 -1
  165. package/dist/elements/InputStepper/index.css +0 -1
  166. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  167. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  168. package/dist/elements/ListControls/index.js +1 -1
  169. package/dist/elements/ListControls/index.js.map +1 -1
  170. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  171. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
  172. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
  173. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
  174. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  175. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
  176. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +2 -3
  177. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  178. package/dist/elements/LivePreview/Window/index.js +1 -1
  179. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  180. package/dist/elements/LoadingOverlay/reducer.d.ts.map +1 -1
  181. package/dist/elements/Localizer/index.js +1 -1
  182. package/dist/elements/Localizer/index.js.map +1 -1
  183. package/dist/elements/Locked/index.css +0 -5
  184. package/dist/elements/Locked/index.d.ts +2 -2
  185. package/dist/elements/Locked/index.d.ts.map +1 -1
  186. package/dist/elements/Locked/index.js +38 -19
  187. package/dist/elements/Locked/index.js.map +1 -1
  188. package/dist/elements/MiniCarousel/index.css +39 -37
  189. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  190. package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
  191. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  192. package/dist/elements/Nav/SidebarTabs/index.css +0 -5
  193. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
  194. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
  195. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
  196. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
  197. package/dist/elements/Nav/index.css +0 -5
  198. package/dist/elements/NavGroup/index.css +0 -1
  199. package/dist/elements/Pagination/index.css +5 -0
  200. package/dist/elements/Pagination/index.d.ts.map +1 -1
  201. package/dist/elements/Pagination/index.js +21 -21
  202. package/dist/elements/Pagination/index.js.map +1 -1
  203. package/dist/elements/Popup/PopupButtonList/index.css +1 -1
  204. package/dist/elements/Popup/index.js +1 -1
  205. package/dist/elements/Popup/index.js.map +1 -1
  206. package/dist/elements/PreviewButton/index.d.ts +1 -2
  207. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  208. package/dist/elements/PreviewButton/index.js +11 -5
  209. package/dist/elements/PreviewButton/index.js.map +1 -1
  210. package/dist/elements/PreviewSizes/index.css +8 -9
  211. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  212. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -1
  213. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  214. package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
  215. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  216. package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts +1 -1
  217. package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts.map +1 -1
  218. package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
  219. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  220. package/dist/elements/PublishButton/index.js +5 -6
  221. package/dist/elements/PublishButton/index.js.map +1 -1
  222. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  223. package/dist/elements/PublishMany/DrawerContent.js +2 -3
  224. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  225. package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
  226. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  227. package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
  228. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts +7 -0
  229. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -0
  230. package/dist/elements/ReactSelect/DefaultMenuPortal.js +120 -0
  231. package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -0
  232. package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
  233. package/dist/elements/ReactSelect/MultiValueLabel/index.css +2 -2
  234. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -1
  235. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +1 -1
  236. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -1
  237. package/dist/elements/ReactSelect/getMenuListStyles.js +13 -5
  238. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -1
  239. package/dist/elements/ReactSelect/getMenuStyles.d.ts +10 -0
  240. package/dist/elements/ReactSelect/getMenuStyles.d.ts.map +1 -0
  241. package/dist/elements/ReactSelect/getMenuStyles.js +21 -0
  242. package/dist/elements/ReactSelect/getMenuStyles.js.map +1 -0
  243. package/dist/elements/ReactSelect/index.css +8 -4
  244. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  245. package/dist/elements/ReactSelect/index.js +24 -101
  246. package/dist/elements/ReactSelect/index.js.map +1 -1
  247. package/dist/elements/ReactSelect/types.d.ts +1 -2
  248. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  249. package/dist/elements/ReactSelect/types.js.map +1 -1
  250. package/dist/elements/RelationshipTable/AddNewButton.d.ts +2 -2
  251. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  252. package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
  253. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
  254. package/dist/elements/RelationshipTable/Pagination.js +27 -77
  255. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  256. package/dist/elements/RelationshipTable/index.css +0 -2
  257. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  258. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  259. package/dist/elements/RelationshipTable/index.js +41 -5
  260. package/dist/elements/RelationshipTable/index.js.map +1 -1
  261. package/dist/elements/RenderTitle/index.css +4 -0
  262. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  263. package/dist/elements/RenderTitle/index.js +18 -13
  264. package/dist/elements/RenderTitle/index.js.map +1 -1
  265. package/dist/elements/RestoreMany/index.d.ts.map +1 -1
  266. package/dist/elements/RestoreMany/index.js +2 -3
  267. package/dist/elements/RestoreMany/index.js.map +1 -1
  268. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  269. package/dist/elements/SaveDraftButton/index.js +2 -3
  270. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  271. package/dist/elements/Search/ListSearchFilter/index.d.ts.map +1 -1
  272. package/dist/elements/Search/ListSearchFilter/index.js +1 -0
  273. package/dist/elements/Search/ListSearchFilter/index.js.map +1 -1
  274. package/dist/elements/Search/SearchInput/index.d.ts +2 -0
  275. package/dist/elements/Search/SearchInput/index.d.ts.map +1 -1
  276. package/dist/elements/Search/SearchInput/index.js +21 -18
  277. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  278. package/dist/elements/SelectAll/index.css +3 -1
  279. package/dist/elements/SelectRow/index.d.ts +5 -4
  280. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  281. package/dist/elements/SelectRow/index.js +10 -7
  282. package/dist/elements/SelectRow/index.js.map +1 -1
  283. package/dist/elements/SidebarToggle/index.css +0 -17
  284. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  285. package/dist/elements/SortColumn/index.js +42 -38
  286. package/dist/elements/SortColumn/index.js.map +1 -1
  287. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  288. package/dist/elements/SortHeader/index.js +29 -26
  289. package/dist/elements/SortHeader/index.js.map +1 -1
  290. package/dist/elements/Status/index.d.ts.map +1 -1
  291. package/dist/elements/Status/index.js +2 -3
  292. package/dist/elements/Status/index.js.map +1 -1
  293. package/dist/elements/StepNav/index.css +64 -14
  294. package/dist/elements/StepNav/index.d.ts.map +1 -1
  295. package/dist/elements/StepNav/index.js +143 -69
  296. package/dist/elements/StepNav/index.js.map +1 -1
  297. package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -1
  298. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  299. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  300. package/dist/elements/Table/DefaultCell/index.js +3 -11
  301. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  302. package/dist/elements/Table/OrderableRow.d.ts +3 -1
  303. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  304. package/dist/elements/Table/OrderableRow.js +17 -1
  305. package/dist/elements/Table/OrderableRow.js.map +1 -1
  306. package/dist/elements/Table/OrderableRowDragPreview.d.ts.map +1 -1
  307. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  308. package/dist/elements/Table/OrderableTable.js +20 -4
  309. package/dist/elements/Table/OrderableTable.js.map +1 -1
  310. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  311. package/dist/elements/Table/RelationshipProvider/index.js +2 -3
  312. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  313. package/dist/elements/Table/index.css +19 -0
  314. package/dist/elements/TableSection/index.css +0 -1
  315. package/dist/elements/Tabs/index.d.ts.map +1 -1
  316. package/dist/elements/Thumbnail/createThumbnail.d.ts.map +1 -1
  317. package/dist/elements/Thumbnail/index.d.ts +1 -1
  318. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  319. package/dist/elements/Thumbnail/index.js.map +1 -1
  320. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  321. package/dist/elements/TimezonePicker/index.js +5 -1
  322. package/dist/elements/TimezonePicker/index.js.map +1 -1
  323. package/dist/elements/Tooltip/index.css +15 -34
  324. package/dist/elements/Tooltip/index.d.ts +11 -3
  325. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  326. package/dist/elements/Tooltip/index.js +151 -85
  327. package/dist/elements/Tooltip/index.js.map +1 -1
  328. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  329. package/dist/elements/UnpublishButton/index.js +3 -4
  330. package/dist/elements/UnpublishButton/index.js.map +1 -1
  331. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  332. package/dist/elements/UnpublishMany/DrawerContent.js +2 -3
  333. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  334. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
  335. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
  336. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
  337. package/dist/elements/Upload/index.css +39 -37
  338. package/dist/elements/Upload/index.d.ts.map +1 -1
  339. package/dist/elements/Upload/index.js +37 -99
  340. package/dist/elements/Upload/index.js.map +1 -1
  341. package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
  342. package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
  343. package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
  344. package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
  345. package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
  346. package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
  347. package/dist/elements/Upload/useUploadFromUrl.js +201 -0
  348. package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
  349. package/dist/elements/UploadDropzoneContent/index.css +31 -0
  350. package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
  351. package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
  352. package/dist/elements/UploadDropzoneContent/index.js +62 -0
  353. package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
  354. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -1
  355. package/dist/elements/UserMenu/SubMenuHeader/index.js +8 -9
  356. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -1
  357. package/dist/elements/UserMenu/index.css +26 -1
  358. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +1 -1
  359. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  360. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.d.ts.map +1 -1
  361. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.d.ts.map +1 -1
  362. package/dist/elements/WhereBuilder/Condition/validOperators.d.ts.map +1 -1
  363. package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
  364. package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
  365. package/dist/elements/WhereBuilder/conditionValue.js +32 -0
  366. package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
  367. package/dist/elements/WhereBuilder/conditionValue.spec.js +65 -0
  368. package/dist/elements/WhereBuilder/conditionValue.spec.js.map +1 -0
  369. package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
  370. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  371. package/dist/elements/WhereBuilder/index.js +15 -4
  372. package/dist/elements/WhereBuilder/index.js.map +1 -1
  373. package/dist/exports/client/index.d.ts +5 -2
  374. package/dist/exports/client/index.d.ts.map +1 -1
  375. package/dist/exports/client/index.js +1 -1
  376. package/dist/exports/client/index.js.map +3 -3
  377. package/dist/exports/layouts.d.ts +1 -0
  378. package/dist/exports/layouts.d.ts.map +1 -1
  379. package/dist/exports/layouts.js +1 -0
  380. package/dist/exports/layouts.js.map +1 -1
  381. package/dist/exports/shared/index.d.ts +1 -0
  382. package/dist/exports/shared/index.d.ts.map +1 -1
  383. package/dist/exports/shared/index.js +2 -2
  384. package/dist/exports/shared/index.js.map +4 -4
  385. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  386. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  387. package/dist/fields/Array/ArrayRow.js +99 -160
  388. package/dist/fields/Array/ArrayRow.js.map +1 -1
  389. package/dist/fields/Array/index.d.ts +1 -1
  390. package/dist/fields/Array/index.d.ts.map +1 -1
  391. package/dist/fields/Array/index.js +47 -17
  392. package/dist/fields/Array/index.js.map +1 -1
  393. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  394. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  395. package/dist/fields/Blocks/BlockRow.js +136 -195
  396. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  397. package/dist/fields/Blocks/RowActions.d.ts +3 -0
  398. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  399. package/dist/fields/Blocks/RowActions.js +26 -20
  400. package/dist/fields/Blocks/RowActions.js.map +1 -1
  401. package/dist/fields/Blocks/index.d.ts +1 -1
  402. package/dist/fields/Blocks/index.d.ts.map +1 -1
  403. package/dist/fields/Blocks/index.js +46 -16
  404. package/dist/fields/Blocks/index.js.map +1 -1
  405. package/dist/fields/Checkbox/Input.d.ts +2 -0
  406. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  407. package/dist/fields/Checkbox/Input.js +32 -26
  408. package/dist/fields/Checkbox/Input.js.map +1 -1
  409. package/dist/fields/Checkbox/index.css +37 -73
  410. package/dist/fields/Checkbox/index.d.ts +1 -1
  411. package/dist/fields/Code/index.css +1 -1
  412. package/dist/fields/Code/index.d.ts +2 -2
  413. package/dist/fields/Collapsible/index.d.ts +1 -1
  414. package/dist/fields/DateTime/index.d.ts +1 -1
  415. package/dist/fields/Email/index.d.ts +1 -1
  416. package/dist/fields/FieldError/index.css +0 -9
  417. package/dist/fields/FieldError/index.d.ts.map +1 -1
  418. package/dist/fields/FieldError/index.js +19 -9
  419. package/dist/fields/FieldError/index.js.map +1 -1
  420. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  421. package/dist/fields/FieldLabel/index.js +4 -5
  422. package/dist/fields/FieldLabel/index.js.map +1 -1
  423. package/dist/fields/Group/index.d.ts +2 -2
  424. package/dist/fields/JSON/index.d.ts +1 -1
  425. package/dist/fields/Join/index.css +9 -0
  426. package/dist/fields/Join/index.d.ts +1 -1
  427. package/dist/fields/Join/index.d.ts.map +1 -1
  428. package/dist/fields/Join/index.js +13 -9
  429. package/dist/fields/Join/index.js.map +1 -1
  430. package/dist/fields/Number/index.d.ts +1 -1
  431. package/dist/fields/Password/types.d.ts +3 -3
  432. package/dist/fields/Password/types.d.ts.map +1 -1
  433. package/dist/fields/Password/types.js.map +1 -1
  434. package/dist/fields/Point/index.d.ts +1 -1
  435. package/dist/fields/RadioGroup/index.css +0 -7
  436. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  437. package/dist/fields/Relationship/Input.js +34 -17
  438. package/dist/fields/Relationship/Input.js.map +1 -1
  439. package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
  440. package/dist/fields/Relationship/index.d.ts +1 -1
  441. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  442. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  443. package/dist/fields/Row/index.d.ts +1 -1
  444. package/dist/fields/Select/index.d.ts +1 -1
  445. package/dist/fields/Select/index.d.ts.map +1 -1
  446. package/dist/fields/Slug/index.css +0 -1
  447. package/dist/fields/Slug/index.d.ts +7 -5
  448. package/dist/fields/Slug/index.d.ts.map +1 -1
  449. package/dist/fields/Slug/index.js +78 -113
  450. package/dist/fields/Slug/index.js.map +1 -1
  451. package/dist/fields/Tabs/index.d.ts +1 -1
  452. package/dist/fields/Text/index.d.ts +1 -1
  453. package/dist/fields/Text/types.d.ts +2 -2
  454. package/dist/fields/Text/types.d.ts.map +1 -1
  455. package/dist/fields/Text/types.js.map +1 -1
  456. package/dist/fields/Textarea/index.d.ts +1 -1
  457. package/dist/fields/Upload/Input.d.ts.map +1 -1
  458. package/dist/fields/Upload/Input.js +46 -19
  459. package/dist/fields/Upload/Input.js.map +1 -1
  460. package/dist/fields/Upload/Input.spec.js +242 -0
  461. package/dist/fields/Upload/Input.spec.js.map +1 -0
  462. package/dist/fields/Upload/index.css +19 -4
  463. package/dist/fields/index.d.ts.map +1 -1
  464. package/dist/fields/index.js +2 -0
  465. package/dist/fields/index.js.map +1 -1
  466. package/dist/fields/mergeFieldStyles.d.ts +1 -1
  467. package/dist/fields/mergeFieldStyles.d.ts.map +1 -1
  468. package/dist/fields/shared/index.d.ts +1 -1
  469. package/dist/fields/shared/index.d.ts.map +1 -1
  470. package/dist/fields/shared/index.js.map +1 -1
  471. package/dist/forms/Form/context.d.ts.map +1 -1
  472. package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -1
  473. package/dist/forms/Form/errorMessages.d.ts.map +1 -1
  474. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  475. package/dist/forms/Form/fieldReducer.js +3 -1
  476. package/dist/forms/Form/fieldReducer.js.map +1 -1
  477. package/dist/forms/Form/index.d.ts.map +1 -1
  478. package/dist/forms/Form/index.js +14 -18
  479. package/dist/forms/Form/index.js.map +1 -1
  480. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  481. package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -1
  482. package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
  483. package/dist/forms/Form/rows.d.ts.map +1 -1
  484. package/dist/forms/Form/types.d.ts +1 -1
  485. package/dist/forms/Form/types.d.ts.map +1 -1
  486. package/dist/forms/Form/types.js.map +1 -1
  487. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  488. package/dist/forms/NullifyField/index.js +2 -3
  489. package/dist/forms/NullifyField/index.js.map +1 -1
  490. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  491. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  492. package/dist/forms/RenderFields/RenderField.js +10 -0
  493. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  494. package/dist/forms/RenderFields/index.css +16 -2
  495. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  496. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  497. package/dist/forms/WatchChildErrors/index.js +2 -2
  498. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  499. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  500. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +14 -5
  501. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  502. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  503. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  504. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  505. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  506. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  507. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  508. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
  509. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  510. package/dist/forms/useField/index.d.ts.map +1 -1
  511. package/dist/forms/withCondition/index.d.ts +1 -1
  512. package/dist/forms/withCondition/index.d.ts.map +1 -1
  513. package/dist/hooks/useDebouncedCallback.d.ts.map +1 -1
  514. package/dist/hooks/useDelay.d.ts.map +1 -1
  515. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -1
  516. package/dist/hooks/useHotkey.d.ts.map +1 -1
  517. package/dist/hooks/useIntersect.d.ts.map +1 -1
  518. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  519. package/dist/hooks/usePayloadAPI.js +2 -3
  520. package/dist/hooks/usePayloadAPI.js.map +1 -1
  521. package/dist/hooks/usePopupWindow.d.ts +1 -1
  522. package/dist/hooks/usePopupWindow.d.ts.map +1 -1
  523. package/dist/hooks/useRelatedCollections.d.ts.map +1 -1
  524. package/dist/hooks/useResize.d.ts.map +1 -1
  525. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  526. package/dist/icons/Edit/index.d.ts +0 -1
  527. package/dist/icons/Edit/index.d.ts.map +1 -1
  528. package/dist/icons/Edit/index.js +4 -4
  529. package/dist/icons/Edit/index.js.map +1 -1
  530. package/dist/layouts/Root/index.d.ts +1 -1
  531. package/dist/layouts/Root/index.d.ts.map +1 -1
  532. package/dist/layouts/Root/index.js +15 -5
  533. package/dist/layouts/Root/index.js.map +1 -1
  534. package/dist/layouts/Root/index.spec.js +20 -0
  535. package/dist/layouts/Root/index.spec.js.map +1 -0
  536. package/dist/layouts/Root/viewport.d.ts +5 -0
  537. package/dist/layouts/Root/viewport.d.ts.map +1 -0
  538. package/dist/layouts/Root/viewport.js +17 -0
  539. package/dist/layouts/Root/viewport.js.map +1 -0
  540. package/dist/providers/Actions/index.d.ts +1 -0
  541. package/dist/providers/Actions/index.d.ts.map +1 -1
  542. package/dist/providers/Actions/index.js +43 -11
  543. package/dist/providers/Actions/index.js.map +1 -1
  544. package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
  545. package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
  546. package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
  547. package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
  548. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
  549. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
  550. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
  551. package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
  552. package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
  553. package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
  554. package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
  555. package/dist/providers/Auth/authSessionRequests.js +119 -0
  556. package/dist/providers/Auth/authSessionRequests.js.map +1 -0
  557. package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
  558. package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
  559. package/dist/providers/Auth/index.d.ts +5 -59
  560. package/dist/providers/Auth/index.d.ts.map +1 -1
  561. package/dist/providers/Auth/index.js +283 -135
  562. package/dist/providers/Auth/index.js.map +1 -1
  563. package/dist/providers/Auth/sessionActivity.d.ts +23 -0
  564. package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
  565. package/dist/providers/Auth/sessionActivity.js +49 -0
  566. package/dist/providers/Auth/sessionActivity.js.map +1 -0
  567. package/dist/providers/Auth/sessionActivity.spec.js +44 -0
  568. package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
  569. package/dist/providers/Auth/sessionTiming.d.ts +11 -0
  570. package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
  571. package/dist/providers/Auth/sessionTiming.js +18 -0
  572. package/dist/providers/Auth/sessionTiming.js.map +1 -0
  573. package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
  574. package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
  575. package/dist/providers/Auth/tabSessionSync/index.js +263 -0
  576. package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
  577. package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
  578. package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
  579. package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
  580. package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
  581. package/dist/providers/Auth/tabSessionSync/types.js +6 -0
  582. package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
  583. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
  584. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
  585. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
  586. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
  587. package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
  588. package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
  589. package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
  590. package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
  591. package/dist/providers/Auth/types.d.ts +65 -0
  592. package/dist/providers/Auth/types.d.ts.map +1 -0
  593. package/dist/providers/Auth/types.js +2 -0
  594. package/dist/providers/Auth/types.js.map +1 -0
  595. package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
  596. package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
  597. package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
  598. package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
  599. package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
  600. package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
  601. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  602. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  603. package/dist/providers/DocumentInfo/index.js +2 -3
  604. package/dist/providers/DocumentInfo/index.js.map +1 -1
  605. package/dist/providers/DocumentInfo/types.d.ts +5 -5
  606. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  607. package/dist/providers/DocumentInfo/types.js.map +1 -1
  608. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
  609. package/dist/providers/DocumentTitle/index.d.ts +1 -0
  610. package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
  611. package/dist/providers/DocumentTitle/index.js +2 -0
  612. package/dist/providers/DocumentTitle/index.js.map +1 -1
  613. package/dist/providers/Embed/index.d.ts +24 -0
  614. package/dist/providers/Embed/index.d.ts.map +1 -0
  615. package/dist/providers/Embed/index.js +105 -0
  616. package/dist/providers/Embed/index.js.map +1 -0
  617. package/dist/providers/FormErrorHandler/index.d.ts +24 -0
  618. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
  619. package/dist/providers/FormErrorHandler/index.js +6 -0
  620. package/dist/providers/FormErrorHandler/index.js.map +1 -0
  621. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  622. package/dist/providers/ListQuery/index.js +8 -1
  623. package/dist/providers/ListQuery/index.js.map +1 -1
  624. package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
  625. package/dist/providers/ListQuery/sanitizeQuery.d.ts.map +1 -1
  626. package/dist/providers/LivePreview/sizeReducer.d.ts +1 -1
  627. package/dist/providers/LivePreview/sizeReducer.d.ts.map +1 -1
  628. package/dist/providers/Locale/index.d.ts +1 -5
  629. package/dist/providers/Locale/index.d.ts.map +1 -1
  630. package/dist/providers/Locale/index.js +64 -137
  631. package/dist/providers/Locale/index.js.map +1 -1
  632. package/dist/providers/Root/index.d.ts +1 -0
  633. package/dist/providers/Root/index.d.ts.map +1 -1
  634. package/dist/providers/Root/index.js +37 -31
  635. package/dist/providers/Root/index.js.map +1 -1
  636. package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
  637. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  638. package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
  639. package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
  640. package/dist/providers/RouteTransition/index.d.ts +2 -0
  641. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  642. package/dist/providers/RouteTransition/index.js +42 -14
  643. package/dist/providers/RouteTransition/index.js.map +1 -1
  644. package/dist/providers/Selection/index.d.ts.map +1 -1
  645. package/dist/providers/Selection/index.js +2 -3
  646. package/dist/providers/Selection/index.js.map +1 -1
  647. package/dist/providers/ServerFunctions/index.d.ts +5 -1
  648. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  649. package/dist/providers/ServerFunctions/index.js +15 -0
  650. package/dist/providers/ServerFunctions/index.js.map +1 -1
  651. package/dist/providers/SidebarTabs/index.d.ts +3 -2
  652. package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
  653. package/dist/providers/SidebarTabs/index.js.map +1 -1
  654. package/dist/providers/TableColumns/buildColumnState/filterFields.d.ts.map +1 -1
  655. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.d.ts.map +1 -1
  656. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts.map +1 -1
  657. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  658. package/dist/providers/TableColumns/buildColumnState/index.js +1 -2
  659. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  660. package/dist/providers/TableColumns/buildColumnState/index.spec.js +40 -0
  661. package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +1 -0
  662. package/dist/providers/TableColumns/getInitialColumns.d.ts +1 -1
  663. package/dist/providers/TableColumns/getInitialColumns.d.ts.map +1 -1
  664. package/dist/providers/Theme/index.d.ts +5 -2
  665. package/dist/providers/Theme/index.d.ts.map +1 -1
  666. package/dist/providers/Theme/index.js +109 -96
  667. package/dist/providers/Theme/index.js.map +1 -1
  668. package/dist/providers/Theme/shared.d.ts +3 -0
  669. package/dist/providers/Theme/shared.d.ts.map +1 -0
  670. package/dist/providers/Theme/shared.js +2 -0
  671. package/dist/providers/Theme/shared.js.map +1 -0
  672. package/dist/providers/UploadEdits/index.d.ts.map +1 -1
  673. package/dist/providers/UploadHandlers/index.d.ts +2 -7
  674. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  675. package/dist/providers/UploadHandlers/index.js +102 -42
  676. package/dist/providers/UploadHandlers/index.js.map +1 -1
  677. package/dist/styles.css +23 -10
  678. package/dist/templates/Default/index.d.ts +1 -0
  679. package/dist/templates/Default/index.d.ts.map +1 -1
  680. package/dist/templates/Default/index.js +2 -0
  681. package/dist/templates/Default/index.js.map +1 -1
  682. package/dist/utilities/api.d.ts.map +1 -1
  683. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
  684. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
  685. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  686. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  687. package/dist/utilities/buildFormState.d.ts +2 -2
  688. package/dist/utilities/buildFormState.d.ts.map +1 -1
  689. package/dist/utilities/buildFormState.js.map +1 -1
  690. package/dist/utilities/checkDependencies.d.ts.map +1 -1
  691. package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
  692. package/dist/utilities/combineFieldLabel.js +5 -1
  693. package/dist/utilities/combineFieldLabel.js.map +1 -1
  694. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  695. package/dist/utilities/copyDataFromLocale.js +1 -0
  696. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  697. package/dist/utilities/filterOutUploadFields.d.ts.map +1 -1
  698. package/dist/utilities/findLocaleFromCode.d.ts.map +1 -1
  699. package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
  700. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  701. package/dist/utilities/formatDocTitle/formatRelationshipTitle.d.ts.map +1 -1
  702. package/dist/utilities/formatDocTitle/index.d.ts +1 -1
  703. package/dist/utilities/formatDocTitle/index.d.ts.map +1 -1
  704. package/dist/utilities/formatDocTitle/index.js +1 -1
  705. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  706. package/dist/utilities/formatFields.d.ts.map +1 -1
  707. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  708. package/dist/utilities/formatMetadata.js +0 -5
  709. package/dist/utilities/formatMetadata.js.map +1 -1
  710. package/dist/utilities/generateFieldID.d.ts +1 -1
  711. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  712. package/dist/utilities/generateFieldID.js +2 -2
  713. package/dist/utilities/generateFieldID.js.map +1 -1
  714. package/dist/utilities/getColumns.d.ts.map +1 -1
  715. package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
  716. package/dist/utilities/getDocPreferences.d.ts.map +1 -1
  717. package/dist/utilities/getDocumentData.d.ts.map +1 -1
  718. package/dist/utilities/getDocumentPermissions.d.ts.map +1 -1
  719. package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
  720. package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
  721. package/dist/utilities/getFilesFromClipboard.js +49 -0
  722. package/dist/utilities/getFilesFromClipboard.js.map +1 -0
  723. package/dist/utilities/getGlobalData.d.ts +2 -2
  724. package/dist/utilities/getGlobalData.d.ts.map +1 -1
  725. package/dist/utilities/getGlobalData.js.map +1 -1
  726. package/dist/utilities/getHasScheduledPublish.d.ts +2 -3
  727. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  728. package/dist/utilities/getHasScheduledPublish.js +2 -5
  729. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  730. package/dist/utilities/getIsLocked.d.ts.map +1 -1
  731. package/dist/utilities/getLanguageDir.d.ts +12 -0
  732. package/dist/utilities/getLanguageDir.d.ts.map +1 -0
  733. package/dist/utilities/getLanguageDir.js +12 -0
  734. package/dist/utilities/getLanguageDir.js.map +1 -0
  735. package/dist/utilities/getOffsetTop.d.ts.map +1 -1
  736. package/dist/utilities/getRequestEmbed.d.ts +14 -0
  737. package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
  738. package/dist/utilities/getRequestEmbed.js +10 -0
  739. package/dist/utilities/getRequestEmbed.js.map +1 -0
  740. package/dist/utilities/getRequestHighContrast.d.ts.map +1 -1
  741. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  742. package/dist/utilities/getRequestTheme.d.ts +1 -1
  743. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  744. package/dist/utilities/getRequestTheme.js +1 -1
  745. package/dist/utilities/getRequestTheme.js.map +1 -1
  746. package/dist/utilities/getRouteWithoutAdmin.d.ts.map +1 -1
  747. package/dist/utilities/getSupportedMonacoLocale.d.ts.map +1 -1
  748. package/dist/utilities/getVersions.d.ts.map +1 -1
  749. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  750. package/dist/utilities/handleBackToDashboard.d.ts.map +1 -1
  751. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  752. package/dist/utilities/handleGoBack.d.ts.map +1 -1
  753. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  754. package/dist/utilities/handlePreview.d.ts.map +1 -1
  755. package/dist/utilities/handleServerFunctions.d.ts +32 -8
  756. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  757. package/dist/utilities/handleServerFunctions.js +17 -37
  758. package/dist/utilities/handleServerFunctions.js.map +1 -1
  759. package/dist/utilities/handleStaleDataCheck.d.ts.map +1 -1
  760. package/dist/utilities/handleTakeOver.d.ts +5 -5
  761. package/dist/utilities/handleTakeOver.d.ts.map +1 -1
  762. package/dist/utilities/handleTakeOver.js.map +1 -1
  763. package/dist/utilities/hasOptionLabelJSXElement.d.ts.map +1 -1
  764. package/dist/utilities/hasSavePermission.d.ts.map +1 -1
  765. package/dist/utilities/initReq.d.ts.map +1 -1
  766. package/dist/utilities/isClientUserObject.d.ts +2 -2
  767. package/dist/utilities/isClientUserObject.d.ts.map +1 -1
  768. package/dist/utilities/isClientUserObject.js.map +1 -1
  769. package/dist/utilities/isCustomAdminView.d.ts.map +1 -1
  770. package/dist/utilities/isEditing.d.ts.map +1 -1
  771. package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
  772. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
  773. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  774. package/dist/utilities/isURLAllowed.js +9 -3
  775. package/dist/utilities/isURLAllowed.js.map +1 -1
  776. package/dist/utilities/recentlyViewed.d.ts.map +1 -1
  777. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
  778. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  779. package/dist/utilities/renderTable.d.ts +2 -2
  780. package/dist/utilities/renderTable.d.ts.map +1 -1
  781. package/dist/utilities/renderTable.js +18 -2
  782. package/dist/utilities/renderTable.js.map +1 -1
  783. package/dist/utilities/resolveFilterOptions.d.ts +1 -1
  784. package/dist/utilities/resolveFilterOptions.d.ts.map +1 -1
  785. package/dist/utilities/sanitizeFilterOptionsQuery.d.ts.map +1 -1
  786. package/dist/utilities/schedulePublishHandler.d.ts +8 -1
  787. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  788. package/dist/utilities/schedulePublishHandler.js +68 -4
  789. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  790. package/dist/utilities/scrollToID.d.ts.map +1 -1
  791. package/dist/utilities/selectiveCache.d.ts.map +1 -1
  792. package/dist/utilities/serverFunctionRegistry.d.ts +12 -7
  793. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  794. package/dist/utilities/serverFunctionRegistry.js +27 -8
  795. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  796. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  797. package/dist/utilities/slugify.d.ts +1 -1
  798. package/dist/utilities/slugify.d.ts.map +1 -1
  799. package/dist/utilities/slugify.js +53 -7
  800. package/dist/utilities/slugify.js.map +1 -1
  801. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  802. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  803. package/dist/views/API/index.client.d.ts.map +1 -1
  804. package/dist/views/API/index.client.js +2 -3
  805. package/dist/views/API/index.client.js.map +1 -1
  806. package/dist/views/CollectionTrash/generateCollectionTrashMetadata.d.ts.map +1 -1
  807. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  808. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
  809. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  810. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  811. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
  812. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  813. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  814. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
  815. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  816. package/dist/views/Dashboard/Default/ModularDashboard/index.css +29 -144
  817. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +4 -4
  818. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  819. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
  820. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  821. package/dist/views/Dashboard/Default/index.d.ts +2 -2
  822. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  823. package/dist/views/Dashboard/Default/index.js.map +1 -1
  824. package/dist/views/Document/getCustomDocumentViewByKey.d.ts +1 -1
  825. package/dist/views/Document/getCustomDocumentViewByKey.d.ts.map +1 -1
  826. package/dist/views/Document/getCustomViewByRoute.d.ts +1 -1
  827. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  828. package/dist/views/Document/getDocumentView.d.ts.map +1 -1
  829. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  830. package/dist/views/Document/index.d.ts +1 -1
  831. package/dist/views/Document/index.d.ts.map +1 -1
  832. package/dist/views/Document/index.js +1 -2
  833. package/dist/views/Document/index.js.map +1 -1
  834. package/dist/views/Document/recordRecentlyViewed.d.ts.map +1 -1
  835. package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
  836. package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
  837. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  838. package/dist/views/Edit/index.css +61 -53
  839. package/dist/views/Edit/index.d.ts.map +1 -1
  840. package/dist/views/Edit/index.js +3 -2
  841. package/dist/views/Edit/index.js.map +1 -1
  842. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +2 -2
  843. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  844. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  845. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +2 -2
  846. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
  847. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
  848. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -1
  849. package/dist/views/HierarchyList/TypeFilter/index.js +3 -0
  850. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
  851. package/dist/views/HierarchyList/index.css +1 -1
  852. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  853. package/dist/views/HierarchyList/index.js +2 -6
  854. package/dist/views/HierarchyList/index.js.map +1 -1
  855. package/dist/views/List/ListHeader/index.d.ts +1 -10
  856. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  857. package/dist/views/List/ListHeader/index.js +1 -3
  858. package/dist/views/List/ListHeader/index.js.map +1 -1
  859. package/dist/views/List/createSerializableValue.d.ts.map +1 -1
  860. package/dist/views/List/extractRelationshipDisplayValue.d.ts.map +1 -1
  861. package/dist/views/List/extractValueOrRelationshipID.d.ts.map +1 -1
  862. package/dist/views/List/generateListViewMetadata.d.ts.map +1 -1
  863. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  864. package/dist/views/List/handleHierarchy.d.ts +1 -1
  865. package/dist/views/List/handleHierarchy.d.ts.map +1 -1
  866. package/dist/views/List/index.client.d.ts.map +1 -1
  867. package/dist/views/List/index.client.js +0 -14
  868. package/dist/views/List/index.client.js.map +1 -1
  869. package/dist/views/List/index.css +6 -1
  870. package/dist/views/List/index.d.ts.map +1 -1
  871. package/dist/views/List/index.js +4 -0
  872. package/dist/views/List/index.js.map +1 -1
  873. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  874. package/dist/views/List/resolveAllFilterOptions.d.ts.map +1 -1
  875. package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -1
  876. package/dist/views/Logout/index.d.ts.map +1 -1
  877. package/dist/views/Logout/index.js +11 -0
  878. package/dist/views/Logout/index.js.map +1 -1
  879. package/dist/views/NotFound/page.d.ts.map +1 -1
  880. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -1
  881. package/dist/views/Root/generatePageMetadata.d.ts.map +1 -1
  882. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts +1 -1
  883. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  884. package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
  885. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts +1 -1
  886. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  887. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
  888. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  889. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  890. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  891. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  892. package/dist/views/Root/index.d.ts +12 -1
  893. package/dist/views/Root/index.d.ts.map +1 -1
  894. package/dist/views/Root/index.js +11 -3
  895. package/dist/views/Root/index.js.map +1 -1
  896. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  897. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  898. package/dist/views/Version/Default/SetStepNav.js +10 -13
  899. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  900. package/dist/views/Version/Default/index.d.ts.map +1 -1
  901. package/dist/views/Version/Default/index.js +12 -13
  902. package/dist/views/Version/Default/index.js.map +1 -1
  903. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +1 -0
  904. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
  905. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +56 -50
  906. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  907. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
  908. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  909. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +41 -27
  910. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  911. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.spec.js +258 -0
  912. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.spec.js.map +1 -0
  913. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  914. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +10 -0
  915. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  916. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
  917. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  918. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +1 -0
  919. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  920. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  921. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  922. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +34 -1
  923. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  924. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +56 -2
  925. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  926. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +8 -2
  927. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
  928. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +17 -19
  929. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  930. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +3 -13
  931. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  932. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  933. package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
  934. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
  935. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js +2 -3
  936. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
  937. package/dist/views/Versions/buildColumns.d.ts +1 -1
  938. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  939. package/dist/views/Versions/fetchVersions.d.ts +4 -4
  940. package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
  941. package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
  942. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts +2 -2
  943. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts.map +1 -1
  944. package/dist/widgets/CollectionCards/getCollectionCardsData.js.map +1 -1
  945. package/dist/widgets/CollectionCards/index.client.js.map +1 -1
  946. package/dist/widgets/WidgetCard/index.css +1 -1
  947. package/package.json +9 -12
  948. package/dist/elements/Nav/NavToggler/index.css +0 -12
  949. package/dist/elements/Nav/NavToggler/index.d.ts +0 -9
  950. package/dist/elements/Nav/NavToggler/index.d.ts.map +0 -1
  951. package/dist/elements/Nav/NavToggler/index.js +0 -91
  952. package/dist/elements/Nav/NavToggler/index.js.map +0 -1
  953. package/dist/elements/RelationshipTable/Pagination.css +0 -39
  954. package/dist/scss/app.scss +0 -183
  955. package/dist/scss/colors.scss +0 -191
  956. package/dist/scss/custom.css +0 -1
  957. package/dist/scss/queries.scss +0 -27
  958. package/dist/scss/styles.scss +0 -9
  959. package/dist/scss/svg.scss +0 -10
  960. package/dist/scss/toastify.scss +0 -61
  961. package/dist/scss/vars.scss +0 -192
  962. package/dist/scss/z-index.scss +0 -9
@@ -1,3 +1,3 @@
1
1
  import type { ClientField } from 'payload';
2
- export declare const mergeFieldStyles: (field: ClientField | Omit<ClientField, "type">) => React.CSSProperties;
2
+ export declare const mergeFieldStyles: (field: ClientField | Omit<ClientField, 'type'>) => React.CSSProperties;
3
3
  //# sourceMappingURL=mergeFieldStyles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mergeFieldStyles.d.ts","sourceRoot":"","sources":["../../src/fields/mergeFieldStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,eAAO,MAAM,gBAAgB,GAC3B,OAAO,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,KAC7C,KAAK,CAAC,aAeP,CAAA"}
1
+ {"version":3,"file":"mergeFieldStyles.d.ts","sourceRoot":"","sources":["../../src/fields/mergeFieldStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,eAAO,MAAM,gBAAgB,UACpB,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,KAC7C,KAAK,CAAC,aAeP,CAAA"}
@@ -8,7 +8,7 @@ export declare const fieldBaseClass = "field-type";
8
8
  export declare function isFieldRTL({ fieldLocalized, fieldRTL, locale, localizationConfig, }: {
9
9
  fieldLocalized?: boolean;
10
10
  fieldRTL?: boolean;
11
- locale: Locale;
11
+ locale: Locale | null;
12
12
  localizationConfig?: SanitizedLocalizationConfig;
13
13
  }): boolean;
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/shared/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAElE,eAAO,MAAM,cAAc,eAAe,CAAA;AAE1C;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,cAAc,EACd,QAAQ,EACR,MAAM,EACN,kBAAkB,GACnB,EAAE;IACD,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;CACjD,WAiBA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/shared/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAElE,eAAO,MAAM,cAAc,eAAe,CAAA;AAE1C;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,cAAc,EACd,QAAQ,EACR,MAAM,EACN,kBAAkB,GACnB,EAAE;IACD,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;CACjD,WAiBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["fieldBaseClass","isFieldRTL","fieldLocalized","fieldRTL","locale","localizationConfig","hasMultipleLocales","locales","length","isCurrentLocaleDefaultLocale","code","defaultLocale","rtl"],"sources":["../../../src/fields/shared/index.tsx"],"sourcesContent":["'use client'\nimport type { Locale, SanitizedLocalizationConfig } from 'payload'\n\nexport const fieldBaseClass = 'field-type'\n\n/**\n * Determines whether a field should be displayed as right-to-left (RTL) based on its configuration, payload's localization configuration and the adming user's currently enabled locale.\n\n * @returns Whether the field should be displayed as RTL.\n */\nexport function isFieldRTL({\n fieldLocalized,\n fieldRTL,\n locale,\n localizationConfig,\n}: {\n fieldLocalized?: boolean\n fieldRTL?: boolean\n locale: Locale\n localizationConfig?: SanitizedLocalizationConfig\n}) {\n const hasMultipleLocales =\n locale &&\n localizationConfig &&\n localizationConfig.locales &&\n localizationConfig.locales.length > 1\n\n const isCurrentLocaleDefaultLocale = locale?.code === localizationConfig?.defaultLocale\n\n return (\n (fieldRTL !== false &&\n locale?.rtl === true &&\n (fieldLocalized ||\n (!fieldLocalized && !hasMultipleLocales) || // If there is only one locale which is also rtl, that field is rtl too\n (!fieldLocalized && isCurrentLocaleDefaultLocale))) || // If the current locale is the default locale, but the field is not localized, that field is rtl too\n fieldRTL === true\n ) // If fieldRTL is true. This should be useful for when no localization is set at all in the payload config, but you still want fields to be rtl.\n}\n"],"mappings":"AAAA;;AAGA,OAAO,MAAMA,cAAA,GAAiB;AAE9B;;;;;AAKA,OAAO,SAASC,WAAW;EACzBC,cAAc;EACdC,QAAQ;EACRC,MAAM;EACNC;AAAkB,CAMnB;EACC,MAAMC,kBAAA,GACJF,MAAA,IACAC,kBAAA,IACAA,kBAAA,CAAmBE,OAAO,IAC1BF,kBAAA,CAAmBE,OAAO,CAACC,MAAM,GAAG;EAEtC,MAAMC,4BAAA,GAA+BL,MAAA,EAAQM,IAAA,KAASL,kBAAA,EAAoBM,aAAA;EAE1E,OACER,QAAC,KAAa,SACZC,MAAA,EAAQQ,GAAA,KAAQ,SACfV,cAAA,IACE,CAACA,cAAA,IAAkB,CAACI,kBAAA;EAAuB;EAC3C,CAACJ,cAAA,IAAkBO,4BAA4B;EAAO;EAC3DN,QAAA,KAAa,KACb;AAAA;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["fieldBaseClass","isFieldRTL","fieldLocalized","fieldRTL","locale","localizationConfig","hasMultipleLocales","locales","length","isCurrentLocaleDefaultLocale","code","defaultLocale","rtl"],"sources":["../../../src/fields/shared/index.tsx"],"sourcesContent":["'use client'\nimport type { Locale, SanitizedLocalizationConfig } from 'payload'\n\nexport const fieldBaseClass = 'field-type'\n\n/**\n * Determines whether a field should be displayed as right-to-left (RTL) based on its configuration, payload's localization configuration and the adming user's currently enabled locale.\n\n * @returns Whether the field should be displayed as RTL.\n */\nexport function isFieldRTL({\n fieldLocalized,\n fieldRTL,\n locale,\n localizationConfig,\n}: {\n fieldLocalized?: boolean\n fieldRTL?: boolean\n locale: Locale | null\n localizationConfig?: SanitizedLocalizationConfig\n}) {\n const hasMultipleLocales =\n locale &&\n localizationConfig &&\n localizationConfig.locales &&\n localizationConfig.locales.length > 1\n\n const isCurrentLocaleDefaultLocale = locale?.code === localizationConfig?.defaultLocale\n\n return (\n (fieldRTL !== false &&\n locale?.rtl === true &&\n (fieldLocalized ||\n (!fieldLocalized && !hasMultipleLocales) || // If there is only one locale which is also rtl, that field is rtl too\n (!fieldLocalized && isCurrentLocaleDefaultLocale))) || // If the current locale is the default locale, but the field is not localized, that field is rtl too\n fieldRTL === true\n ) // If fieldRTL is true. This should be useful for when no localization is set at all in the payload config, but you still want fields to be rtl.\n}\n"],"mappings":"AAAA;;AAGA,OAAO,MAAMA,cAAA,GAAiB;AAE9B;;;;;AAKA,OAAO,SAASC,WAAW;EACzBC,cAAc;EACdC,QAAQ;EACRC,MAAM;EACNC;AAAkB,CAMnB;EACC,MAAMC,kBAAA,GACJF,MAAA,IACAC,kBAAA,IACAA,kBAAA,CAAmBE,OAAO,IAC1BF,kBAAA,CAAmBE,OAAO,CAACC,MAAM,GAAG;EAEtC,MAAMC,4BAAA,GAA+BL,MAAA,EAAQM,IAAA,KAASL,kBAAA,EAAoBM,aAAA;EAE1E,OACER,QAAC,KAAa,SACZC,MAAA,EAAQQ,GAAA,KAAQ,SACfV,cAAA,IACE,CAACA,cAAA,IAAkB,CAACI,kBAAA;EAAuB;EAC3C,CAACJ,cAAA,IAAkBO,4BAA4B;EAAO;EAC3DN,QAAA,KAAa,KACb;AAAA;AACJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAS5C,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAErF,QAAA,MAAM,WAAW,kCAA+B,CAAA;AAChD,QAAA,MAAM,mBAAmB,kCAA+B,CAAA;AACxD,QAAA,MAAM,gBAAgB,kCAA+B,CAAA;AACrD,QAAA,MAAM,gBAAgB,kCAAuB,CAAA;AAC7C,QAAA,MAAM,iBAAiB,kCAAuB,CAAA;AAC9C;;;GAGG;AACH,QAAA,MAAM,2BAA2B,kCAAuB,CAAA;AACxD,QAAA,MAAM,eAAe,kCAAuB,CAAA;AAC5C,QAAA,MAAM,mBAAmB,kCAAuB,CAAA;AAChD,QAAA,MAAM,iBAAiB,+DAAiE,CAAA;AAExF,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;AAE3D;;;;GAIG;AACH,QAAA,MAAM,OAAO,QAAO,OAA2B,CAAA;AAC/C;;;GAGG;AACH,QAAA,MAAM,eAAe,QAAO,OAAmC,CAAA;AAE/D,QAAA,MAAM,YAAY,QAAO,OAAgC,CAAA;AACzD,QAAA,MAAM,gBAAgB,QAAO,OAAgC,CAAA;AAC7D,QAAA,MAAM,iBAAiB,QAAO,OAAiC,CAAA;AAC/D;;;GAGG;AACH,QAAA,MAAM,2BAA2B,QAAO,OAA2C,CAAA;AACnF,QAAA,MAAM,eAAe,QAAO,OAA+B,CAAA;AAC3D,QAAA,MAAM,mBAAmB,QAAO,OAAmC,CAAA;AAEnE;;;;GAIG;AACH,QAAA,MAAM,aAAa,GAAI,KAAK,GAAG,OAAO,EACpC,UAAU,CAAC,OAAO,EAAE,qBAAqB,KAAK,KAAK,KAClD,KAAwD,CAAA;AAE3D;;;;GAIG;AACH,QAAA,MAAM,gBAAgB,QAAO,qBAA0D,CAAA;AAEvF,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,2BAA2B,EAC3B,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,GACb,CAAA"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAS5C,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAErF,QAAA,MAAM,WAAW,kCAA+B,CAAA;AAChD,QAAA,MAAM,mBAAmB,kCAA+B,CAAA;AACxD,QAAA,MAAM,gBAAgB,kCAA+B,CAAA;AACrD,QAAA,MAAM,gBAAgB,kCAAuB,CAAA;AAC7C,QAAA,MAAM,iBAAiB,kCAAuB,CAAA;AAC9C;;;GAGG;AACH,QAAA,MAAM,2BAA2B,kCAAuB,CAAA;AACxD,QAAA,MAAM,eAAe,kCAAuB,CAAA;AAC5C,QAAA,MAAM,mBAAmB,kCAAuB,CAAA;AAChD,QAAA,MAAM,iBAAiB,+DAAiE,CAAA;AAExF,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;AAE3D;;;;GAIG;AACH,QAAA,MAAM,OAAO,QAAO,OAA2B,CAAA;AAC/C;;;GAGG;AACH,QAAA,MAAM,eAAe,QAAO,OAAmC,CAAA;AAE/D,QAAA,MAAM,YAAY,QAAO,OAAgC,CAAA;AACzD,QAAA,MAAM,gBAAgB,QAAO,OAAgC,CAAA;AAC7D,QAAA,MAAM,iBAAiB,QAAO,OAAiC,CAAA;AAC/D;;;GAGG;AACH,QAAA,MAAM,2BAA2B,QAAO,OAA2C,CAAA;AACnF,QAAA,MAAM,eAAe,QAAO,OAA+B,CAAA;AAC3D,QAAA,MAAM,mBAAmB,QAAO,OAAmC,CAAA;AAEnE;;;;GAIG;AACH,QAAA,MAAM,aAAa,GAAI,KAAK,GAAG,OAAO,YAC1B,CAAC,OAAO,EAAE,qBAAqB,KAAK,KAAK,KAClD,KAAwD,CAAA;AAE3D;;;;GAIG;AACH,QAAA,MAAM,gBAAgB,QAAO,qBAA0D,CAAA;AAEvF,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,2BAA2B,EAC3B,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,GACb,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createNestedClientFieldPath.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/createNestedClientFieldPath.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,eAAO,MAAM,2BAA2B,GAAI,YAAY,MAAM,EAAE,OAAO,WAAW,KAAG,MAapF,CAAA"}
1
+ {"version":3,"file":"createNestedClientFieldPath.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/createNestedClientFieldPath.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,eAAO,MAAM,2BAA2B,eAAgB,MAAM,SAAS,WAAW,KAAG,MAapF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"errorMessages.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/errorMessages.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa;;CAEzB,CAAA"}
1
+ {"version":3,"file":"errorMessages.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/errorMessages.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa;IACxB,GAAG;CACJ,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"fieldReducer.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/fieldReducer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,SAAS,EAAO,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAO7C;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,CAwb7E"}
1
+ {"version":3,"file":"fieldReducer.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/fieldReducer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,SAAS,EAAO,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAO7C;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,CA0b7E"}
@@ -207,7 +207,9 @@ export function fieldReducer(state, action) {
207
207
  currentState: state || {},
208
208
  incomingState: serverState
209
209
  });
210
- prevStateRef.current = newState;
210
+ if (prevStateRef) {
211
+ prevStateRef.current = newState;
212
+ }
211
213
  return newState;
212
214
  }
213
215
  case 'MOVE_ROW':
@@ -1 +1 @@
1
- {"version":3,"file":"fieldReducer.js","names":["ObjectIdImport","dequal","deepCopyObjectSimpleWithoutReactComponents","mergeServerFormState","flattenRows","separateRows","ObjectId","default","fieldReducer","state","action","type","blockType","path","rowIndex","rowIndexFromArgs","subFieldState","rows","length","withNewRow","newRow","id","value","toHexString","isLoading","splice","initialValue","valid","remainingFields","siblingRows","newState","passesCondition","disableFormData","errorPaths","errors","forEach","message","fieldPath","errorMessage","segments","split","push","fieldErrorPath","parentPath","slice","join","Object","entries","reduce","acc","fieldState","fieldErrorPaths","errorACC","startsWith","changed","newErrorPaths","Array","isArray","includes","newRows","newRowID","customComponents","RowLabel","newRowState","key","keys","filter","endsWith","idState","newNestedFieldID","isValid","parseInt","parentFieldPath","parentFieldRows","acceptValues","prevStateRef","serverState","currentState","incomingState","current","moveFromIndex","moveToIndex","topLevelRows","copyOfMovingRow","rowsWithinField","copyOfMovingRow2","rowsMetadata","rowIndexArg","Math","max","min","undefined","collapsed","optimize","newField","oldField","sanitize","field","values","updatedRows","isModified","_","fieldWithoutIsModified","formState"],"sources":["../../../src/forms/Form/fieldReducer.ts"],"sourcesContent":["'use client'\nimport type { FormField, FormState, Row } from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { deepCopyObjectSimpleWithoutReactComponents } from 'payload/shared'\n\nimport type { FieldAction } from './types.js'\n\nimport { mergeServerFormState } from './mergeServerFormState.js'\nimport { flattenRows, separateRows } from './rows.js'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\n/**\n * Reducer which modifies the form field state (all the current data of the fields in the form). When called using dispatch, it will return a new state object.\n */\nexport function fieldReducer(state: FormState, action: FieldAction): FormState {\n switch (action.type) {\n case 'ADD_ROW': {\n const { blockType, path, rowIndex: rowIndexFromArgs, subFieldState = {} } = action\n\n const rowIndex =\n typeof rowIndexFromArgs === 'number' ? rowIndexFromArgs : state[path]?.rows?.length || 0\n\n const withNewRow = [...(state[path]?.rows || [])]\n\n const newRow: Row = {\n id: (subFieldState?.id?.value as string) || new ObjectId().toHexString(),\n isLoading: true,\n }\n\n if (blockType) {\n newRow.blockType = blockType\n }\n\n withNewRow.splice(rowIndex, 0, newRow)\n\n if (blockType) {\n subFieldState.blockType = {\n initialValue: blockType,\n valid: true,\n value: blockType,\n }\n }\n\n // add new row to array _field state_\n const { remainingFields, rows: siblingRows } = separateRows(path, state)\n\n siblingRows.splice(rowIndex, 0, subFieldState)\n\n const newState: FormState = {\n ...remainingFields,\n ...flattenRows(path, siblingRows),\n [`${path}.${rowIndex}.id`]: {\n initialValue: newRow.id,\n passesCondition: true,\n valid: true,\n value: newRow.id,\n },\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: withNewRow,\n value: siblingRows.length,\n },\n }\n\n return newState\n }\n\n case 'ADD_SERVER_ERRORS': {\n let newState = { ...state }\n\n const errorPaths: { fieldErrorPath: string; parentPath: string }[] = []\n\n action.errors.forEach(({ message, path: fieldPath }) => {\n newState[fieldPath] = {\n ...(newState[fieldPath] || {\n initialValue: null,\n value: null,\n }),\n errorMessage: message,\n valid: false,\n }\n\n const segments = fieldPath.split('.')\n if (segments.length > 1) {\n errorPaths.push({\n fieldErrorPath: fieldPath,\n parentPath: segments.slice(0, segments.length - 1).join('.'),\n })\n }\n })\n\n newState = Object.entries(newState).reduce((acc, [path, fieldState]) => {\n const fieldErrorPaths = errorPaths.reduce((errorACC, { fieldErrorPath, parentPath }) => {\n if (parentPath.startsWith(path)) {\n errorACC.push(fieldErrorPath)\n }\n return errorACC\n }, [])\n\n let changed = false\n\n if (fieldErrorPaths.length > 0) {\n const newErrorPaths = Array.isArray(fieldState.errorPaths) ? fieldState.errorPaths : []\n\n fieldErrorPaths.forEach((fieldErrorPath) => {\n if (!newErrorPaths.includes(fieldErrorPath)) {\n newErrorPaths.push(fieldErrorPath)\n changed = true\n }\n })\n\n if (changed) {\n acc[path] = {\n ...fieldState,\n errorPaths: newErrorPaths,\n }\n }\n }\n\n if (!changed) {\n acc[path] = fieldState\n }\n\n return acc\n }, {})\n\n return newState\n }\n\n /**\n * Duplicates a row in an array or blocks field.\n * It needs to manipulate two distinct parts of the form state:\n * - The `rows` property of the parent field, e.g. `array.rows`, `blocks.rows`, etc.\n * - The row's state, e.g. `array.0.id`, `array.0.text`, etc.\n */\n case 'DUPLICATE_ROW': {\n const { path, rowIndex } = action\n const { remainingFields, rows } = separateRows(path, state)\n\n // 1. Duplicate the `rows` property of the parent field, e.g. `array.rows`, `blocks.rows`, etc.\n const newRows = [...(state[path].rows || [])]\n\n const newRow = deepCopyObjectSimpleWithoutReactComponents(newRows[rowIndex])\n\n const newRowID = new ObjectId().toHexString()\n\n if (newRow.id) {\n newRow.id = newRowID\n }\n\n if (newRows[rowIndex]?.customComponents?.RowLabel) {\n newRow.customComponents = {\n RowLabel: newRows[rowIndex].customComponents.RowLabel,\n }\n }\n\n // 2. Duplicate the row's state, e.g. `array.0.id`, `array.0.text`, etc.\n const newRowState = deepCopyObjectSimpleWithoutReactComponents(rows[rowIndex])\n\n // Ensure that `id` in form state exactly matches the row id on the parent field\n if (newRowState.id) {\n newRowState.id.value = newRowID\n newRowState.id.initialValue = newRowID\n }\n\n // Generate new ids for all nested id fields, e.g. `array.0.nestedArray.0.id`\n for (const key of Object.keys(newRowState).filter((key) => key.endsWith('.id'))) {\n const idState = newRowState[key]\n\n const newNestedFieldID = new ObjectId().toHexString()\n\n if (idState && typeof idState.value === 'string' && ObjectId.isValid(idState.value)) {\n newRowState[key].value = newNestedFieldID\n newRowState[key].initialValue = newNestedFieldID\n\n // Apply the ID to its corresponding parent field's rows, e.g. `array.0.nestedArray.rows[0].id`\n const segments = key.split('.')\n const rowIndex = parseInt(segments[segments.length - 2], 10)\n const parentFieldPath = segments.slice(0, segments.length - 2).join('.')\n const parentFieldRows = newRowState?.[parentFieldPath]?.rows\n\n if (newRowState[parentFieldPath] && Array.isArray(parentFieldRows)) {\n if (!parentFieldRows[rowIndex]) {\n parentFieldRows[rowIndex] = {\n id: newNestedFieldID,\n }\n } else {\n parentFieldRows[rowIndex].id = newNestedFieldID\n }\n }\n }\n }\n\n // If there are subfields\n if (Object.keys(newRowState).length > 0) {\n // Add new object containing subfield names to unflattenedRows array\n rows.splice(rowIndex + 1, 0, newRowState)\n newRows.splice(rowIndex + 1, 0, newRow)\n }\n\n const newState = {\n ...remainingFields,\n ...flattenRows(path, rows),\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: newRows,\n value: rows.length,\n },\n }\n\n return newState\n }\n\n case 'MERGE_SERVER_STATE': {\n const { acceptValues, prevStateRef, serverState } = action\n\n const newState = mergeServerFormState({\n acceptValues,\n currentState: state || {},\n incomingState: serverState,\n })\n\n prevStateRef.current = newState\n\n return newState\n }\n\n case 'MOVE_ROW': {\n const { moveFromIndex, moveToIndex, path } = action\n\n // Handle moving rows on the top-level, i.e. `array.0.text` -> `array.1.text`\n const { remainingFields, rows: topLevelRows } = separateRows(path, state)\n const copyOfMovingRow = topLevelRows[moveFromIndex]\n topLevelRows.splice(moveFromIndex, 1)\n topLevelRows.splice(moveToIndex, 0, copyOfMovingRow)\n\n // modify array/block internal row state (i.e. collapsed, blockType)\n const rowsWithinField = [...(state[path]?.rows || [])]\n const copyOfMovingRow2 = { ...rowsWithinField[moveFromIndex] }\n rowsWithinField.splice(moveFromIndex, 1)\n rowsWithinField.splice(moveToIndex, 0, copyOfMovingRow2)\n\n const newState = {\n ...remainingFields,\n ...flattenRows(path, topLevelRows),\n [path]: {\n ...state[path],\n rows: rowsWithinField,\n },\n }\n\n return newState\n }\n\n case 'REMOVE': {\n const newState = { ...state }\n if (newState[action.path]) {\n delete newState[action.path]\n }\n return newState\n }\n\n case 'REMOVE_ROW': {\n const { path, rowIndex } = action\n const { remainingFields, rows } = separateRows(path, state)\n const rowsMetadata = [...(state[path]?.rows || [])]\n\n rows.splice(rowIndex, 1)\n rowsMetadata.splice(rowIndex, 1)\n\n const newState: FormState = {\n ...remainingFields,\n [path]: {\n ...state[path],\n disableFormData: rows.length > 0,\n rows: rowsMetadata,\n value: rows.length,\n },\n ...flattenRows(path, rows),\n }\n\n return newState\n }\n\n case 'REPLACE_ROW': {\n const { blockType, path, rowIndex: rowIndexArg, subFieldState = {} } = action\n\n const { remainingFields, rows: siblingRows } = separateRows(path, state)\n const rowIndex = Math.max(0, Math.min(rowIndexArg, siblingRows?.length - 1 || 0))\n\n const rowsMetadata = [...(state[path]?.rows || [])]\n rowsMetadata[rowIndex] = {\n id: new ObjectId().toHexString(),\n blockType: blockType || undefined,\n collapsed: false,\n }\n\n if (blockType) {\n subFieldState.blockType = {\n initialValue: blockType,\n valid: true,\n value: blockType,\n }\n }\n\n // replace form _field state_\n siblingRows[rowIndex] = subFieldState\n\n const newState: FormState = {\n ...remainingFields,\n ...flattenRows(path, siblingRows),\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: rowsMetadata,\n value: siblingRows.length,\n },\n }\n\n return newState\n }\n\n case 'REPLACE_STATE': {\n if (action.optimize !== false) {\n // Only update fields that have changed\n // by comparing old value / initialValue to new\n // ..\n // This is a performance enhancement for saving\n // large documents with hundreds of fields\n const newState: FormState = {}\n\n for (const [path, newField] of Object.entries(action.state)) {\n const oldField = state[path]\n\n if (newField.valid !== false) {\n newField.valid = true\n }\n if (newField.passesCondition !== false) {\n newField.passesCondition = true\n }\n\n if (!dequal(oldField, newField)) {\n newState[path] = newField\n } else if (oldField) {\n newState[path] = oldField\n }\n }\n\n return newState\n }\n\n // TODO: Remove this in 4.0 - this is a temporary fix to prevent a breaking change\n if (action.sanitize) {\n for (const field of Object.values(action.state)) {\n if (field.valid !== false) {\n field.valid = true\n }\n if (field.passesCondition !== false) {\n field.passesCondition = true\n }\n }\n }\n // If we're not optimizing, just set the state to the new state\n return action.state\n }\n\n case 'SET_ALL_ROWS_COLLAPSED': {\n const { path, updatedRows } = action\n\n return {\n ...state,\n [path]: {\n ...state[path],\n rows: updatedRows,\n },\n }\n }\n\n case 'SET_ROW_COLLAPSED': {\n const { path, updatedRows } = action\n\n const newState = {\n ...state,\n [path]: {\n ...state[path],\n rows: updatedRows,\n },\n }\n\n return newState\n }\n\n case 'UPDATE': {\n const newField = Object.entries(action).reduce(\n (field, [key, value]) => {\n if (\n [\n 'disableFormData',\n 'errorMessage',\n 'initialValue',\n 'rows',\n 'valid',\n 'validate',\n 'value',\n ].includes(key)\n ) {\n return {\n ...field,\n [key]: value,\n ...(key === 'value' ? { isModified: true } : {}),\n }\n }\n\n return field\n },\n state?.[action.path] || ({} as FormField),\n )\n\n const newState = {\n ...state,\n [action.path]: newField,\n }\n\n // reset `isModified` in all other fields\n // Use destructuring instead of delete to avoid mutating field objects\n // shared with the previous state (shallow copy shares references)\n if ('value' in action) {\n for (const [path, field] of Object.entries(newState)) {\n if (path !== action.path && 'isModified' in field) {\n const { isModified: _, ...fieldWithoutIsModified } = field\n newState[path] = fieldWithoutIsModified as typeof field\n }\n }\n }\n\n return newState\n }\n\n case 'UPDATE_MANY': {\n const newState = { ...state }\n\n Object.entries(action.formState).forEach(([path, field]) => {\n newState[path] = field\n })\n\n return newState\n }\n\n default: {\n return state\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"fieldReducer.js","names":["ObjectIdImport","dequal","deepCopyObjectSimpleWithoutReactComponents","mergeServerFormState","flattenRows","separateRows","ObjectId","default","fieldReducer","state","action","type","blockType","path","rowIndex","rowIndexFromArgs","subFieldState","rows","length","withNewRow","newRow","id","value","toHexString","isLoading","splice","initialValue","valid","remainingFields","siblingRows","newState","passesCondition","disableFormData","errorPaths","errors","forEach","message","fieldPath","errorMessage","segments","split","push","fieldErrorPath","parentPath","slice","join","Object","entries","reduce","acc","fieldState","fieldErrorPaths","errorACC","startsWith","changed","newErrorPaths","Array","isArray","includes","newRows","newRowID","customComponents","RowLabel","newRowState","key","keys","filter","endsWith","idState","newNestedFieldID","isValid","parseInt","parentFieldPath","parentFieldRows","acceptValues","prevStateRef","serverState","currentState","incomingState","current","moveFromIndex","moveToIndex","topLevelRows","copyOfMovingRow","rowsWithinField","copyOfMovingRow2","rowsMetadata","rowIndexArg","Math","max","min","undefined","collapsed","optimize","newField","oldField","sanitize","field","values","updatedRows","isModified","_","fieldWithoutIsModified","formState"],"sources":["../../../src/forms/Form/fieldReducer.ts"],"sourcesContent":["'use client'\nimport type { FormField, FormState, Row } from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { deepCopyObjectSimpleWithoutReactComponents } from 'payload/shared'\n\nimport type { FieldAction } from './types.js'\n\nimport { mergeServerFormState } from './mergeServerFormState.js'\nimport { flattenRows, separateRows } from './rows.js'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\n/**\n * Reducer which modifies the form field state (all the current data of the fields in the form). When called using dispatch, it will return a new state object.\n */\nexport function fieldReducer(state: FormState, action: FieldAction): FormState {\n switch (action.type) {\n case 'ADD_ROW': {\n const { blockType, path, rowIndex: rowIndexFromArgs, subFieldState = {} } = action\n\n const rowIndex =\n typeof rowIndexFromArgs === 'number' ? rowIndexFromArgs : state[path]?.rows?.length || 0\n\n const withNewRow = [...(state[path]?.rows || [])]\n\n const newRow: Row = {\n id: (subFieldState?.id?.value as string) || new ObjectId().toHexString(),\n isLoading: true,\n }\n\n if (blockType) {\n newRow.blockType = blockType\n }\n\n withNewRow.splice(rowIndex, 0, newRow)\n\n if (blockType) {\n subFieldState.blockType = {\n initialValue: blockType,\n valid: true,\n value: blockType,\n }\n }\n\n // add new row to array _field state_\n const { remainingFields, rows: siblingRows } = separateRows(path, state)\n\n siblingRows.splice(rowIndex, 0, subFieldState)\n\n const newState: FormState = {\n ...remainingFields,\n ...flattenRows(path, siblingRows),\n [`${path}.${rowIndex}.id`]: {\n initialValue: newRow.id,\n passesCondition: true,\n valid: true,\n value: newRow.id,\n },\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: withNewRow,\n value: siblingRows.length,\n },\n }\n\n return newState\n }\n\n case 'ADD_SERVER_ERRORS': {\n let newState = { ...state }\n\n const errorPaths: { fieldErrorPath: string; parentPath: string }[] = []\n\n action.errors.forEach(({ message, path: fieldPath }) => {\n newState[fieldPath] = {\n ...(newState[fieldPath] || {\n initialValue: null,\n value: null,\n }),\n errorMessage: message,\n valid: false,\n }\n\n const segments = fieldPath.split('.')\n if (segments.length > 1) {\n errorPaths.push({\n fieldErrorPath: fieldPath,\n parentPath: segments.slice(0, segments.length - 1).join('.'),\n })\n }\n })\n\n newState = Object.entries(newState).reduce((acc, [path, fieldState]) => {\n const fieldErrorPaths = errorPaths.reduce((errorACC, { fieldErrorPath, parentPath }) => {\n if (parentPath.startsWith(path)) {\n errorACC.push(fieldErrorPath)\n }\n return errorACC\n }, [])\n\n let changed = false\n\n if (fieldErrorPaths.length > 0) {\n const newErrorPaths = Array.isArray(fieldState.errorPaths) ? fieldState.errorPaths : []\n\n fieldErrorPaths.forEach((fieldErrorPath) => {\n if (!newErrorPaths.includes(fieldErrorPath)) {\n newErrorPaths.push(fieldErrorPath)\n changed = true\n }\n })\n\n if (changed) {\n acc[path] = {\n ...fieldState,\n errorPaths: newErrorPaths,\n }\n }\n }\n\n if (!changed) {\n acc[path] = fieldState\n }\n\n return acc\n }, {})\n\n return newState\n }\n\n /**\n * Duplicates a row in an array or blocks field.\n * It needs to manipulate two distinct parts of the form state:\n * - The `rows` property of the parent field, e.g. `array.rows`, `blocks.rows`, etc.\n * - The row's state, e.g. `array.0.id`, `array.0.text`, etc.\n */\n case 'DUPLICATE_ROW': {\n const { path, rowIndex } = action\n const { remainingFields, rows } = separateRows(path, state)\n\n // 1. Duplicate the `rows` property of the parent field, e.g. `array.rows`, `blocks.rows`, etc.\n const newRows = [...(state[path].rows || [])]\n\n const newRow = deepCopyObjectSimpleWithoutReactComponents(newRows[rowIndex])\n\n const newRowID = new ObjectId().toHexString()\n\n if (newRow.id) {\n newRow.id = newRowID\n }\n\n if (newRows[rowIndex]?.customComponents?.RowLabel) {\n newRow.customComponents = {\n RowLabel: newRows[rowIndex].customComponents.RowLabel,\n }\n }\n\n // 2. Duplicate the row's state, e.g. `array.0.id`, `array.0.text`, etc.\n const newRowState = deepCopyObjectSimpleWithoutReactComponents(rows[rowIndex])\n\n // Ensure that `id` in form state exactly matches the row id on the parent field\n if (newRowState.id) {\n newRowState.id.value = newRowID\n newRowState.id.initialValue = newRowID\n }\n\n // Generate new ids for all nested id fields, e.g. `array.0.nestedArray.0.id`\n for (const key of Object.keys(newRowState).filter((key) => key.endsWith('.id'))) {\n const idState = newRowState[key]\n\n const newNestedFieldID = new ObjectId().toHexString()\n\n if (idState && typeof idState.value === 'string' && ObjectId.isValid(idState.value)) {\n newRowState[key].value = newNestedFieldID\n newRowState[key].initialValue = newNestedFieldID\n\n // Apply the ID to its corresponding parent field's rows, e.g. `array.0.nestedArray.rows[0].id`\n const segments = key.split('.')\n const rowIndex = parseInt(segments[segments.length - 2], 10)\n const parentFieldPath = segments.slice(0, segments.length - 2).join('.')\n const parentFieldRows = newRowState?.[parentFieldPath]?.rows\n\n if (newRowState[parentFieldPath] && Array.isArray(parentFieldRows)) {\n if (!parentFieldRows[rowIndex]) {\n parentFieldRows[rowIndex] = {\n id: newNestedFieldID,\n }\n } else {\n parentFieldRows[rowIndex].id = newNestedFieldID\n }\n }\n }\n }\n\n // If there are subfields\n if (Object.keys(newRowState).length > 0) {\n // Add new object containing subfield names to unflattenedRows array\n rows.splice(rowIndex + 1, 0, newRowState)\n newRows.splice(rowIndex + 1, 0, newRow)\n }\n\n const newState = {\n ...remainingFields,\n ...flattenRows(path, rows),\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: newRows,\n value: rows.length,\n },\n }\n\n return newState\n }\n\n case 'MERGE_SERVER_STATE': {\n const { acceptValues, prevStateRef, serverState } = action\n\n const newState = mergeServerFormState({\n acceptValues,\n currentState: state || {},\n incomingState: serverState,\n })\n\n if (prevStateRef) {\n prevStateRef.current = newState\n }\n\n return newState\n }\n\n case 'MOVE_ROW': {\n const { moveFromIndex, moveToIndex, path } = action\n\n // Handle moving rows on the top-level, i.e. `array.0.text` -> `array.1.text`\n const { remainingFields, rows: topLevelRows } = separateRows(path, state)\n const copyOfMovingRow = topLevelRows[moveFromIndex]\n topLevelRows.splice(moveFromIndex, 1)\n topLevelRows.splice(moveToIndex, 0, copyOfMovingRow)\n\n // modify array/block internal row state (i.e. collapsed, blockType)\n const rowsWithinField = [...(state[path]?.rows || [])]\n const copyOfMovingRow2 = { ...rowsWithinField[moveFromIndex] }\n rowsWithinField.splice(moveFromIndex, 1)\n rowsWithinField.splice(moveToIndex, 0, copyOfMovingRow2)\n\n const newState = {\n ...remainingFields,\n ...flattenRows(path, topLevelRows),\n [path]: {\n ...state[path],\n rows: rowsWithinField,\n },\n }\n\n return newState\n }\n\n case 'REMOVE': {\n const newState = { ...state }\n if (newState[action.path]) {\n delete newState[action.path]\n }\n return newState\n }\n\n case 'REMOVE_ROW': {\n const { path, rowIndex } = action\n const { remainingFields, rows } = separateRows(path, state)\n const rowsMetadata = [...(state[path]?.rows || [])]\n\n rows.splice(rowIndex, 1)\n rowsMetadata.splice(rowIndex, 1)\n\n const newState: FormState = {\n ...remainingFields,\n [path]: {\n ...state[path],\n disableFormData: rows.length > 0,\n rows: rowsMetadata,\n value: rows.length,\n },\n ...flattenRows(path, rows),\n }\n\n return newState\n }\n\n case 'REPLACE_ROW': {\n const { blockType, path, rowIndex: rowIndexArg, subFieldState = {} } = action\n\n const { remainingFields, rows: siblingRows } = separateRows(path, state)\n const rowIndex = Math.max(0, Math.min(rowIndexArg, siblingRows?.length - 1 || 0))\n\n const rowsMetadata = [...(state[path]?.rows || [])]\n rowsMetadata[rowIndex] = {\n id: new ObjectId().toHexString(),\n blockType: blockType || undefined,\n collapsed: false,\n }\n\n if (blockType) {\n subFieldState.blockType = {\n initialValue: blockType,\n valid: true,\n value: blockType,\n }\n }\n\n // replace form _field state_\n siblingRows[rowIndex] = subFieldState\n\n const newState: FormState = {\n ...remainingFields,\n ...flattenRows(path, siblingRows),\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: rowsMetadata,\n value: siblingRows.length,\n },\n }\n\n return newState\n }\n\n case 'REPLACE_STATE': {\n if (action.optimize !== false) {\n // Only update fields that have changed\n // by comparing old value / initialValue to new\n // ..\n // This is a performance enhancement for saving\n // large documents with hundreds of fields\n const newState: FormState = {}\n\n for (const [path, newField] of Object.entries(action.state)) {\n const oldField = state[path]\n\n if (newField.valid !== false) {\n newField.valid = true\n }\n if (newField.passesCondition !== false) {\n newField.passesCondition = true\n }\n\n if (!dequal(oldField, newField)) {\n newState[path] = newField\n } else if (oldField) {\n newState[path] = oldField\n }\n }\n\n return newState\n }\n\n // TODO: Remove this in 4.0 - this is a temporary fix to prevent a breaking change\n if (action.sanitize) {\n for (const field of Object.values(action.state)) {\n if (field.valid !== false) {\n field.valid = true\n }\n if (field.passesCondition !== false) {\n field.passesCondition = true\n }\n }\n }\n // If we're not optimizing, just set the state to the new state\n return action.state\n }\n\n case 'SET_ALL_ROWS_COLLAPSED': {\n const { path, updatedRows } = action\n\n return {\n ...state,\n [path]: {\n ...state[path],\n rows: updatedRows,\n },\n }\n }\n\n case 'SET_ROW_COLLAPSED': {\n const { path, updatedRows } = action\n\n const newState = {\n ...state,\n [path]: {\n ...state[path],\n rows: updatedRows,\n },\n }\n\n return newState\n }\n\n case 'UPDATE': {\n const newField = Object.entries(action).reduce(\n (field, [key, value]) => {\n if (\n [\n 'disableFormData',\n 'errorMessage',\n 'initialValue',\n 'rows',\n 'valid',\n 'validate',\n 'value',\n ].includes(key)\n ) {\n return {\n ...field,\n [key]: value,\n ...(key === 'value' ? { isModified: true } : {}),\n }\n }\n\n return field\n },\n state?.[action.path] || ({} as FormField),\n )\n\n const newState = {\n ...state,\n [action.path]: newField,\n }\n\n // reset `isModified` in all other fields\n // Use destructuring instead of delete to avoid mutating field objects\n // shared with the previous state (shallow copy shares references)\n if ('value' in action) {\n for (const [path, field] of Object.entries(newState)) {\n if (path !== action.path && 'isModified' in field) {\n const { isModified: _, ...fieldWithoutIsModified } = field\n newState[path] = fieldWithoutIsModified as typeof field\n }\n }\n }\n\n return newState\n }\n\n case 'UPDATE_MANY': {\n const newState = { ...state }\n\n Object.entries(action.formState).forEach(([path, field]) => {\n newState[path] = field\n })\n\n return newState\n }\n\n default: {\n return state\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
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,EAIV,MAAM,YAAY,CAAA;AAqCnB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA+1BpC,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,EAIV,MAAM,YAAY,CAAA;AAsCnB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA41BpC,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"}
@@ -14,6 +14,7 @@ import { useThrottledEffect } from '../../hooks/useThrottledEffect.js';
14
14
  import { useAuth } from '../../providers/Auth/index.js';
15
15
  import { useConfig } from '../../providers/Config/index.js';
16
16
  import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
17
+ import { useFormErrorHandler } from '../../providers/FormErrorHandler/index.js';
17
18
  import { useLocale } from '../../providers/Locale/index.js';
18
19
  import { useOperation } from '../../providers/Operation/index.js';
19
20
  import { useRouter } from '../../providers/RouterAdapter/index.js';
@@ -63,9 +64,8 @@ export const Form = props => {
63
64
  const method = 'method' in props ? props?.method : undefined;
64
65
  const router = useRouter();
65
66
  const documentForm = useDocumentForm();
66
- const {
67
- code: locale
68
- } = useLocale();
67
+ const currentLocale = useLocale();
68
+ const locale = currentLocale?.code;
69
69
  const {
70
70
  i18n,
71
71
  t
@@ -74,6 +74,7 @@ export const Form = props => {
74
74
  refreshCookie,
75
75
  user
76
76
  } = useAuth();
77
+ const onNonFieldError = useFormErrorHandler();
77
78
  const operation = useOperation();
78
79
  const {
79
80
  queueTask
@@ -409,6 +410,12 @@ export const Form = props => {
409
410
  errors: fieldErrors
410
411
  });
411
412
  nonFieldErrors.forEach(err_1 => {
413
+ // Pass overridesFromArgs (not the computed overrides) so a retry re-evaluates any function overrides against current fields.
414
+ if (onNonFieldError?.(err_1, () => void submit({
415
+ overrides: overridesFromArgs
416
+ }))) {
417
+ return;
418
+ }
412
419
  errorToast(/*#__PURE__*/_jsx(FieldErrorsToast, {
413
420
  errorMessage: err_1.message || t('error:unknown')
414
421
  }));
@@ -429,7 +436,7 @@ export const Form = props => {
429
436
  setDisabled(false);
430
437
  errorToast(err.message);
431
438
  }
432
- }, [beforeSubmit, startRouteTransition, action, disableSuccessStatus, disableValidationOnSubmit, disabled, dispatchFields, handleResponse, method, onSubmit, onSuccess, redirect, router, t, i18n, validateDrafts, waitForAutocomplete, setModified, setSubmitted]);
439
+ }, [beforeSubmit, startRouteTransition, action, disableSuccessStatus, disableValidationOnSubmit, disabled, dispatchFields, handleResponse, method, onSubmit, onSuccess, redirect, router, t, i18n, validateDrafts, waitForAutocomplete, setModified, setSubmitted, onNonFieldError]);
433
440
  const getFields = useCallback(() => contextRef.current.fields, []);
434
441
  const getField = useCallback(path_0 => contextRef.current.fields[path_0], []);
435
442
  const getData = useCallback(() => reduceFieldsToValues(contextRef.current.fields, true), []);
@@ -447,21 +454,10 @@ export const Form = props => {
447
454
  collectionSlug
448
455
  });
449
456
  if (typeof handler === 'function') {
450
- let filename = file.name;
451
- const clientUploadContext = await handler({
457
+ file = JSON.stringify(await handler({
452
458
  docPrefix: typeof data_5?.prefix === 'string' ? data_5.prefix : undefined,
453
- file,
454
- updateFilename: value_0 => {
455
- filename = value_0;
456
- }
457
- });
458
- file = JSON.stringify({
459
- clientUploadContext,
460
- collectionSlug,
461
- filename,
462
- mimeType: file.type,
463
- size: file.size
464
- });
459
+ file
460
+ }));
465
461
  }
466
462
  }
467
463
  if (mergeOverrideData) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["dequal","serialize","deepCopyObjectSimpleWithoutReactComponents","getDataByPath","getDataByPathFunc","getSiblingData","getSiblingDataFunc","hasDraftValidationEnabled","reduceFieldsToValues","wait","React","useCallback","useEffect","useReducer","useRef","useState","toast","FieldErrorsToast","useDebouncedEffect","useEffectEvent","useQueue","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useLocale","useOperation","useRouter","useRouteTransition","useServerFunctions","useTranslation","useUploadHandlers","abortAndIgnore","handleAbortRef","requests","BackgroundProcessingContext","DocumentFormContext","FormContext","FormFieldsContext","FormWatchContext","InitializingContext","ModifiedContext","ProcessingContext","SubmittedContext","useDocumentForm","errorMessages","fieldReducer","initContextState","baseClass","Form","props","id","collectionSlug","docConfig","docPermissions","getDocPreferences","globalSlug","validateDrafts","action","beforeSubmit","children","className","disabled","disabledFromProps","disableSuccessStatus","disableValidationOnSubmit","el","handleResponse","initialState","isDocumentForm","isInitializing","initializingFromProps","onChange","onSubmit","onSuccess","redirect","submitted","submittedFromProps","uuid","waitForAutocomplete","method","undefined","router","documentForm","code","locale","i18n","t","refreshCookie","user","operation","queueTask","getFormState","startRouteTransition","getUploadHandler","config","setDisabled","isMounted","setIsMounted","setSubmitted","isValid","setIsValid","initializing","setInitializing","processing","setProcessing","backgroundProcessing","_setBackgroundProcessing","backgroundProcessingRef","modifiedWhileProcessingRef","setBackgroundProcessing","current","modified","_setModified","setModified","formRef","contextRef","abortResetFormRef","isFirstRenderRef","fieldsReducer","formState","dispatchFields","fields","prevFormState","validateForm","validatedFieldState","data","getData","validationPromises","Object","entries","map","path","field","validatedField","pathSegments","split","passesCondition","validationResult","valid","validate","valueToValidate","value","rows","Array","isArray","blockData","event","preferences","req","payload","siblingData","errorMessage","Promise","all","type","state","submit","options","e","acceptValues","actionArg","context","disableFormWhileProcessing","disableSuccessStatusFromArgs","methodToUse","overrides","overridesFromArgs","skipValidation","disableToast","preventDefault","errorToast","successToast","promise","resolve","reject","hasFormSubmitAction","success","error","loading","stopPropagation","serializableFormState","excludeFiles","revalidatedFormState","reduce","priorOnChange","beforeSubmitFn","result","every","key","formData","createFormData","mergeOverrideData","Boolean","res","toLowerCase","body","headers","language","contentType","get","isJSON","indexOf","json","status","newFormState","prevStateRef","serverState","push","message","errors","fieldErrors","nonFieldErrors","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","forEach","dataError","_jsx","statusText","console","getFields","getField","dataFromArgs","file","upload","handler","filename","name","clientUploadContext","docPrefix","prefix","updateFilename","JSON","stringify","mimeType","size","dataToSerialize","_payload","indices","nullsAsUndefineds","reset","controller","docPreferences","newState","renderAllFields","schemaPath","signal","replaceState","addFieldRow","blockType","rowIndex","rowIndexArg","subFieldState","newRows","length","moveFieldRow","moveFromIndex","moveToIndex","removeFieldRow","replaceFieldRow","currentRows","abortOnChange","optimize","sanitize","handleLocaleChange","classes","filter","join","executeOnChange","onChangeFn","DocumentFormContextComponent","Fragment","documentFormContextProps","El","noValidate","ref","Provider","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 { serialize } from 'object-to-formdata'\nimport { type FormState, type PayloadRequest } from 'payload'\nimport {\n deepCopyObjectSimpleWithoutReactComponents,\n getDataByPath as getDataByPathFunc,\n getSiblingData as getSiblingDataFunc,\n hasDraftValidationEnabled,\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 Submit,\n SubmitOptions,\n} from './types.js'\n\nimport { FieldErrorsToast } from '../../elements/Toasts/fieldErrors.js'\nimport { useDebouncedEffect } from '../../hooks/useDebouncedEffect.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useQueue } from '../../hooks/useQueue.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 { useRouter } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadHandlers } from '../../providers/UploadHandlers/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { requests } from '../../utilities/api.js'\nimport {\n BackgroundProcessingContext,\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'\n\nconst baseClass = 'form'\n\nexport const Form: React.FC<FormProps> = (props) => {\n const { id, collectionSlug, docConfig, docPermissions, getDocPreferences, globalSlug } =\n useDocumentInfo()\n\n const validateDrafts = hasDraftValidationEnabled(docConfig)\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 el,\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 const { queueTask } = useQueue()\n\n const { getFormState } = useServerFunctions()\n const { startRouteTransition } = useRouteTransition()\n const { getUploadHandler } = useUploadHandlers()\n\n const { config } = useConfig()\n\n const [disabled, setDisabled] = useState(disabledFromProps || false)\n const [isMounted, setIsMounted] = useState(false)\n\n const [submitted, setSubmitted] = useState(false)\n\n /**\n * Tracks wether the form state passes validation.\n * For example the state could be submitted but invalid as field errors have been returned.\n */\n const [isValid, setIsValid] = useState(true)\n const [initializing, setInitializing] = useState(initializingFromProps)\n\n const [processing, setProcessing] = useState(false)\n\n /**\n * Determines whether the form is processing asynchronously in the background, e.g. autosave is running.\n * Useful to determine whether to disable the form or queue other processes while in flight, e.g. disable manual submits while an autosave is running.\n */\n const [backgroundProcessing, _setBackgroundProcessing] = useState(false)\n\n /**\n * A ref that can be read within the `setModified` interceptor.\n * Dependents of this state can read it immediately without needing to wait for a render cycle.\n */\n const backgroundProcessingRef = useRef(backgroundProcessing)\n\n /**\n * Flag to track if the form was modified _during a submission_, e.g. while autosave is running.\n * Useful in order to avoid resetting `modified` to false wrongfully after a submit.\n * For example, if the user modifies a field while the a background process (autosave) is running,\n * we need to ensure that after the submit completes, the `modified` state remains true.\n */\n const modifiedWhileProcessingRef = useRef(false)\n\n /**\n * Intercept the `setBackgroundProcessing` method to keep the ref in sync.\n * See the `backgroundProcessingRef` for more details.\n */\n const setBackgroundProcessing = useCallback((backgroundProcessing: boolean) => {\n backgroundProcessingRef.current = backgroundProcessing\n _setBackgroundProcessing(backgroundProcessing)\n }, [])\n\n const [modified, _setModified] = useState(false)\n\n /**\n * Intercept the `setModified` method to track whether the event happened during background processing.\n * See the `modifiedWhileProcessingRef` ref for more details.\n */\n const setModified = useCallback((modified: boolean) => {\n if (backgroundProcessingRef.current) {\n modifiedWhileProcessingRef.current = true\n }\n\n _setModified(modified)\n }, [])\n\n const formRef = useRef<HTMLFormElement>(null)\n const contextRef = useRef({} as FormContextType)\n const abortResetFormRef = useRef<AbortController>(null)\n const isFirstRenderRef = useRef(true)\n\n const fieldsReducer = useReducer(fieldReducer, {}, () => initialState)\n\n const [formState, dispatchFields] = fieldsReducer\n\n contextRef.current.fields = formState\n\n const prevFormState = useRef(formState)\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 const pathSegments = path ? path.split('.') : []\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 path: pathSegments,\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 setIsValid(isValid)\n\n return isValid\n }, [collectionSlug, config, dispatchFields, id, operation, t, user, documentForm])\n\n const submit = useCallback<Submit>(\n async (options, e) => {\n const {\n acceptValues = true,\n action: actionArg = action,\n context,\n disableFormWhileProcessing = true,\n disableSuccessStatus: disableSuccessStatusFromArgs,\n method: methodToUse = method,\n overrides: overridesFromArgs = {},\n skipValidation,\n } = options || ({} as SubmitOptions)\n\n const disableToast = disableSuccessStatusFromArgs ?? disableSuccessStatus\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\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 || disableToast || !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 if (disableFormWhileProcessing) {\n setProcessing(true)\n setDisabled(true)\n }\n\n if (waitForAutocomplete) {\n await wait(100)\n }\n\n const data = reduceFieldsToValues(contextRef.current.fields, true)\n\n const serializableFormState = deepCopyObjectSimpleWithoutReactComponents(\n contextRef.current.fields,\n {\n excludeFiles: true,\n },\n )\n\n // Execute server side validations\n if (Array.isArray(beforeSubmit)) {\n let revalidatedFormState: FormState\n\n await beforeSubmit.reduce(async (priorOnChange, beforeSubmitFn) => {\n await priorOnChange\n\n const result = await beforeSubmitFn({\n formState: serializableFormState,\n })\n\n revalidatedFormState = result\n }, Promise.resolve())\n\n const isValid = Object.entries(revalidatedFormState).every(\n ([, field]) => field.valid !== false,\n )\n\n setIsValid(isValid)\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 setIsValid(isValid)\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 for (const [key, value] of Object.entries(overrides)) {\n data[key] = value\n }\n\n onSubmit(contextRef.current.fields, 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 try {\n const formData = await contextRef.current.createFormData(overrides, {\n data,\n mergeOverrideData: Boolean(typeof overridesFromArgs !== 'function'),\n })\n\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 if (!modifiedWhileProcessingRef.current) {\n setModified(false)\n } else {\n modifiedWhileProcessingRef.current = false\n }\n\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\n if (res.status < 400) {\n if (typeof onSuccess === 'function') {\n const newFormState = await onSuccess(json, {\n context,\n formState: serializableFormState,\n })\n\n if (newFormState) {\n dispatchFields({\n type: 'MERGE_SERVER_STATE',\n acceptValues,\n prevStateRef: prevFormState,\n serverState: newFormState,\n })\n }\n }\n\n setSubmitted(false)\n setProcessing(false)\n\n if (redirect) {\n startRouteTransition(() => router.push(redirect))\n } else if (!disableToast) {\n successToast(json.message || t('general:submissionSuccessful'))\n }\n } else {\n setProcessing(false)\n setSubmitted(true)\n\n // When there was an error submitting a draft,\n // set the form state to unsubmitted, to not trigger visible form validation on changes after the failed submit.\n // Also keep the form as modified so the save button remains enabled for retry.\n if (overridesFromArgs['_status'] === 'draft') {\n setModified(true)\n\n if (!validateDrafts) {\n setSubmitted(false)\n }\n }\n\n contextRef.current = { ...contextRef.current } // triggers rerender of all components that subscribe to form\n\n if (json.message) {\n errorToast(json.message)\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 setIsValid(false)\n\n dispatchFields({\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n })\n\n nonFieldErrors.forEach((err) => {\n errorToast(<FieldErrorsToast errorMessage={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\n return { formState: contextRef.current.fields, res }\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 startRouteTransition,\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 validateDrafts,\n waitForAutocomplete,\n setModified,\n setSubmitted,\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>(\n async (overrides, { data: dataFromArgs, mergeOverrideData = true }) => {\n let data = dataFromArgs || reduceFieldsToValues(contextRef.current.fields, true)\n\n let file = data?.file\n\n if (docConfig && 'upload' in docConfig && docConfig.upload && file) {\n delete data.file\n\n const handler = getUploadHandler({ collectionSlug })\n\n if (typeof handler === 'function') {\n let filename = file.name\n const clientUploadContext = await handler({\n docPrefix: typeof data?.prefix === 'string' ? data.prefix : undefined,\n file,\n updateFilename: (value) => {\n filename = value\n },\n })\n\n file = JSON.stringify({\n clientUploadContext,\n collectionSlug,\n filename,\n mimeType: file.type,\n size: file.size,\n })\n }\n }\n\n if (mergeOverrideData) {\n data = {\n ...data,\n ...overrides,\n }\n } else {\n data = overrides\n }\n\n const dataToSerialize: Record<string, unknown> = {\n _payload: JSON.stringify(data),\n }\n\n if (docConfig && 'upload' in docConfig && docConfig.upload && file) {\n dataToSerialize.file = file\n }\n\n // nullAsUndefineds is important to allow uploads and relationship fields to clear themselves\n const formData = serialize(dataToSerialize, {\n indices: true,\n nullsAsUndefineds: false,\n })\n\n return formData\n },\n [collectionSlug, docConfig, getUploadHandler],\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 setModified,\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, setModified],\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 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, setModified],\n )\n\n const moveFieldRow: FormContextType['moveFieldRow'] = useCallback(\n ({ moveFromIndex, moveToIndex, path }) => {\n dispatchFields({\n type: 'MOVE_ROW',\n moveFromIndex,\n moveToIndex,\n path,\n })\n\n setModified(true)\n },\n [dispatchFields, setModified],\n )\n\n const removeFieldRow: FormContextType['removeFieldRow'] = useCallback(\n ({ path, rowIndex }) => {\n dispatchFields({ type: 'REMOVE_ROW', path, rowIndex })\n\n setModified(true)\n },\n [dispatchFields, setModified],\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, setModified],\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.setBackgroundProcessing = setBackgroundProcessing\n\n contextRef.current.setSubmitted = setSubmitted\n contextRef.current.setIsValid = setIsValid\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.moveFieldRow = moveFieldRow\n contextRef.current.replaceFieldRow = replaceFieldRow\n contextRef.current.uuid = uuid\n contextRef.current.initializing = initializing\n contextRef.current.isValid = isValid\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 [formState],\n )\n\n const handleLocaleChange = useEffectEvent(() => {\n contextRef.current = { ...contextRef.current } // triggers rerender of all components that subscribe to form\n setModified(false)\n })\n\n useEffect(() => {\n handleLocaleChange()\n }, [locale])\n\n const classes = [className, baseClass].filter(Boolean).join(' ')\n\n const executeOnChange = useEffectEvent((submitted: boolean) => {\n queueTask(async () => {\n if (Array.isArray(onChange)) {\n let serverState: FormState\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 serverState = await onChangeFn({\n formState: deepCopyObjectSimpleWithoutReactComponents(formState, {\n excludeFiles: true,\n }),\n submitted,\n })\n }\n\n dispatchFields({\n type: 'MERGE_SERVER_STATE',\n prevStateRef: prevFormState,\n serverState,\n })\n }\n })\n })\n\n useDebouncedEffect(\n () => {\n if ((isFirstRenderRef.current || !dequal(formState, prevFormState.current)) && modified) {\n executeOnChange(submitted)\n }\n\n prevFormState.current = formState\n isFirstRenderRef.current = false\n },\n [modified, submitted, formState],\n 250,\n )\n\n const DocumentFormContextComponent: React.FC<any> = isDocumentForm\n ? DocumentFormContext\n : React.Fragment\n\n const documentFormContextProps = isDocumentForm\n ? {\n value: contextRef.current,\n }\n : {}\n\n const El: 'form' = (el as unknown as 'form') || 'form'\n\n return (\n <El\n action={typeof action === 'function' ? void action : action}\n className={classes}\n /**\n * data-form-ready signals if the form is ready to be used. This is used by our e2e tests\n * to wait for the form to be ready before interacting with it, reducing flakiness if the test is run in\n * slow network conditions.\n */\n data-form-ready={!processing && isMounted && !initializing}\n method={method}\n noValidate\n onSubmit={(e) => void contextRef.current.submit({}, e)}\n ref={formRef}\n >\n <DocumentFormContextComponent {...documentFormContextProps}>\n <FormContext value={contextRef.current}>\n <FormWatchContext\n value={{\n fields: formState,\n ...contextRef.current,\n }}\n >\n <SubmittedContext value={submitted}>\n <InitializingContext value={!isMounted || (isMounted && initializing)}>\n <ProcessingContext value={processing}>\n <BackgroundProcessingContext value={backgroundProcessing}>\n <ModifiedContext value={modified}>\n {/* eslint-disable-next-line @eslint-react/no-context-provider */}\n <FormFieldsContext.Provider value={fieldsReducer}>\n {children}\n </FormFieldsContext.Provider>\n </ModifiedContext>\n </BackgroundProcessingContext>\n </ProcessingContext>\n </InitializingContext>\n </SubmittedContext>\n </FormWatchContext>\n </FormContext>\n </DocumentFormContextComponent>\n </El>\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","serialize","deepCopyObjectSimpleWithoutReactComponents","getDataByPath","getDataByPathFunc","getSiblingData","getSiblingDataFunc","hasDraftValidationEnabled","reduceFieldsToValues","wait","React","useCallback","useEffect","useReducer","useRef","useState","toast","FieldErrorsToast","useDebouncedEffect","useEffectEvent","useQueue","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useFormErrorHandler","useLocale","useOperation","useRouter","useRouteTransition","useServerFunctions","useTranslation","useUploadHandlers","abortAndIgnore","handleAbortRef","requests","BackgroundProcessingContext","DocumentFormContext","FormContext","FormFieldsContext","FormWatchContext","InitializingContext","ModifiedContext","ProcessingContext","SubmittedContext","useDocumentForm","errorMessages","fieldReducer","initContextState","baseClass","Form","props","id","collectionSlug","docConfig","docPermissions","getDocPreferences","globalSlug","validateDrafts","action","beforeSubmit","children","className","disabled","disabledFromProps","disableSuccessStatus","disableValidationOnSubmit","el","handleResponse","initialState","isDocumentForm","isInitializing","initializingFromProps","onChange","onSubmit","onSuccess","redirect","submitted","submittedFromProps","uuid","waitForAutocomplete","method","undefined","router","documentForm","currentLocale","locale","code","i18n","t","refreshCookie","user","onNonFieldError","operation","queueTask","getFormState","startRouteTransition","getUploadHandler","config","setDisabled","isMounted","setIsMounted","setSubmitted","isValid","setIsValid","initializing","setInitializing","processing","setProcessing","backgroundProcessing","_setBackgroundProcessing","backgroundProcessingRef","modifiedWhileProcessingRef","setBackgroundProcessing","current","modified","_setModified","setModified","formRef","contextRef","abortResetFormRef","isFirstRenderRef","fieldsReducer","formState","dispatchFields","fields","prevFormState","validateForm","validatedFieldState","data","getData","validationPromises","Object","entries","map","path","field","validatedField","pathSegments","split","passesCondition","validationResult","valid","validate","valueToValidate","value","rows","Array","isArray","blockData","event","preferences","req","payload","siblingData","errorMessage","Promise","all","type","state","submit","options","e","acceptValues","actionArg","context","disableFormWhileProcessing","disableSuccessStatusFromArgs","methodToUse","overrides","overridesFromArgs","skipValidation","disableToast","preventDefault","errorToast","successToast","promise","resolve","reject","hasFormSubmitAction","success","error","loading","stopPropagation","serializableFormState","excludeFiles","revalidatedFormState","reduce","priorOnChange","beforeSubmitFn","result","every","key","formData","createFormData","mergeOverrideData","Boolean","res","toLowerCase","body","headers","language","contentType","get","isJSON","indexOf","json","status","newFormState","prevStateRef","serverState","push","message","errors","fieldErrors","nonFieldErrors","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","forEach","dataError","_jsx","statusText","console","getFields","getField","dataFromArgs","file","upload","handler","JSON","stringify","docPrefix","prefix","dataToSerialize","_payload","indices","nullsAsUndefineds","reset","controller","docPreferences","newState","renderAllFields","schemaPath","signal","replaceState","addFieldRow","blockType","rowIndex","rowIndexArg","subFieldState","newRows","length","moveFieldRow","moveFromIndex","moveToIndex","removeFieldRow","replaceFieldRow","currentRows","abortOnChange","optimize","sanitize","handleLocaleChange","classes","filter","join","executeOnChange","onChangeFn","DocumentFormContextComponent","Fragment","documentFormContextProps","El","noValidate","ref","Provider","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 { serialize } from 'object-to-formdata'\nimport { type FormState, type PayloadRequest } from 'payload'\nimport {\n deepCopyObjectSimpleWithoutReactComponents,\n getDataByPath as getDataByPathFunc,\n getSiblingData as getSiblingDataFunc,\n hasDraftValidationEnabled,\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 Submit,\n SubmitOptions,\n} from './types.js'\n\nimport { FieldErrorsToast } from '../../elements/Toasts/fieldErrors.js'\nimport { useDebouncedEffect } from '../../hooks/useDebouncedEffect.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useQueue } from '../../hooks/useQueue.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 { useFormErrorHandler } from '../../providers/FormErrorHandler/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useRouter } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadHandlers } from '../../providers/UploadHandlers/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { requests } from '../../utilities/api.js'\nimport {\n BackgroundProcessingContext,\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'\n\nconst baseClass = 'form'\n\nexport const Form: React.FC<FormProps> = (props) => {\n const { id, collectionSlug, docConfig, docPermissions, getDocPreferences, globalSlug } =\n useDocumentInfo()\n\n const validateDrafts = hasDraftValidationEnabled(docConfig)\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 el,\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 currentLocale = useLocale()\n const locale = currentLocale?.code\n const { i18n, t } = useTranslation()\n const { refreshCookie, user } = useAuth()\n const onNonFieldError = useFormErrorHandler()\n const operation = useOperation()\n const { queueTask } = useQueue()\n\n const { getFormState } = useServerFunctions()\n const { startRouteTransition } = useRouteTransition()\n const { getUploadHandler } = useUploadHandlers()\n\n const { config } = useConfig()\n\n const [disabled, setDisabled] = useState(disabledFromProps || false)\n const [isMounted, setIsMounted] = useState(false)\n\n const [submitted, setSubmitted] = useState(false)\n\n /**\n * Tracks wether the form state passes validation.\n * For example the state could be submitted but invalid as field errors have been returned.\n */\n const [isValid, setIsValid] = useState(true)\n const [initializing, setInitializing] = useState(initializingFromProps)\n\n const [processing, setProcessing] = useState(false)\n\n /**\n * Determines whether the form is processing asynchronously in the background, e.g. autosave is running.\n * Useful to determine whether to disable the form or queue other processes while in flight, e.g. disable manual submits while an autosave is running.\n */\n const [backgroundProcessing, _setBackgroundProcessing] = useState(false)\n\n /**\n * A ref that can be read within the `setModified` interceptor.\n * Dependents of this state can read it immediately without needing to wait for a render cycle.\n */\n const backgroundProcessingRef = useRef(backgroundProcessing)\n\n /**\n * Flag to track if the form was modified _during a submission_, e.g. while autosave is running.\n * Useful in order to avoid resetting `modified` to false wrongfully after a submit.\n * For example, if the user modifies a field while the a background process (autosave) is running,\n * we need to ensure that after the submit completes, the `modified` state remains true.\n */\n const modifiedWhileProcessingRef = useRef(false)\n\n /**\n * Intercept the `setBackgroundProcessing` method to keep the ref in sync.\n * See the `backgroundProcessingRef` for more details.\n */\n const setBackgroundProcessing = useCallback((backgroundProcessing: boolean) => {\n backgroundProcessingRef.current = backgroundProcessing\n _setBackgroundProcessing(backgroundProcessing)\n }, [])\n\n const [modified, _setModified] = useState(false)\n\n /**\n * Intercept the `setModified` method to track whether the event happened during background processing.\n * See the `modifiedWhileProcessingRef` ref for more details.\n */\n const setModified = useCallback((modified: boolean) => {\n if (backgroundProcessingRef.current) {\n modifiedWhileProcessingRef.current = true\n }\n\n _setModified(modified)\n }, [])\n\n const formRef = useRef<HTMLFormElement>(null)\n const contextRef = useRef({} as FormContextType)\n const abortResetFormRef = useRef<AbortController>(null)\n const isFirstRenderRef = useRef(true)\n\n const fieldsReducer = useReducer(fieldReducer, {}, () => initialState)\n\n const [formState, dispatchFields] = fieldsReducer\n\n contextRef.current.fields = formState\n\n const prevFormState = useRef(formState)\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 const pathSegments = path ? path.split('.') : []\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 path: pathSegments,\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 setIsValid(isValid)\n\n return isValid\n }, [collectionSlug, config, dispatchFields, id, operation, t, user, documentForm])\n\n const submit = useCallback<Submit>(\n async (options, e) => {\n const {\n acceptValues = true,\n action: actionArg = action,\n context,\n disableFormWhileProcessing = true,\n disableSuccessStatus: disableSuccessStatusFromArgs,\n method: methodToUse = method,\n overrides: overridesFromArgs = {},\n skipValidation,\n } = options || ({} as SubmitOptions)\n\n const disableToast = disableSuccessStatusFromArgs ?? disableSuccessStatus\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\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 || disableToast || !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 if (disableFormWhileProcessing) {\n setProcessing(true)\n setDisabled(true)\n }\n\n if (waitForAutocomplete) {\n await wait(100)\n }\n\n const data = reduceFieldsToValues(contextRef.current.fields, true)\n\n const serializableFormState = deepCopyObjectSimpleWithoutReactComponents(\n contextRef.current.fields,\n {\n excludeFiles: true,\n },\n )\n\n // Execute server side validations\n if (Array.isArray(beforeSubmit)) {\n let revalidatedFormState: FormState\n\n await beforeSubmit.reduce(async (priorOnChange, beforeSubmitFn) => {\n await priorOnChange\n\n const result = await beforeSubmitFn({\n formState: serializableFormState,\n })\n\n revalidatedFormState = result\n }, Promise.resolve())\n\n const isValid = Object.entries(revalidatedFormState).every(\n ([, field]) => field.valid !== false,\n )\n\n setIsValid(isValid)\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 setIsValid(isValid)\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 for (const [key, value] of Object.entries(overrides)) {\n data[key] = value\n }\n\n onSubmit(contextRef.current.fields, 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 try {\n const formData = await contextRef.current.createFormData(overrides, {\n data,\n mergeOverrideData: Boolean(typeof overridesFromArgs !== 'function'),\n })\n\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 if (!modifiedWhileProcessingRef.current) {\n setModified(false)\n } else {\n modifiedWhileProcessingRef.current = false\n }\n\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\n if (res.status < 400) {\n if (typeof onSuccess === 'function') {\n const newFormState = await onSuccess(json, {\n context,\n formState: serializableFormState,\n })\n\n if (newFormState) {\n dispatchFields({\n type: 'MERGE_SERVER_STATE',\n acceptValues,\n prevStateRef: prevFormState,\n serverState: newFormState,\n })\n }\n }\n\n setSubmitted(false)\n setProcessing(false)\n\n if (redirect) {\n startRouteTransition(() => router.push(redirect))\n } else if (!disableToast) {\n successToast(json.message || t('general:submissionSuccessful'))\n }\n } else {\n setProcessing(false)\n setSubmitted(true)\n\n // When there was an error submitting a draft,\n // set the form state to unsubmitted, to not trigger visible form validation on changes after the failed submit.\n // Also keep the form as modified so the save button remains enabled for retry.\n if (overridesFromArgs['_status'] === 'draft') {\n setModified(true)\n\n if (!validateDrafts) {\n setSubmitted(false)\n }\n }\n\n contextRef.current = { ...contextRef.current } // triggers rerender of all components that subscribe to form\n\n if (json.message) {\n errorToast(json.message)\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 setIsValid(false)\n\n dispatchFields({\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n })\n\n nonFieldErrors.forEach((err) => {\n // Pass overridesFromArgs (not the computed overrides) so a retry re-evaluates any function overrides against current fields.\n if (onNonFieldError?.(err, () => void submit({ overrides: overridesFromArgs }))) {\n return\n }\n errorToast(<FieldErrorsToast errorMessage={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\n return { formState: contextRef.current.fields, res }\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 startRouteTransition,\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 validateDrafts,\n waitForAutocomplete,\n setModified,\n setSubmitted,\n onNonFieldError,\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>(\n async (overrides, { data: dataFromArgs, mergeOverrideData = true }) => {\n let data = dataFromArgs || reduceFieldsToValues(contextRef.current.fields, true)\n\n let file = data?.file\n\n if (docConfig && 'upload' in docConfig && docConfig.upload && file) {\n delete data.file\n\n const handler = getUploadHandler({ collectionSlug })\n\n if (typeof handler === 'function') {\n file = JSON.stringify(\n await handler({\n docPrefix: typeof data?.prefix === 'string' ? data.prefix : undefined,\n file,\n }),\n )\n }\n }\n\n if (mergeOverrideData) {\n data = {\n ...data,\n ...overrides,\n }\n } else {\n data = overrides\n }\n\n const dataToSerialize: Record<string, unknown> = {\n _payload: JSON.stringify(data),\n }\n\n if (docConfig && 'upload' in docConfig && docConfig.upload && file) {\n dataToSerialize.file = file\n }\n\n // nullAsUndefineds is important to allow uploads and relationship fields to clear themselves\n const formData = serialize(dataToSerialize, {\n indices: true,\n nullsAsUndefineds: false,\n })\n\n return formData\n },\n [collectionSlug, docConfig, getUploadHandler],\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 setModified,\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, setModified],\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 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, setModified],\n )\n\n const moveFieldRow: FormContextType['moveFieldRow'] = useCallback(\n ({ moveFromIndex, moveToIndex, path }) => {\n dispatchFields({\n type: 'MOVE_ROW',\n moveFromIndex,\n moveToIndex,\n path,\n })\n\n setModified(true)\n },\n [dispatchFields, setModified],\n )\n\n const removeFieldRow: FormContextType['removeFieldRow'] = useCallback(\n ({ path, rowIndex }) => {\n dispatchFields({ type: 'REMOVE_ROW', path, rowIndex })\n\n setModified(true)\n },\n [dispatchFields, setModified],\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, setModified],\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.setBackgroundProcessing = setBackgroundProcessing\n\n contextRef.current.setSubmitted = setSubmitted\n contextRef.current.setIsValid = setIsValid\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.moveFieldRow = moveFieldRow\n contextRef.current.replaceFieldRow = replaceFieldRow\n contextRef.current.uuid = uuid\n contextRef.current.initializing = initializing\n contextRef.current.isValid = isValid\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 [formState],\n )\n\n const handleLocaleChange = useEffectEvent(() => {\n contextRef.current = { ...contextRef.current } // triggers rerender of all components that subscribe to form\n setModified(false)\n })\n\n useEffect(() => {\n handleLocaleChange()\n }, [locale])\n\n const classes = [className, baseClass].filter(Boolean).join(' ')\n\n const executeOnChange = useEffectEvent((submitted: boolean) => {\n queueTask(async () => {\n if (Array.isArray(onChange)) {\n let serverState: FormState\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 serverState = await onChangeFn({\n formState: deepCopyObjectSimpleWithoutReactComponents(formState, {\n excludeFiles: true,\n }),\n submitted,\n })\n }\n\n dispatchFields({\n type: 'MERGE_SERVER_STATE',\n prevStateRef: prevFormState,\n serverState,\n })\n }\n })\n })\n\n useDebouncedEffect(\n () => {\n if ((isFirstRenderRef.current || !dequal(formState, prevFormState.current)) && modified) {\n executeOnChange(submitted)\n }\n\n prevFormState.current = formState\n isFirstRenderRef.current = false\n },\n [modified, submitted, formState],\n 250,\n )\n\n const DocumentFormContextComponent: React.FC<any> = isDocumentForm\n ? DocumentFormContext\n : React.Fragment\n\n const documentFormContextProps = isDocumentForm\n ? {\n value: contextRef.current,\n }\n : {}\n\n const El: 'form' = (el as unknown as 'form') || 'form'\n\n return (\n <El\n action={typeof action === 'function' ? void action : action}\n className={classes}\n /**\n * data-form-ready signals if the form is ready to be used. This is used by our e2e tests\n * to wait for the form to be ready before interacting with it, reducing flakiness if the test is run in\n * slow network conditions.\n */\n data-form-ready={!processing && isMounted && !initializing}\n method={method}\n noValidate\n onSubmit={(e) => void contextRef.current.submit({}, e)}\n ref={formRef}\n >\n <DocumentFormContextComponent {...documentFormContextProps}>\n <FormContext value={contextRef.current}>\n <FormWatchContext\n value={{\n fields: formState,\n ...contextRef.current,\n }}\n >\n <SubmittedContext value={submitted}>\n <InitializingContext value={!isMounted || (isMounted && initializing)}>\n <ProcessingContext value={processing}>\n <BackgroundProcessingContext value={backgroundProcessing}>\n <ModifiedContext value={modified}>\n {/* eslint-disable-next-line @eslint-react/no-context-provider */}\n <FormFieldsContext.Provider value={fieldsReducer}>\n {children}\n </FormFieldsContext.Provider>\n </ModifiedContext>\n </BackgroundProcessingContext>\n </ProcessingContext>\n </InitializingContext>\n </SubmittedContext>\n </FormWatchContext>\n </FormContext>\n </DocumentFormContextComponent>\n </El>\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 +1 @@
1
- {"version":3,"file":"mergeServerFormState.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/mergeServerFormState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAIxC;;;GAGG;AACH,MAAM,MAAM,YAAY,GACpB;IACE;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B,GACD,OAAO,CAAA;AAEX,KAAK,IAAI,GAAG;IACV,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,aAAa,EAAE,SAAS,CAAA;CACzB,CAAA;AA6CD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,GAAI,gDAIlC,IAAI,KAAG,SAwJT,CAAA"}
1
+ {"version":3,"file":"mergeServerFormState.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/mergeServerFormState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAIxC;;;GAGG;AACH,MAAM,MAAM,YAAY,GACpB;IACE;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B,GACD,OAAO,CAAA;AAEX,KAAK,IAAI,GAAG;IACV,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,aAAa,EAAE,SAAS,CAAA;CACzB,CAAA;AA6CD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,mDAI9B,IAAI,KAAG,SAwJT,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"reduceToSerializableFields.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/reduceToSerializableFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAA;AAExD,KAAK,eAAe,GAAG,kBAAkB,GAAG,UAAU,CAAA;AAatD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GACrC,QAAQ,SAAS,KAChB;IACD,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;CAShD,CAAA"}
1
+ {"version":3,"file":"reduceToSerializableFields.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/reduceToSerializableFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAA;AAExD,KAAK,eAAe,GAAG,kBAAkB,GAAG,UAAU,CAAA;AAatD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,WAC7B,SAAS,KAChB;IACD,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;CAShD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"rowHelpers.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/rowHelpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAElC,eAAO,MAAM,0BAA0B,GAAI,6BAIxC;IACD,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,GAAG,EAAE,CAAA;CACZ,KAAG;IACF,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,WAAW,EAAE,GAAG,EAAE,CAAA;CAkBnB,CAAA;AAED,eAAO,MAAM,aAAa,GAAI;;;CAG7B,KAAG;IACF,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,WAAW,EAAE,GAAG,EAAE,CAAA;CAgBnB,CAAA"}
1
+ {"version":3,"file":"rowHelpers.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/rowHelpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAElC,eAAO,MAAM,0BAA0B,gCAIpC;IACD,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,GAAG,EAAE,CAAA;CACZ,KAAG;IACF,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,WAAW,EAAE,GAAG,EAAE,CAAA;CAkBnB,CAAA;AAED,eAAO,MAAM,aAAa;;;MAGtB;IACF,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,WAAW,EAAE,GAAG,EAAE,CAAA;CAgBnB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/rows.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC,KAAK,MAAM,GAAG;IACZ,eAAe,EAAE,SAAS,CAAA;IAC1B,IAAI,EAAE,SAAS,EAAE,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,QAAQ,SAAS,KAAG,MAuB9D,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,MAAM,SAAS,EAAE,KAAG,SAa7D,CAAA"}
1
+ {"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/rows.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC,KAAK,MAAM,GAAG;IACZ,eAAe,EAAE,SAAS,CAAA;IAC1B,IAAI,EAAE,SAAS,EAAE,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,YAAY,SAAU,MAAM,UAAU,SAAS,KAAG,MAuB9D,CAAA;AAED,eAAO,MAAM,WAAW,SAAU,MAAM,QAAQ,SAAS,EAAE,KAAG,SAa7D,CAAA"}
@@ -170,7 +170,7 @@ export type ADD_ROW = {
170
170
  };
171
171
  export type MERGE_SERVER_STATE = {
172
172
  acceptValues?: AcceptValues;
173
- prevStateRef: React.RefObject<FormState>;
173
+ prevStateRef?: React.RefObject<FormState>;
174
174
  serverState: FormState;
175
175
  type: 'MERGE_SERVER_STATE';
176
176
  };