@payloadcms/ui 3.68.0-internal-debug.e9b66ee → 3.68.0-internal-debug.654e4ad

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 (779) hide show
  1. package/dist/elements/AddNewRelation/index.js +126 -37
  2. package/dist/elements/AddNewRelation/index.js.map +1 -1
  3. package/dist/elements/AnimateHeight/index.js +33 -17
  4. package/dist/elements/AnimateHeight/index.js.map +1 -1
  5. package/dist/elements/AppHeader/index.js +147 -35
  6. package/dist/elements/AppHeader/index.js.map +1 -1
  7. package/dist/elements/ArrayAction/index.d.ts +6 -6
  8. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  9. package/dist/elements/ArrayAction/index.js +184 -58
  10. package/dist/elements/ArrayAction/index.js.map +1 -1
  11. package/dist/elements/Autosave/index.js +28 -12
  12. package/dist/elements/Autosave/index.js.map +1 -1
  13. package/dist/elements/Banner/index.js +34 -5
  14. package/dist/elements/Banner/index.js.map +1 -1
  15. package/dist/elements/BulkUpload/ActionsBar/index.js +160 -56
  16. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  17. package/dist/elements/BulkUpload/AddFilesView/index.js +80 -23
  18. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  19. package/dist/elements/BulkUpload/AddingFilesView/index.js +78 -13
  20. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +14 -1
  22. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +17 -3
  24. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  25. package/dist/elements/BulkUpload/EditForm/index.js +89 -19
  26. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  27. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +134 -35
  28. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  29. package/dist/elements/BulkUpload/EditMany/index.js +44 -10
  30. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  31. package/dist/elements/BulkUpload/FileSidebar/index.js +326 -91
  32. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  33. package/dist/elements/BulkUpload/FormsManager/index.js +42 -25
  34. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  35. package/dist/elements/BulkUpload/Header/index.js +26 -4
  36. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  37. package/dist/elements/BulkUpload/index.js +94 -43
  38. package/dist/elements/BulkUpload/index.js.map +1 -1
  39. package/dist/elements/Button/index.js +155 -38
  40. package/dist/elements/Button/index.js.map +1 -1
  41. package/dist/elements/Card/index.js +40 -5
  42. package/dist/elements/Card/index.js.map +1 -1
  43. package/dist/elements/CheckboxPopup/index.js +41 -15
  44. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  45. package/dist/elements/ClipboardAction/ClipboardActionLabel.js +20 -3
  46. package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
  47. package/dist/elements/ClipboardAction/index.js +64 -14
  48. package/dist/elements/ClipboardAction/index.js.map +1 -1
  49. package/dist/elements/CloseModalButton/index.js +21 -8
  50. package/dist/elements/CloseModalButton/index.js.map +1 -1
  51. package/dist/elements/CodeEditor/CodeEditor.js +48 -27
  52. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  53. package/dist/elements/CodeEditor/index.js +21 -5
  54. package/dist/elements/CodeEditor/index.js.map +1 -1
  55. package/dist/elements/Collapsible/index.js +128 -40
  56. package/dist/elements/Collapsible/index.js.map +1 -1
  57. package/dist/elements/Collapsible/provider.js +10 -2
  58. package/dist/elements/Collapsible/provider.js.map +1 -1
  59. package/dist/elements/ColumnSelector/index.js +28 -12
  60. package/dist/elements/ColumnSelector/index.js.map +1 -1
  61. package/dist/elements/Combobox/index.js +71 -23
  62. package/dist/elements/Combobox/index.js.map +1 -1
  63. package/dist/elements/ConfirmationModal/index.js +81 -22
  64. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  65. package/dist/elements/CopyLocaleData/index.js +148 -56
  66. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  67. package/dist/elements/CopyToClipboard/index.js +41 -17
  68. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  69. package/dist/elements/DatePicker/DatePicker.js +56 -11
  70. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  71. package/dist/elements/DatePicker/index.js +23 -5
  72. package/dist/elements/DatePicker/index.js.map +1 -1
  73. package/dist/elements/DefaultListViewTabs/index.js +62 -22
  74. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  75. package/dist/elements/DeleteDocument/index.js +79 -19
  76. package/dist/elements/DeleteDocument/index.js.map +1 -1
  77. package/dist/elements/DeleteMany/index.js +131 -45
  78. package/dist/elements/DeleteMany/index.js.map +1 -1
  79. package/dist/elements/DocumentControls/index.js +442 -95
  80. package/dist/elements/DocumentControls/index.js.map +1 -1
  81. package/dist/elements/DocumentDrawer/DrawerContent.js +18 -4
  82. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  83. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +76 -15
  84. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  85. package/dist/elements/DocumentDrawer/Provider.js +12 -4
  86. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  87. package/dist/elements/DocumentDrawer/index.js +62 -14
  88. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  89. package/dist/elements/DocumentFields/index.js +86 -22
  90. package/dist/elements/DocumentFields/index.js.map +1 -1
  91. package/dist/elements/DocumentLocked/index.js +126 -41
  92. package/dist/elements/DocumentLocked/index.js.map +1 -1
  93. package/dist/elements/DocumentTakeOver/index.js +81 -24
  94. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  95. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +21 -16
  96. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  97. package/dist/elements/DraggableSortable/index.js +29 -8
  98. package/dist/elements/DraggableSortable/index.js.map +1 -1
  99. package/dist/elements/Drawer/index.js +135 -38
  100. package/dist/elements/Drawer/index.js.map +1 -1
  101. package/dist/elements/DrawerActionHeader/index.js +57 -18
  102. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  103. package/dist/elements/DrawerContentContainer/index.js +13 -4
  104. package/dist/elements/DrawerContentContainer/index.js.map +1 -1
  105. package/dist/elements/Dropzone/index.js +22 -15
  106. package/dist/elements/Dropzone/index.js.map +1 -1
  107. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +98 -22
  108. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  109. package/dist/elements/DuplicateDocument/index.js +46 -15
  110. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  111. package/dist/elements/EditMany/DrawerContent.js +204 -49
  112. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  113. package/dist/elements/EditMany/index.js +66 -18
  114. package/dist/elements/EditMany/index.js.map +1 -1
  115. package/dist/elements/EditUpload/index.js +388 -105
  116. package/dist/elements/EditUpload/index.js.map +1 -1
  117. package/dist/elements/EmailAndUsername/index.js +64 -25
  118. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  119. package/dist/elements/ErrorPill/index.js +27 -6
  120. package/dist/elements/ErrorPill/index.js.map +1 -1
  121. package/dist/elements/FieldDiffContainer/index.js +47 -17
  122. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  123. package/dist/elements/FieldDiffLabel/index.js +10 -1
  124. package/dist/elements/FieldDiffLabel/index.js.map +1 -1
  125. package/dist/elements/FieldSelect/index.js +37 -14
  126. package/dist/elements/FieldSelect/index.js.map +1 -1
  127. package/dist/elements/FileDetails/DraggableFileDetails/index.js +107 -26
  128. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  129. package/dist/elements/FileDetails/FileMeta/index.js +69 -19
  130. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  131. package/dist/elements/FileDetails/StaticFileDetails/index.js +72 -12
  132. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  133. package/dist/elements/FileDetails/index.js +16 -2
  134. package/dist/elements/FileDetails/index.js.map +1 -1
  135. package/dist/elements/FolderView/Breadcrumbs/index.js +51 -15
  136. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
  137. package/dist/elements/FolderView/BrowseByFolderButton/index.js +26 -10
  138. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
  139. package/dist/elements/FolderView/Cell/index.client.js +22 -4
  140. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  141. package/dist/elements/FolderView/Cell/index.server.js +14 -1
  142. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  143. package/dist/elements/FolderView/ColoredFolderIcon/index.js +8 -1
  144. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
  145. package/dist/elements/FolderView/CurrentFolderActions/index.js +138 -58
  146. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  147. package/dist/elements/FolderView/DragOverlaySelection/index.js +56 -18
  148. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
  149. package/dist/elements/FolderView/DraggableTableRow/index.js +47 -20
  150. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
  151. package/dist/elements/FolderView/DraggableWithClick/index.js +28 -16
  152. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
  153. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +24 -10
  154. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
  155. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +327 -105
  156. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  157. package/dist/elements/FolderView/FilterFolderTypePill/index.js +39 -11
  158. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
  159. package/dist/elements/FolderView/FolderField/index.server.js +10 -1
  160. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
  161. package/dist/elements/FolderView/FolderFileCard/index.js +168 -50
  162. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  163. package/dist/elements/FolderView/FolderFileTable/index.js +166 -97
  164. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
  165. package/dist/elements/FolderView/FolderTypeField/index.js +30 -1
  166. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
  167. package/dist/elements/FolderView/ItemCardGrid/index.js +34 -10
  168. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
  169. package/dist/elements/FolderView/MoveDocToFolder/index.js +104 -54
  170. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  171. package/dist/elements/FolderView/SimpleTable/index.js +98 -31
  172. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
  173. package/dist/elements/FolderView/SortByPill/index.js +135 -46
  174. package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
  175. package/dist/elements/FolderView/ToggleViewButtons/index.js +45 -14
  176. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
  177. package/dist/elements/FullscreenModal/index.js +15 -5
  178. package/dist/elements/FullscreenModal/index.js.map +1 -1
  179. package/dist/elements/GenerateConfirmation/index.js +48 -10
  180. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  181. package/dist/elements/GroupByBuilder/index.js +113 -54
  182. package/dist/elements/GroupByBuilder/index.js.map +1 -1
  183. package/dist/elements/Gutter/index.js +18 -10
  184. package/dist/elements/Gutter/index.js.map +1 -1
  185. package/dist/elements/HTMLDiff/index.js +22 -6
  186. package/dist/elements/HTMLDiff/index.js.map +1 -1
  187. package/dist/elements/Hamburger/index.js +48 -9
  188. package/dist/elements/Hamburger/index.js.map +1 -1
  189. package/dist/elements/IDLabel/index.js +25 -8
  190. package/dist/elements/IDLabel/index.js.map +1 -1
  191. package/dist/elements/LeaveWithoutSaving/index.js +23 -2
  192. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  193. package/dist/elements/Link/index.js +36 -26
  194. package/dist/elements/Link/index.js.map +1 -1
  195. package/dist/elements/ListControls/index.js +199 -32
  196. package/dist/elements/ListControls/index.js.map +1 -1
  197. package/dist/elements/ListDrawer/DrawerContent.js +34 -6
  198. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  199. package/dist/elements/ListDrawer/Provider.js +13 -7
  200. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  201. package/dist/elements/ListDrawer/index.js +59 -12
  202. package/dist/elements/ListDrawer/index.js.map +1 -1
  203. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +34 -10
  204. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  205. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +16 -3
  206. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  207. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +12 -3
  208. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  209. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +17 -5
  210. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
  211. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +110 -52
  212. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  213. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +64 -16
  214. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  215. package/dist/elements/ListHeader/index.js +64 -15
  216. package/dist/elements/ListHeader/index.js.map +1 -1
  217. package/dist/elements/ListSelection/index.js +79 -20
  218. package/dist/elements/ListSelection/index.js.map +1 -1
  219. package/dist/elements/LivePreview/Device/index.js +26 -13
  220. package/dist/elements/LivePreview/Device/index.js.map +1 -1
  221. package/dist/elements/LivePreview/DeviceContainer/index.js +15 -8
  222. package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
  223. package/dist/elements/LivePreview/IFrame/index.js +18 -5
  224. package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
  225. package/dist/elements/LivePreview/Toggler/index.js +26 -8
  226. package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
  227. package/dist/elements/LivePreview/Toolbar/Controls/index.js +197 -50
  228. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  229. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +14 -1
  230. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  231. package/dist/elements/LivePreview/Toolbar/index.js +75 -23
  232. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  233. package/dist/elements/LivePreview/ToolbarArea/index.js +11 -3
  234. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  235. package/dist/elements/LivePreview/Window/index.js +53 -13
  236. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  237. package/dist/elements/Loading/index.js +79 -18
  238. package/dist/elements/Loading/index.js.map +1 -1
  239. package/dist/elements/LoadingOverlay/index.js +25 -8
  240. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  241. package/dist/elements/Localizer/LocalizerLabel/index.js +51 -12
  242. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  243. package/dist/elements/Localizer/index.js +88 -39
  244. package/dist/elements/Localizer/index.js.map +1 -1
  245. package/dist/elements/Locked/index.js +34 -8
  246. package/dist/elements/Locked/index.js.map +1 -1
  247. package/dist/elements/Logout/index.js +22 -6
  248. package/dist/elements/Logout/index.js.map +1 -1
  249. package/dist/elements/Nav/NavToggler/index.js +28 -16
  250. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  251. package/dist/elements/Nav/context.js +16 -10
  252. package/dist/elements/Nav/context.js.map +1 -1
  253. package/dist/elements/NavGroup/index.js +76 -19
  254. package/dist/elements/NavGroup/index.js.map +1 -1
  255. package/dist/elements/NoListResults/index.js +25 -6
  256. package/dist/elements/NoListResults/index.js.map +1 -1
  257. package/dist/elements/PageControls/GroupByPageControls.js +13 -2
  258. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  259. package/dist/elements/PageControls/index.js +73 -14
  260. package/dist/elements/PageControls/index.js.map +1 -1
  261. package/dist/elements/Pagination/ClickableArrow/index.js +17 -3
  262. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  263. package/dist/elements/Pagination/Page/index.js +12 -3
  264. package/dist/elements/Pagination/Page/index.js.map +1 -1
  265. package/dist/elements/Pagination/Separator/index.js +10 -1
  266. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  267. package/dist/elements/Pagination/index.js +30 -9
  268. package/dist/elements/Pagination/index.js.map +1 -1
  269. package/dist/elements/PerPage/index.js +90 -25
  270. package/dist/elements/PerPage/index.js.map +1 -1
  271. package/dist/elements/PermanentlyDeleteButton/index.js +53 -14
  272. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  273. package/dist/elements/Pill/index.js +68 -16
  274. package/dist/elements/Pill/index.js.map +1 -1
  275. package/dist/elements/PillSelector/index.js +63 -21
  276. package/dist/elements/PillSelector/index.js.map +1 -1
  277. package/dist/elements/Popup/PopupButtonList/index.js +50 -18
  278. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  279. package/dist/elements/Popup/PopupDivider/index.js +9 -1
  280. package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
  281. package/dist/elements/Popup/PopupGroupLabel/index.js +10 -1
  282. package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
  283. package/dist/elements/Popup/PopupTrigger/index.js +33 -13
  284. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  285. package/dist/elements/Popup/index.js +102 -40
  286. package/dist/elements/Popup/index.js.map +1 -1
  287. package/dist/elements/PreviewButton/index.js +19 -3
  288. package/dist/elements/PreviewButton/index.js.map +1 -1
  289. package/dist/elements/PreviewSizes/index.js +160 -43
  290. package/dist/elements/PreviewSizes/index.js.map +1 -1
  291. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +96 -24
  292. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  293. package/dist/elements/PublishButton/ScheduleDrawer/index.js +244 -44
  294. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  295. package/dist/elements/PublishButton/index.js +78 -26
  296. package/dist/elements/PublishButton/index.js.map +1 -1
  297. package/dist/elements/PublishMany/DrawerContent.js +16 -3
  298. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  299. package/dist/elements/PublishMany/index.js +43 -9
  300. package/dist/elements/PublishMany/index.js.map +1 -1
  301. package/dist/elements/QueryPresets/QueryPresetBar/index.js +202 -68
  302. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  303. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +75 -28
  304. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  305. package/dist/elements/QueryPresets/cells/AccessCell/index.js +40 -15
  306. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
  307. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +25 -12
  308. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  309. package/dist/elements/QueryPresets/cells/GroupByCell/index.js +21 -5
  310. package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
  311. package/dist/elements/QueryPresets/cells/WhereCell/index.js +9 -1
  312. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
  313. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +40 -11
  314. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  315. package/dist/elements/QueryPresets/fields/GroupByField/index.js +49 -8
  316. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  317. package/dist/elements/QueryPresets/fields/WhereField/index.js +110 -21
  318. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  319. package/dist/elements/ReactSelect/ClearIndicator/index.js +27 -9
  320. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  321. package/dist/elements/ReactSelect/Control/index.js +36 -25
  322. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  323. package/dist/elements/ReactSelect/DropdownIndicator/index.js +24 -7
  324. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  325. package/dist/elements/ReactSelect/Input/index.js +16 -4
  326. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  327. package/dist/elements/ReactSelect/MultiValue/index.js +32 -19
  328. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  329. package/dist/elements/ReactSelect/MultiValueLabel/index.js +22 -7
  330. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  331. package/dist/elements/ReactSelect/MultiValueRemove/index.js +44 -16
  332. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  333. package/dist/elements/ReactSelect/SingleValue/index.js +19 -8
  334. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  335. package/dist/elements/ReactSelect/ValueContainer/index.js +28 -4
  336. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  337. package/dist/elements/ReactSelect/index.js +127 -36
  338. package/dist/elements/ReactSelect/index.js.map +1 -1
  339. package/dist/elements/RelationshipTable/AddNewButton.js +60 -20
  340. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  341. package/dist/elements/RelationshipTable/Pagination.js +19 -3
  342. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  343. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +37 -8
  344. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  345. package/dist/elements/RelationshipTable/index.js +189 -39
  346. package/dist/elements/RelationshipTable/index.js.map +1 -1
  347. package/dist/elements/RenderComponent/index.js +24 -3
  348. package/dist/elements/RenderComponent/index.js.map +1 -1
  349. package/dist/elements/RenderIfInViewport/index.js +10 -3
  350. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  351. package/dist/elements/RenderServerComponent/index.js +16 -2
  352. package/dist/elements/RenderServerComponent/index.js.map +1 -1
  353. package/dist/elements/RenderTitle/index.js +36 -11
  354. package/dist/elements/RenderTitle/index.js.map +1 -1
  355. package/dist/elements/RestoreButton/index.js +80 -19
  356. package/dist/elements/RestoreButton/index.js.map +1 -1
  357. package/dist/elements/RestoreMany/index.js +62 -16
  358. package/dist/elements/RestoreMany/index.js.map +1 -1
  359. package/dist/elements/SaveButton/index.js +15 -4
  360. package/dist/elements/SaveButton/index.js.map +1 -1
  361. package/dist/elements/SaveDraftButton/index.js +19 -6
  362. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  363. package/dist/elements/SearchBar/index.js +35 -8
  364. package/dist/elements/SearchBar/index.js.map +1 -1
  365. package/dist/elements/SearchFilter/index.js +25 -7
  366. package/dist/elements/SearchFilter/index.js.map +1 -1
  367. package/dist/elements/SelectAll/index.js +18 -4
  368. package/dist/elements/SelectAll/index.js.map +1 -1
  369. package/dist/elements/SelectMany/index.js +20 -7
  370. package/dist/elements/SelectMany/index.js.map +1 -1
  371. package/dist/elements/SelectRow/index.js +21 -5
  372. package/dist/elements/SelectRow/index.js.map +1 -1
  373. package/dist/elements/ShimmerEffect/index.js +51 -18
  374. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  375. package/dist/elements/SortColumn/index.js +83 -28
  376. package/dist/elements/SortColumn/index.js.map +1 -1
  377. package/dist/elements/SortComplex/index.js +77 -16
  378. package/dist/elements/SortComplex/index.js.map +1 -1
  379. package/dist/elements/SortHeader/index.js +37 -13
  380. package/dist/elements/SortHeader/index.js.map +1 -1
  381. package/dist/elements/SortRow/index.js +18 -3
  382. package/dist/elements/SortRow/index.js.map +1 -1
  383. package/dist/elements/Status/index.js +99 -20
  384. package/dist/elements/Status/index.js.map +1 -1
  385. package/dist/elements/StayLoggedIn/index.js +15 -2
  386. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  387. package/dist/elements/StepNav/context.js +14 -8
  388. package/dist/elements/StepNav/context.js.map +1 -1
  389. package/dist/elements/StepNav/index.js +139 -36
  390. package/dist/elements/StepNav/index.js.map +1 -1
  391. package/dist/elements/StickyToolbar/index.js +10 -1
  392. package/dist/elements/StickyToolbar/index.js.map +1 -1
  393. package/dist/elements/Table/DefaultCell/fields/Array/index.js +9 -1
  394. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  395. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +9 -1
  396. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  397. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +16 -3
  398. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  399. package/dist/elements/Table/DefaultCell/fields/Code/index.js +17 -3
  400. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  401. package/dist/elements/Table/DefaultCell/fields/Date/index.js +14 -8
  402. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  403. package/dist/elements/Table/DefaultCell/fields/File/index.js +37 -8
  404. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  405. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +16 -3
  406. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  407. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +62 -36
  408. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  409. package/dist/elements/Table/DefaultCell/fields/Select/index.js +9 -1
  410. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  411. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +9 -1
  412. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  413. package/dist/elements/Table/DefaultCell/index.js +76 -20
  414. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  415. package/dist/elements/Table/OrderableRow.js +40 -18
  416. package/dist/elements/Table/OrderableRow.js.map +1 -1
  417. package/dist/elements/Table/OrderableRowDragPreview.js +23 -5
  418. package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
  419. package/dist/elements/Table/OrderableTable.js +120 -37
  420. package/dist/elements/Table/OrderableTable.js.map +1 -1
  421. package/dist/elements/Table/RelationshipProvider/index.js +14 -6
  422. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  423. package/dist/elements/Table/index.js +79 -28
  424. package/dist/elements/Table/index.js.map +1 -1
  425. package/dist/elements/Thumbnail/index.js +69 -18
  426. package/dist/elements/Thumbnail/index.js.map +1 -1
  427. package/dist/elements/ThumbnailCard/index.js +30 -4
  428. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  429. package/dist/elements/TimezonePicker/index.js +38 -8
  430. package/dist/elements/TimezonePicker/index.js.map +1 -1
  431. package/dist/elements/Toasts/fieldErrors.js +33 -8
  432. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  433. package/dist/elements/Tooltip/index.js +56 -21
  434. package/dist/elements/Tooltip/index.js.map +1 -1
  435. package/dist/elements/Translation/index.js +39 -16
  436. package/dist/elements/Translation/index.js.map +1 -1
  437. package/dist/elements/TrashBanner/index.js +25 -8
  438. package/dist/elements/TrashBanner/index.js.map +1 -1
  439. package/dist/elements/UnpublishMany/DrawerContent.js +14 -3
  440. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  441. package/dist/elements/UnpublishMany/index.js +43 -9
  442. package/dist/elements/UnpublishMany/index.js.map +1 -1
  443. package/dist/elements/Upload/index.js +401 -109
  444. package/dist/elements/Upload/index.js.map +1 -1
  445. package/dist/elements/ViewDescription/index.js +10 -2
  446. package/dist/elements/ViewDescription/index.js.map +1 -1
  447. package/dist/elements/WhereBuilder/Condition/Date/index.js +20 -3
  448. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  449. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +72 -6
  450. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  451. package/dist/elements/WhereBuilder/Condition/Number/index.js +28 -1
  452. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  453. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +52 -25
  454. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  455. package/dist/elements/WhereBuilder/Condition/Select/index.js +17 -4
  456. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  457. package/dist/elements/WhereBuilder/Condition/Text/index.js +27 -1
  458. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  459. package/dist/elements/WhereBuilder/Condition/index.js +128 -30
  460. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  461. package/dist/elements/WhereBuilder/index.js +159 -54
  462. package/dist/elements/WhereBuilder/index.js.map +1 -1
  463. package/dist/elements/WithServerSideProps/index.js +9 -1
  464. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  465. package/dist/elements/withMergedProps/index.d.ts +1 -1
  466. package/dist/elements/withMergedProps/index.js +10 -2
  467. package/dist/elements/withMergedProps/index.js.map +1 -1
  468. package/dist/exports/client/index.d.ts +2 -0
  469. package/dist/exports/client/index.d.ts.map +1 -1
  470. package/dist/exports/client/index.js +2 -0
  471. package/dist/exports/client/index.js.map +1 -1
  472. package/dist/fields/Array/ArrayRow.d.ts +18 -7
  473. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  474. package/dist/fields/Array/ArrayRow.js +101 -17
  475. package/dist/fields/Array/ArrayRow.js.map +1 -1
  476. package/dist/fields/Array/index.d.ts.map +1 -1
  477. package/dist/fields/Array/index.js +297 -69
  478. package/dist/fields/Array/index.js.map +1 -1
  479. package/dist/fields/Blocks/BlockRow.js +130 -22
  480. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  481. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +25 -4
  482. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  483. package/dist/fields/Blocks/BlockSelector/index.js +101 -29
  484. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  485. package/dist/fields/Blocks/BlocksDrawer/index.js +23 -8
  486. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  487. package/dist/fields/Blocks/RowActions.js +44 -12
  488. package/dist/fields/Blocks/RowActions.js.map +1 -1
  489. package/dist/fields/Blocks/SectionTitle/index.js +24 -3
  490. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  491. package/dist/fields/Blocks/index.js +326 -83
  492. package/dist/fields/Blocks/index.js.map +1 -1
  493. package/dist/fields/Checkbox/Input.js +83 -21
  494. package/dist/fields/Checkbox/Input.js.map +1 -1
  495. package/dist/fields/Checkbox/index.js +68 -13
  496. package/dist/fields/Checkbox/index.js.map +1 -1
  497. package/dist/fields/Code/index.js +92 -18
  498. package/dist/fields/Code/index.js.map +1 -1
  499. package/dist/fields/Collapsible/index.js +103 -21
  500. package/dist/fields/Collapsible/index.js.map +1 -1
  501. package/dist/fields/ConfirmPassword/index.js +54 -11
  502. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  503. package/dist/fields/DateTime/index.js +102 -19
  504. package/dist/fields/DateTime/index.js.map +1 -1
  505. package/dist/fields/Email/index.js +91 -19
  506. package/dist/fields/Email/index.js.map +1 -1
  507. package/dist/fields/FieldDescription/index.js +15 -8
  508. package/dist/fields/FieldDescription/index.js.map +1 -1
  509. package/dist/fields/FieldError/index.js +13 -3
  510. package/dist/fields/FieldError/index.js.map +1 -1
  511. package/dist/fields/FieldLabel/index.js +32 -7
  512. package/dist/fields/FieldLabel/index.js.map +1 -1
  513. package/dist/fields/Group/index.js +132 -31
  514. package/dist/fields/Group/index.js.map +1 -1
  515. package/dist/fields/Group/provider.js +11 -3
  516. package/dist/fields/Group/provider.js.map +1 -1
  517. package/dist/fields/Hidden/index.js +13 -2
  518. package/dist/fields/Hidden/index.js.map +1 -1
  519. package/dist/fields/JSON/index.js +93 -18
  520. package/dist/fields/JSON/index.js.map +1 -1
  521. package/dist/fields/Join/index.js +88 -20
  522. package/dist/fields/Join/index.js.map +1 -1
  523. package/dist/fields/Number/index.js +134 -36
  524. package/dist/fields/Number/index.js.map +1 -1
  525. package/dist/fields/Password/index.js +29 -4
  526. package/dist/fields/Password/index.js.map +1 -1
  527. package/dist/fields/Password/input.js +105 -21
  528. package/dist/fields/Password/input.js.map +1 -1
  529. package/dist/fields/Point/index.js +157 -33
  530. package/dist/fields/Point/index.js.map +1 -1
  531. package/dist/fields/RadioGroup/Radio/index.js +51 -13
  532. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  533. package/dist/fields/RadioGroup/index.js +124 -42
  534. package/dist/fields/RadioGroup/index.js.map +1 -1
  535. package/dist/fields/Relationship/Input.js +242 -119
  536. package/dist/fields/Relationship/Input.js.map +1 -1
  537. package/dist/fields/Relationship/index.js +44 -11
  538. package/dist/fields/Relationship/index.js.map +1 -1
  539. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +85 -33
  540. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  541. package/dist/fields/Relationship/select-components/SingleValue/index.js +88 -32
  542. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  543. package/dist/fields/Row/index.js +35 -9
  544. package/dist/fields/Row/index.js.map +1 -1
  545. package/dist/fields/Row/provider.js +11 -3
  546. package/dist/fields/Row/provider.js.map +1 -1
  547. package/dist/fields/Select/Input.js +98 -19
  548. package/dist/fields/Select/Input.js.map +1 -1
  549. package/dist/fields/Select/index.js +30 -1
  550. package/dist/fields/Select/index.js.map +1 -1
  551. package/dist/fields/Slug/index.js +58 -13
  552. package/dist/fields/Slug/index.js.map +1 -1
  553. package/dist/fields/Tabs/Tab/index.js +43 -12
  554. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  555. package/dist/fields/Tabs/index.js +117 -31
  556. package/dist/fields/Tabs/index.js.map +1 -1
  557. package/dist/fields/Tabs/provider.js +11 -3
  558. package/dist/fields/Tabs/provider.js.map +1 -1
  559. package/dist/fields/Text/Input.js +129 -31
  560. package/dist/fields/Text/Input.js.map +1 -1
  561. package/dist/fields/Text/index.js +36 -6
  562. package/dist/fields/Text/index.js.map +1 -1
  563. package/dist/fields/Textarea/Input.js +101 -20
  564. package/dist/fields/Textarea/Input.js.map +1 -1
  565. package/dist/fields/Textarea/index.js +29 -4
  566. package/dist/fields/Textarea/index.js.map +1 -1
  567. package/dist/fields/Upload/HasMany/index.js +117 -52
  568. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  569. package/dist/fields/Upload/HasOne/index.js +34 -6
  570. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  571. package/dist/fields/Upload/Input.js +248 -60
  572. package/dist/fields/Upload/Input.js.map +1 -1
  573. package/dist/fields/Upload/RelationshipContent/index.js +112 -23
  574. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  575. package/dist/fields/Upload/UploadCard/index.js +14 -7
  576. package/dist/fields/Upload/UploadCard/index.js.map +1 -1
  577. package/dist/fields/Upload/index.js +39 -3
  578. package/dist/fields/Upload/index.js.map +1 -1
  579. package/dist/forms/Form/index.js +87 -26
  580. package/dist/forms/Form/index.js.map +1 -1
  581. package/dist/forms/NullifyField/index.js +23 -6
  582. package/dist/forms/NullifyField/index.js.map +1 -1
  583. package/dist/forms/RenderFields/RenderField.js +203 -23
  584. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  585. package/dist/forms/RenderFields/index.js +72 -45
  586. package/dist/forms/RenderFields/index.js.map +1 -1
  587. package/dist/forms/RowLabel/Context/index.js +10 -2
  588. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  589. package/dist/forms/RowLabel/index.js +31 -10
  590. package/dist/forms/RowLabel/index.js.map +1 -1
  591. package/dist/forms/Submit/index.js +22 -5
  592. package/dist/forms/Submit/index.js.map +1 -1
  593. package/dist/forms/fieldSchemasToFormState/renderField.js +44 -26
  594. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  595. package/dist/forms/useField/index.js +1 -1
  596. package/dist/forms/useField/index.js.map +1 -1
  597. package/dist/forms/withCondition/index.js +16 -3
  598. package/dist/forms/withCondition/index.js.map +1 -1
  599. package/dist/graphics/Account/Default/index.js +46 -8
  600. package/dist/graphics/Account/Default/index.js.map +1 -1
  601. package/dist/graphics/Account/Gravatar/index.js +16 -3
  602. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  603. package/dist/graphics/Account/index.js +14 -2
  604. package/dist/graphics/Account/index.js.map +1 -1
  605. package/dist/graphics/DefaultBlockImage/index.js +115 -16
  606. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  607. package/dist/graphics/File/index.js +33 -6
  608. package/dist/graphics/File/index.js.map +1 -1
  609. package/dist/graphics/Icon/index.js +31 -4
  610. package/dist/graphics/Icon/index.js.map +1 -1
  611. package/dist/graphics/Logo/index.js +112 -17
  612. package/dist/graphics/Logo/index.js.map +1 -1
  613. package/dist/icons/Calendar/index.js +20 -3
  614. package/dist/icons/Calendar/index.js.map +1 -1
  615. package/dist/icons/Check/index.js +20 -3
  616. package/dist/icons/Check/index.js.map +1 -1
  617. package/dist/icons/Chevron/index.js +30 -9
  618. package/dist/icons/Chevron/index.js.map +1 -1
  619. package/dist/icons/CloseMenu/index.js +20 -3
  620. package/dist/icons/CloseMenu/index.js.map +1 -1
  621. package/dist/icons/CodeBlock/index.js +22 -3
  622. package/dist/icons/CodeBlock/index.js.map +1 -1
  623. package/dist/icons/Copy/index.js +24 -3
  624. package/dist/icons/Copy/index.js.map +1 -1
  625. package/dist/icons/Document/index.js +24 -3
  626. package/dist/icons/Document/index.js.map +1 -1
  627. package/dist/icons/Dots/index.js +32 -10
  628. package/dist/icons/Dots/index.js.map +1 -1
  629. package/dist/icons/DragHandle/index.js +70 -11
  630. package/dist/icons/DragHandle/index.js.map +1 -1
  631. package/dist/icons/Edit/index.js +23 -6
  632. package/dist/icons/Edit/index.js.map +1 -1
  633. package/dist/icons/ExternalLink/index.js +23 -6
  634. package/dist/icons/ExternalLink/index.js.map +1 -1
  635. package/dist/icons/Eye/index.js +53 -12
  636. package/dist/icons/Eye/index.js.map +1 -1
  637. package/dist/icons/Folder/index.js +25 -6
  638. package/dist/icons/Folder/index.js.map +1 -1
  639. package/dist/icons/Gear/index.js +34 -8
  640. package/dist/icons/Gear/index.js.map +1 -1
  641. package/dist/icons/GridView/index.js +56 -6
  642. package/dist/icons/GridView/index.js.map +1 -1
  643. package/dist/icons/Line/index.js +23 -3
  644. package/dist/icons/Line/index.js.map +1 -1
  645. package/dist/icons/Link/index.js +25 -3
  646. package/dist/icons/Link/index.js.map +1 -1
  647. package/dist/icons/ListView/index.js +24 -3
  648. package/dist/icons/ListView/index.js.map +1 -1
  649. package/dist/icons/Lock/index.js +41 -7
  650. package/dist/icons/Lock/index.js.map +1 -1
  651. package/dist/icons/LogOut/index.js +23 -3
  652. package/dist/icons/LogOut/index.js.map +1 -1
  653. package/dist/icons/Menu/index.js +23 -3
  654. package/dist/icons/Menu/index.js.map +1 -1
  655. package/dist/icons/MinimizeMaximize/index.js +27 -3
  656. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  657. package/dist/icons/More/index.js +43 -8
  658. package/dist/icons/More/index.js.map +1 -1
  659. package/dist/icons/MoveFolder/index.js +62 -10
  660. package/dist/icons/MoveFolder/index.js.map +1 -1
  661. package/dist/icons/People/index.js +28 -7
  662. package/dist/icons/People/index.js.map +1 -1
  663. package/dist/icons/Plus/index.js +22 -3
  664. package/dist/icons/Plus/index.js.map +1 -1
  665. package/dist/icons/Search/index.js +21 -3
  666. package/dist/icons/Search/index.js.map +1 -1
  667. package/dist/icons/Sort/index.js +48 -6
  668. package/dist/icons/Sort/index.js.map +1 -1
  669. package/dist/icons/Swap/index.js +20 -3
  670. package/dist/icons/Swap/index.js.map +1 -1
  671. package/dist/icons/ThreeDots/index.js +26 -5
  672. package/dist/icons/ThreeDots/index.js.map +1 -1
  673. package/dist/icons/Trash/index.js +27 -6
  674. package/dist/icons/Trash/index.js.map +1 -1
  675. package/dist/icons/X/index.js +25 -6
  676. package/dist/icons/X/index.js.map +1 -1
  677. package/dist/providers/Actions/index.js +16 -10
  678. package/dist/providers/Actions/index.js.map +1 -1
  679. package/dist/providers/Auth/index.js +22 -16
  680. package/dist/providers/Auth/index.js.map +1 -1
  681. package/dist/providers/ClickOutside/index.js +14 -6
  682. package/dist/providers/ClickOutside/index.js.map +1 -1
  683. package/dist/providers/ClientFunction/index.js +21 -8
  684. package/dist/providers/ClientFunction/index.js.map +1 -1
  685. package/dist/providers/Config/index.js +19 -4
  686. package/dist/providers/Config/index.js.map +1 -1
  687. package/dist/providers/DocumentEvents/index.js +14 -6
  688. package/dist/providers/DocumentEvents/index.js.map +1 -1
  689. package/dist/providers/DocumentInfo/index.js +29 -7
  690. package/dist/providers/DocumentInfo/index.js.map +1 -1
  691. package/dist/providers/DocumentTitle/index.js +13 -5
  692. package/dist/providers/DocumentTitle/index.js.map +1 -1
  693. package/dist/providers/EditDepth/index.js +11 -3
  694. package/dist/providers/EditDepth/index.js.map +1 -1
  695. package/dist/providers/EntityVisibility/index.js +14 -8
  696. package/dist/providers/EntityVisibility/index.js.map +1 -1
  697. package/dist/providers/Folders/index.js +48 -42
  698. package/dist/providers/Folders/index.js.map +1 -1
  699. package/dist/providers/ListQuery/index.js +30 -17
  700. package/dist/providers/ListQuery/index.js.map +1 -1
  701. package/dist/providers/LivePreview/index.js +51 -39
  702. package/dist/providers/LivePreview/index.js.map +1 -1
  703. package/dist/providers/Locale/index.js +21 -10
  704. package/dist/providers/Locale/index.js.map +1 -1
  705. package/dist/providers/Operation/index.js +11 -3
  706. package/dist/providers/Operation/index.js.map +1 -1
  707. package/dist/providers/Params/index.js +11 -3
  708. package/dist/providers/Params/index.js.map +1 -1
  709. package/dist/providers/Preferences/index.js +11 -3
  710. package/dist/providers/Preferences/index.js.map +1 -1
  711. package/dist/providers/Root/index.js +187 -54
  712. package/dist/providers/Root/index.js.map +1 -1
  713. package/dist/providers/RouteCache/index.js +14 -6
  714. package/dist/providers/RouteCache/index.js.map +1 -1
  715. package/dist/providers/RouteTransition/ProgressBar/index.js +25 -11
  716. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  717. package/dist/providers/RouteTransition/index.js +14 -8
  718. package/dist/providers/RouteTransition/index.js.map +1 -1
  719. package/dist/providers/SearchParams/index.js +13 -5
  720. package/dist/providers/SearchParams/index.js.map +1 -1
  721. package/dist/providers/Selection/index.js +11 -3
  722. package/dist/providers/Selection/index.js.map +1 -1
  723. package/dist/providers/ServerFunctions/index.js +21 -15
  724. package/dist/providers/ServerFunctions/index.js.map +1 -1
  725. package/dist/providers/TableColumns/RenderDefaultCell/index.js +16 -4
  726. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  727. package/dist/providers/TableColumns/buildColumnState/index.js +13 -1
  728. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  729. package/dist/providers/TableColumns/buildColumnState/renderCell.js +18 -1
  730. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  731. package/dist/providers/TableColumns/index.js +17 -11
  732. package/dist/providers/TableColumns/index.js.map +1 -1
  733. package/dist/providers/Theme/index.js +15 -7
  734. package/dist/providers/Theme/index.js.map +1 -1
  735. package/dist/providers/ToastContainer/icons/Error.js +33 -4
  736. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  737. package/dist/providers/ToastContainer/icons/Info.js +33 -4
  738. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  739. package/dist/providers/ToastContainer/icons/Success.js +33 -4
  740. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  741. package/dist/providers/ToastContainer/icons/Warning.js +33 -4
  742. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  743. package/dist/providers/ToastContainer/index.js +53 -19
  744. package/dist/providers/ToastContainer/index.js.map +1 -1
  745. package/dist/providers/Translation/index.js +21 -15
  746. package/dist/providers/Translation/index.js.map +1 -1
  747. package/dist/providers/UploadControls/index.js +18 -12
  748. package/dist/providers/UploadControls/index.js.map +1 -1
  749. package/dist/providers/UploadEdits/index.js +15 -9
  750. package/dist/providers/UploadEdits/index.js.map +1 -1
  751. package/dist/providers/UploadHandlers/index.js +13 -5
  752. package/dist/providers/UploadHandlers/index.js.map +1 -1
  753. package/dist/utilities/combineFieldLabel.js +51 -13
  754. package/dist/utilities/combineFieldLabel.js.map +1 -1
  755. package/dist/utilities/getFolderResultsComponentAndData.js +39 -10
  756. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
  757. package/dist/utilities/renderTable.js +113 -23
  758. package/dist/utilities/renderTable.js.map +1 -1
  759. package/dist/views/BrowseByFolder/index.js +273 -74
  760. package/dist/views/BrowseByFolder/index.js.map +1 -1
  761. package/dist/views/CollectionFolder/ListSelection/index.js +130 -44
  762. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  763. package/dist/views/CollectionFolder/index.js +268 -84
  764. package/dist/views/CollectionFolder/index.js.map +1 -1
  765. package/dist/views/Edit/Auth/APIKey.js +103 -23
  766. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  767. package/dist/views/Edit/Auth/index.js +165 -48
  768. package/dist/views/Edit/Auth/index.js.map +1 -1
  769. package/dist/views/Edit/index.js +272 -85
  770. package/dist/views/Edit/index.js.map +1 -1
  771. package/dist/views/List/GroupByHeader/index.js +34 -10
  772. package/dist/views/List/GroupByHeader/index.js.map +1 -1
  773. package/dist/views/List/ListHeader/index.js +103 -18
  774. package/dist/views/List/ListHeader/index.js.map +1 -1
  775. package/dist/views/List/ListSelection/index.js +93 -20
  776. package/dist/views/List/ListSelection/index.js.map +1 -1
  777. package/dist/views/List/index.js +243 -58
  778. package/dist/views/List/index.js.map +1 -1
  779. package/package.json +4 -4
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
2
3
  import { dequal } from 'dequal/lite';
