@payloadcms/ui 3.71.0-canary.2 → 3.71.0-internal-debug.dea9d74

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 (1199) hide show
  1. package/dist/@types/assets.d.js.map +1 -1
  2. package/dist/assets/index.js +1 -0
  3. package/dist/assets/index.js.map +1 -1
  4. package/dist/elements/AddNewRelation/index.js +218 -273
  5. package/dist/elements/AddNewRelation/index.js.map +1 -1
  6. package/dist/elements/AddNewRelation/types.js +2 -1
  7. package/dist/elements/AddNewRelation/types.js.map +1 -1
  8. package/dist/elements/AnimateHeight/index.js +84 -73
  9. package/dist/elements/AnimateHeight/index.js.map +1 -1
  10. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +71 -68
  11. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
  12. package/dist/elements/AppHeader/index.js +171 -101
  13. package/dist/elements/AppHeader/index.js.map +1 -1
  14. package/dist/elements/ArrayAction/index.js +186 -118
  15. package/dist/elements/ArrayAction/index.js.map +1 -1
  16. package/dist/elements/Autosave/index.js +162 -181
  17. package/dist/elements/Autosave/index.js.map +1 -1
  18. package/dist/elements/Banner/index.js +52 -32
  19. package/dist/elements/Banner/index.js.map +1 -1
  20. package/dist/elements/BulkUpload/ActionsBar/index.js +169 -173
  21. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  22. package/dist/elements/BulkUpload/AddFilesView/index.js +84 -51
  23. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/AddingFilesView/index.js +85 -94
  25. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  26. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +30 -56
  27. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +19 -27
  29. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/EditForm/index.js +179 -169
  31. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  32. package/dist/elements/BulkUpload/EditForm/types.js +2 -1
  33. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  34. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +221 -172
  35. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  36. package/dist/elements/BulkUpload/EditMany/index.js +56 -57
  37. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  38. package/dist/elements/BulkUpload/FileSidebar/index.js +395 -316
  39. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  40. package/dist/elements/BulkUpload/FormsManager/createFormData.js +33 -32
  41. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  42. package/dist/elements/BulkUpload/FormsManager/index.js +503 -473
  43. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  44. package/dist/elements/BulkUpload/FormsManager/reducer.js +100 -90
  45. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  46. package/dist/elements/BulkUpload/Header/index.js +27 -15
  47. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  48. package/dist/elements/BulkUpload/index.js +204 -271
  49. package/dist/elements/BulkUpload/index.js.map +1 -1
  50. package/dist/elements/Button/index.js +227 -160
  51. package/dist/elements/Button/index.js.map +1 -1
  52. package/dist/elements/Button/types.js +14 -1
  53. package/dist/elements/Button/types.js.map +1 -1
  54. package/dist/elements/Card/index.js +53 -33
  55. package/dist/elements/Card/index.js.map +1 -1
  56. package/dist/elements/CheckboxPopup/index.js +43 -36
  57. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  58. package/dist/elements/ClipboardAction/ClipboardActionLabel.js +29 -35
  59. package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
  60. package/dist/elements/ClipboardAction/clipboardUtilities.js +33 -43
  61. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  62. package/dist/elements/ClipboardAction/index.js +110 -83
  63. package/dist/elements/ClipboardAction/index.js.map +1 -1
  64. package/dist/elements/ClipboardAction/isClipboardDataValid.js +64 -71
  65. package/dist/elements/ClipboardAction/isClipboardDataValid.js.map +1 -1
  66. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +75 -93
  67. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  68. package/dist/elements/ClipboardAction/types.js +2 -1
  69. package/dist/elements/ClipboardAction/types.js.map +1 -1
  70. package/dist/elements/CloseModalButton/index.js +25 -20
  71. package/dist/elements/CloseModalButton/index.js.map +1 -1
  72. package/dist/elements/CloseModalOnRouteChange/index.js +17 -43
  73. package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
  74. package/dist/elements/CodeEditor/CodeEditor.js +82 -97
  75. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  76. package/dist/elements/CodeEditor/constants.js +15 -14
  77. package/dist/elements/CodeEditor/constants.js.map +1 -1
  78. package/dist/elements/CodeEditor/index.js +22 -10
  79. package/dist/elements/CodeEditor/index.js.map +1 -1
  80. package/dist/elements/CodeEditor/types.js +4 -1
  81. package/dist/elements/CodeEditor/types.js.map +1 -1
  82. package/dist/elements/Collapsible/index.js +151 -141
  83. package/dist/elements/Collapsible/index.js.map +1 -1
  84. package/dist/elements/Collapsible/provider.js +32 -30
  85. package/dist/elements/Collapsible/provider.js.map +1 -1
  86. package/dist/elements/ColumnSelector/index.js +54 -54
  87. package/dist/elements/ColumnSelector/index.js.map +1 -1
  88. package/dist/elements/Combobox/index.js +114 -84
  89. package/dist/elements/Combobox/index.js.map +1 -1
  90. package/dist/elements/ConfirmationModal/index.js +116 -129
  91. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  92. package/dist/elements/CopyLocaleData/index.js +213 -272
  93. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  94. package/dist/elements/CopyToClipboard/index.js +47 -70
  95. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  96. package/dist/elements/DatePicker/DatePicker.js +130 -136
  97. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  98. package/dist/elements/DatePicker/getFormattedLocale.js +11 -10
  99. package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
  100. package/dist/elements/DatePicker/index.js +23 -11
  101. package/dist/elements/DatePicker/index.js.map +1 -1
  102. package/dist/elements/DatePicker/types.js +2 -1
  103. package/dist/elements/DatePicker/types.js.map +1 -1
  104. package/dist/elements/DefaultListViewTabs/index.js +97 -131
  105. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  106. package/dist/elements/DeleteDocument/index.js +170 -141
  107. package/dist/elements/DeleteDocument/index.js.map +1 -1
  108. package/dist/elements/DeleteMany/index.js +371 -332
  109. package/dist/elements/DeleteMany/index.js.map +1 -1
  110. package/dist/elements/DocumentControls/index.js +494 -274
  111. package/dist/elements/DocumentControls/index.js.map +1 -1
  112. package/dist/elements/DocumentDrawer/DrawerContent.js +141 -122
  113. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  114. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +96 -103
  115. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  116. package/dist/elements/DocumentDrawer/Provider.js +24 -18
  117. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  118. package/dist/elements/DocumentDrawer/index.js +134 -210
  119. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  120. package/dist/elements/DocumentDrawer/types.js +12 -1
  121. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  122. package/dist/elements/DocumentFields/index.js +106 -69
  123. package/dist/elements/DocumentFields/index.js.map +1 -1
  124. package/dist/elements/DocumentLocked/index.js +154 -179
  125. package/dist/elements/DocumentLocked/index.js.map +1 -1
  126. package/dist/elements/DocumentTakeOver/index.js +97 -113
  127. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  128. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +26 -60
  129. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  130. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +2 -1
  131. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  132. package/dist/elements/DraggableSortable/index.js +72 -124
  133. package/dist/elements/DraggableSortable/index.js.map +1 -1
  134. package/dist/elements/DraggableSortable/types.js +2 -1
  135. package/dist/elements/DraggableSortable/types.js.map +1 -1
  136. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +25 -85
  137. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  138. package/dist/elements/DraggableSortable/useDraggableSortable/types.js +2 -1
  139. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  140. package/dist/elements/Drawer/index.js +166 -192
  141. package/dist/elements/Drawer/index.js.map +1 -1
  142. package/dist/elements/Drawer/types.js +2 -1
  143. package/dist/elements/Drawer/types.js.map +1 -1
  144. package/dist/elements/Drawer/useDrawerSlug.js +7 -19
  145. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  146. package/dist/elements/DrawerActionHeader/index.js +59 -61
  147. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  148. package/dist/elements/DrawerContentContainer/index.js +14 -9
  149. package/dist/elements/DrawerContentContainer/index.js.map +1 -1
  150. package/dist/elements/Dropzone/index.js +90 -75
  151. package/dist/elements/Dropzone/index.js.map +1 -1
  152. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +145 -87
  153. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  154. package/dist/elements/DuplicateDocument/index.js +155 -145
  155. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  156. package/dist/elements/EditMany/DrawerContent.js +398 -392
  157. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  158. package/dist/elements/EditMany/index.js +79 -131
  159. package/dist/elements/EditMany/index.js.map +1 -1
  160. package/dist/elements/EditUpload/index.js +572 -395
  161. package/dist/elements/EditUpload/index.js.map +1 -1
  162. package/dist/elements/EmailAndUsername/index.js +96 -77
  163. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  164. package/dist/elements/ErrorPill/index.js +38 -24
  165. package/dist/elements/ErrorPill/index.js.map +1 -1
  166. package/dist/elements/FieldDiffContainer/index.js +50 -34
  167. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  168. package/dist/elements/FieldDiffLabel/index.js +10 -7
  169. package/dist/elements/FieldDiffLabel/index.js.map +1 -1
  170. package/dist/elements/FieldSelect/index.js +45 -75
  171. package/dist/elements/FieldSelect/index.js.map +1 -1
  172. package/dist/elements/FieldSelect/reduceFieldOptions.js +69 -67
  173. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  174. package/dist/elements/FileDetails/DraggableFileDetails/index.js +113 -105
  175. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  176. package/dist/elements/FileDetails/FileMeta/index.js +72 -33
  177. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  178. package/dist/elements/FileDetails/StaticFileDetails/index.js +76 -58
  179. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  180. package/dist/elements/FileDetails/index.js +20 -14
  181. package/dist/elements/FileDetails/index.js.map +1 -1
  182. package/dist/elements/FolderView/Breadcrumbs/index.js +59 -86
  183. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
  184. package/dist/elements/FolderView/BrowseByFolderButton/index.js +30 -30
  185. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
  186. package/dist/elements/FolderView/Cell/index.client.js +88 -87
  187. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  188. package/dist/elements/FolderView/Cell/index.server.js +19 -14
  189. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  190. package/dist/elements/FolderView/ColoredFolderIcon/index.js +9 -4
  191. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
  192. package/dist/elements/FolderView/CurrentFolderActions/index.js +174 -138
  193. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  194. package/dist/elements/FolderView/DragOverlaySelection/index.js +70 -51
  195. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
  196. package/dist/elements/FolderView/DraggableTableRow/index.js +71 -54
  197. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
  198. package/dist/elements/FolderView/DraggableWithClick/index.js +75 -79
  199. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
  200. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +35 -33
  201. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
  202. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +497 -565
  203. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  204. package/dist/elements/FolderView/FilterFolderTypePill/index.js +61 -89
  205. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
  206. package/dist/elements/FolderView/FolderField/index.server.js +15 -10
  207. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
  208. package/dist/elements/FolderView/FolderFileCard/index.js +218 -188
  209. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  210. package/dist/elements/FolderView/FolderFileTable/index.js +203 -264
  211. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
  212. package/dist/elements/FolderView/FolderTypeField/index.js +93 -114
  213. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
  214. package/dist/elements/FolderView/ItemCardGrid/index.js +35 -27
  215. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
  216. package/dist/elements/FolderView/MoveDocToFolder/index.js +142 -264
  217. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  218. package/dist/elements/FolderView/SimpleTable/index.js +105 -83
  219. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
  220. package/dist/elements/FolderView/SortByPill/index.js +162 -100
  221. package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
  222. package/dist/elements/FolderView/ToggleViewButtons/index.js +47 -24
  223. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
  224. package/dist/elements/FullscreenModal/index.js +16 -22
  225. package/dist/elements/FullscreenModal/index.js.map +1 -1
  226. package/dist/elements/GenerateConfirmation/index.js +63 -83
  227. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  228. package/dist/elements/GroupByBuilder/index.js +142 -100
  229. package/dist/elements/GroupByBuilder/index.js.map +1 -1
  230. package/dist/elements/Gutter/index.js +22 -19
  231. package/dist/elements/Gutter/index.js.map +1 -1
  232. package/dist/elements/HTMLDiff/diff/index.js +522 -500
  233. package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
  234. package/dist/elements/HTMLDiff/index.js +31 -26
  235. package/dist/elements/HTMLDiff/index.js.map +1 -1
  236. package/dist/elements/Hamburger/index.js +51 -40
  237. package/dist/elements/Hamburger/index.js.map +1 -1
  238. package/dist/elements/HydrateAuthProvider/index.js +15 -27
  239. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  240. package/dist/elements/IDLabel/index.js +31 -57
  241. package/dist/elements/IDLabel/index.js.map +1 -1
  242. package/dist/elements/ItemsDrawer/ItemSearch/index.js +43 -48
  243. package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -1
  244. package/dist/elements/ItemsDrawer/index.js +219 -168
  245. package/dist/elements/ItemsDrawer/index.js.map +1 -1
  246. package/dist/elements/LeaveWithoutSaving/index.js +73 -142
  247. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  248. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +113 -129
  249. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  250. package/dist/elements/Link/formatUrl.js +53 -56
  251. package/dist/elements/Link/formatUrl.js.map +1 -1
  252. package/dist/elements/Link/index.js +50 -54
  253. package/dist/elements/Link/index.js.map +1 -1
  254. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +17 -17
  255. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  256. package/dist/elements/ListControls/index.js +253 -168
  257. package/dist/elements/ListControls/index.js.map +1 -1
  258. package/dist/elements/ListControls/types.js +8 -1
  259. package/dist/elements/ListControls/types.js.map +1 -1
  260. package/dist/elements/ListDrawer/DrawerContent.js +183 -168
  261. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  262. package/dist/elements/ListDrawer/Provider.js +28 -19
  263. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  264. package/dist/elements/ListDrawer/index.js +149 -229
  265. package/dist/elements/ListDrawer/index.js.map +1 -1
  266. package/dist/elements/ListDrawer/types.js +6 -1
  267. package/dist/elements/ListDrawer/types.js.map +1 -1
  268. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +43 -84
  269. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  270. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +23 -33
  271. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  272. package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
  273. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
  274. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +49 -73
  275. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  276. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +22 -40
  277. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
  278. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +130 -162
  279. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  280. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +169 -148
  281. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  282. package/dist/elements/ListHeader/TitleActions/index.js +1 -0
  283. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  284. package/dist/elements/ListHeader/index.js +65 -24
  285. package/dist/elements/ListHeader/index.js.map +1 -1
  286. package/dist/elements/ListSelection/index.js +93 -58
  287. package/dist/elements/ListSelection/index.js.map +1 -1
  288. package/dist/elements/LivePreview/Device/index.js +83 -83
  289. package/dist/elements/LivePreview/Device/index.js.map +1 -1
  290. package/dist/elements/LivePreview/DeviceContainer/index.js +29 -49
  291. package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
  292. package/dist/elements/LivePreview/IFrame/index.js +20 -44
  293. package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
  294. package/dist/elements/LivePreview/Toggler/index.js +32 -26
  295. package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
  296. package/dist/elements/LivePreview/Toolbar/Controls/index.js +210 -141
  297. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  298. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +62 -92
  299. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  300. package/dist/elements/LivePreview/Toolbar/index.js +84 -84
  301. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  302. package/dist/elements/LivePreview/ToolbarArea/index.js +15 -33
  303. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  304. package/dist/elements/LivePreview/Window/index.js +132 -166
  305. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  306. package/dist/elements/Loading/index.js +112 -144
  307. package/dist/elements/Loading/index.js.map +1 -1
  308. package/dist/elements/LoadingOverlay/index.js +68 -67
  309. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  310. package/dist/elements/LoadingOverlay/reducer.js +27 -29
  311. package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
  312. package/dist/elements/LoadingOverlay/types.js +2 -1
  313. package/dist/elements/LoadingOverlay/types.js.map +1 -1
  314. package/dist/elements/Localizer/LocalizerLabel/index.js +55 -51
  315. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  316. package/dist/elements/Localizer/index.js +99 -117
  317. package/dist/elements/Localizer/index.js.map +1 -1
  318. package/dist/elements/Locked/index.js +38 -59
  319. package/dist/elements/Locked/index.js.map +1 -1
  320. package/dist/elements/Logout/index.js +30 -51
  321. package/dist/elements/Logout/index.js.map +1 -1
  322. package/dist/elements/Modal/index.js +1 -1
  323. package/dist/elements/Modal/index.js.map +1 -1
  324. package/dist/elements/Nav/NavToggler/index.js +34 -80
  325. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  326. package/dist/elements/Nav/context.js +107 -103
  327. package/dist/elements/Nav/context.js.map +1 -1
  328. package/dist/elements/NavGroup/index.js +98 -122
  329. package/dist/elements/NavGroup/index.js.map +1 -1
  330. package/dist/elements/NoListResults/index.js +27 -14
  331. package/dist/elements/NoListResults/index.js.map +1 -1
  332. package/dist/elements/PageControls/GroupByPageControls.js +40 -71
  333. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  334. package/dist/elements/PageControls/index.js +77 -107
  335. package/dist/elements/PageControls/index.js.map +1 -1
  336. package/dist/elements/Pagination/ClickableArrow/index.js +24 -16
  337. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  338. package/dist/elements/Pagination/Page/index.js +19 -16
  339. package/dist/elements/Pagination/Page/index.js.map +1 -1
  340. package/dist/elements/Pagination/Separator/index.js +10 -6
  341. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  342. package/dist/elements/Pagination/index.js +102 -99
  343. package/dist/elements/Pagination/index.js.map +1 -1
  344. package/dist/elements/PerPage/index.js +93 -80
  345. package/dist/elements/PerPage/index.js.map +1 -1
  346. package/dist/elements/PermanentlyDeleteButton/index.js +150 -133
  347. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  348. package/dist/elements/Pill/index.js +103 -121
  349. package/dist/elements/Pill/index.js.map +1 -1
  350. package/dist/elements/PillSelector/index.js +79 -56
  351. package/dist/elements/PillSelector/index.js.map +1 -1
  352. package/dist/elements/Popup/PopupButtonList/index.js +65 -52
  353. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  354. package/dist/elements/Popup/PopupDivider/index.js +10 -5
  355. package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
  356. package/dist/elements/Popup/PopupGroupLabel/index.js +11 -8
  357. package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
  358. package/dist/elements/Popup/PopupTrigger/index.js +50 -44
  359. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  360. package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
  361. package/dist/elements/Popup/index.js +339 -282
  362. package/dist/elements/Popup/index.js.map +1 -1
  363. package/dist/elements/PreviewButton/index.js +24 -31
  364. package/dist/elements/PreviewButton/index.js.map +1 -1
  365. package/dist/elements/PreviewSizes/index.js +206 -132
  366. package/dist/elements/PreviewSizes/index.js.map +1 -1
  367. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +154 -110
  368. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  369. package/dist/elements/PublishButton/ScheduleDrawer/index.js +461 -309
  370. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  371. package/dist/elements/PublishButton/ScheduleDrawer/types.js +2 -1
  372. package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
  373. package/dist/elements/PublishButton/index.js +234 -195
  374. package/dist/elements/PublishButton/index.js.map +1 -1
  375. package/dist/elements/PublishMany/DrawerContent.js +137 -134
  376. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  377. package/dist/elements/PublishMany/index.js +58 -109
  378. package/dist/elements/PublishMany/index.js.map +1 -1
  379. package/dist/elements/QueryPresets/QueryPresetBar/index.js +344 -267
  380. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  381. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +80 -87
  382. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  383. package/dist/elements/QueryPresets/cells/AccessCell/index.js +47 -21
  384. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
  385. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +26 -19
  386. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  387. package/dist/elements/QueryPresets/cells/GroupByCell/index.js +61 -48
  388. package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
  389. package/dist/elements/QueryPresets/cells/WhereCell/index.js +29 -27
  390. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
  391. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +42 -47
  392. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  393. package/dist/elements/QueryPresets/fields/GroupByField/index.js +96 -74
  394. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  395. package/dist/elements/QueryPresets/fields/WhereField/index.js +149 -98
  396. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  397. package/dist/elements/ReactSelect/ClearIndicator/index.js +29 -27
  398. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  399. package/dist/elements/ReactSelect/Control/index.js +40 -41
  400. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  401. package/dist/elements/ReactSelect/DropdownIndicator/index.js +26 -23
  402. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  403. package/dist/elements/ReactSelect/Input/index.js +20 -13
  404. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  405. package/dist/elements/ReactSelect/MultiValue/index.js +48 -126
  406. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  407. package/dist/elements/ReactSelect/MultiValueLabel/index.js +29 -32
  408. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  409. package/dist/elements/ReactSelect/MultiValueRemove/index.js +49 -86
  410. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  411. package/dist/elements/ReactSelect/SingleValue/index.js +22 -14
  412. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  413. package/dist/elements/ReactSelect/ValueContainer/index.js +38 -29
  414. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  415. package/dist/elements/ReactSelect/index.js +211 -198
  416. package/dist/elements/ReactSelect/index.js.map +1 -1
  417. package/dist/elements/ReactSelect/types.js +9 -1
  418. package/dist/elements/ReactSelect/types.js.map +1 -1
  419. package/dist/elements/RelationshipTable/AddNewButton.js +68 -58
  420. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  421. package/dist/elements/RelationshipTable/Pagination.js +21 -48
  422. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  423. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +39 -34
  424. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  425. package/dist/elements/RelationshipTable/index.js +374 -258
  426. package/dist/elements/RelationshipTable/index.js.map +1 -1
  427. package/dist/elements/RenderComponent/index.js +29 -20
  428. package/dist/elements/RenderComponent/index.js.map +1 -1
  429. package/dist/elements/RenderCustomComponent/index.js +3 -5
  430. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  431. package/dist/elements/RenderIfInViewport/index.js +27 -58
  432. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  433. package/dist/elements/RenderServerComponent/index.js +57 -56
  434. package/dist/elements/RenderServerComponent/index.js.map +1 -1
  435. package/dist/elements/RenderTitle/index.js +44 -59
  436. package/dist/elements/RenderTitle/index.js.map +1 -1
  437. package/dist/elements/RestoreButton/index.js +187 -154
  438. package/dist/elements/RestoreButton/index.js.map +1 -1
  439. package/dist/elements/RestoreMany/index.js +177 -170
  440. package/dist/elements/RestoreMany/index.js.map +1 -1
  441. package/dist/elements/SaveButton/index.js +46 -49
  442. package/dist/elements/SaveButton/index.js.map +1 -1
  443. package/dist/elements/SaveDraftButton/index.js +84 -88
  444. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  445. package/dist/elements/SearchBar/index.js +37 -19
  446. package/dist/elements/SearchBar/index.js.map +1 -1
  447. package/dist/elements/SearchFilter/index.js +60 -54
  448. package/dist/elements/SearchFilter/index.js.map +1 -1
  449. package/dist/elements/SearchFilter/types.js +20 -1
  450. package/dist/elements/SearchFilter/types.js.map +1 -1
  451. package/dist/elements/SelectAll/index.js +21 -46
  452. package/dist/elements/SelectAll/index.js.map +1 -1
  453. package/dist/elements/SelectMany/index.js +27 -25
  454. package/dist/elements/SelectMany/index.js.map +1 -1
  455. package/dist/elements/SelectRow/index.js +27 -79
  456. package/dist/elements/SelectRow/index.js.map +1 -1
  457. package/dist/elements/ShimmerEffect/index.js +58 -73
  458. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  459. package/dist/elements/SortColumn/index.js +98 -106
  460. package/dist/elements/SortColumn/index.js.map +1 -1
  461. package/dist/elements/SortComplex/index.js +142 -163
  462. package/dist/elements/SortComplex/index.js.map +1 -1
  463. package/dist/elements/SortHeader/index.js +54 -87
  464. package/dist/elements/SortHeader/index.js.map +1 -1
  465. package/dist/elements/SortRow/index.js +21 -27
  466. package/dist/elements/SortRow/index.js.map +1 -1
  467. package/dist/elements/Status/index.js +203 -161
  468. package/dist/elements/Status/index.js.map +1 -1
  469. package/dist/elements/StayLoggedIn/index.js +38 -76
  470. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  471. package/dist/elements/StepNav/SetStepNav.js +10 -27
  472. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  473. package/dist/elements/StepNav/context.js +24 -41
  474. package/dist/elements/StepNav/context.js.map +1 -1
  475. package/dist/elements/StepNav/index.js +148 -92
  476. package/dist/elements/StepNav/index.js.map +1 -1
  477. package/dist/elements/StepNav/types.js +2 -1
  478. package/dist/elements/StepNav/types.js.map +1 -1
  479. package/dist/elements/StickyToolbar/index.js +10 -8
  480. package/dist/elements/StickyToolbar/index.js.map +1 -1
  481. package/dist/elements/Table/DefaultCell/fields/Array/index.js +13 -28
  482. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  483. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +34 -60
  484. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  485. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +18 -27
  486. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  487. package/dist/elements/Table/DefaultCell/fields/Code/index.js +22 -17
  488. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  489. package/dist/elements/Table/DefaultCell/fields/Date/index.js +22 -41
  490. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  491. package/dist/elements/Table/DefaultCell/fields/File/index.js +52 -42
  492. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  493. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +18 -12
  494. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  495. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +115 -183
  496. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  497. package/dist/elements/Table/DefaultCell/fields/Select/index.js +22 -44
  498. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  499. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +11 -9
  500. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  501. package/dist/elements/Table/DefaultCell/fields/index.js +14 -14
  502. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  503. package/dist/elements/Table/DefaultCell/index.js +124 -151
  504. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  505. package/dist/elements/Table/OrderableRow.js +40 -32
  506. package/dist/elements/Table/OrderableRow.js.map +1 -1
  507. package/dist/elements/Table/OrderableRowDragPreview.js +24 -15
  508. package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
  509. package/dist/elements/Table/OrderableTable.js +224 -167
  510. package/dist/elements/Table/OrderableTable.js.map +1 -1
  511. package/dist/elements/Table/RelationshipProvider/index.js +106 -162
  512. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  513. package/dist/elements/Table/RelationshipProvider/reducer.js +42 -42
  514. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  515. package/dist/elements/Table/index.js +83 -45
  516. package/dist/elements/Table/index.js.map +1 -1
  517. package/dist/elements/Thumbnail/createThumbnail.js +53 -48
  518. package/dist/elements/Thumbnail/createThumbnail.js.map +1 -1
  519. package/dist/elements/Thumbnail/index.js +127 -148
  520. package/dist/elements/Thumbnail/index.js.map +1 -1
  521. package/dist/elements/ThumbnailCard/index.js +47 -68
  522. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  523. package/dist/elements/TimezonePicker/index.js +53 -44
  524. package/dist/elements/TimezonePicker/index.js.map +1 -1
  525. package/dist/elements/TimezonePicker/types.js +2 -1
  526. package/dist/elements/TimezonePicker/types.js.map +1 -1
  527. package/dist/elements/Toasts/fieldErrors.js +69 -77
  528. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  529. package/dist/elements/Tooltip/index.js +98 -65
  530. package/dist/elements/Tooltip/index.js.map +1 -1
  531. package/dist/elements/Translation/index.js +48 -39
  532. package/dist/elements/Translation/index.js.map +1 -1
  533. package/dist/elements/TrashBanner/index.js +33 -26
  534. package/dist/elements/TrashBanner/index.js.map +1 -1
  535. package/dist/elements/UnpublishMany/DrawerContent.js +130 -127
  536. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  537. package/dist/elements/UnpublishMany/index.js +58 -109
  538. package/dist/elements/UnpublishMany/index.js.map +1 -1
  539. package/dist/elements/Upload/index.js +633 -481
  540. package/dist/elements/Upload/index.js.map +1 -1
  541. package/dist/elements/ViewDescription/index.js +15 -26
  542. package/dist/elements/ViewDescription/index.js.map +1 -1
  543. package/dist/elements/ViewDescription/types.js.map +1 -1
  544. package/dist/elements/WhereBuilder/Condition/Date/index.js +23 -29
  545. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  546. package/dist/elements/WhereBuilder/Condition/Date/types.js +2 -1
  547. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  548. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +95 -76
  549. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  550. package/dist/elements/WhereBuilder/Condition/Number/index.js +74 -129
  551. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  552. package/dist/elements/WhereBuilder/Condition/Number/types.js +2 -1
  553. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  554. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +353 -313
  555. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  556. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +83 -67
  557. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  558. package/dist/elements/WhereBuilder/Condition/Relationship/types.js +2 -1
  559. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  560. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js +10 -9
  561. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js.map +1 -1
  562. package/dist/elements/WhereBuilder/Condition/Select/index.js +69 -154
  563. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  564. package/dist/elements/WhereBuilder/Condition/Select/types.js +2 -1
  565. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  566. package/dist/elements/WhereBuilder/Condition/Text/index.js +72 -123
  567. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  568. package/dist/elements/WhereBuilder/Condition/Text/types.js +2 -1
  569. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  570. package/dist/elements/WhereBuilder/Condition/index.js +206 -143
  571. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  572. package/dist/elements/WhereBuilder/Condition/types.js +2 -1
  573. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  574. package/dist/elements/WhereBuilder/Condition/validOperators.js +32 -33
  575. package/dist/elements/WhereBuilder/Condition/validOperators.js.map +1 -1
  576. package/dist/elements/WhereBuilder/field-types.js +192 -119
  577. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  578. package/dist/elements/WhereBuilder/index.js +258 -193
  579. package/dist/elements/WhereBuilder/index.js.map +1 -1
  580. package/dist/elements/WhereBuilder/types.js +2 -1
  581. package/dist/elements/WhereBuilder/types.js.map +1 -1
  582. package/dist/elements/WindowInfo/index.js +1 -1
  583. package/dist/elements/WindowInfo/index.js.map +1 -1
  584. package/dist/elements/WithServerSideProps/index.js +20 -19
  585. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  586. package/dist/elements/withMergedProps/index.js +26 -26
  587. package/dist/elements/withMergedProps/index.js.map +1 -1
  588. package/dist/exports/client/index.js +297 -96
  589. package/dist/exports/client/index.js.map +1 -7
  590. package/dist/exports/rsc/index.js +1 -0
  591. package/dist/exports/rsc/index.js.map +1 -1
  592. package/dist/exports/shared/index.js +35 -6
  593. package/dist/exports/shared/index.js.map +1 -7
  594. package/dist/fields/Array/ArrayRow.js +111 -168
  595. package/dist/fields/Array/ArrayRow.js.map +1 -1
  596. package/dist/fields/Array/index.js +532 -398
  597. package/dist/fields/Array/index.js.map +1 -1
  598. package/dist/fields/Blocks/BlockRow.js +163 -198
  599. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  600. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +30 -38
  601. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  602. package/dist/fields/Blocks/BlockSelector/index.js +159 -103
  603. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  604. package/dist/fields/Blocks/BlocksDrawer/index.js +37 -80
  605. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  606. package/dist/fields/Blocks/RowActions.js +50 -106
  607. package/dist/fields/Blocks/RowActions.js.map +1 -1
  608. package/dist/fields/Blocks/SectionTitle/index.js +36 -78
  609. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  610. package/dist/fields/Blocks/index.js +566 -425
  611. package/dist/fields/Blocks/index.js.map +1 -1
  612. package/dist/fields/Checkbox/Input.js +86 -99
  613. package/dist/fields/Checkbox/Input.js.map +1 -1
  614. package/dist/fields/Checkbox/index.js +107 -99
  615. package/dist/fields/Checkbox/index.js.map +1 -1
  616. package/dist/fields/Code/index.js +146 -114
  617. package/dist/fields/Code/index.js.map +1 -1
  618. package/dist/fields/Collapsible/index.js +172 -134
  619. package/dist/fields/Collapsible/index.js.map +1 -1
  620. package/dist/fields/ConfirmPassword/index.js +67 -83
  621. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  622. package/dist/fields/DateTime/index.js +217 -171
  623. package/dist/fields/DateTime/index.js.map +1 -1
  624. package/dist/fields/Email/index.js +111 -86
  625. package/dist/fields/Email/index.js.map +1 -1
  626. package/dist/fields/FieldDescription/index.js +20 -43
  627. package/dist/fields/FieldDescription/index.js.map +1 -1
  628. package/dist/fields/FieldError/index.js +22 -58
  629. package/dist/fields/FieldError/index.js.map +1 -1
  630. package/dist/fields/FieldLabel/index.js +43 -45
  631. package/dist/fields/FieldLabel/index.js.map +1 -1
  632. package/dist/fields/Group/index.js +150 -102
  633. package/dist/fields/Group/index.js.map +1 -1
  634. package/dist/fields/Group/provider.js +13 -12
  635. package/dist/fields/Group/provider.js.map +1 -1
  636. package/dist/fields/Hidden/index.js +27 -67
  637. package/dist/fields/Hidden/index.js.map +1 -1
  638. package/dist/fields/JSON/index.js +185 -143
  639. package/dist/fields/JSON/index.js.map +1 -1
  640. package/dist/fields/Join/index.js +214 -189
  641. package/dist/fields/Join/index.js.map +1 -1
  642. package/dist/fields/Number/index.js +213 -169
  643. package/dist/fields/Number/index.js.map +1 -1
  644. package/dist/fields/Password/index.js +80 -101
  645. package/dist/fields/Password/index.js.map +1 -1
  646. package/dist/fields/Password/input.js +108 -122
  647. package/dist/fields/Password/input.js.map +1 -1
  648. package/dist/fields/Password/types.js +12 -1
  649. package/dist/fields/Password/types.js.map +1 -1
  650. package/dist/fields/Point/index.js +199 -127
  651. package/dist/fields/Point/index.js.map +1 -1
  652. package/dist/fields/RadioGroup/Radio/index.js +56 -81
  653. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  654. package/dist/fields/RadioGroup/index.js +146 -114
  655. package/dist/fields/RadioGroup/index.js.map +1 -1
  656. package/dist/fields/Relationship/Input.js +811 -733
  657. package/dist/fields/Relationship/Input.js.map +1 -1
  658. package/dist/fields/Relationship/createRelationMap.js +31 -33
  659. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  660. package/dist/fields/Relationship/findOptionsByValue.js +28 -32
  661. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  662. package/dist/fields/Relationship/index.js +152 -160
  663. package/dist/fields/Relationship/index.js.map +1 -1
  664. package/dist/fields/Relationship/optionsReducer.js +144 -139
  665. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  666. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +92 -82
  667. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  668. package/dist/fields/Relationship/select-components/SingleValue/index.js +95 -118
  669. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  670. package/dist/fields/Relationship/types.js +2 -1
  671. package/dist/fields/Relationship/types.js.map +1 -1
  672. package/dist/fields/RichText/index.js +3 -3
  673. package/dist/fields/RichText/index.js.map +1 -1
  674. package/dist/fields/Row/index.js +37 -35
  675. package/dist/fields/Row/index.js.map +1 -1
  676. package/dist/fields/Row/provider.js +13 -12
  677. package/dist/fields/Row/provider.js.map +1 -1
  678. package/dist/fields/Select/Input.js +114 -165
  679. package/dist/fields/Select/Input.js.map +1 -1
  680. package/dist/fields/Select/index.js +89 -108
  681. package/dist/fields/Select/index.js.map +1 -1
  682. package/dist/fields/Slug/index.js +103 -134
  683. package/dist/fields/Slug/index.js.map +1 -1
  684. package/dist/fields/Tabs/Tab/index.js +54 -60
  685. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  686. package/dist/fields/Tabs/index.js +213 -382
  687. package/dist/fields/Tabs/index.js.map +1 -1
  688. package/dist/fields/Tabs/provider.js +13 -12
  689. package/dist/fields/Tabs/provider.js.map +1 -1
  690. package/dist/fields/Text/Input.js +169 -191
  691. package/dist/fields/Text/Input.js.map +1 -1
  692. package/dist/fields/Text/index.js +107 -126
  693. package/dist/fields/Text/index.js.map +1 -1
  694. package/dist/fields/Text/types.js +2 -1
  695. package/dist/fields/Text/types.js.map +1 -1
  696. package/dist/fields/Textarea/Input.js +104 -115
  697. package/dist/fields/Textarea/Input.js.map +1 -1
  698. package/dist/fields/Textarea/index.js +61 -88
  699. package/dist/fields/Textarea/index.js.map +1 -1
  700. package/dist/fields/Textarea/types.js +2 -1
  701. package/dist/fields/Textarea/types.js.map +1 -1
  702. package/dist/fields/UI/index.js +3 -3
  703. package/dist/fields/UI/index.js.map +1 -1
  704. package/dist/fields/Upload/HasMany/index.js +141 -186
  705. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  706. package/dist/fields/Upload/HasOne/index.js +59 -60
  707. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  708. package/dist/fields/Upload/Input.js +755 -566
  709. package/dist/fields/Upload/Input.js.map +1 -1
  710. package/dist/fields/Upload/RelationshipContent/index.js +140 -143
  711. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  712. package/dist/fields/Upload/UploadCard/index.js +15 -10
  713. package/dist/fields/Upload/UploadCard/index.js.map +1 -1
  714. package/dist/fields/Upload/index.js +79 -96
  715. package/dist/fields/Upload/index.js.map +1 -1
  716. package/dist/fields/Upload/types.js +3 -1
  717. package/dist/fields/Upload/types.js.map +1 -1
  718. package/dist/fields/index.js +31 -31
  719. package/dist/fields/index.js.map +1 -1
  720. package/dist/fields/mergeFieldStyles.js +13 -12
  721. package/dist/fields/mergeFieldStyles.js.map +1 -1
  722. package/dist/fields/shared/index.js +8 -17
  723. package/dist/fields/shared/index.js.map +1 -1
  724. package/dist/forms/Form/context.js +17 -24
  725. package/dist/forms/Form/context.js.map +1 -1
  726. package/dist/forms/Form/createNestedClientFieldPath.js +11 -11
  727. package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -1
  728. package/dist/forms/Form/errorMessages.js +2 -2
  729. package/dist/forms/Form/errorMessages.js.map +1 -1
  730. package/dist/forms/Form/fieldReducer.js +378 -412
  731. package/dist/forms/Form/fieldReducer.js.map +1 -1
  732. package/dist/forms/Form/index.js +745 -684
  733. package/dist/forms/Form/index.js.map +1 -1
  734. package/dist/forms/Form/initContextState.js +38 -38
  735. package/dist/forms/Form/initContextState.js.map +1 -1
  736. package/dist/forms/Form/mergeServerFormState.js +93 -97
  737. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  738. package/dist/forms/Form/reduceToSerializableFields.js +20 -17
  739. package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
  740. package/dist/forms/Form/rowHelpers.js +27 -34
  741. package/dist/forms/Form/rowHelpers.js.map +1 -1
  742. package/dist/forms/Form/rows.js +34 -34
  743. package/dist/forms/Form/rows.js.map +1 -1
  744. package/dist/forms/Form/types.js +53 -1
  745. package/dist/forms/Form/types.js.map +1 -1
  746. package/dist/forms/NullifyField/index.js +61 -96
  747. package/dist/forms/NullifyField/index.js.map +1 -1
  748. package/dist/forms/RenderFields/RenderField.js +237 -259
  749. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  750. package/dist/forms/RenderFields/context.js +9 -9
  751. package/dist/forms/RenderFields/context.js.map +1 -1
  752. package/dist/forms/RenderFields/index.js +76 -115
  753. package/dist/forms/RenderFields/index.js.map +1 -1
  754. package/dist/forms/RenderFields/types.js +2 -1
  755. package/dist/forms/RenderFields/types.js.map +1 -1
  756. package/dist/forms/RowLabel/Context/index.js +30 -29
  757. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  758. package/dist/forms/RowLabel/index.js +33 -24
  759. package/dist/forms/RowLabel/index.js.map +1 -1
  760. package/dist/forms/RowLabel/types.js +2 -1
  761. package/dist/forms/RowLabel/types.js.map +1 -1
  762. package/dist/forms/Submit/index.js +32 -35
  763. package/dist/forms/Submit/index.js.map +1 -1
  764. package/dist/forms/WatchChildErrors/buildPathSegments.js +29 -29
  765. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  766. package/dist/forms/WatchChildErrors/index.js +41 -66
  767. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  768. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +681 -706
  769. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  770. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +14 -22
  771. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  772. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +17 -26
  773. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  774. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +186 -198
  775. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  776. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +67 -60
  777. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -1
  778. package/dist/forms/fieldSchemasToFormState/index.js +90 -79
  779. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  780. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js +12 -16
  781. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js.map +1 -1
  782. package/dist/forms/fieldSchemasToFormState/iterateFields.js +95 -116
  783. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  784. package/dist/forms/fieldSchemasToFormState/renderField.js +273 -274
  785. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  786. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +90 -75
  787. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
  788. package/dist/forms/fieldSchemasToFormState/types.js +6 -1
  789. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  790. package/dist/forms/useField/index.js +180 -292
  791. package/dist/forms/useField/index.js.map +1 -1
  792. package/dist/forms/useField/types.js +20 -1
  793. package/dist/forms/useField/types.js.map +1 -1
  794. package/dist/forms/withCondition/WatchCondition.js +9 -27
  795. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  796. package/dist/forms/withCondition/index.js +21 -15
  797. package/dist/forms/withCondition/index.js.map +1 -1
  798. package/dist/graphics/Account/Default/index.js +46 -22
  799. package/dist/graphics/Account/Default/index.js.map +1 -1
  800. package/dist/graphics/Account/Gravatar/index.js +25 -34
  801. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  802. package/dist/graphics/Account/index.js +24 -51
  803. package/dist/graphics/Account/index.js.map +1 -1
  804. package/dist/graphics/DefaultBlockImage/index.js +117 -62
  805. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  806. package/dist/graphics/File/index.js +33 -17
  807. package/dist/graphics/File/index.js.map +1 -1
  808. package/dist/graphics/Icon/index.js +33 -19
  809. package/dist/graphics/Icon/index.js.map +1 -1
  810. package/dist/graphics/Logo/index.js +112 -39
  811. package/dist/graphics/Logo/index.js.map +1 -1
  812. package/dist/hooks/useClickOutside.js +19 -15
  813. package/dist/hooks/useClickOutside.js.map +1 -1
  814. package/dist/hooks/useControllableState.js +25 -35
  815. package/dist/hooks/useControllableState.js.map +1 -1
  816. package/dist/hooks/useDebounce.js +15 -26
  817. package/dist/hooks/useDebounce.js.map +1 -1
  818. package/dist/hooks/useDebouncedCallback.js +15 -23
  819. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  820. package/dist/hooks/useDebouncedEffect.js +18 -53
  821. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  822. package/dist/hooks/useDelay.js +27 -52
  823. package/dist/hooks/useDelay.js.map +1 -1
  824. package/dist/hooks/useDelayedRender.js +42 -76
  825. package/dist/hooks/useDelayedRender.js.map +1 -1
  826. package/dist/hooks/useEffectEvent.js +12 -33
  827. package/dist/hooks/useEffectEvent.js.map +1 -1
  828. package/dist/hooks/useHotkey.js +96 -110
  829. package/dist/hooks/useHotkey.js.map +1 -1
  830. package/dist/hooks/useIntersect.js +28 -59
  831. package/dist/hooks/useIntersect.js.map +1 -1
  832. package/dist/hooks/usePayloadAPI.js +78 -172
  833. package/dist/hooks/usePayloadAPI.js.map +1 -1
  834. package/dist/hooks/usePopupWindow.js +91 -133
  835. package/dist/hooks/usePopupWindow.js.map +1 -1
  836. package/dist/hooks/useQueue.js +48 -38
  837. package/dist/hooks/useQueue.js.map +1 -1
  838. package/dist/hooks/useRelatedCollections.js +15 -27
  839. package/dist/hooks/useRelatedCollections.js.map +1 -1
  840. package/dist/hooks/useResize.js +42 -70
  841. package/dist/hooks/useResize.js.map +1 -1
  842. package/dist/hooks/useThrottledEffect.js +17 -51
  843. package/dist/hooks/useThrottledEffect.js.map +1 -1
  844. package/dist/hooks/useThrottledValue.js +16 -13
  845. package/dist/hooks/useThrottledValue.js.map +1 -1
  846. package/dist/hooks/useUseAsTitle.js +7 -27
  847. package/dist/hooks/useUseAsTitle.js.map +1 -1
  848. package/dist/icons/Calendar/index.js +20 -11
  849. package/dist/icons/Calendar/index.js.map +1 -1
  850. package/dist/icons/Check/index.js +20 -11
  851. package/dist/icons/Check/index.js.map +1 -1
  852. package/dist/icons/Chevron/index.js +30 -22
  853. package/dist/icons/Chevron/index.js.map +1 -1
  854. package/dist/icons/CloseMenu/index.js +20 -11
  855. package/dist/icons/CloseMenu/index.js.map +1 -1
  856. package/dist/icons/CodeBlock/index.js +22 -13
  857. package/dist/icons/CodeBlock/index.js.map +1 -1
  858. package/dist/icons/Copy/index.js +24 -17
  859. package/dist/icons/Copy/index.js.map +1 -1
  860. package/dist/icons/Document/index.js +25 -16
  861. package/dist/icons/Document/index.js.map +1 -1
  862. package/dist/icons/Dots/index.js +32 -11
  863. package/dist/icons/Dots/index.js.map +1 -1
  864. package/dist/icons/DragHandle/index.js +70 -33
  865. package/dist/icons/DragHandle/index.js.map +1 -1
  866. package/dist/icons/Edit/index.js +23 -13
  867. package/dist/icons/Edit/index.js.map +1 -1
  868. package/dist/icons/ExternalLink/index.js +25 -15
  869. package/dist/icons/ExternalLink/index.js.map +1 -1
  870. package/dist/icons/Eye/index.js +53 -25
  871. package/dist/icons/Eye/index.js.map +1 -1
  872. package/dist/icons/Folder/index.js +26 -16
  873. package/dist/icons/Folder/index.js.map +1 -1
  874. package/dist/icons/Gear/index.js +34 -21
  875. package/dist/icons/Gear/index.js.map +1 -1
  876. package/dist/icons/GridView/index.js +57 -31
  877. package/dist/icons/GridView/index.js.map +1 -1
  878. package/dist/icons/Line/index.js +23 -14
  879. package/dist/icons/Line/index.js.map +1 -1
  880. package/dist/icons/Link/index.js +25 -16
  881. package/dist/icons/Link/index.js.map +1 -1
  882. package/dist/icons/ListView/index.js +25 -16
  883. package/dist/icons/ListView/index.js.map +1 -1
  884. package/dist/icons/Lock/index.js +41 -24
  885. package/dist/icons/Lock/index.js.map +1 -1
  886. package/dist/icons/LogOut/index.js +23 -14
  887. package/dist/icons/LogOut/index.js.map +1 -1
  888. package/dist/icons/Menu/index.js +23 -14
  889. package/dist/icons/Menu/index.js.map +1 -1
  890. package/dist/icons/MinimizeMaximize/index.js +33 -19
  891. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  892. package/dist/icons/More/index.js +43 -21
  893. package/dist/icons/More/index.js.map +1 -1
  894. package/dist/icons/MoveFolder/index.js +62 -34
  895. package/dist/icons/MoveFolder/index.js.map +1 -1
  896. package/dist/icons/People/index.js +28 -17
  897. package/dist/icons/People/index.js.map +1 -1
  898. package/dist/icons/Plus/index.js +22 -13
  899. package/dist/icons/Plus/index.js.map +1 -1
  900. package/dist/icons/Search/index.js +21 -12
  901. package/dist/icons/Search/index.js.map +1 -1
  902. package/dist/icons/Sort/index.js +48 -35
  903. package/dist/icons/Sort/index.js.map +1 -1
  904. package/dist/icons/Swap/index.js +20 -11
  905. package/dist/icons/Swap/index.js.map +1 -1
  906. package/dist/icons/ThreeDots/index.js +27 -8
  907. package/dist/icons/ThreeDots/index.js.map +1 -1
  908. package/dist/icons/Trash/index.js +28 -18
  909. package/dist/icons/Trash/index.js.map +1 -1
  910. package/dist/icons/X/index.js +25 -15
  911. package/dist/icons/X/index.js.map +1 -1
  912. package/dist/providers/Actions/index.js +21 -33
  913. package/dist/providers/Actions/index.js.map +1 -1
  914. package/dist/providers/Auth/index.js +293 -243
  915. package/dist/providers/Auth/index.js.map +1 -1
  916. package/dist/providers/ClickOutside/index.js +35 -35
  917. package/dist/providers/ClickOutside/index.js.map +1 -1
  918. package/dist/providers/ClientFunction/index.js +63 -104
  919. package/dist/providers/ClientFunction/index.js.map +1 -1
  920. package/dist/providers/Config/index.js +91 -91
  921. package/dist/providers/Config/index.js.map +1 -1
  922. package/dist/providers/DocumentEvents/index.js +19 -30
  923. package/dist/providers/DocumentEvents/index.js.map +1 -1
  924. package/dist/providers/DocumentInfo/index.js +331 -325
  925. package/dist/providers/DocumentInfo/index.js.map +1 -1
  926. package/dist/providers/DocumentInfo/types.js +26 -1
  927. package/dist/providers/DocumentInfo/types.js.map +1 -1
  928. package/dist/providers/DocumentInfo/useGetDocPermissions.js +81 -79
  929. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
  930. package/dist/providers/DocumentTitle/context.js.map +1 -1
  931. package/dist/providers/DocumentTitle/index.js +51 -55
  932. package/dist/providers/DocumentTitle/index.js.map +1 -1
  933. package/dist/providers/EditDepth/index.js +15 -25
  934. package/dist/providers/EditDepth/index.js.map +1 -1
  935. package/dist/providers/EntityVisibility/index.js +26 -48
  936. package/dist/providers/EntityVisibility/index.js.map +1 -1
  937. package/dist/providers/Folders/groupItemIDsByRelation.js +8 -7
  938. package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -1
  939. package/dist/providers/Folders/index.js +698 -600
  940. package/dist/providers/Folders/index.js.map +1 -1
  941. package/dist/providers/ListQuery/context.js +3 -2
  942. package/dist/providers/ListQuery/context.js.map +1 -1
  943. package/dist/providers/ListQuery/index.js +156 -140
  944. package/dist/providers/ListQuery/index.js.map +1 -1
  945. package/dist/providers/ListQuery/mergeQuery.js +49 -31
  946. package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
  947. package/dist/providers/ListQuery/sanitizeQuery.js +24 -23
  948. package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
  949. package/dist/providers/ListQuery/types.js +6 -1
  950. package/dist/providers/ListQuery/types.js.map +1 -1
  951. package/dist/providers/LivePreview/collisionDetection.js +21 -24
  952. package/dist/providers/LivePreview/collisionDetection.js.map +1 -1
  953. package/dist/providers/LivePreview/context.js +60 -55
  954. package/dist/providers/LivePreview/context.js.map +1 -1
  955. package/dist/providers/LivePreview/index.js +225 -205
  956. package/dist/providers/LivePreview/index.js.map +1 -1
  957. package/dist/providers/LivePreview/sizeReducer.js +19 -18
  958. package/dist/providers/LivePreview/sizeReducer.js.map +1 -1
  959. package/dist/providers/Locale/index.js +87 -154
  960. package/dist/providers/Locale/index.js.map +1 -1
  961. package/dist/providers/Operation/index.js +12 -11
  962. package/dist/providers/Operation/index.js.map +1 -1
  963. package/dist/providers/Params/index.js +14 -26
  964. package/dist/providers/Params/index.js.map +1 -1
  965. package/dist/providers/Preferences/index.js +130 -122
  966. package/dist/providers/Preferences/index.js.map +1 -1
  967. package/dist/providers/Root/index.js +190 -116
  968. package/dist/providers/Root/index.js.map +1 -1
  969. package/dist/providers/RouteCache/index.js +53 -103
  970. package/dist/providers/RouteCache/index.js.map +1 -1
  971. package/dist/providers/RouteTransition/ProgressBar/index.js +61 -80
  972. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  973. package/dist/providers/RouteTransition/index.js +69 -94
  974. package/dist/providers/RouteTransition/index.js.map +1 -1
  975. package/dist/providers/ScrollInfo/index.js +1 -1
  976. package/dist/providers/ScrollInfo/index.js.map +1 -1
  977. package/dist/providers/SearchParams/index.js +36 -35
  978. package/dist/providers/SearchParams/index.js.map +1 -1
  979. package/dist/providers/Selection/index.js +203 -183
  980. package/dist/providers/Selection/index.js.map +1 -1
  981. package/dist/providers/ServerFunctions/index.js +199 -189
  982. package/dist/providers/ServerFunctions/index.js.map +1 -1
  983. package/dist/providers/TableColumns/RenderDefaultCell/index.js +33 -62
  984. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  985. package/dist/providers/TableColumns/buildColumnState/filterFields.js +32 -32
  986. package/dist/providers/TableColumns/buildColumnState/filterFields.js.map +1 -1
  987. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js +50 -52
  988. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js.map +1 -1
  989. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js +3 -2
  990. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js.map +1 -1
  991. package/dist/providers/TableColumns/buildColumnState/index.js +132 -143
  992. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  993. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js +10 -14
  994. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js.map +1 -1
  995. package/dist/providers/TableColumns/buildColumnState/renderCell.js +150 -151
  996. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  997. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js +16 -15
  998. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js.map +1 -1
  999. package/dist/providers/TableColumns/context.js +2 -1
  1000. package/dist/providers/TableColumns/context.js.map +1 -1
  1001. package/dist/providers/TableColumns/getInitialColumns.js +42 -28
  1002. package/dist/providers/TableColumns/getInitialColumns.js.map +1 -1
  1003. package/dist/providers/TableColumns/index.js +88 -85
  1004. package/dist/providers/TableColumns/index.js.map +1 -1
  1005. package/dist/providers/TableColumns/types.js +18 -1
  1006. package/dist/providers/TableColumns/types.js.map +1 -1
  1007. package/dist/providers/Theme/index.js +69 -104
  1008. package/dist/providers/Theme/index.js.map +1 -1
  1009. package/dist/providers/ToastContainer/icons/Error.js +34 -19
  1010. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  1011. package/dist/providers/ToastContainer/icons/Info.js +34 -19
  1012. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  1013. package/dist/providers/ToastContainer/icons/Success.js +34 -19
  1014. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  1015. package/dist/providers/ToastContainer/icons/Warning.js +34 -19
  1016. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  1017. package/dist/providers/ToastContainer/index.js +56 -47
  1018. package/dist/providers/ToastContainer/index.js.map +1 -1
  1019. package/dist/providers/Translation/index.js +66 -112
  1020. package/dist/providers/Translation/index.js.map +1 -1
  1021. package/dist/providers/UploadControls/index.js +28 -40
  1022. package/dist/providers/UploadControls/index.js.map +1 -1
  1023. package/dist/providers/UploadEdits/index.js +31 -73
  1024. package/dist/providers/UploadEdits/index.js.map +1 -1
  1025. package/dist/providers/UploadHandlers/index.js +30 -65
  1026. package/dist/providers/UploadHandlers/index.js.map +1 -1
  1027. package/dist/providers/WindowInfo/index.js +5 -9
  1028. package/dist/providers/WindowInfo/index.js.map +1 -1
  1029. package/dist/styles.css +0 -1
  1030. package/dist/utilities/abortAndIgnore.js +15 -17
  1031. package/dist/utilities/abortAndIgnore.js.map +1 -1
  1032. package/dist/utilities/api.js +78 -77
  1033. package/dist/utilities/api.js.map +1 -1
  1034. package/dist/utilities/buildClientFieldSchemaMap/index.js +61 -65
  1035. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  1036. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +150 -159
  1037. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  1038. package/dist/utilities/buildFieldSchemaMap/index.js +59 -61
  1039. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  1040. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +117 -126
  1041. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  1042. package/dist/utilities/buildFormState.js +151 -186
  1043. package/dist/utilities/buildFormState.js.map +1 -1
  1044. package/dist/utilities/buildTableState.js +145 -168
  1045. package/dist/utilities/buildTableState.js.map +1 -1
  1046. package/dist/utilities/canUseDOM.js +1 -0
  1047. package/dist/utilities/canUseDOM.js.map +1 -1
  1048. package/dist/utilities/combineFieldLabel.js +53 -26
  1049. package/dist/utilities/combineFieldLabel.js.map +1 -1
  1050. package/dist/utilities/copyDataFromLocale.js +202 -210
  1051. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  1052. package/dist/utilities/dateLocales.js +28 -27
  1053. package/dist/utilities/dateLocales.js.map +1 -1
  1054. package/dist/utilities/deepMerge.js +14 -13
  1055. package/dist/utilities/deepMerge.js.map +1 -1
  1056. package/dist/utilities/fetchPreferences.js.map +1 -1
  1057. package/dist/utilities/filterOutUploadFields.js +17 -4
  1058. package/dist/utilities/filterOutUploadFields.js.map +1 -1
  1059. package/dist/utilities/findLocaleFromCode.js +6 -5
  1060. package/dist/utilities/findLocaleFromCode.js.map +1 -1
  1061. package/dist/utilities/formatAbsoluteURL.js +8 -8
  1062. package/dist/utilities/formatAbsoluteURL.js.map +1 -1
  1063. package/dist/utilities/formatAdminURL.js +2 -1
  1064. package/dist/utilities/formatAdminURL.js.map +1 -1
  1065. package/dist/utilities/formatDocTitle/formatDateTitle.js +20 -27
  1066. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  1067. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js +14 -13
  1068. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -1
  1069. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js +14 -13
  1070. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js.map +1 -1
  1071. package/dist/utilities/formatDocTitle/index.js +38 -44
  1072. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  1073. package/dist/utilities/formatFields.js +2 -1
  1074. package/dist/utilities/formatFields.js.map +1 -1
  1075. package/dist/utilities/generateFieldID.js +6 -5
  1076. package/dist/utilities/generateFieldID.js.map +1 -1
  1077. package/dist/utilities/getClientConfig.js +25 -29
  1078. package/dist/utilities/getClientConfig.js.map +1 -1
  1079. package/dist/utilities/getClientSchemaMap.js +24 -32
  1080. package/dist/utilities/getClientSchemaMap.js.map +1 -1
  1081. package/dist/utilities/getColumns.js +29 -35
  1082. package/dist/utilities/getColumns.js.map +1 -1
  1083. package/dist/utilities/getDisplayedFieldValue.js +16 -16
  1084. package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
  1085. package/dist/utilities/getFolderResultsComponentAndData.js +134 -121
  1086. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
  1087. package/dist/utilities/getGlobalData.js +41 -45
  1088. package/dist/utilities/getGlobalData.js.map +1 -1
  1089. package/dist/utilities/getNavGroups.js +21 -18
  1090. package/dist/utilities/getNavGroups.js.map +1 -1
  1091. package/dist/utilities/getOffsetTop.js +14 -13
  1092. package/dist/utilities/getOffsetTop.js.map +1 -1
  1093. package/dist/utilities/getRequestLanguage.js +5 -8
  1094. package/dist/utilities/getRequestLanguage.js.map +1 -1
  1095. package/dist/utilities/getSchemaMap.js +22 -28
  1096. package/dist/utilities/getSchemaMap.js.map +1 -1
  1097. package/dist/utilities/getSupportedMonacoLocale.js +14 -13
  1098. package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
  1099. package/dist/utilities/getVisibleEntities.js +15 -26
  1100. package/dist/utilities/getVisibleEntities.js.map +1 -1
  1101. package/dist/utilities/groupNavItems.js +53 -50
  1102. package/dist/utilities/groupNavItems.js.map +1 -1
  1103. package/dist/utilities/handleBackToDashboard.js +8 -11
  1104. package/dist/utilities/handleBackToDashboard.js.map +1 -1
  1105. package/dist/utilities/handleFormStateLocking.js +127 -121
  1106. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  1107. package/dist/utilities/handleGoBack.js +7 -11
  1108. package/dist/utilities/handleGoBack.js.map +1 -1
  1109. package/dist/utilities/handleLivePreview.js +59 -76
  1110. package/dist/utilities/handleLivePreview.js.map +1 -1
  1111. package/dist/utilities/handlePreview.js +41 -52
  1112. package/dist/utilities/handlePreview.js.map +1 -1
  1113. package/dist/utilities/handleTakeOver.js +28 -39
  1114. package/dist/utilities/handleTakeOver.js.map +1 -1
  1115. package/dist/utilities/hasOptionLabelJSXElement.js +9 -11
  1116. package/dist/utilities/hasOptionLabelJSXElement.js.map +1 -1
  1117. package/dist/utilities/hasSavePermission.js +14 -14
  1118. package/dist/utilities/hasSavePermission.js.map +1 -1
  1119. package/dist/utilities/isClientUserObject.js +3 -2
  1120. package/dist/utilities/isClientUserObject.js.map +1 -1
  1121. package/dist/utilities/isEditing.js +2 -5
  1122. package/dist/utilities/isEditing.js.map +1 -1
  1123. package/dist/utilities/isURLAllowed.js +31 -30
  1124. package/dist/utilities/isURLAllowed.js.map +1 -1
  1125. package/dist/utilities/isValidReactElement.js +3 -3
  1126. package/dist/utilities/isValidReactElement.js.map +1 -1
  1127. package/dist/utilities/normalizeRelationshipValue.js +29 -28
  1128. package/dist/utilities/normalizeRelationshipValue.js.map +1 -1
  1129. package/dist/utilities/normalizeRelationshipValue.spec.js +407 -368
  1130. package/dist/utilities/normalizeRelationshipValue.spec.js.map +1 -1
  1131. package/dist/utilities/parseSearchParams.js +7 -7
  1132. package/dist/utilities/parseSearchParams.js.map +1 -1
  1133. package/dist/utilities/reduceFieldsToOptions.js +145 -154
  1134. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  1135. package/dist/utilities/reduceFieldsToValuesWithValidation.js +20 -20
  1136. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  1137. package/dist/utilities/removeUndefined.js +2 -1
  1138. package/dist/utilities/removeUndefined.js.map +1 -1
  1139. package/dist/utilities/renderTable.js +239 -195
  1140. package/dist/utilities/renderTable.js.map +1 -1
  1141. package/dist/utilities/resolveFilterOptions.js +27 -26
  1142. package/dist/utilities/resolveFilterOptions.js.map +1 -1
  1143. package/dist/utilities/sanitizeFilterOptionsQuery.js +16 -15
  1144. package/dist/utilities/sanitizeFilterOptionsQuery.js.map +1 -1
  1145. package/dist/utilities/sanitizeID.js +8 -7
  1146. package/dist/utilities/sanitizeID.js.map +1 -1
  1147. package/dist/utilities/schedulePublishHandler.js +47 -57
  1148. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  1149. package/dist/utilities/scrollToID.js +10 -9
  1150. package/dist/utilities/scrollToID.js.map +1 -1
  1151. package/dist/utilities/setsAreEqual.js +3 -2
  1152. package/dist/utilities/setsAreEqual.js.map +1 -1
  1153. package/dist/utilities/traverseForLocalizedFields.js +36 -35
  1154. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  1155. package/dist/utilities/upsertPreferences.js +75 -75
  1156. package/dist/utilities/upsertPreferences.js.map +1 -1
  1157. package/dist/views/BrowseByFolder/index.js +365 -324
  1158. package/dist/views/BrowseByFolder/index.js.map +1 -1
  1159. package/dist/views/CollectionFolder/ListSelection/index.js +161 -158
  1160. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  1161. package/dist/views/CollectionFolder/index.js +360 -282
  1162. package/dist/views/CollectionFolder/index.js.map +1 -1
  1163. package/dist/views/Edit/Auth/APIKey.js +185 -124
  1164. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  1165. package/dist/views/Edit/Auth/index.js +309 -321
  1166. package/dist/views/Edit/Auth/index.js.map +1 -1
  1167. package/dist/views/Edit/Auth/types.js +2 -1
  1168. package/dist/views/Edit/Auth/types.js.map +1 -1
  1169. package/dist/views/Edit/SetDocumentStepNav/index.js +84 -150
  1170. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  1171. package/dist/views/Edit/SetDocumentTitle/index.js +30 -77
  1172. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  1173. package/dist/views/Edit/index.js +579 -501
  1174. package/dist/views/Edit/index.js.map +1 -1
  1175. package/dist/views/Edit/types.js +2 -1
  1176. package/dist/views/Edit/types.js.map +1 -1
  1177. package/dist/views/List/GroupByHeader/index.js +35 -24
  1178. package/dist/views/List/GroupByHeader/index.js.map +1 -1
  1179. package/dist/views/List/ListHeader/index.js +115 -80
  1180. package/dist/views/List/ListHeader/index.js.map +1 -1
  1181. package/dist/views/List/ListSelection/index.js +103 -111
  1182. package/dist/views/List/ListSelection/index.js.map +1 -1
  1183. package/dist/views/List/index.js +321 -213
  1184. package/dist/views/List/index.js.map +1 -1
  1185. package/dist/views/List/types.js +2 -1
  1186. package/dist/views/List/types.js.map +1 -1
  1187. package/dist/widgets/CollectionCards/index.js +149 -119
  1188. package/dist/widgets/CollectionCards/index.js.map +1 -1
  1189. package/package.json +5 -5
  1190. package/dist/exports/client/CodeEditor-QOURTFMT.js +0 -14
  1191. package/dist/exports/client/CodeEditor-QOURTFMT.js.map +0 -7
  1192. package/dist/exports/client/DatePicker-VMLA35FO.js +0 -14
  1193. package/dist/exports/client/DatePicker-VMLA35FO.js.map +0 -7
  1194. package/dist/exports/client/chunk-53XJ3K67.js +0 -27
  1195. package/dist/exports/client/chunk-53XJ3K67.js.map +0 -7
  1196. package/dist/exports/client/chunk-5LKBKI4T.js +0 -14
  1197. package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -7
  1198. package/dist/exports/client/chunk-7V3NHDV6.js +0 -29
  1199. package/dist/exports/client/chunk-7V3NHDV6.js.map +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["dequal","useRouter","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","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","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","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 { useRouter } from 'next/navigation.js'\nimport { serialize } from 'object-to-formdata'\nimport { type FormState, type PayloadRequest } from 'payload'\nimport {\n deepCopyObjectSimpleWithoutReactComponents,\n getDataByPath as getDataByPathFunc,\n getSiblingData as getSiblingDataFunc,\n 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 { 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\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 const formData = await contextRef.current.createFormData(overrides, {\n data,\n mergeOverrideData: Boolean(typeof overridesFromArgs !== 'function'),\n })\n\n try {\n let res\n\n if (typeof actionArg === 'string') {\n res = await requests[methodToUse.toLowerCase()](actionArg, {\n body: formData,\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n } else if (typeof action === 'function') {\n res = await action(formData)\n }\n\n 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 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 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 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,"sources":["../../../src/forms/Form/index.tsx"],"sourcesContent":["'use client'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { useRouter } from 'next/navigation.js'\nimport { serialize } from 'object-to-formdata'\nimport { type FormState, type PayloadRequest } from 'payload'\nimport {\n deepCopyObjectSimpleWithoutReactComponents,\n getDataByPath as getDataByPathFunc,\n getSiblingData as getSiblingDataFunc,\n 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 { 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\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 const formData = await contextRef.current.createFormData(overrides, {\n data,\n mergeOverrideData: Boolean(typeof overridesFromArgs !== 'function'),\n })\n\n try {\n let res\n\n if (typeof actionArg === 'string') {\n res = await requests[methodToUse.toLowerCase()](actionArg, {\n body: formData,\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n } else if (typeof action === 'function') {\n res = await action(formData)\n }\n\n 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 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 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 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"],"names":["dequal","useRouter","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","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","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","statusText","console","getFields","getField","dataFromArgs","file","upload","handler","filename","name","clientUploadContext","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"],"mappings":"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"}
@@ -1,42 +1,42 @@
1
1
  'use client';
2
-
3
- const submit = () => undefined;
4
- const getSiblingData = () => undefined;
5
- const dispatchFields = () => undefined;
6
- const validateForm = () => undefined;
7
- const createFormData = () => undefined;
8
- const setModified = () => undefined;
9
- const setProcessing = () => undefined;
10
- const setBackgroundProcessing = () => undefined;
11
- const setSubmitted = () => undefined;
12
- const reset = () => undefined;
2
+ const submit = ()=>undefined;
3
+ const getSiblingData = ()=>undefined;
4
+ const dispatchFields = ()=>undefined;
5
+ const validateForm = ()=>undefined;
6
+ const createFormData = ()=>undefined;
7
+ const setModified = ()=>undefined;
8
+ const setProcessing = ()=>undefined;
9
+ const setBackgroundProcessing = ()=>undefined;
10
+ const setSubmitted = ()=>undefined;
11
+ const reset = ()=>undefined;
13
12
  export const initContextState = {
14
- addFieldRow: () => undefined,
15
- buildRowErrors: () => undefined,
16
- createFormData,
17
- disabled: false,
18
- dispatchFields,
19
- fields: {},
20
- formRef: null,
21
- getData: () => undefined,
22
- getDataByPath: () => undefined,
23
- getField: () => undefined,
24
- getFields: () => ({}),
25
- getSiblingData,
26
- initializing: undefined,
27
- isValid: true,
28
- moveFieldRow: () => undefined,
29
- removeFieldRow: () => undefined,
30
- replaceFieldRow: () => undefined,
31
- replaceState: () => undefined,
32
- reset,
33
- setBackgroundProcessing,
34
- setDisabled: () => undefined,
35
- setIsValid: () => undefined,
36
- setModified,
37
- setProcessing,
38
- setSubmitted,
39
- submit,
40
- validateForm
13
+ addFieldRow: ()=>undefined,
14
+ buildRowErrors: ()=>undefined,
15
+ createFormData,
16
+ disabled: false,
17
+ dispatchFields,
18
+ fields: {},
19
+ formRef: null,
20
+ getData: ()=>undefined,
21
+ getDataByPath: ()=>undefined,
22
+ getField: ()=>undefined,
23
+ getFields: ()=>({}),
24
+ getSiblingData,
25
+ initializing: undefined,
26
+ isValid: true,
27
+ moveFieldRow: ()=>undefined,
28
+ removeFieldRow: ()=>undefined,
29
+ replaceFieldRow: ()=>undefined,
30
+ replaceState: ()=>undefined,
31
+ reset,
32
+ setBackgroundProcessing,
33
+ setDisabled: ()=>undefined,
34
+ setIsValid: ()=>undefined,
35
+ setModified,
36
+ setProcessing,
37
+ setSubmitted,
38
+ submit,
39
+ validateForm
41
40
  };
41
+
42
42
  //# sourceMappingURL=initContextState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"initContextState.js","names":["submit","undefined","getSiblingData","dispatchFields","validateForm","createFormData","setModified","setProcessing","setBackgroundProcessing","setSubmitted","reset","initContextState","addFieldRow","buildRowErrors","disabled","fields","formRef","getData","getDataByPath","getField","getFields","initializing","isValid","moveFieldRow","removeFieldRow","replaceFieldRow","replaceState","setDisabled","setIsValid"],"sources":["../../../src/forms/Form/initContextState.ts"],"sourcesContent":["'use client'\nimport type { Data, FormField, FormState } from 'payload'\n\nimport type {\n Context,\n CreateFormData,\n DispatchFields,\n GetSiblingData,\n Reset,\n SetModified,\n SetProcessing,\n SetSubmitted,\n Submit,\n ValidateForm,\n} from './types.js'\n\nconst submit: Submit = () => undefined\nconst getSiblingData: GetSiblingData = () => undefined\nconst dispatchFields: DispatchFields = () => undefined\nconst validateForm: ValidateForm = () => undefined\nconst createFormData: CreateFormData = () => undefined\n\nconst setModified: SetModified = () => undefined\nconst setProcessing: SetProcessing = () => undefined\nconst setBackgroundProcessing: SetProcessing = () => undefined\nconst setSubmitted: SetSubmitted = () => undefined\nconst reset: Reset = () => undefined\n\nexport const initContextState: Context = {\n addFieldRow: () => undefined,\n buildRowErrors: () => undefined,\n createFormData,\n disabled: false,\n dispatchFields,\n fields: {},\n formRef: null,\n getData: (): Data => undefined,\n getDataByPath: () => undefined,\n getField: (): FormField => undefined,\n getFields: (): FormState => ({}),\n getSiblingData,\n initializing: undefined,\n isValid: true,\n moveFieldRow: () => undefined,\n removeFieldRow: () => undefined,\n replaceFieldRow: () => undefined,\n replaceState: () => undefined,\n reset,\n setBackgroundProcessing,\n setDisabled: () => undefined,\n setIsValid: () => undefined,\n setModified,\n setProcessing,\n setSubmitted,\n submit,\n\n validateForm,\n}\n"],"mappings":"AAAA;;AAgBA,MAAMA,MAAA,GAAiBA,CAAA,KAAMC,SAAA;AAC7B,MAAMC,cAAA,GAAiCA,CAAA,KAAMD,SAAA;AAC7C,MAAME,cAAA,GAAiCA,CAAA,KAAMF,SAAA;AAC7C,MAAMG,YAAA,GAA6BA,CAAA,KAAMH,SAAA;AACzC,MAAMI,cAAA,GAAiCA,CAAA,KAAMJ,SAAA;AAE7C,MAAMK,WAAA,GAA2BA,CAAA,KAAML,SAAA;AACvC,MAAMM,aAAA,GAA+BA,CAAA,KAAMN,SAAA;AAC3C,MAAMO,uBAAA,GAAyCA,CAAA,KAAMP,SAAA;AACrD,MAAMQ,YAAA,GAA6BA,CAAA,KAAMR,SAAA;AACzC,MAAMS,KAAA,GAAeA,CAAA,KAAMT,SAAA;AAE3B,OAAO,MAAMU,gBAAA,GAA4B;EACvCC,WAAA,EAAaA,CAAA,KAAMX,SAAA;EACnBY,cAAA,EAAgBA,CAAA,KAAMZ,SAAA;EACtBI,cAAA;EACAS,QAAA,EAAU;EACVX,cAAA;EACAY,MAAA,EAAQ,CAAC;EACTC,OAAA,EAAS;EACTC,OAAA,EAASA,CAAA,KAAYhB,SAAA;EACrBiB,aAAA,EAAeA,CAAA,KAAMjB,SAAA;EACrBkB,QAAA,EAAUA,CAAA,KAAiBlB,SAAA;EAC3BmB,SAAA,EAAWA,CAAA,MAAkB,CAAC;EAC9BlB,cAAA;EACAmB,YAAA,EAAcpB,SAAA;EACdqB,OAAA,EAAS;EACTC,YAAA,EAAcA,CAAA,KAAMtB,SAAA;EACpBuB,cAAA,EAAgBA,CAAA,KAAMvB,SAAA;EACtBwB,eAAA,EAAiBA,CAAA,KAAMxB,SAAA;EACvByB,YAAA,EAAcA,CAAA,KAAMzB,SAAA;EACpBS,KAAA;EACAF,uBAAA;EACAmB,WAAA,EAAaA,CAAA,KAAM1B,SAAA;EACnB2B,UAAA,EAAYA,CAAA,KAAM3B,SAAA;EAClBK,WAAA;EACAC,aAAA;EACAE,YAAA;EACAT,MAAA;EAEAI;AACF","ignoreList":[]}
1
+ {"version":3,"sources":["../../../src/forms/Form/initContextState.ts"],"sourcesContent":["'use client'\nimport type { Data, FormField, FormState } from 'payload'\n\nimport type {\n Context,\n CreateFormData,\n DispatchFields,\n GetSiblingData,\n Reset,\n SetModified,\n SetProcessing,\n SetSubmitted,\n Submit,\n ValidateForm,\n} from './types.js'\n\nconst submit: Submit = () => undefined\nconst getSiblingData: GetSiblingData = () => undefined\nconst dispatchFields: DispatchFields = () => undefined\nconst validateForm: ValidateForm = () => undefined\nconst createFormData: CreateFormData = () => undefined\n\nconst setModified: SetModified = () => undefined\nconst setProcessing: SetProcessing = () => undefined\nconst setBackgroundProcessing: SetProcessing = () => undefined\nconst setSubmitted: SetSubmitted = () => undefined\nconst reset: Reset = () => undefined\n\nexport const initContextState: Context = {\n addFieldRow: () => undefined,\n buildRowErrors: () => undefined,\n createFormData,\n disabled: false,\n dispatchFields,\n fields: {},\n formRef: null,\n getData: (): Data => undefined,\n getDataByPath: () => undefined,\n getField: (): FormField => undefined,\n getFields: (): FormState => ({}),\n getSiblingData,\n initializing: undefined,\n isValid: true,\n moveFieldRow: () => undefined,\n removeFieldRow: () => undefined,\n replaceFieldRow: () => undefined,\n replaceState: () => undefined,\n reset,\n setBackgroundProcessing,\n setDisabled: () => undefined,\n setIsValid: () => undefined,\n setModified,\n setProcessing,\n setSubmitted,\n submit,\n\n validateForm,\n}\n"],"names":["submit","undefined","getSiblingData","dispatchFields","validateForm","createFormData","setModified","setProcessing","setBackgroundProcessing","setSubmitted","reset","initContextState","addFieldRow","buildRowErrors","disabled","fields","formRef","getData","getDataByPath","getField","getFields","initializing","isValid","moveFieldRow","removeFieldRow","replaceFieldRow","replaceState","setDisabled","setIsValid"],"mappings":"AAAA;AAgBA,MAAMA,SAAiB,IAAMC;AAC7B,MAAMC,iBAAiC,IAAMD;AAC7C,MAAME,iBAAiC,IAAMF;AAC7C,MAAMG,eAA6B,IAAMH;AACzC,MAAMI,iBAAiC,IAAMJ;AAE7C,MAAMK,cAA2B,IAAML;AACvC,MAAMM,gBAA+B,IAAMN;AAC3C,MAAMO,0BAAyC,IAAMP;AACrD,MAAMQ,eAA6B,IAAMR;AACzC,MAAMS,QAAe,IAAMT;AAE3B,OAAO,MAAMU,mBAA4B;IACvCC,aAAa,IAAMX;IACnBY,gBAAgB,IAAMZ;IACtBI;IACAS,UAAU;IACVX;IACAY,QAAQ,CAAC;IACTC,SAAS;IACTC,SAAS,IAAYhB;IACrBiB,eAAe,IAAMjB;IACrBkB,UAAU,IAAiBlB;IAC3BmB,WAAW,IAAkB,CAAA,CAAC,CAAA;IAC9BlB;IACAmB,cAAcpB;IACdqB,SAAS;IACTC,cAAc,IAAMtB;IACpBuB,gBAAgB,IAAMvB;IACtBwB,iBAAiB,IAAMxB;IACvByB,cAAc,IAAMzB;IACpBS;IACAF;IACAmB,aAAa,IAAM1B;IACnB2B,YAAY,IAAM3B;IAClBK;IACAC;IACAE;IACAT;IAEAI;AACF,EAAC"}
@@ -1,7 +1,14 @@
1
1
  'use client';
2
-
3
- import { dequal } from 'dequal/lite'; // lite: no need for Map and Set support
2
+ import { dequal } from 'dequal/lite';
3
+ // lite: no need for Map and Set support
4
4
  /**
5
+ * If true, will accept all values from the server, overriding any current values in local state.
6
+ * Can also provide an options object for more granular control.
7
+ */ /**
8
+ * When `false`, will accept the values from the server _UNLESS_ the value has been modified locally since the request was made.
9
+ * This is useful for autosave, for example, where hooks may have modified the field's value on the server while you were still making changes.
10
+ * @default undefined
11
+ */ /**
5
12
  * This function receives form state from the server and intelligently merges it into the client state.
6
13
  * The server contains extra properties that the client may not have, e.g. custom components and error states.
7
14
  * We typically do not want to merge properties that rely on user input, however, such as values, unless explicitly requested.
@@ -12,103 +19,92 @@ import { dequal } from 'dequal/lite'; // lite: no need for Map and Set support
12
19
  *
13
20
  * This function applies some defaults, as well as cleans up the server response in preparation for the client.
14
21
  * e.g. it will set `valid` and `passesCondition` to true if undefined, and remove `addedByServer` from the response.
15
- */
16
- export const mergeServerFormState = ({
17
- acceptValues,
18
- currentState = {},
19
- incomingState
20
- }) => {
21
- const newState = {
22
- ...currentState
23
- };
24
- for (const [path, incomingField] of Object.entries(incomingState || {})) {
25
- if (!(path in currentState) && !incomingField.addedByServer) {
26
- continue;
27
- }
28
- /**
29
- * If it's a new field added by the server, always accept the value.
30
- * Otherwise:
31
- * a. accept all values when explicitly requested, e.g. on submit
32
- * b. only accept values for unmodified fields, e.g. on autosave
33
- */
34
- const shouldAcceptValue = incomingField.addedByServer || acceptValues === true || typeof acceptValues === 'object' && acceptValues !== null &&
35
- // Note: Must be explicitly `false`, allow `null` or `undefined` to mean true
36
- acceptValues.overrideLocalChanges === false && !currentState[path]?.isModified;
37
- let sanitizedIncomingField = incomingField;
38
- if (!shouldAcceptValue) {
39
- /**
40
- * Note: do not delete properties off `incomingField` as this will mutate the original object
41
- * Instead, omit them from the destructured object by excluding specific keys
42
- * This will also ensure we don't set `undefined` into the result unnecessarily
43
- */
44
- const {
45
- initialValue,
46
- value,
47
- ...rest
48
- } = incomingField;
49
- sanitizedIncomingField = rest;
50
- }
51
- newState[path] = {
52
- ...currentState[path],
53
- ...sanitizedIncomingField
22
+ */ export const mergeServerFormState = ({ acceptValues, currentState = {}, incomingState })=>{
23
+ const newState = {
24
+ ...currentState
54
25
  };
55
- if (currentState[path] && 'errorPaths' in currentState[path] && !('errorPaths' in incomingField)) {
56
- newState[path].errorPaths = [];
57
- }
58
- /**
59
- * Deeply merge the rows array to ensure changes to local state are not lost while the request was pending
60
- * For example, the server response could come back with a row which has been deleted on the client
61
- * Loop over the incoming rows, if it exists in client side form state, merge in any new properties from the server
62
- * Note: read `currentState` and not `newState` here, as the `rows` property have already been merged above
63
- */
64
- if (Array.isArray(incomingField.rows) && path in currentState) {
65
- newState[path].rows = [...(currentState[path]?.rows || [])]; // shallow copy to avoid mutating the original array
66
- incomingField.rows.forEach(row => {
67
- const indexInCurrentState = currentState[path].rows?.findIndex(existingRow => existingRow.id === row.id);
68
- if (indexInCurrentState > -1) {
69
- newState[path].rows[indexInCurrentState] = {
70
- ...currentState[path].rows[indexInCurrentState],
71
- ...row
72
- };
73
- } else if (row.addedByServer) {
74
- /**
75
- * Note: This is a known limitation of computed array and block rows
76
- * If a new row was added by the server, we append it to the _end_ of this array
77
- * This is because the client is the source of truth, and it has arrays ordered in a certain position
78
- * For example, the user may have re-ordered rows client-side while a long running request is processing
79
- * This means that we _cannot_ slice a new row into the second position on the server, for example
80
- * By the time it gets back to the client, its index is stale
81
- */
82
- const newRow = {
83
- ...row
84
- };
85
- delete newRow.addedByServer;
86
- newState[path].rows.push(newRow);
26
+ for (const [path, incomingField] of Object.entries(incomingState || {})){
27
+ if (!(path in currentState) && !incomingField.addedByServer) {
28
+ continue;
87
29
  }
88
- });
89
- }
90
- // If `valid` is `undefined`, mark it as `true`
91
- if (incomingField.valid !== false) {
92
- newState[path].valid = true;
93
- }
94
- // If `passesCondition` is `undefined`, mark it as `true`
95
- if (incomingField.passesCondition !== false) {
96
- newState[path].passesCondition = true;
97
- }
98
- /**
99
- * Undefined values for blocksFilterOptions coming back should be treated as "all blocks allowed" and
100
- * should always be merged in.
101
- * Without this, an undefined value coming back will incorrectly be ignored, and the previous filter will remain.
102
- */
103
- if (!incomingField.blocksFilterOptions) {
104
- delete newState[path].blocksFilterOptions;
30
+ /**
31
+ * If it's a new field added by the server, always accept the value.
32
+ * Otherwise:
33
+ * a. accept all values when explicitly requested, e.g. on submit
34
+ * b. only accept values for unmodified fields, e.g. on autosave
35
+ */ const shouldAcceptValue = incomingField.addedByServer || acceptValues === true || typeof acceptValues === 'object' && acceptValues !== null && // Note: Must be explicitly `false`, allow `null` or `undefined` to mean true
36
+ acceptValues.overrideLocalChanges === false && !currentState[path]?.isModified;
37
+ let sanitizedIncomingField = incomingField;
38
+ if (!shouldAcceptValue) {
39
+ /**
40
+ * Note: do not delete properties off `incomingField` as this will mutate the original object
41
+ * Instead, omit them from the destructured object by excluding specific keys
42
+ * This will also ensure we don't set `undefined` into the result unnecessarily
43
+ */ const { initialValue, value, ...rest } = incomingField;
44
+ sanitizedIncomingField = rest;
45
+ }
46
+ newState[path] = {
47
+ ...currentState[path],
48
+ ...sanitizedIncomingField
49
+ };
50
+ if (currentState[path] && 'errorPaths' in currentState[path] && !('errorPaths' in incomingField)) {
51
+ newState[path].errorPaths = [];
52
+ }
53
+ /**
54
+ * Deeply merge the rows array to ensure changes to local state are not lost while the request was pending
55
+ * For example, the server response could come back with a row which has been deleted on the client
56
+ * Loop over the incoming rows, if it exists in client side form state, merge in any new properties from the server
57
+ * Note: read `currentState` and not `newState` here, as the `rows` property have already been merged above
58
+ */ if (Array.isArray(incomingField.rows) && path in currentState) {
59
+ newState[path].rows = [
60
+ ...currentState[path]?.rows || []
61
+ ];
62
+ // shallow copy to avoid mutating the original array
63
+ incomingField.rows.forEach((row)=>{
64
+ const indexInCurrentState = currentState[path].rows?.findIndex((existingRow)=>existingRow.id === row.id);
65
+ if (indexInCurrentState > -1) {
66
+ newState[path].rows[indexInCurrentState] = {
67
+ ...currentState[path].rows[indexInCurrentState],
68
+ ...row
69
+ };
70
+ } else if (row.addedByServer) {
71
+ /**
72
+ * Note: This is a known limitation of computed array and block rows
73
+ * If a new row was added by the server, we append it to the _end_ of this array
74
+ * This is because the client is the source of truth, and it has arrays ordered in a certain position
75
+ * For example, the user may have re-ordered rows client-side while a long running request is processing
76
+ * This means that we _cannot_ slice a new row into the second position on the server, for example
77
+ * By the time it gets back to the client, its index is stale
78
+ */ const newRow = {
79
+ ...row
80
+ };
81
+ delete newRow.addedByServer;
82
+ newState[path].rows.push(newRow);
83
+ }
84
+ });
85
+ }
86
+ // If `valid` is `undefined`, mark it as `true`
87
+ if (incomingField.valid !== false) {
88
+ newState[path].valid = true;
89
+ }
90
+ // If `passesCondition` is `undefined`, mark it as `true`
91
+ if (incomingField.passesCondition !== false) {
92
+ newState[path].passesCondition = true;
93
+ }
94
+ /**
95
+ * Undefined values for blocksFilterOptions coming back should be treated as "all blocks allowed" and
96
+ * should always be merged in.
97
+ * Without this, an undefined value coming back will incorrectly be ignored, and the previous filter will remain.
98
+ */ if (!incomingField.blocksFilterOptions) {
99
+ delete newState[path].blocksFilterOptions;
100
+ }
101
+ // Strip away the `addedByServer` property from the client
102
+ // This will prevent it from being passed back to the server
103
+ delete newState[path].addedByServer;
105
104
  }
106
- // Strip away the `addedByServer` property from the client
107
- // This will prevent it from being passed back to the server
108
- delete newState[path].addedByServer;
109
- }
110
- // Return the original object reference if the state is unchanged
111
- // This will avoid unnecessary re-renders and dependency updates
112
- return dequal(newState, currentState) ? currentState : newState;
105
+ // Return the original object reference if the state is unchanged
106
+ // This will avoid unnecessary re-renders and dependency updates
107
+ return dequal(newState, currentState) ? currentState : newState;
113
108
  };
109
+
114
110
  //# sourceMappingURL=mergeServerFormState.js.map