3
4
  // lite: no need for Map and Set support
4
5
  import { useRouter } from 'next/navigation.js';
@@ -370,7 +371,13 @@ export const Form = (props)=>{
370
371
  errors: fieldErrors
371
372
  });
372
373
  nonFieldErrors.forEach((err)=>{
373
- errorToast(<FieldErrorsToast errorMessage={err.message || t('error:unknown')}/>);
374
+ errorToast(/*#__PURE__*/ _jsxDEV(FieldErrorsToast, {
375
+ errorMessage: err.message || t('error:unknown')
376
+ }, void 0, false, {
377
+ fileName: "src/forms/Form/index.tsx",
378
+ lineNumber: 511,
379
+ columnNumber: 26
380
+ }, this));
374
381
  });
375
382
  return;
376
383
  }
@@ -701,31 +708,85 @@ export const Form = (props)=>{
701
708
  value: contextRef.current
702
709
  } : {};
703
710
  const El = el || 'form';
704
- return <El action={typeof action === 'function' ? void action : action} className={classes} method={method} noValidate onSubmit={(e)=>void contextRef.current.submit({}, e)} ref={formRef}>
705
- <DocumentFormContextComponent {...documentFormContextProps}>
706
- <FormContext value={contextRef.current}>
707
- <FormWatchContext value={{
708
- fields: formState,
709
- ...contextRef.current
710
- }}>
711
- <SubmittedContext value={submitted}>
712
- <InitializingContext value={!isMounted || isMounted && initializing}>
713
- <ProcessingContext value={processing}>
714
- <BackgroundProcessingContext value={backgroundProcessing}>
715
- <ModifiedContext value={modified}>
716
- {}
717
- <FormFieldsContext.Provider value={fieldsReducer}>
718
- {children}
719
- </FormFieldsContext.Provider>
720
- </ModifiedContext>
721
- </BackgroundProcessingContext>
722
- </ProcessingContext>
723
- </InitializingContext>
724
- </SubmittedContext>
725
- </FormWatchContext>
726
- </FormContext>
727
- </DocumentFormContextComponent>
728
- </El>;
711
+ return /*#__PURE__*/ _jsxDEV(El, {
712
+ action: typeof action === 'function' ? void action : action,
713
+ className: classes,
714
+ method: method,
715
+ noValidate: true,
716
+ onSubmit: (e)=>void contextRef.current.submit({}, e),
717
+ ref: formRef,
718
+ children: /*#__PURE__*/ _jsxDEV(DocumentFormContextComponent, {
719
+ ...documentFormContextProps,
720
+ children: /*#__PURE__*/ _jsxDEV(FormContext, {
721
+ value: contextRef.current,
722
+ children: /*#__PURE__*/ _jsxDEV(FormWatchContext, {
723
+ value: {
724
+ fields: formState,
725
+ ...contextRef.current
726
+ },
727
+ children: /*#__PURE__*/ _jsxDEV(SubmittedContext, {
728
+ value: submitted,
729
+ children: /*#__PURE__*/ _jsxDEV(InitializingContext, {
730
+ value: !isMounted || isMounted && initializing,
731
+ children: /*#__PURE__*/ _jsxDEV(ProcessingContext, {
732
+ value: processing,
733
+ children: /*#__PURE__*/ _jsxDEV(BackgroundProcessingContext, {
734
+ value: backgroundProcessing,
735
+ children: /*#__PURE__*/ _jsxDEV(ModifiedContext, {
736
+ value: modified,
737
+ children: /* eslint-disable-next-line @eslint-react/no-context-provider */ /*#__PURE__*/ _jsxDEV(FormFieldsContext.Provider, {
738
+ value: fieldsReducer,
739
+ children: children
740
+ }, void 0, false, {
741
+ fileName: "src/forms/Form/index.tsx",
742
+ lineNumber: 898,
743
+ columnNumber: 23
744
+ }, this)
745
+ }, void 0, false, {
746
+ fileName: "src/forms/Form/index.tsx",
747
+ lineNumber: 896,
748
+ columnNumber: 21
749
+ }, this)
750
+ }, void 0, false, {
751
+ fileName: "src/forms/Form/index.tsx",
752
+ lineNumber: 895,
753
+ columnNumber: 19
754
+ }, this)
755
+ }, void 0, false, {
756
+ fileName: "src/forms/Form/index.tsx",
757
+ lineNumber: 894,
758
+ columnNumber: 17
759
+ }, this)
760
+ }, void 0, false, {
761
+ fileName: "src/forms/Form/index.tsx",
762
+ lineNumber: 893,
763
+ columnNumber: 15
764
+ }, this)
765
+ }, void 0, false, {
766
+ fileName: "src/forms/Form/index.tsx",
767
+ lineNumber: 892,
768
+ columnNumber: 13
769
+ }, this)
770
+ }, void 0, false, {
771
+ fileName: "src/forms/Form/index.tsx",
772
+ lineNumber: 886,
773
+ columnNumber: 11
774
+ }, this)
775
+ }, void 0, false, {
776
+ fileName: "src/forms/Form/index.tsx",
777
+ lineNumber: 885,
778
+ columnNumber: 9
779
+ }, this)
780
+ }, void 0, false, {
781
+ fileName: "src/forms/Form/index.tsx",
782
+ lineNumber: 884,
783
+ columnNumber: 7
784
+ }, this)
785
+ }, void 0, false, {
786
+ fileName: "src/forms/Form/index.tsx",
787
+ lineNumber: 876,
788
+ columnNumber: 5
789
+ }, this);
729
790
  };
730
791
  export { DocumentFormContext, FormContext, FormFieldsContext, FormWatchContext, ModifiedContext, ProcessingContext, SubmittedContext, useAllFormFields, useDocumentForm, useForm, useFormFields, useFormModified, useFormProcessing, useFormSubmitted, useWatchForm } from './context.js';
731
792
 
@@ -1 +1 @@
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
+ {"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,4 +1,5 @@
1
1
  'use client';
2
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
2
3
  import * as React from 'react';
3
4
  import { Banner } from '../../elements/Banner/index.js';
4
5
  import { CheckboxField } from '../../fields/Checkbox/index.js';
@@ -48,12 +49,28 @@ export const NullifyLocaleField = ({ fieldValue, localized, path, readOnly = fal
48
49
  return null;
49
50
  }
50
51
  }
51
- return <Banner className={baseClass}>
52
- {!fieldValue && readOnly ? t('general:fallbackToDefaultLocale') : <CheckboxField checked={checked} field={{
53
- name: '',
54
- label: t('general:fallbackToDefaultLocale')
55
- }} id={`field-${path.replace(/\./g, '__')}`} onChange={onChange} path={path} schemaPath=""/>}
56
- </Banner>;
52
+ return /*#__PURE__*/ _jsxDEV(Banner, {
53
+ className: baseClass,
54
+ children: !fieldValue && readOnly ? t('general:fallbackToDefaultLocale') : /*#__PURE__*/ _jsxDEV(CheckboxField, {
55
+ checked: checked,
56
+ field: {
57
+ name: '',
58
+ label: t('general:fallbackToDefaultLocale')
59
+ },
60
+ id: `field-${path.replace(/\./g, '__')}`,
61
+ onChange: onChange,
62
+ path: path,
63
+ schemaPath: ""
64
+ }, void 0, false, {
65
+ fileName: "src/forms/NullifyField/index.tsx",
66
+ lineNumber: 80,
67
+ columnNumber: 9
68
+ }, this)
69
+ }, void 0, false, {
70
+ fileName: "src/forms/NullifyField/index.tsx",
71
+ lineNumber: 76,
72
+ columnNumber: 5
73
+ }, this);
57
74
  };
58
75
 
59
76
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/NullifyField/index.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { CheckboxField } from '../../fields/Checkbox/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useForm } from '../Form/context.js'\nimport './index.scss'\n\nconst baseClass = 'nullify-locale-field'\n\ntype NullifyLocaleFieldProps = {\n readonly fieldValue?: [] | null | number\n readonly localized: boolean\n readonly path: string\n readonly readOnly?: boolean\n}\n\nexport const NullifyLocaleField: React.FC<NullifyLocaleFieldProps> = ({\n fieldValue,\n localized,\n path,\n readOnly = false,\n}) => {\n const { code: currentLocale } = useLocale()\n const {\n config: { localization },\n } = useConfig()\n const [checked, setChecked] = React.useState<boolean>(typeof fieldValue !== 'number')\n const { t } = useTranslation()\n const { dispatchFields, setModified } = useForm()\n\n if (!localized || !localization) {\n // hide when field is not localized or localization is not enabled\n return null\n }\n\n if (localization.defaultLocale === currentLocale || !localization.fallback) {\n // if editing default locale or when fallback is disabled\n return null\n }\n\n const onChange = () => {\n const useFallback = !checked\n\n dispatchFields({\n type: 'UPDATE',\n path,\n value: useFallback ? null : fieldValue || 0,\n })\n setModified(true)\n setChecked(useFallback)\n }\n\n if (fieldValue) {\n let hideCheckbox = false\n if (typeof fieldValue === 'number' && fieldValue > 0) {\n hideCheckbox = true\n }\n if (Array.isArray(fieldValue) && fieldValue.length > 0) {\n hideCheckbox = true\n }\n\n if (hideCheckbox) {\n if (checked) {\n setChecked(false)\n } // uncheck when field has value\n return null\n }\n }\n\n return (\n <Banner className={baseClass}>\n {!fieldValue && readOnly ? (\n t('general:fallbackToDefaultLocale')\n ) : (\n <CheckboxField\n checked={checked}\n field={{\n name: '',\n label: t('general:fallbackToDefaultLocale'),\n }}\n id={`field-${path.replace(/\\./g, '__')}`}\n onChange={onChange}\n path={path}\n schemaPath=\"\"\n />\n )}\n </Banner>\n )\n}\n"],"names":["React","Banner","CheckboxField","useConfig","useLocale","useTranslation","useForm","baseClass","NullifyLocaleField","fieldValue","localized","path","readOnly","code","currentLocale","config","localization","checked","setChecked","useState","t","dispatchFields","setModified","defaultLocale","fallback","onChange","useFallback","type","value","hideCheckbox","Array","isArray","length","className","field","name","label","id","replace","schemaPath"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAO;AAE9B,SAASC,MAAM,QAAQ,iCAAgC;AACvD,SAASC,aAAa,QAAQ,iCAAgC;AAC9D,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,OAAO,QAAQ,qBAAoB;AAC5C,OAAO,eAAc;AAErB,MAAMC,YAAY;AASlB,OAAO,MAAMC,qBAAwD,CAAC,EACpEC,UAAU,EACVC,SAAS,EACTC,IAAI,EACJC,WAAW,KAAK,EACjB;IACC,MAAM,EAAEC,MAAMC,aAAa,EAAE,GAAGV;IAChC,MAAM,EACJW,QAAQ,EAAEC,YAAY,EAAE,EACzB,GAAGb;IACJ,MAAM,CAACc,SAASC,WAAW,GAAGlB,MAAMmB,QAAQ,CAAU,OAAOV,eAAe;IAC5E,MAAM,EAAEW,CAAC,EAAE,GAAGf;IACd,MAAM,EAAEgB,cAAc,EAAEC,WAAW,EAAE,GAAGhB;IAExC,IAAI,CAACI,aAAa,CAACM,cAAc;QAC/B,kEAAkE;QAClE,OAAO;IACT;IAEA,IAAIA,aAAaO,aAAa,KAAKT,iBAAiB,CAACE,aAAaQ,QAAQ,EAAE;QAC1E,yDAAyD;QACzD,OAAO;IACT;IAEA,MAAMC,WAAW;QACf,MAAMC,cAAc,CAACT;QAErBI,eAAe;YACbM,MAAM;YACNhB;YACAiB,OAAOF,cAAc,OAAOjB,cAAc;QAC5C;QACAa,YAAY;QACZJ,WAAWQ;IACb;IAEA,IAAIjB,YAAY;QACd,IAAIoB,eAAe;QACnB,IAAI,OAAOpB,eAAe,YAAYA,aAAa,GAAG;YACpDoB,eAAe;QACjB;QACA,IAAIC,MAAMC,OAAO,CAACtB,eAAeA,WAAWuB,MAAM,GAAG,GAAG;YACtDH,eAAe;QACjB;QAEA,IAAIA,cAAc;YAChB,IAAIZ,SAAS;gBACXC,WAAW;YACb;YAAE,+BAA+B;YACjC,OAAO;QACT;IACF;IAEA,QACGjB,OAAOgC,WAAW1B,WAAW;MAC5B,CAAC,CAACE,cAAcG,WACdQ,EAAE,sCAEDlB,cACCe,SAASA,SACTiB,OAAO;QACLC,MAAM;QACNC,OAAOhB,EAAE;IACX,GACAiB,IAAI,CAAC,MAAM,EAAE1B,KAAK2B,OAAO,CAAC,OAAO,OAAO,EACxCb,UAAUA,UACVd,MAAMA,MACN4B,WAAW,KAEb;IACJ,EAAEtC;AAEN,EAAC"}
1
+ {"version":3,"sources":["../../../src/forms/NullifyField/index.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { CheckboxField } from '../../fields/Checkbox/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useForm } from '../Form/context.js'\nimport './index.scss'\n\nconst baseClass = 'nullify-locale-field'\n\ntype NullifyLocaleFieldProps = {\n readonly fieldValue?: [] | null | number\n readonly localized: boolean\n readonly path: string\n readonly readOnly?: boolean\n}\n\nexport const NullifyLocaleField: React.FC<NullifyLocaleFieldProps> = ({\n fieldValue,\n localized,\n path,\n readOnly = false,\n}) => {\n const { code: currentLocale } = useLocale()\n const {\n config: { localization },\n } = useConfig()\n const [checked, setChecked] = React.useState<boolean>(typeof fieldValue !== 'number')\n const { t } = useTranslation()\n const { dispatchFields, setModified } = useForm()\n\n if (!localized || !localization) {\n // hide when field is not localized or localization is not enabled\n return null\n }\n\n if (localization.defaultLocale === currentLocale || !localization.fallback) {\n // if editing default locale or when fallback is disabled\n return null\n }\n\n const onChange = () => {\n const useFallback = !checked\n\n dispatchFields({\n type: 'UPDATE',\n path,\n value: useFallback ? null : fieldValue || 0,\n })\n setModified(true)\n setChecked(useFallback)\n }\n\n if (fieldValue) {\n let hideCheckbox = false\n if (typeof fieldValue === 'number' && fieldValue > 0) {\n hideCheckbox = true\n }\n if (Array.isArray(fieldValue) && fieldValue.length > 0) {\n hideCheckbox = true\n }\n\n if (hideCheckbox) {\n if (checked) {\n setChecked(false)\n } // uncheck when field has value\n return null\n }\n }\n\n return (\n <Banner className={baseClass}>\n {!fieldValue && readOnly ? (\n t('general:fallbackToDefaultLocale')\n ) : (\n <CheckboxField\n checked={checked}\n field={{\n name: '',\n label: t('general:fallbackToDefaultLocale'),\n }}\n id={`field-${path.replace(/\\./g, '__')}`}\n onChange={onChange}\n path={path}\n schemaPath=\"\"\n />\n )}\n </Banner>\n )\n}\n"],"names":["React","Banner","CheckboxField","useConfig","useLocale","useTranslation","useForm","baseClass","NullifyLocaleField","fieldValue","localized","path","readOnly","code","currentLocale","config","localization","checked","setChecked","useState","t","dispatchFields","setModified","defaultLocale","fallback","onChange","useFallback","type","value","hideCheckbox","Array","isArray","length","className","field","name","label","id","replace","schemaPath"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAO;AAE9B,SAASC,MAAM,QAAQ,iCAAgC;AACvD,SAASC,aAAa,QAAQ,iCAAgC;AAC9D,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,OAAO,QAAQ,qBAAoB;AAC5C,OAAO,eAAc;AAErB,MAAMC,YAAY;AASlB,OAAO,MAAMC,qBAAwD,CAAC,EACpEC,UAAU,EACVC,SAAS,EACTC,IAAI,EACJC,WAAW,KAAK,EACjB;IACC,MAAM,EAAEC,MAAMC,aAAa,EAAE,GAAGV;IAChC,MAAM,EACJW,QAAQ,EAAEC,YAAY,EAAE,EACzB,GAAGb;IACJ,MAAM,CAACc,SAASC,WAAW,GAAGlB,MAAMmB,QAAQ,CAAU,OAAOV,eAAe;IAC5E,MAAM,EAAEW,CAAC,EAAE,GAAGf;IACd,MAAM,EAAEgB,cAAc,EAAEC,WAAW,EAAE,GAAGhB;IAExC,IAAI,CAACI,aAAa,CAACM,cAAc;QAC/B,kEAAkE;QAClE,OAAO;IACT;IAEA,IAAIA,aAAaO,aAAa,KAAKT,iBAAiB,CAACE,aAAaQ,QAAQ,EAAE;QAC1E,yDAAyD;QACzD,OAAO;IACT;IAEA,MAAMC,WAAW;QACf,MAAMC,cAAc,CAACT;QAErBI,eAAe;YACbM,MAAM;YACNhB;YACAiB,OAAOF,cAAc,OAAOjB,cAAc;QAC5C;QACAa,YAAY;QACZJ,WAAWQ;IACb;IAEA,IAAIjB,YAAY;QACd,IAAIoB,eAAe;QACnB,IAAI,OAAOpB,eAAe,YAAYA,aAAa,GAAG;YACpDoB,eAAe;QACjB;QACA,IAAIC,MAAMC,OAAO,CAACtB,eAAeA,WAAWuB,MAAM,GAAG,GAAG;YACtDH,eAAe;QACjB;QAEA,IAAIA,cAAc;YAChB,IAAIZ,SAAS;gBACXC,WAAW;YACb;YAAE,+BAA+B;YACjC,OAAO;QACT;IACF;IAEA,qBACE,QAACjB;QAAOgC,WAAW1B;kBAChB,CAACE,cAAcG,WACdQ,EAAE,mDAEF,QAAClB;YACCe,SAASA;YACTiB,OAAO;gBACLC,MAAM;gBACNC,OAAOhB,EAAE;YACX;YACAiB,IAAI,CAAC,MAAM,EAAE1B,KAAK2B,OAAO,CAAC,OAAO,OAAO;YACxCb,UAAUA;YACVd,MAAMA;YACN4B,YAAW;;;;;;;;;;;AAKrB,EAAC"}