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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1199) hide show
  1. package/dist/@types/assets.d.js.map +1 -1
  2. package/dist/assets/index.js +1 -0
  3. package/dist/assets/index.js.map +1 -1
  4. package/dist/elements/AddNewRelation/index.js +218 -273
  5. package/dist/elements/AddNewRelation/index.js.map +1 -1
  6. package/dist/elements/AddNewRelation/types.js +2 -1
  7. package/dist/elements/AddNewRelation/types.js.map +1 -1
  8. package/dist/elements/AnimateHeight/index.js +84 -73
  9. package/dist/elements/AnimateHeight/index.js.map +1 -1
  10. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +71 -68
  11. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
  12. package/dist/elements/AppHeader/index.js +171 -101
  13. package/dist/elements/AppHeader/index.js.map +1 -1
  14. package/dist/elements/ArrayAction/index.js +186 -118
  15. package/dist/elements/ArrayAction/index.js.map +1 -1
  16. package/dist/elements/Autosave/index.js +162 -181
  17. package/dist/elements/Autosave/index.js.map +1 -1
  18. package/dist/elements/Banner/index.js +52 -32
  19. package/dist/elements/Banner/index.js.map +1 -1
  20. package/dist/elements/BulkUpload/ActionsBar/index.js +169 -173
  21. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  22. package/dist/elements/BulkUpload/AddFilesView/index.js +84 -51
  23. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/AddingFilesView/index.js +85 -94
  25. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  26. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +30 -56
  27. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +19 -27
  29. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/EditForm/index.js +179 -169
  31. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  32. package/dist/elements/BulkUpload/EditForm/types.js +2 -1
  33. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  34. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +221 -172
  35. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  36. package/dist/elements/BulkUpload/EditMany/index.js +56 -57
  37. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  38. package/dist/elements/BulkUpload/FileSidebar/index.js +395 -316
  39. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  40. package/dist/elements/BulkUpload/FormsManager/createFormData.js +33 -32
  41. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  42. package/dist/elements/BulkUpload/FormsManager/index.js +503 -473
  43. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  44. package/dist/elements/BulkUpload/FormsManager/reducer.js +100 -90
  45. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  46. package/dist/elements/BulkUpload/Header/index.js +27 -15
  47. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  48. package/dist/elements/BulkUpload/index.js +204 -271
  49. package/dist/elements/BulkUpload/index.js.map +1 -1
  50. package/dist/elements/Button/index.js +227 -160
  51. package/dist/elements/Button/index.js.map +1 -1
  52. package/dist/elements/Button/types.js +14 -1
  53. package/dist/elements/Button/types.js.map +1 -1
  54. package/dist/elements/Card/index.js +53 -33
  55. package/dist/elements/Card/index.js.map +1 -1
  56. package/dist/elements/CheckboxPopup/index.js +43 -36
  57. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  58. package/dist/elements/ClipboardAction/ClipboardActionLabel.js +29 -35
  59. package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
  60. package/dist/elements/ClipboardAction/clipboardUtilities.js +33 -43
  61. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  62. package/dist/elements/ClipboardAction/index.js +110 -83
  63. package/dist/elements/ClipboardAction/index.js.map +1 -1
  64. package/dist/elements/ClipboardAction/isClipboardDataValid.js +64 -71
  65. package/dist/elements/ClipboardAction/isClipboardDataValid.js.map +1 -1
  66. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +75 -93
  67. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  68. package/dist/elements/ClipboardAction/types.js +2 -1
  69. package/dist/elements/ClipboardAction/types.js.map +1 -1
  70. package/dist/elements/CloseModalButton/index.js +25 -20
  71. package/dist/elements/CloseModalButton/index.js.map +1 -1
  72. package/dist/elements/CloseModalOnRouteChange/index.js +17 -43
  73. package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
  74. package/dist/elements/CodeEditor/CodeEditor.js +82 -97
  75. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  76. package/dist/elements/CodeEditor/constants.js +15 -14
  77. package/dist/elements/CodeEditor/constants.js.map +1 -1
  78. package/dist/elements/CodeEditor/index.js +22 -10
  79. package/dist/elements/CodeEditor/index.js.map +1 -1
  80. package/dist/elements/CodeEditor/types.js +4 -1
  81. package/dist/elements/CodeEditor/types.js.map +1 -1
  82. package/dist/elements/Collapsible/index.js +151 -141
  83. package/dist/elements/Collapsible/index.js.map +1 -1
  84. package/dist/elements/Collapsible/provider.js +32 -30
  85. package/dist/elements/Collapsible/provider.js.map +1 -1
  86. package/dist/elements/ColumnSelector/index.js +54 -54
  87. package/dist/elements/ColumnSelector/index.js.map +1 -1
  88. package/dist/elements/Combobox/index.js +114 -84
  89. package/dist/elements/Combobox/index.js.map +1 -1
  90. package/dist/elements/ConfirmationModal/index.js +116 -129
  91. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  92. package/dist/elements/CopyLocaleData/index.js +213 -272
  93. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  94. package/dist/elements/CopyToClipboard/index.js +47 -70
  95. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  96. package/dist/elements/DatePicker/DatePicker.js +130 -136
  97. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  98. package/dist/elements/DatePicker/getFormattedLocale.js +11 -10
  99. package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
  100. package/dist/elements/DatePicker/index.js +23 -11
  101. package/dist/elements/DatePicker/index.js.map +1 -1
  102. package/dist/elements/DatePicker/types.js +2 -1
  103. package/dist/elements/DatePicker/types.js.map +1 -1
  104. package/dist/elements/DefaultListViewTabs/index.js +97 -131
  105. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  106. package/dist/elements/DeleteDocument/index.js +170 -141
  107. package/dist/elements/DeleteDocument/index.js.map +1 -1
  108. package/dist/elements/DeleteMany/index.js +371 -332
  109. package/dist/elements/DeleteMany/index.js.map +1 -1
  110. package/dist/elements/DocumentControls/index.js +494 -274
  111. package/dist/elements/DocumentControls/index.js.map +1 -1
  112. package/dist/elements/DocumentDrawer/DrawerContent.js +141 -122
  113. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  114. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +96 -103
  115. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  116. package/dist/elements/DocumentDrawer/Provider.js +24 -18
  117. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  118. package/dist/elements/DocumentDrawer/index.js +134 -210
  119. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  120. package/dist/elements/DocumentDrawer/types.js +12 -1
  121. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  122. package/dist/elements/DocumentFields/index.js +106 -69
  123. package/dist/elements/DocumentFields/index.js.map +1 -1
  124. package/dist/elements/DocumentLocked/index.js +154 -179
  125. package/dist/elements/DocumentLocked/index.js.map +1 -1
  126. package/dist/elements/DocumentTakeOver/index.js +97 -113
  127. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  128. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +26 -60
  129. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  130. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +2 -1
  131. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  132. package/dist/elements/DraggableSortable/index.js +72 -124
  133. package/dist/elements/DraggableSortable/index.js.map +1 -1
  134. package/dist/elements/DraggableSortable/types.js +2 -1
  135. package/dist/elements/DraggableSortable/types.js.map +1 -1
  136. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +25 -85
  137. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  138. package/dist/elements/DraggableSortable/useDraggableSortable/types.js +2 -1
  139. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  140. package/dist/elements/Drawer/index.js +166 -192
  141. package/dist/elements/Drawer/index.js.map +1 -1
  142. package/dist/elements/Drawer/types.js +2 -1
  143. package/dist/elements/Drawer/types.js.map +1 -1
  144. package/dist/elements/Drawer/useDrawerSlug.js +7 -19
  145. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  146. package/dist/elements/DrawerActionHeader/index.js +59 -61
  147. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  148. package/dist/elements/DrawerContentContainer/index.js +14 -9
  149. package/dist/elements/DrawerContentContainer/index.js.map +1 -1
  150. package/dist/elements/Dropzone/index.js +90 -75
  151. package/dist/elements/Dropzone/index.js.map +1 -1
  152. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +145 -87
  153. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  154. package/dist/elements/DuplicateDocument/index.js +155 -145
  155. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  156. package/dist/elements/EditMany/DrawerContent.js +398 -392
  157. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  158. package/dist/elements/EditMany/index.js +79 -131
  159. package/dist/elements/EditMany/index.js.map +1 -1
  160. package/dist/elements/EditUpload/index.js +572 -395
  161. package/dist/elements/EditUpload/index.js.map +1 -1
  162. package/dist/elements/EmailAndUsername/index.js +96 -77
  163. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  164. package/dist/elements/ErrorPill/index.js +38 -24
  165. package/dist/elements/ErrorPill/index.js.map +1 -1
  166. package/dist/elements/FieldDiffContainer/index.js +50 -34
  167. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  168. package/dist/elements/FieldDiffLabel/index.js +10 -7
  169. package/dist/elements/FieldDiffLabel/index.js.map +1 -1
  170. package/dist/elements/FieldSelect/index.js +45 -75
  171. package/dist/elements/FieldSelect/index.js.map +1 -1
  172. package/dist/elements/FieldSelect/reduceFieldOptions.js +69 -67
  173. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  174. package/dist/elements/FileDetails/DraggableFileDetails/index.js +113 -105
  175. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  176. package/dist/elements/FileDetails/FileMeta/index.js +72 -33
  177. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  178. package/dist/elements/FileDetails/StaticFileDetails/index.js +76 -58
  179. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  180. package/dist/elements/FileDetails/index.js +20 -14
  181. package/dist/elements/FileDetails/index.js.map +1 -1
  182. package/dist/elements/FolderView/Breadcrumbs/index.js +59 -86
  183. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
  184. package/dist/elements/FolderView/BrowseByFolderButton/index.js +30 -30
  185. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
  186. package/dist/elements/FolderView/Cell/index.client.js +88 -87
  187. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  188. package/dist/elements/FolderView/Cell/index.server.js +19 -14
  189. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  190. package/dist/elements/FolderView/ColoredFolderIcon/index.js +9 -4
  191. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
  192. package/dist/elements/FolderView/CurrentFolderActions/index.js +174 -138
  193. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  194. package/dist/elements/FolderView/DragOverlaySelection/index.js +70 -51
  195. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
  196. package/dist/elements/FolderView/DraggableTableRow/index.js +71 -54
  197. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
  198. package/dist/elements/FolderView/DraggableWithClick/index.js +75 -79
  199. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
  200. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +35 -33
  201. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
  202. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +497 -565
  203. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  204. package/dist/elements/FolderView/FilterFolderTypePill/index.js +61 -89
  205. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
  206. package/dist/elements/FolderView/FolderField/index.server.js +15 -10
  207. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
  208. package/dist/elements/FolderView/FolderFileCard/index.js +218 -188
  209. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  210. package/dist/elements/FolderView/FolderFileTable/index.js +203 -264
  211. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
  212. package/dist/elements/FolderView/FolderTypeField/index.js +93 -114
  213. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
  214. package/dist/elements/FolderView/ItemCardGrid/index.js +35 -27
  215. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
  216. package/dist/elements/FolderView/MoveDocToFolder/index.js +142 -264
  217. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  218. package/dist/elements/FolderView/SimpleTable/index.js +105 -83
  219. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
  220. package/dist/elements/FolderView/SortByPill/index.js +162 -100
  221. package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
  222. package/dist/elements/FolderView/ToggleViewButtons/index.js +47 -24
  223. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
  224. package/dist/elements/FullscreenModal/index.js +16 -22
  225. package/dist/elements/FullscreenModal/index.js.map +1 -1
  226. package/dist/elements/GenerateConfirmation/index.js +63 -83
  227. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  228. package/dist/elements/GroupByBuilder/index.js +142 -100
  229. package/dist/elements/GroupByBuilder/index.js.map +1 -1
  230. package/dist/elements/Gutter/index.js +22 -19
  231. package/dist/elements/Gutter/index.js.map +1 -1
  232. package/dist/elements/HTMLDiff/diff/index.js +522 -500
  233. package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
  234. package/dist/elements/HTMLDiff/index.js +31 -26
  235. package/dist/elements/HTMLDiff/index.js.map +1 -1
  236. package/dist/elements/Hamburger/index.js +51 -40
  237. package/dist/elements/Hamburger/index.js.map +1 -1
  238. package/dist/elements/HydrateAuthProvider/index.js +15 -27
  239. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  240. package/dist/elements/IDLabel/index.js +31 -57
  241. package/dist/elements/IDLabel/index.js.map +1 -1
  242. package/dist/elements/ItemsDrawer/ItemSearch/index.js +43 -48
  243. package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -1
  244. package/dist/elements/ItemsDrawer/index.js +219 -168
  245. package/dist/elements/ItemsDrawer/index.js.map +1 -1
  246. package/dist/elements/LeaveWithoutSaving/index.js +73 -142
  247. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  248. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +113 -129
  249. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  250. package/dist/elements/Link/formatUrl.js +53 -56
  251. package/dist/elements/Link/formatUrl.js.map +1 -1
  252. package/dist/elements/Link/index.js +50 -54
  253. package/dist/elements/Link/index.js.map +1 -1
  254. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +17 -17
  255. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  256. package/dist/elements/ListControls/index.js +253 -168
  257. package/dist/elements/ListControls/index.js.map +1 -1
  258. package/dist/elements/ListControls/types.js +8 -1
  259. package/dist/elements/ListControls/types.js.map +1 -1
  260. package/dist/elements/ListDrawer/DrawerContent.js +183 -168
  261. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  262. package/dist/elements/ListDrawer/Provider.js +28 -19
  263. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  264. package/dist/elements/ListDrawer/index.js +149 -229
  265. package/dist/elements/ListDrawer/index.js.map +1 -1
  266. package/dist/elements/ListDrawer/types.js +6 -1
  267. package/dist/elements/ListDrawer/types.js.map +1 -1
  268. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +43 -84
  269. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  270. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +23 -33
  271. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  272. package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
  273. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
  274. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +49 -73
  275. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  276. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +22 -40
  277. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
  278. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +130 -162
  279. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  280. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +169 -148
  281. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  282. package/dist/elements/ListHeader/TitleActions/index.js +1 -0
  283. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  284. package/dist/elements/ListHeader/index.js +65 -24
  285. package/dist/elements/ListHeader/index.js.map +1 -1
  286. package/dist/elements/ListSelection/index.js +93 -58
  287. package/dist/elements/ListSelection/index.js.map +1 -1
  288. package/dist/elements/LivePreview/Device/index.js +83 -83
  289. package/dist/elements/LivePreview/Device/index.js.map +1 -1
  290. package/dist/elements/LivePreview/DeviceContainer/index.js +29 -49
  291. package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
  292. package/dist/elements/LivePreview/IFrame/index.js +20 -44
  293. package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
  294. package/dist/elements/LivePreview/Toggler/index.js +32 -26
  295. package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
  296. package/dist/elements/LivePreview/Toolbar/Controls/index.js +210 -141
  297. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  298. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +62 -92
  299. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  300. package/dist/elements/LivePreview/Toolbar/index.js +84 -84
  301. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  302. package/dist/elements/LivePreview/ToolbarArea/index.js +15 -33
  303. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  304. package/dist/elements/LivePreview/Window/index.js +132 -166
  305. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  306. package/dist/elements/Loading/index.js +112 -144
  307. package/dist/elements/Loading/index.js.map +1 -1
  308. package/dist/elements/LoadingOverlay/index.js +68 -67
  309. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  310. package/dist/elements/LoadingOverlay/reducer.js +27 -29
  311. package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
  312. package/dist/elements/LoadingOverlay/types.js +2 -1
  313. package/dist/elements/LoadingOverlay/types.js.map +1 -1
  314. package/dist/elements/Localizer/LocalizerLabel/index.js +55 -51
  315. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  316. package/dist/elements/Localizer/index.js +99 -117
  317. package/dist/elements/Localizer/index.js.map +1 -1
  318. package/dist/elements/Locked/index.js +38 -59
  319. package/dist/elements/Locked/index.js.map +1 -1
  320. package/dist/elements/Logout/index.js +30 -51
  321. package/dist/elements/Logout/index.js.map +1 -1
  322. package/dist/elements/Modal/index.js +1 -1
  323. package/dist/elements/Modal/index.js.map +1 -1
  324. package/dist/elements/Nav/NavToggler/index.js +34 -80
  325. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  326. package/dist/elements/Nav/context.js +107 -103
  327. package/dist/elements/Nav/context.js.map +1 -1
  328. package/dist/elements/NavGroup/index.js +98 -122
  329. package/dist/elements/NavGroup/index.js.map +1 -1
  330. package/dist/elements/NoListResults/index.js +27 -14
  331. package/dist/elements/NoListResults/index.js.map +1 -1
  332. package/dist/elements/PageControls/GroupByPageControls.js +40 -71
  333. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  334. package/dist/elements/PageControls/index.js +77 -107
  335. package/dist/elements/PageControls/index.js.map +1 -1
  336. package/dist/elements/Pagination/ClickableArrow/index.js +24 -16
  337. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  338. package/dist/elements/Pagination/Page/index.js +19 -16
  339. package/dist/elements/Pagination/Page/index.js.map +1 -1
  340. package/dist/elements/Pagination/Separator/index.js +10 -6
  341. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  342. package/dist/elements/Pagination/index.js +102 -99
  343. package/dist/elements/Pagination/index.js.map +1 -1
  344. package/dist/elements/PerPage/index.js +93 -80
  345. package/dist/elements/PerPage/index.js.map +1 -1
  346. package/dist/elements/PermanentlyDeleteButton/index.js +150 -133
  347. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  348. package/dist/elements/Pill/index.js +103 -121
  349. package/dist/elements/Pill/index.js.map +1 -1
  350. package/dist/elements/PillSelector/index.js +79 -56
  351. package/dist/elements/PillSelector/index.js.map +1 -1
  352. package/dist/elements/Popup/PopupButtonList/index.js +65 -52
  353. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  354. package/dist/elements/Popup/PopupDivider/index.js +10 -5
  355. package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
  356. package/dist/elements/Popup/PopupGroupLabel/index.js +11 -8
  357. package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
  358. package/dist/elements/Popup/PopupTrigger/index.js +50 -44
  359. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  360. package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
  361. package/dist/elements/Popup/index.js +339 -282
  362. package/dist/elements/Popup/index.js.map +1 -1
  363. package/dist/elements/PreviewButton/index.js +24 -31
  364. package/dist/elements/PreviewButton/index.js.map +1 -1
  365. package/dist/elements/PreviewSizes/index.js +206 -132
  366. package/dist/elements/PreviewSizes/index.js.map +1 -1
  367. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +154 -110
  368. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  369. package/dist/elements/PublishButton/ScheduleDrawer/index.js +461 -309
  370. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  371. package/dist/elements/PublishButton/ScheduleDrawer/types.js +2 -1
  372. package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
  373. package/dist/elements/PublishButton/index.js +234 -195
  374. package/dist/elements/PublishButton/index.js.map +1 -1
  375. package/dist/elements/PublishMany/DrawerContent.js +137 -134
  376. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  377. package/dist/elements/PublishMany/index.js +58 -109
  378. package/dist/elements/PublishMany/index.js.map +1 -1
  379. package/dist/elements/QueryPresets/QueryPresetBar/index.js +344 -267
  380. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  381. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +80 -87
  382. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  383. package/dist/elements/QueryPresets/cells/AccessCell/index.js +47 -21
  384. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
  385. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +26 -19
  386. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  387. package/dist/elements/QueryPresets/cells/GroupByCell/index.js +61 -48
  388. package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
  389. package/dist/elements/QueryPresets/cells/WhereCell/index.js +29 -27
  390. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
  391. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +42 -47
  392. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  393. package/dist/elements/QueryPresets/fields/GroupByField/index.js +96 -74
  394. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  395. package/dist/elements/QueryPresets/fields/WhereField/index.js +149 -98
  396. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  397. package/dist/elements/ReactSelect/ClearIndicator/index.js +29 -27
  398. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  399. package/dist/elements/ReactSelect/Control/index.js +40 -41
  400. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  401. package/dist/elements/ReactSelect/DropdownIndicator/index.js +26 -23
  402. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  403. package/dist/elements/ReactSelect/Input/index.js +20 -13
  404. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  405. package/dist/elements/ReactSelect/MultiValue/index.js +48 -126
  406. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  407. package/dist/elements/ReactSelect/MultiValueLabel/index.js +29 -32
  408. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  409. package/dist/elements/ReactSelect/MultiValueRemove/index.js +49 -86
  410. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  411. package/dist/elements/ReactSelect/SingleValue/index.js +22 -14
  412. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  413. package/dist/elements/ReactSelect/ValueContainer/index.js +38 -29
  414. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  415. package/dist/elements/ReactSelect/index.js +211 -198
  416. package/dist/elements/ReactSelect/index.js.map +1 -1
  417. package/dist/elements/ReactSelect/types.js +9 -1
  418. package/dist/elements/ReactSelect/types.js.map +1 -1
  419. package/dist/elements/RelationshipTable/AddNewButton.js +68 -58
  420. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  421. package/dist/elements/RelationshipTable/Pagination.js +21 -48
  422. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  423. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +39 -34
  424. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  425. package/dist/elements/RelationshipTable/index.js +374 -258
  426. package/dist/elements/RelationshipTable/index.js.map +1 -1
  427. package/dist/elements/RenderComponent/index.js +29 -20
  428. package/dist/elements/RenderComponent/index.js.map +1 -1
  429. package/dist/elements/RenderCustomComponent/index.js +3 -5
  430. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  431. package/dist/elements/RenderIfInViewport/index.js +27 -58
  432. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  433. package/dist/elements/RenderServerComponent/index.js +57 -56
  434. package/dist/elements/RenderServerComponent/index.js.map +1 -1
  435. package/dist/elements/RenderTitle/index.js +44 -59
  436. package/dist/elements/RenderTitle/index.js.map +1 -1
  437. package/dist/elements/RestoreButton/index.js +187 -154
  438. package/dist/elements/RestoreButton/index.js.map +1 -1
  439. package/dist/elements/RestoreMany/index.js +177 -170
  440. package/dist/elements/RestoreMany/index.js.map +1 -1
  441. package/dist/elements/SaveButton/index.js +46 -49
  442. package/dist/elements/SaveButton/index.js.map +1 -1
  443. package/dist/elements/SaveDraftButton/index.js +84 -88
  444. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  445. package/dist/elements/SearchBar/index.js +37 -19
  446. package/dist/elements/SearchBar/index.js.map +1 -1
  447. package/dist/elements/SearchFilter/index.js +60 -54
  448. package/dist/elements/SearchFilter/index.js.map +1 -1
  449. package/dist/elements/SearchFilter/types.js +20 -1
  450. package/dist/elements/SearchFilter/types.js.map +1 -1
  451. package/dist/elements/SelectAll/index.js +21 -46
  452. package/dist/elements/SelectAll/index.js.map +1 -1
  453. package/dist/elements/SelectMany/index.js +27 -25
  454. package/dist/elements/SelectMany/index.js.map +1 -1
  455. package/dist/elements/SelectRow/index.js +27 -79
  456. package/dist/elements/SelectRow/index.js.map +1 -1
  457. package/dist/elements/ShimmerEffect/index.js +58 -73
  458. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  459. package/dist/elements/SortColumn/index.js +98 -106
  460. package/dist/elements/SortColumn/index.js.map +1 -1
  461. package/dist/elements/SortComplex/index.js +142 -163
  462. package/dist/elements/SortComplex/index.js.map +1 -1
  463. package/dist/elements/SortHeader/index.js +54 -87
  464. package/dist/elements/SortHeader/index.js.map +1 -1
  465. package/dist/elements/SortRow/index.js +21 -27
  466. package/dist/elements/SortRow/index.js.map +1 -1
  467. package/dist/elements/Status/index.js +203 -161
  468. package/dist/elements/Status/index.js.map +1 -1
  469. package/dist/elements/StayLoggedIn/index.js +38 -76
  470. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  471. package/dist/elements/StepNav/SetStepNav.js +10 -27
  472. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  473. package/dist/elements/StepNav/context.js +24 -41
  474. package/dist/elements/StepNav/context.js.map +1 -1
  475. package/dist/elements/StepNav/index.js +148 -92
  476. package/dist/elements/StepNav/index.js.map +1 -1
  477. package/dist/elements/StepNav/types.js +2 -1
  478. package/dist/elements/StepNav/types.js.map +1 -1
  479. package/dist/elements/StickyToolbar/index.js +10 -8
  480. package/dist/elements/StickyToolbar/index.js.map +1 -1
  481. package/dist/elements/Table/DefaultCell/fields/Array/index.js +13 -28
  482. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  483. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +34 -60
  484. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  485. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +18 -27
  486. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  487. package/dist/elements/Table/DefaultCell/fields/Code/index.js +22 -17
  488. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  489. package/dist/elements/Table/DefaultCell/fields/Date/index.js +22 -41
  490. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  491. package/dist/elements/Table/DefaultCell/fields/File/index.js +52 -42
  492. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  493. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +18 -12
  494. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  495. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +115 -183
  496. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  497. package/dist/elements/Table/DefaultCell/fields/Select/index.js +22 -44
  498. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  499. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +11 -9
  500. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  501. package/dist/elements/Table/DefaultCell/fields/index.js +14 -14
  502. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  503. package/dist/elements/Table/DefaultCell/index.js +124 -151
  504. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  505. package/dist/elements/Table/OrderableRow.js +40 -32
  506. package/dist/elements/Table/OrderableRow.js.map +1 -1
  507. package/dist/elements/Table/OrderableRowDragPreview.js +24 -15
  508. package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
  509. package/dist/elements/Table/OrderableTable.js +224 -167
  510. package/dist/elements/Table/OrderableTable.js.map +1 -1
  511. package/dist/elements/Table/RelationshipProvider/index.js +106 -162
  512. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  513. package/dist/elements/Table/RelationshipProvider/reducer.js +42 -42
  514. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  515. package/dist/elements/Table/index.js +83 -45
  516. package/dist/elements/Table/index.js.map +1 -1
  517. package/dist/elements/Thumbnail/createThumbnail.js +53 -48
  518. package/dist/elements/Thumbnail/createThumbnail.js.map +1 -1
  519. package/dist/elements/Thumbnail/index.js +127 -148
  520. package/dist/elements/Thumbnail/index.js.map +1 -1
  521. package/dist/elements/ThumbnailCard/index.js +47 -68
  522. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  523. package/dist/elements/TimezonePicker/index.js +53 -44
  524. package/dist/elements/TimezonePicker/index.js.map +1 -1
  525. package/dist/elements/TimezonePicker/types.js +2 -1
  526. package/dist/elements/TimezonePicker/types.js.map +1 -1
  527. package/dist/elements/Toasts/fieldErrors.js +69 -77
  528. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  529. package/dist/elements/Tooltip/index.js +98 -65
  530. package/dist/elements/Tooltip/index.js.map +1 -1
  531. package/dist/elements/Translation/index.js +48 -39
  532. package/dist/elements/Translation/index.js.map +1 -1
  533. package/dist/elements/TrashBanner/index.js +33 -26
  534. package/dist/elements/TrashBanner/index.js.map +1 -1
  535. package/dist/elements/UnpublishMany/DrawerContent.js +130 -127
  536. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  537. package/dist/elements/UnpublishMany/index.js +58 -109
  538. package/dist/elements/UnpublishMany/index.js.map +1 -1
  539. package/dist/elements/Upload/index.js +633 -481
  540. package/dist/elements/Upload/index.js.map +1 -1
  541. package/dist/elements/ViewDescription/index.js +15 -26
  542. package/dist/elements/ViewDescription/index.js.map +1 -1
  543. package/dist/elements/ViewDescription/types.js.map +1 -1
  544. package/dist/elements/WhereBuilder/Condition/Date/index.js +23 -29
  545. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  546. package/dist/elements/WhereBuilder/Condition/Date/types.js +2 -1
  547. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  548. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +95 -76
  549. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  550. package/dist/elements/WhereBuilder/Condition/Number/index.js +74 -129
  551. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  552. package/dist/elements/WhereBuilder/Condition/Number/types.js +2 -1
  553. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  554. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +353 -313
  555. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  556. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +83 -67
  557. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  558. package/dist/elements/WhereBuilder/Condition/Relationship/types.js +2 -1
  559. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  560. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js +10 -9
  561. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js.map +1 -1
  562. package/dist/elements/WhereBuilder/Condition/Select/index.js +69 -154
  563. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  564. package/dist/elements/WhereBuilder/Condition/Select/types.js +2 -1
  565. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  566. package/dist/elements/WhereBuilder/Condition/Text/index.js +72 -123
  567. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  568. package/dist/elements/WhereBuilder/Condition/Text/types.js +2 -1
  569. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  570. package/dist/elements/WhereBuilder/Condition/index.js +206 -143
  571. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  572. package/dist/elements/WhereBuilder/Condition/types.js +2 -1
  573. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  574. package/dist/elements/WhereBuilder/Condition/validOperators.js +32 -33
  575. package/dist/elements/WhereBuilder/Condition/validOperators.js.map +1 -1
  576. package/dist/elements/WhereBuilder/field-types.js +192 -119
  577. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  578. package/dist/elements/WhereBuilder/index.js +258 -193
  579. package/dist/elements/WhereBuilder/index.js.map +1 -1
  580. package/dist/elements/WhereBuilder/types.js +2 -1
  581. package/dist/elements/WhereBuilder/types.js.map +1 -1
  582. package/dist/elements/WindowInfo/index.js +1 -1
  583. package/dist/elements/WindowInfo/index.js.map +1 -1
  584. package/dist/elements/WithServerSideProps/index.js +20 -19
  585. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  586. package/dist/elements/withMergedProps/index.js +26 -26
  587. package/dist/elements/withMergedProps/index.js.map +1 -1
  588. package/dist/exports/client/index.js +297 -96
  589. package/dist/exports/client/index.js.map +1 -7
  590. package/dist/exports/rsc/index.js +1 -0
  591. package/dist/exports/rsc/index.js.map +1 -1
  592. package/dist/exports/shared/index.js +35 -6
  593. package/dist/exports/shared/index.js.map +1 -7
  594. package/dist/fields/Array/ArrayRow.js +111 -168
  595. package/dist/fields/Array/ArrayRow.js.map +1 -1
  596. package/dist/fields/Array/index.js +532 -398
  597. package/dist/fields/Array/index.js.map +1 -1
  598. package/dist/fields/Blocks/BlockRow.js +163 -198
  599. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  600. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +30 -38
  601. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  602. package/dist/fields/Blocks/BlockSelector/index.js +159 -103
  603. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  604. package/dist/fields/Blocks/BlocksDrawer/index.js +37 -80
  605. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  606. package/dist/fields/Blocks/RowActions.js +50 -106
  607. package/dist/fields/Blocks/RowActions.js.map +1 -1
  608. package/dist/fields/Blocks/SectionTitle/index.js +36 -78
  609. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  610. package/dist/fields/Blocks/index.js +566 -425
  611. package/dist/fields/Blocks/index.js.map +1 -1
  612. package/dist/fields/Checkbox/Input.js +86 -99
  613. package/dist/fields/Checkbox/Input.js.map +1 -1
  614. package/dist/fields/Checkbox/index.js +107 -99
  615. package/dist/fields/Checkbox/index.js.map +1 -1
  616. package/dist/fields/Code/index.js +146 -114
  617. package/dist/fields/Code/index.js.map +1 -1
  618. package/dist/fields/Collapsible/index.js +172 -134
  619. package/dist/fields/Collapsible/index.js.map +1 -1
  620. package/dist/fields/ConfirmPassword/index.js +67 -83
  621. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  622. package/dist/fields/DateTime/index.js +217 -171
  623. package/dist/fields/DateTime/index.js.map +1 -1
  624. package/dist/fields/Email/index.js +111 -86
  625. package/dist/fields/Email/index.js.map +1 -1
  626. package/dist/fields/FieldDescription/index.js +20 -43
  627. package/dist/fields/FieldDescription/index.js.map +1 -1
  628. package/dist/fields/FieldError/index.js +22 -58
  629. package/dist/fields/FieldError/index.js.map +1 -1
  630. package/dist/fields/FieldLabel/index.js +43 -45
  631. package/dist/fields/FieldLabel/index.js.map +1 -1
  632. package/dist/fields/Group/index.js +150 -102
  633. package/dist/fields/Group/index.js.map +1 -1
  634. package/dist/fields/Group/provider.js +13 -12
  635. package/dist/fields/Group/provider.js.map +1 -1
  636. package/dist/fields/Hidden/index.js +27 -67
  637. package/dist/fields/Hidden/index.js.map +1 -1
  638. package/dist/fields/JSON/index.js +185 -143
  639. package/dist/fields/JSON/index.js.map +1 -1
  640. package/dist/fields/Join/index.js +214 -189
  641. package/dist/fields/Join/index.js.map +1 -1
  642. package/dist/fields/Number/index.js +213 -169
  643. package/dist/fields/Number/index.js.map +1 -1
  644. package/dist/fields/Password/index.js +80 -101
  645. package/dist/fields/Password/index.js.map +1 -1
  646. package/dist/fields/Password/input.js +108 -122
  647. package/dist/fields/Password/input.js.map +1 -1
  648. package/dist/fields/Password/types.js +12 -1
  649. package/dist/fields/Password/types.js.map +1 -1
  650. package/dist/fields/Point/index.js +199 -127
  651. package/dist/fields/Point/index.js.map +1 -1
  652. package/dist/fields/RadioGroup/Radio/index.js +56 -81
  653. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  654. package/dist/fields/RadioGroup/index.js +146 -114
  655. package/dist/fields/RadioGroup/index.js.map +1 -1
  656. package/dist/fields/Relationship/Input.js +811 -733
  657. package/dist/fields/Relationship/Input.js.map +1 -1
  658. package/dist/fields/Relationship/createRelationMap.js +31 -33
  659. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  660. package/dist/fields/Relationship/findOptionsByValue.js +28 -32
  661. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  662. package/dist/fields/Relationship/index.js +152 -160
  663. package/dist/fields/Relationship/index.js.map +1 -1
  664. package/dist/fields/Relationship/optionsReducer.js +144 -139
  665. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  666. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +92 -82
  667. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  668. package/dist/fields/Relationship/select-components/SingleValue/index.js +95 -118
  669. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  670. package/dist/fields/Relationship/types.js +2 -1
  671. package/dist/fields/Relationship/types.js.map +1 -1
  672. package/dist/fields/RichText/index.js +3 -3
  673. package/dist/fields/RichText/index.js.map +1 -1
  674. package/dist/fields/Row/index.js +37 -35
  675. package/dist/fields/Row/index.js.map +1 -1
  676. package/dist/fields/Row/provider.js +13 -12
  677. package/dist/fields/Row/provider.js.map +1 -1
  678. package/dist/fields/Select/Input.js +114 -165
  679. package/dist/fields/Select/Input.js.map +1 -1
  680. package/dist/fields/Select/index.js +89 -108
  681. package/dist/fields/Select/index.js.map +1 -1
  682. package/dist/fields/Slug/index.js +103 -134
  683. package/dist/fields/Slug/index.js.map +1 -1
  684. package/dist/fields/Tabs/Tab/index.js +54 -60
  685. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  686. package/dist/fields/Tabs/index.js +213 -382
  687. package/dist/fields/Tabs/index.js.map +1 -1
  688. package/dist/fields/Tabs/provider.js +13 -12
  689. package/dist/fields/Tabs/provider.js.map +1 -1
  690. package/dist/fields/Text/Input.js +169 -191
  691. package/dist/fields/Text/Input.js.map +1 -1
  692. package/dist/fields/Text/index.js +107 -126
  693. package/dist/fields/Text/index.js.map +1 -1
  694. package/dist/fields/Text/types.js +2 -1
  695. package/dist/fields/Text/types.js.map +1 -1
  696. package/dist/fields/Textarea/Input.js +104 -115
  697. package/dist/fields/Textarea/Input.js.map +1 -1
  698. package/dist/fields/Textarea/index.js +61 -88
  699. package/dist/fields/Textarea/index.js.map +1 -1
  700. package/dist/fields/Textarea/types.js +2 -1
  701. package/dist/fields/Textarea/types.js.map +1 -1
  702. package/dist/fields/UI/index.js +3 -3
  703. package/dist/fields/UI/index.js.map +1 -1
  704. package/dist/fields/Upload/HasMany/index.js +141 -186
  705. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  706. package/dist/fields/Upload/HasOne/index.js +59 -60
  707. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  708. package/dist/fields/Upload/Input.js +755 -566
  709. package/dist/fields/Upload/Input.js.map +1 -1
  710. package/dist/fields/Upload/RelationshipContent/index.js +140 -143
  711. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  712. package/dist/fields/Upload/UploadCard/index.js +15 -10
  713. package/dist/fields/Upload/UploadCard/index.js.map +1 -1
  714. package/dist/fields/Upload/index.js +79 -96
  715. package/dist/fields/Upload/index.js.map +1 -1
  716. package/dist/fields/Upload/types.js +3 -1
  717. package/dist/fields/Upload/types.js.map +1 -1
  718. package/dist/fields/index.js +31 -31
  719. package/dist/fields/index.js.map +1 -1
  720. package/dist/fields/mergeFieldStyles.js +13 -12
  721. package/dist/fields/mergeFieldStyles.js.map +1 -1
  722. package/dist/fields/shared/index.js +8 -17
  723. package/dist/fields/shared/index.js.map +1 -1
  724. package/dist/forms/Form/context.js +17 -24
  725. package/dist/forms/Form/context.js.map +1 -1
  726. package/dist/forms/Form/createNestedClientFieldPath.js +11 -11
  727. package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -1
  728. package/dist/forms/Form/errorMessages.js +2 -2
  729. package/dist/forms/Form/errorMessages.js.map +1 -1
  730. package/dist/forms/Form/fieldReducer.js +378 -412
  731. package/dist/forms/Form/fieldReducer.js.map +1 -1
  732. package/dist/forms/Form/index.js +745 -684
  733. package/dist/forms/Form/index.js.map +1 -1
  734. package/dist/forms/Form/initContextState.js +38 -38
  735. package/dist/forms/Form/initContextState.js.map +1 -1
  736. package/dist/forms/Form/mergeServerFormState.js +93 -97
  737. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  738. package/dist/forms/Form/reduceToSerializableFields.js +20 -17
  739. package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
  740. package/dist/forms/Form/rowHelpers.js +27 -34
  741. package/dist/forms/Form/rowHelpers.js.map +1 -1
  742. package/dist/forms/Form/rows.js +34 -34
  743. package/dist/forms/Form/rows.js.map +1 -1
  744. package/dist/forms/Form/types.js +53 -1
  745. package/dist/forms/Form/types.js.map +1 -1
  746. package/dist/forms/NullifyField/index.js +61 -96
  747. package/dist/forms/NullifyField/index.js.map +1 -1
  748. package/dist/forms/RenderFields/RenderField.js +237 -259
  749. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  750. package/dist/forms/RenderFields/context.js +9 -9
  751. package/dist/forms/RenderFields/context.js.map +1 -1
  752. package/dist/forms/RenderFields/index.js +76 -115
  753. package/dist/forms/RenderFields/index.js.map +1 -1
  754. package/dist/forms/RenderFields/types.js +2 -1
  755. package/dist/forms/RenderFields/types.js.map +1 -1
  756. package/dist/forms/RowLabel/Context/index.js +30 -29
  757. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  758. package/dist/forms/RowLabel/index.js +33 -24
  759. package/dist/forms/RowLabel/index.js.map +1 -1
  760. package/dist/forms/RowLabel/types.js +2 -1
  761. package/dist/forms/RowLabel/types.js.map +1 -1
  762. package/dist/forms/Submit/index.js +32 -35
  763. package/dist/forms/Submit/index.js.map +1 -1
  764. package/dist/forms/WatchChildErrors/buildPathSegments.js +29 -29
  765. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  766. package/dist/forms/WatchChildErrors/index.js +41 -66
  767. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  768. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +681 -706
  769. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  770. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +14 -22
  771. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  772. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +17 -26
  773. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  774. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +186 -198
  775. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  776. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +67 -60
  777. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -1
  778. package/dist/forms/fieldSchemasToFormState/index.js +90 -79
  779. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  780. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js +12 -16
  781. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js.map +1 -1
  782. package/dist/forms/fieldSchemasToFormState/iterateFields.js +95 -116
  783. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  784. package/dist/forms/fieldSchemasToFormState/renderField.js +273 -274
  785. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  786. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +90 -75
  787. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
  788. package/dist/forms/fieldSchemasToFormState/types.js +6 -1
  789. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  790. package/dist/forms/useField/index.js +180 -292
  791. package/dist/forms/useField/index.js.map +1 -1
  792. package/dist/forms/useField/types.js +20 -1
  793. package/dist/forms/useField/types.js.map +1 -1
  794. package/dist/forms/withCondition/WatchCondition.js +9 -27
  795. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  796. package/dist/forms/withCondition/index.js +21 -15
  797. package/dist/forms/withCondition/index.js.map +1 -1
  798. package/dist/graphics/Account/Default/index.js +46 -22
  799. package/dist/graphics/Account/Default/index.js.map +1 -1
  800. package/dist/graphics/Account/Gravatar/index.js +25 -34
  801. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  802. package/dist/graphics/Account/index.js +24 -51
  803. package/dist/graphics/Account/index.js.map +1 -1
  804. package/dist/graphics/DefaultBlockImage/index.js +117 -62
  805. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  806. package/dist/graphics/File/index.js +33 -17
  807. package/dist/graphics/File/index.js.map +1 -1
  808. package/dist/graphics/Icon/index.js +33 -19
  809. package/dist/graphics/Icon/index.js.map +1 -1
  810. package/dist/graphics/Logo/index.js +112 -39
  811. package/dist/graphics/Logo/index.js.map +1 -1
  812. package/dist/hooks/useClickOutside.js +19 -15
  813. package/dist/hooks/useClickOutside.js.map +1 -1
  814. package/dist/hooks/useControllableState.js +25 -35
  815. package/dist/hooks/useControllableState.js.map +1 -1
  816. package/dist/hooks/useDebounce.js +15 -26
  817. package/dist/hooks/useDebounce.js.map +1 -1
  818. package/dist/hooks/useDebouncedCallback.js +15 -23
  819. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  820. package/dist/hooks/useDebouncedEffect.js +18 -53
  821. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  822. package/dist/hooks/useDelay.js +27 -52
  823. package/dist/hooks/useDelay.js.map +1 -1
  824. package/dist/hooks/useDelayedRender.js +42 -76
  825. package/dist/hooks/useDelayedRender.js.map +1 -1
  826. package/dist/hooks/useEffectEvent.js +12 -33
  827. package/dist/hooks/useEffectEvent.js.map +1 -1
  828. package/dist/hooks/useHotkey.js +96 -110
  829. package/dist/hooks/useHotkey.js.map +1 -1
  830. package/dist/hooks/useIntersect.js +28 -59
  831. package/dist/hooks/useIntersect.js.map +1 -1
  832. package/dist/hooks/usePayloadAPI.js +78 -172
  833. package/dist/hooks/usePayloadAPI.js.map +1 -1
  834. package/dist/hooks/usePopupWindow.js +91 -133
  835. package/dist/hooks/usePopupWindow.js.map +1 -1
  836. package/dist/hooks/useQueue.js +48 -38
  837. package/dist/hooks/useQueue.js.map +1 -1
  838. package/dist/hooks/useRelatedCollections.js +15 -27
  839. package/dist/hooks/useRelatedCollections.js.map +1 -1
  840. package/dist/hooks/useResize.js +42 -70
  841. package/dist/hooks/useResize.js.map +1 -1
  842. package/dist/hooks/useThrottledEffect.js +17 -51
  843. package/dist/hooks/useThrottledEffect.js.map +1 -1
  844. package/dist/hooks/useThrottledValue.js +16 -13
  845. package/dist/hooks/useThrottledValue.js.map +1 -1
  846. package/dist/hooks/useUseAsTitle.js +7 -27
  847. package/dist/hooks/useUseAsTitle.js.map +1 -1
  848. package/dist/icons/Calendar/index.js +20 -11
  849. package/dist/icons/Calendar/index.js.map +1 -1
  850. package/dist/icons/Check/index.js +20 -11
  851. package/dist/icons/Check/index.js.map +1 -1
  852. package/dist/icons/Chevron/index.js +30 -22
  853. package/dist/icons/Chevron/index.js.map +1 -1
  854. package/dist/icons/CloseMenu/index.js +20 -11
  855. package/dist/icons/CloseMenu/index.js.map +1 -1
  856. package/dist/icons/CodeBlock/index.js +22 -13
  857. package/dist/icons/CodeBlock/index.js.map +1 -1
  858. package/dist/icons/Copy/index.js +24 -17
  859. package/dist/icons/Copy/index.js.map +1 -1
  860. package/dist/icons/Document/index.js +25 -16
  861. package/dist/icons/Document/index.js.map +1 -1
  862. package/dist/icons/Dots/index.js +32 -11
  863. package/dist/icons/Dots/index.js.map +1 -1
  864. package/dist/icons/DragHandle/index.js +70 -33
  865. package/dist/icons/DragHandle/index.js.map +1 -1
  866. package/dist/icons/Edit/index.js +23 -13
  867. package/dist/icons/Edit/index.js.map +1 -1
  868. package/dist/icons/ExternalLink/index.js +25 -15
  869. package/dist/icons/ExternalLink/index.js.map +1 -1
  870. package/dist/icons/Eye/index.js +53 -25
  871. package/dist/icons/Eye/index.js.map +1 -1
  872. package/dist/icons/Folder/index.js +26 -16
  873. package/dist/icons/Folder/index.js.map +1 -1
  874. package/dist/icons/Gear/index.js +34 -21
  875. package/dist/icons/Gear/index.js.map +1 -1
  876. package/dist/icons/GridView/index.js +57 -31
  877. package/dist/icons/GridView/index.js.map +1 -1
  878. package/dist/icons/Line/index.js +23 -14
  879. package/dist/icons/Line/index.js.map +1 -1
  880. package/dist/icons/Link/index.js +25 -16
  881. package/dist/icons/Link/index.js.map +1 -1
  882. package/dist/icons/ListView/index.js +25 -16
  883. package/dist/icons/ListView/index.js.map +1 -1
  884. package/dist/icons/Lock/index.js +41 -24
  885. package/dist/icons/Lock/index.js.map +1 -1
  886. package/dist/icons/LogOut/index.js +23 -14
  887. package/dist/icons/LogOut/index.js.map +1 -1
  888. package/dist/icons/Menu/index.js +23 -14
  889. package/dist/icons/Menu/index.js.map +1 -1
  890. package/dist/icons/MinimizeMaximize/index.js +33 -19
  891. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  892. package/dist/icons/More/index.js +43 -21
  893. package/dist/icons/More/index.js.map +1 -1
  894. package/dist/icons/MoveFolder/index.js +62 -34
  895. package/dist/icons/MoveFolder/index.js.map +1 -1
  896. package/dist/icons/People/index.js +28 -17
  897. package/dist/icons/People/index.js.map +1 -1
  898. package/dist/icons/Plus/index.js +22 -13
  899. package/dist/icons/Plus/index.js.map +1 -1
  900. package/dist/icons/Search/index.js +21 -12
  901. package/dist/icons/Search/index.js.map +1 -1
  902. package/dist/icons/Sort/index.js +48 -35
  903. package/dist/icons/Sort/index.js.map +1 -1
  904. package/dist/icons/Swap/index.js +20 -11
  905. package/dist/icons/Swap/index.js.map +1 -1
  906. package/dist/icons/ThreeDots/index.js +27 -8
  907. package/dist/icons/ThreeDots/index.js.map +1 -1
  908. package/dist/icons/Trash/index.js +28 -18
  909. package/dist/icons/Trash/index.js.map +1 -1
  910. package/dist/icons/X/index.js +25 -15
  911. package/dist/icons/X/index.js.map +1 -1
  912. package/dist/providers/Actions/index.js +21 -33
  913. package/dist/providers/Actions/index.js.map +1 -1
  914. package/dist/providers/Auth/index.js +293 -243
  915. package/dist/providers/Auth/index.js.map +1 -1
  916. package/dist/providers/ClickOutside/index.js +35 -35
  917. package/dist/providers/ClickOutside/index.js.map +1 -1
  918. package/dist/providers/ClientFunction/index.js +63 -104
  919. package/dist/providers/ClientFunction/index.js.map +1 -1
  920. package/dist/providers/Config/index.js +91 -91
  921. package/dist/providers/Config/index.js.map +1 -1
  922. package/dist/providers/DocumentEvents/index.js +19 -30
  923. package/dist/providers/DocumentEvents/index.js.map +1 -1
  924. package/dist/providers/DocumentInfo/index.js +331 -325
  925. package/dist/providers/DocumentInfo/index.js.map +1 -1
  926. package/dist/providers/DocumentInfo/types.js +26 -1
  927. package/dist/providers/DocumentInfo/types.js.map +1 -1
  928. package/dist/providers/DocumentInfo/useGetDocPermissions.js +81 -79
  929. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
  930. package/dist/providers/DocumentTitle/context.js.map +1 -1
  931. package/dist/providers/DocumentTitle/index.js +51 -55
  932. package/dist/providers/DocumentTitle/index.js.map +1 -1
  933. package/dist/providers/EditDepth/index.js +15 -25
  934. package/dist/providers/EditDepth/index.js.map +1 -1
  935. package/dist/providers/EntityVisibility/index.js +26 -48
  936. package/dist/providers/EntityVisibility/index.js.map +1 -1
  937. package/dist/providers/Folders/groupItemIDsByRelation.js +8 -7
  938. package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -1
  939. package/dist/providers/Folders/index.js +698 -600
  940. package/dist/providers/Folders/index.js.map +1 -1
  941. package/dist/providers/ListQuery/context.js +3 -2
  942. package/dist/providers/ListQuery/context.js.map +1 -1
  943. package/dist/providers/ListQuery/index.js +156 -140
  944. package/dist/providers/ListQuery/index.js.map +1 -1
  945. package/dist/providers/ListQuery/mergeQuery.js +49 -31
  946. package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
  947. package/dist/providers/ListQuery/sanitizeQuery.js +24 -23
  948. package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
  949. package/dist/providers/ListQuery/types.js +6 -1
  950. package/dist/providers/ListQuery/types.js.map +1 -1
  951. package/dist/providers/LivePreview/collisionDetection.js +21 -24
  952. package/dist/providers/LivePreview/collisionDetection.js.map +1 -1
  953. package/dist/providers/LivePreview/context.js +60 -55
  954. package/dist/providers/LivePreview/context.js.map +1 -1
  955. package/dist/providers/LivePreview/index.js +225 -205
  956. package/dist/providers/LivePreview/index.js.map +1 -1
  957. package/dist/providers/LivePreview/sizeReducer.js +19 -18
  958. package/dist/providers/LivePreview/sizeReducer.js.map +1 -1
  959. package/dist/providers/Locale/index.js +87 -154
  960. package/dist/providers/Locale/index.js.map +1 -1
  961. package/dist/providers/Operation/index.js +12 -11
  962. package/dist/providers/Operation/index.js.map +1 -1
  963. package/dist/providers/Params/index.js +14 -26
  964. package/dist/providers/Params/index.js.map +1 -1
  965. package/dist/providers/Preferences/index.js +130 -122
  966. package/dist/providers/Preferences/index.js.map +1 -1
  967. package/dist/providers/Root/index.js +190 -116
  968. package/dist/providers/Root/index.js.map +1 -1
  969. package/dist/providers/RouteCache/index.js +53 -103
  970. package/dist/providers/RouteCache/index.js.map +1 -1
  971. package/dist/providers/RouteTransition/ProgressBar/index.js +61 -80
  972. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  973. package/dist/providers/RouteTransition/index.js +69 -94
  974. package/dist/providers/RouteTransition/index.js.map +1 -1
  975. package/dist/providers/ScrollInfo/index.js +1 -1
  976. package/dist/providers/ScrollInfo/index.js.map +1 -1
  977. package/dist/providers/SearchParams/index.js +36 -35
  978. package/dist/providers/SearchParams/index.js.map +1 -1
  979. package/dist/providers/Selection/index.js +203 -183
  980. package/dist/providers/Selection/index.js.map +1 -1
  981. package/dist/providers/ServerFunctions/index.js +199 -189
  982. package/dist/providers/ServerFunctions/index.js.map +1 -1
  983. package/dist/providers/TableColumns/RenderDefaultCell/index.js +33 -62
  984. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  985. package/dist/providers/TableColumns/buildColumnState/filterFields.js +32 -32
  986. package/dist/providers/TableColumns/buildColumnState/filterFields.js.map +1 -1
  987. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js +50 -52
  988. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js.map +1 -1
  989. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js +3 -2
  990. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js.map +1 -1
  991. package/dist/providers/TableColumns/buildColumnState/index.js +132 -143
  992. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  993. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js +10 -14
  994. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js.map +1 -1
  995. package/dist/providers/TableColumns/buildColumnState/renderCell.js +150 -151
  996. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  997. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js +16 -15
  998. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js.map +1 -1
  999. package/dist/providers/TableColumns/context.js +2 -1
  1000. package/dist/providers/TableColumns/context.js.map +1 -1
  1001. package/dist/providers/TableColumns/getInitialColumns.js +42 -28
  1002. package/dist/providers/TableColumns/getInitialColumns.js.map +1 -1
  1003. package/dist/providers/TableColumns/index.js +88 -85
  1004. package/dist/providers/TableColumns/index.js.map +1 -1
  1005. package/dist/providers/TableColumns/types.js +18 -1
  1006. package/dist/providers/TableColumns/types.js.map +1 -1
  1007. package/dist/providers/Theme/index.js +69 -104
  1008. package/dist/providers/Theme/index.js.map +1 -1
  1009. package/dist/providers/ToastContainer/icons/Error.js +34 -19
  1010. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  1011. package/dist/providers/ToastContainer/icons/Info.js +34 -19
  1012. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  1013. package/dist/providers/ToastContainer/icons/Success.js +34 -19
  1014. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  1015. package/dist/providers/ToastContainer/icons/Warning.js +34 -19
  1016. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  1017. package/dist/providers/ToastContainer/index.js +56 -47
  1018. package/dist/providers/ToastContainer/index.js.map +1 -1
  1019. package/dist/providers/Translation/index.js +66 -112
  1020. package/dist/providers/Translation/index.js.map +1 -1
  1021. package/dist/providers/UploadControls/index.js +28 -40
  1022. package/dist/providers/UploadControls/index.js.map +1 -1
  1023. package/dist/providers/UploadEdits/index.js +31 -73
  1024. package/dist/providers/UploadEdits/index.js.map +1 -1
  1025. package/dist/providers/UploadHandlers/index.js +30 -65
  1026. package/dist/providers/UploadHandlers/index.js.map +1 -1
  1027. package/dist/providers/WindowInfo/index.js +5 -9
  1028. package/dist/providers/WindowInfo/index.js.map +1 -1
  1029. package/dist/styles.css +0 -1
  1030. package/dist/utilities/abortAndIgnore.js +15 -17
  1031. package/dist/utilities/abortAndIgnore.js.map +1 -1
  1032. package/dist/utilities/api.js +78 -77
  1033. package/dist/utilities/api.js.map +1 -1
  1034. package/dist/utilities/buildClientFieldSchemaMap/index.js +61 -65
  1035. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  1036. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +150 -159
  1037. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  1038. package/dist/utilities/buildFieldSchemaMap/index.js +59 -61
  1039. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  1040. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +117 -126
  1041. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  1042. package/dist/utilities/buildFormState.js +151 -186
  1043. package/dist/utilities/buildFormState.js.map +1 -1
  1044. package/dist/utilities/buildTableState.js +145 -168
  1045. package/dist/utilities/buildTableState.js.map +1 -1
  1046. package/dist/utilities/canUseDOM.js +1 -0
  1047. package/dist/utilities/canUseDOM.js.map +1 -1
  1048. package/dist/utilities/combineFieldLabel.js +53 -26
  1049. package/dist/utilities/combineFieldLabel.js.map +1 -1
  1050. package/dist/utilities/copyDataFromLocale.js +202 -210
  1051. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  1052. package/dist/utilities/dateLocales.js +28 -27
  1053. package/dist/utilities/dateLocales.js.map +1 -1
  1054. package/dist/utilities/deepMerge.js +14 -13
  1055. package/dist/utilities/deepMerge.js.map +1 -1
  1056. package/dist/utilities/fetchPreferences.js.map +1 -1
  1057. package/dist/utilities/filterOutUploadFields.js +17 -4
  1058. package/dist/utilities/filterOutUploadFields.js.map +1 -1
  1059. package/dist/utilities/findLocaleFromCode.js +6 -5
  1060. package/dist/utilities/findLocaleFromCode.js.map +1 -1
  1061. package/dist/utilities/formatAbsoluteURL.js +8 -8
  1062. package/dist/utilities/formatAbsoluteURL.js.map +1 -1
  1063. package/dist/utilities/formatAdminURL.js +2 -1
  1064. package/dist/utilities/formatAdminURL.js.map +1 -1
  1065. package/dist/utilities/formatDocTitle/formatDateTitle.js +20 -27
  1066. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  1067. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js +14 -13
  1068. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -1
  1069. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js +14 -13
  1070. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js.map +1 -1
  1071. package/dist/utilities/formatDocTitle/index.js +38 -44
  1072. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  1073. package/dist/utilities/formatFields.js +2 -1
  1074. package/dist/utilities/formatFields.js.map +1 -1
  1075. package/dist/utilities/generateFieldID.js +6 -5
  1076. package/dist/utilities/generateFieldID.js.map +1 -1
  1077. package/dist/utilities/getClientConfig.js +25 -29
  1078. package/dist/utilities/getClientConfig.js.map +1 -1
  1079. package/dist/utilities/getClientSchemaMap.js +24 -32
  1080. package/dist/utilities/getClientSchemaMap.js.map +1 -1
  1081. package/dist/utilities/getColumns.js +29 -35
  1082. package/dist/utilities/getColumns.js.map +1 -1
  1083. package/dist/utilities/getDisplayedFieldValue.js +16 -16
  1084. package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
  1085. package/dist/utilities/getFolderResultsComponentAndData.js +134 -121
  1086. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
  1087. package/dist/utilities/getGlobalData.js +41 -45
  1088. package/dist/utilities/getGlobalData.js.map +1 -1
  1089. package/dist/utilities/getNavGroups.js +21 -18
  1090. package/dist/utilities/getNavGroups.js.map +1 -1
  1091. package/dist/utilities/getOffsetTop.js +14 -13
  1092. package/dist/utilities/getOffsetTop.js.map +1 -1
  1093. package/dist/utilities/getRequestLanguage.js +5 -8
  1094. package/dist/utilities/getRequestLanguage.js.map +1 -1
  1095. package/dist/utilities/getSchemaMap.js +22 -28
  1096. package/dist/utilities/getSchemaMap.js.map +1 -1
  1097. package/dist/utilities/getSupportedMonacoLocale.js +14 -13
  1098. package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
  1099. package/dist/utilities/getVisibleEntities.js +15 -26
  1100. package/dist/utilities/getVisibleEntities.js.map +1 -1
  1101. package/dist/utilities/groupNavItems.js +53 -50
  1102. package/dist/utilities/groupNavItems.js.map +1 -1
  1103. package/dist/utilities/handleBackToDashboard.js +8 -11
  1104. package/dist/utilities/handleBackToDashboard.js.map +1 -1
  1105. package/dist/utilities/handleFormStateLocking.js +127 -121
  1106. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  1107. package/dist/utilities/handleGoBack.js +7 -11
  1108. package/dist/utilities/handleGoBack.js.map +1 -1
  1109. package/dist/utilities/handleLivePreview.js +59 -76
  1110. package/dist/utilities/handleLivePreview.js.map +1 -1
  1111. package/dist/utilities/handlePreview.js +41 -52
  1112. package/dist/utilities/handlePreview.js.map +1 -1
  1113. package/dist/utilities/handleTakeOver.js +28 -39
  1114. package/dist/utilities/handleTakeOver.js.map +1 -1
  1115. package/dist/utilities/hasOptionLabelJSXElement.js +9 -11
  1116. package/dist/utilities/hasOptionLabelJSXElement.js.map +1 -1
  1117. package/dist/utilities/hasSavePermission.js +14 -14
  1118. package/dist/utilities/hasSavePermission.js.map +1 -1
  1119. package/dist/utilities/isClientUserObject.js +3 -2
  1120. package/dist/utilities/isClientUserObject.js.map +1 -1
  1121. package/dist/utilities/isEditing.js +2 -5
  1122. package/dist/utilities/isEditing.js.map +1 -1
  1123. package/dist/utilities/isURLAllowed.js +31 -30
  1124. package/dist/utilities/isURLAllowed.js.map +1 -1
  1125. package/dist/utilities/isValidReactElement.js +3 -3
  1126. package/dist/utilities/isValidReactElement.js.map +1 -1
  1127. package/dist/utilities/normalizeRelationshipValue.js +29 -28
  1128. package/dist/utilities/normalizeRelationshipValue.js.map +1 -1
  1129. package/dist/utilities/normalizeRelationshipValue.spec.js +407 -368
  1130. package/dist/utilities/normalizeRelationshipValue.spec.js.map +1 -1
  1131. package/dist/utilities/parseSearchParams.js +7 -7
  1132. package/dist/utilities/parseSearchParams.js.map +1 -1
  1133. package/dist/utilities/reduceFieldsToOptions.js +145 -154
  1134. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  1135. package/dist/utilities/reduceFieldsToValuesWithValidation.js +20 -20
  1136. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  1137. package/dist/utilities/removeUndefined.js +2 -1
  1138. package/dist/utilities/removeUndefined.js.map +1 -1
  1139. package/dist/utilities/renderTable.js +239 -195
  1140. package/dist/utilities/renderTable.js.map +1 -1
  1141. package/dist/utilities/resolveFilterOptions.js +27 -26
  1142. package/dist/utilities/resolveFilterOptions.js.map +1 -1
  1143. package/dist/utilities/sanitizeFilterOptionsQuery.js +16 -15
  1144. package/dist/utilities/sanitizeFilterOptionsQuery.js.map +1 -1
  1145. package/dist/utilities/sanitizeID.js +8 -7
  1146. package/dist/utilities/sanitizeID.js.map +1 -1
  1147. package/dist/utilities/schedulePublishHandler.js +47 -57
  1148. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  1149. package/dist/utilities/scrollToID.js +10 -9
  1150. package/dist/utilities/scrollToID.js.map +1 -1
  1151. package/dist/utilities/setsAreEqual.js +3 -2
  1152. package/dist/utilities/setsAreEqual.js.map +1 -1
  1153. package/dist/utilities/traverseForLocalizedFields.js +36 -35
  1154. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  1155. package/dist/utilities/upsertPreferences.js +75 -75
  1156. package/dist/utilities/upsertPreferences.js.map +1 -1
  1157. package/dist/views/BrowseByFolder/index.js +365 -324
  1158. package/dist/views/BrowseByFolder/index.js.map +1 -1
  1159. package/dist/views/CollectionFolder/ListSelection/index.js +161 -158
  1160. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  1161. package/dist/views/CollectionFolder/index.js +360 -282
  1162. package/dist/views/CollectionFolder/index.js.map +1 -1
  1163. package/dist/views/Edit/Auth/APIKey.js +185 -124
  1164. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  1165. package/dist/views/Edit/Auth/index.js +309 -321
  1166. package/dist/views/Edit/Auth/index.js.map +1 -1
  1167. package/dist/views/Edit/Auth/types.js +2 -1
  1168. package/dist/views/Edit/Auth/types.js.map +1 -1
  1169. package/dist/views/Edit/SetDocumentStepNav/index.js +84 -150
  1170. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  1171. package/dist/views/Edit/SetDocumentTitle/index.js +30 -77
  1172. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  1173. package/dist/views/Edit/index.js +579 -501
  1174. package/dist/views/Edit/index.js.map +1 -1
  1175. package/dist/views/Edit/types.js +2 -1
  1176. package/dist/views/Edit/types.js.map +1 -1
  1177. package/dist/views/List/GroupByHeader/index.js +35 -24
  1178. package/dist/views/List/GroupByHeader/index.js.map +1 -1
  1179. package/dist/views/List/ListHeader/index.js +115 -80
  1180. package/dist/views/List/ListHeader/index.js.map +1 -1
  1181. package/dist/views/List/ListSelection/index.js +103 -111
  1182. package/dist/views/List/ListSelection/index.js.map +1 -1
  1183. package/dist/views/List/index.js +321 -213
  1184. package/dist/views/List/index.js.map +1 -1
  1185. package/dist/views/List/types.js +2 -1
  1186. package/dist/views/List/types.js.map +1 -1
  1187. package/dist/widgets/CollectionCards/index.js +149 -119
  1188. package/dist/widgets/CollectionCards/index.js.map +1 -1
  1189. package/package.json +5 -5
  1190. package/dist/exports/client/CodeEditor-QOURTFMT.js +0 -14
  1191. package/dist/exports/client/CodeEditor-QOURTFMT.js.map +0 -7
  1192. package/dist/exports/client/DatePicker-VMLA35FO.js +0 -14
  1193. package/dist/exports/client/DatePicker-VMLA35FO.js.map +0 -7
  1194. package/dist/exports/client/chunk-53XJ3K67.js +0 -27
  1195. package/dist/exports/client/chunk-53XJ3K67.js.map +0 -7
  1196. package/dist/exports/client/chunk-5LKBKI4T.js +0 -14
  1197. package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -7
  1198. package/dist/exports/client/chunk-7V3NHDV6.js +0 -29
  1199. package/dist/exports/client/chunk-7V3NHDV6.js.map +0 -7
@@ -6,766 +6,741 @@ import { isRowCollapsed } from './isRowCollapsed.js';
6
6
  import { iterateFields } from './iterateFields.js';
7
7
  const ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport;
8
8
  /**
9
+ * if all parents are localized, then the field is localized
10
+ */ /**
11
+ * Data of the nearest parent block, or undefined
12
+ */ /**
13
+ * You can use this to filter down to only `localized` fields that require translation (type: text, textarea, etc.). Another plugin might want to look for only `point` type fields to do some GIS function. With the filter function you can go in like a surgeon.
14
+ */ /**
15
+ * Force the value of fields like arrays or blocks to be the full value instead of the length @default false
16
+ */ /**
17
+ * Whether the field schema should be included in the state
18
+ */ /**
19
+ * Whether to omit parent fields in the state. @default false
20
+ */ /**
21
+ * Req is used for validation and defaultValue calculation. If you don't need validation,
22
+ * just create your own req and pass in the locale and the user
23
+ */ /**
24
+ * Whether to skip checking the field's condition. @default false
25
+ */ /**
26
+ * Whether to skip validating the field. @default false
27
+ */ /**
9
28
  * Flattens the fields schema and fields data.
10
29
  * The output is the field path (e.g. array.0.name) mapped to a FormField object.
11
- */
12
- export const addFieldStatePromise = async args => {
13
- const {
14
- id,
15
- addErrorPathToParent: addErrorPathToParentArg,
16
- anyParentLocalized = false,
17
- blockData,
18
- clientFieldSchemaMap,
19
- collectionSlug,
20
- data,
21
- field,
22
- fieldSchemaMap,
23
- filter,
24
- forceFullValue = false,
25
- fullData,
26
- includeSchema = false,
27
- indexPath,
28
- mockRSCs,
29
- omitParents = false,
30
- operation,
31
- parentPath,
32
- parentPermissions,
33
- parentSchemaPath,
34
- passesCondition,
35
- path,
36
- preferences,
37
- previousFormState,
38
- readOnly,
39
- renderAllFields,
40
- renderFieldFn,
41
- req,
42
- schemaPath,
43
- select,
44
- selectMode,
45
- skipConditionChecks = false,
46
- skipValidation = false,
47
- state
48
- } = args;
49
- if (!args.clientFieldSchemaMap && args.renderFieldFn) {
50
- // eslint-disable-next-line no-console
51
- console.warn('clientFieldSchemaMap is not passed to addFieldStatePromise - this will reduce performance');
52
- }
53
- let fieldPermissions = true;
54
- const fieldState = {};
55
- const lastRenderedPath = previousFormState?.[path]?.lastRenderedPath;
56
- // Append only if true to avoid sending '$undefined' through the network
57
- if (lastRenderedPath) {
58
- fieldState.lastRenderedPath = lastRenderedPath;
59
- }
60
- // If we're rendering all fields, no need to flag this as added by server
61
- const addedByServer = !renderAllFields && !previousFormState?.[path];
62
- // Append only if true to avoid sending '$undefined' through the network
63
- if (addedByServer) {
64
- fieldState.addedByServer = true;
65
- }
66
- // Append only if true to avoid sending '$undefined' through the network
67
- if (passesCondition === false) {
68
- fieldState.passesCondition = false;
69
- }
70
- // Append only if true to avoid sending '$undefined' through the network
71
- if (includeSchema) {
72
- fieldState.fieldSchema = field;
73
- }
74
- if (fieldAffectsData(field) && !fieldIsHiddenOrDisabled(field) && field.type !== 'tab') {
75
- fieldPermissions = parentPermissions === true ? parentPermissions : deepCopyObjectSimple(parentPermissions?.[field.name]);
76
- let hasPermission = fieldPermissions === true || deepCopyObjectSimple(fieldPermissions?.read);
77
- if (typeof field?.access?.read === 'function') {
78
- hasPermission = await field.access.read({
79
- id,
80
- blockData,
81
- data: fullData,
82
- req,
83
- siblingData: data
84
- });
85
- } else {
86
- hasPermission = true;
30
+ */ export const addFieldStatePromise = async (args)=>{
31
+ const { id, addErrorPathToParent: addErrorPathToParentArg, anyParentLocalized = false, blockData, clientFieldSchemaMap, collectionSlug, data, field, fieldSchemaMap, filter, forceFullValue = false, fullData, includeSchema = false, indexPath, mockRSCs, omitParents = false, operation, parentPath, parentPermissions, parentSchemaPath, passesCondition, path, preferences, previousFormState, readOnly, renderAllFields, renderFieldFn, req, schemaPath, select, selectMode, skipConditionChecks = false, skipValidation = false, state } = args;
32
+ if (!args.clientFieldSchemaMap && args.renderFieldFn) {
33
+ // eslint-disable-next-line no-console
34
+ console.warn('clientFieldSchemaMap is not passed to addFieldStatePromise - this will reduce performance');
87
35
  }
88
- if (!hasPermission) {
89
- return;
36
+ let fieldPermissions = true;
37
+ const fieldState = {};
38
+ const lastRenderedPath = previousFormState?.[path]?.lastRenderedPath;
39
+ // Append only if true to avoid sending '$undefined' through the network
40
+ if (lastRenderedPath) {
41
+ fieldState.lastRenderedPath = lastRenderedPath;
90
42
  }
91
- const validate = 'validate' in field ? field.validate : undefined;
92
- let validationResult = true;
93
- if (typeof validate === 'function' && !skipValidation && passesCondition) {
94
- let jsonError;
95
- if (field.type === 'json' && typeof data[field.name] === 'string') {
96
- try {
97
- JSON.parse(data[field.name]);
98
- } catch (e) {
99
- jsonError = e;
100
- }
101
- }
102
- try {
103
- validationResult = await validate(data?.[field.name], {
104
- ...field,
105
- id,
106
- blockData,
107
- collectionSlug,
108
- data: fullData,
109
- event: 'onChange',
110
- // @AlessioGr added `jsonError` in https://github.com/payloadcms/payload/commit/c7ea62a39473408c3ea912c4fbf73e11be4b538d
111
- // @ts-expect-error-next-line
112
- jsonError,
113
- operation,
114
- preferences,
115
- previousValue: previousFormState?.[path]?.initialValue,
116
- req,
117
- siblingData: data
118
- });
119
- } catch (err) {
120
- validationResult = `Error validating field at path: ${path}`;
121
- req.payload.logger.error({
122
- err,
123
- msg: validationResult
124
- });
125
- }
43
+ // If we're rendering all fields, no need to flag this as added by server
44
+ const addedByServer = !renderAllFields && !previousFormState?.[path];
45
+ // Append only if true to avoid sending '$undefined' through the network
46
+ if (addedByServer) {
47
+ fieldState.addedByServer = true;
126
48
  }
127
- /**
128
- * This function adds the error **path** to the current field and all its parents. If a field is invalid, all its parents are also invalid.
129
- * It does not add the error **message** to the current field, as that shouldn't apply to all parents.
130
- * This is done separately below.
131
- */
132
- const addErrorPathToParent = errorPath => {
133
- if (typeof addErrorPathToParentArg === 'function') {
134
- addErrorPathToParentArg(errorPath);
135
- }
136
- if (!fieldState.errorPaths) {
137
- fieldState.errorPaths = [];
138
- }
139
- if (!fieldState.errorPaths.includes(errorPath)) {
140
- fieldState.errorPaths.push(errorPath);
141
- fieldState.valid = false;
142
- }
143
- };
144
- if (typeof validationResult === 'string') {
145
- fieldState.errorMessage = validationResult;
146
- fieldState.valid = false;
147
- addErrorPathToParent(path);
49
+ // Append only if true to avoid sending '$undefined' through the network
50
+ if (passesCondition === false) {
51
+ fieldState.passesCondition = false;
148
52
  }
149
- switch (field.type) {
150
- case 'array':
151
- {
152
- const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : [];
153
- const arraySelect = select?.[field.name];
154
- const {
155
- promises,
156
- rows
157
- } = arrayValue.reduce((acc, row, rowIndex) => {
158
- const rowPath = path + '.' + rowIndex;
159
- row.id = row?.id || new ObjectId().toHexString();
160
- if (!omitParents && (!filter || filter(args))) {
161
- const idKey = rowPath + '.id';
162
- state[idKey] = {
163
- initialValue: row.id,
164
- value: row.id
165
- };
166
- if (includeSchema) {
167
- state[idKey].fieldSchema = field.fields.find(field => fieldIsID(field));
168
- }
169
- }
170
- acc.promises.push(iterateFields({
171
- id,
172
- addErrorPathToParent,
173
- anyParentLocalized: field.localized || anyParentLocalized,
174
- blockData,
175
- clientFieldSchemaMap,
176
- collectionSlug,
177
- data: row,
178
- fields: field.fields,
179
- fieldSchemaMap,
180
- filter,
181
- forceFullValue,
182
- fullData,
183
- includeSchema,
184
- mockRSCs,
185
- omitParents,
186
- operation,
187
- parentIndexPath: '',
188
- parentPassesCondition: passesCondition,
189
- parentPath: rowPath,
190
- parentSchemaPath: schemaPath,
191
- permissions: fieldPermissions === true ? fieldPermissions : fieldPermissions?.fields || {},
192
- preferences,
193
- previousFormState,
194
- readOnly,
195
- renderAllFields,
196
- renderFieldFn,
197
- req,
198
- select: typeof arraySelect === 'object' ? arraySelect : undefined,
199
- selectMode,
200
- skipConditionChecks,
201
- skipValidation,
202
- state
203
- }));
204
- if (!acc.rows) {
205
- acc.rows = [];
53
+ // Append only if true to avoid sending '$undefined' through the network
54
+ if (includeSchema) {
55
+ fieldState.fieldSchema = field;
56
+ }
57
+ if (fieldAffectsData(field) && !fieldIsHiddenOrDisabled(field) && field.type !== 'tab') {
58
+ fieldPermissions = parentPermissions === true ? parentPermissions : deepCopyObjectSimple(parentPermissions?.[field.name]);
59
+ let hasPermission = fieldPermissions === true || deepCopyObjectSimple(fieldPermissions?.read);
60
+ if (typeof field?.access?.read === 'function') {
61
+ hasPermission = await field.access.read({
62
+ id,
63
+ blockData,
64
+ data: fullData,
65
+ req,
66
+ siblingData: data
67
+ });
68
+ } else {
69
+ hasPermission = true;
70
+ }
71
+ if (!hasPermission) {
72
+ return;
73
+ }
74
+ const validate = 'validate' in field ? field.validate : undefined;
75
+ let validationResult = true;
76
+ if (typeof validate === 'function' && !skipValidation && passesCondition) {
77
+ let jsonError;
78
+ if (field.type === 'json' && typeof data[field.name] === 'string') {
79
+ try {
80
+ JSON.parse(data[field.name]);
81
+ } catch (e) {
82
+ jsonError = e;
83
+ }
206
84
  }
207
- // First, check if `previousFormState` has a matching row
208
- const previousRow = (previousFormState?.[path]?.rows || []).find(prevRow => prevRow.id === row.id);
209
- const newRow = {
210
- id: row.id,
211
- isLoading: false
212
- };
213
- if (previousRow?.lastRenderedPath) {
214
- newRow.lastRenderedPath = previousRow.lastRenderedPath;
85
+ try {
86
+ validationResult = await validate(data?.[field.name], {
87
+ ...field,
88
+ id,
89
+ blockData,
90
+ collectionSlug,
91
+ data: fullData,
92
+ event: 'onChange',
93
+ // @AlessioGr added `jsonError` in https://github.com/payloadcms/payload/commit/c7ea62a39473408c3ea912c4fbf73e11be4b538d
94
+ // @ts-expect-error-next-line
95
+ jsonError,
96
+ operation,
97
+ preferences,
98
+ previousValue: previousFormState?.[path]?.initialValue,
99
+ req,
100
+ siblingData: data
101
+ });
102
+ } catch (err) {
103
+ validationResult = `Error validating field at path: ${path}`;
104
+ req.payload.logger.error({
105
+ err,
106
+ msg: validationResult
107
+ });
215
108
  }
216
- // add addedByServer flag
217
- if (!previousRow) {
218
- newRow.addedByServer = true;
109
+ }
110
+ /**
111
+ * This function adds the error **path** to the current field and all its parents. If a field is invalid, all its parents are also invalid.
112
+ * It does not add the error **message** to the current field, as that shouldn't apply to all parents.
113
+ * This is done separately below.
114
+ */ const addErrorPathToParent = (errorPath)=>{
115
+ if (typeof addErrorPathToParentArg === 'function') {
116
+ addErrorPathToParentArg(errorPath);
219
117
  }
220
- const isCollapsed = isRowCollapsed({
221
- collapsedPrefs: preferences?.fields?.[path]?.collapsed,
222
- field,
223
- previousRow,
224
- row
225
- });
226
- if (isCollapsed) {
227
- newRow.collapsed = true;
118
+ if (!fieldState.errorPaths) {
119
+ fieldState.errorPaths = [];
228
120
  }
229
- acc.rows.push(newRow);
230
- return acc;
231
- }, {
232
- promises: [],
233
- rows: []
234
- });
235
- // Wait for all promises and update fields with the results
236
- await Promise.all(promises);
237
- if (rows) {
238
- fieldState.rows = rows;
239
- }
240
- // Add values to field state
241
- if (data[field.name] !== null) {
242
- fieldState.value = forceFullValue ? arrayValue : arrayValue.length;
243
- fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length;
244
- if (arrayValue.length > 0) {
245
- fieldState.disableFormData = true;
121
+ if (!fieldState.errorPaths.includes(errorPath)) {
122
+ fieldState.errorPaths.push(errorPath);
123
+ fieldState.valid = false;
246
124
  }
247
- }
248
- // Add field to state
249
- if (!omitParents && (!filter || filter(args))) {
250
- state[path] = fieldState;
251
- }
252
- break;
125
+ };
126
+ if (typeof validationResult === 'string') {
127
+ fieldState.errorMessage = validationResult;
128
+ fieldState.valid = false;
129
+ addErrorPathToParent(path);
253
130
  }
254
- case 'blocks':
255
- {
256
- const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : [];
257
- // Handle blocks filterOptions
258
- let filterOptionsValidationResult = null;
259
- if (field.filterOptions) {
260
- filterOptionsValidationResult = await validateBlocksFilterOptions({
261
- id,
262
- data: fullData,
263
- filterOptions: field.filterOptions,
264
- req,
265
- siblingData: data,
266
- value: data[field.name]
267
- });
268
- fieldState.blocksFilterOptions = filterOptionsValidationResult.allowedBlockSlugs;
269
- }
270
- const {
271
- promises,
272
- rowMetadata
273
- } = blocksValue.reduce((acc, row, i) => {
274
- const blockTypeToMatch = row.blockType;
275
- const block = req.payload.blocks[blockTypeToMatch] ?? (field.blockReferences ?? field.blocks).find(blockType => typeof blockType !== 'string' && blockType.slug === blockTypeToMatch);
276
- if (!block) {
277
- throw new Error(`Block with type "${row.blockType}" was found in block data, but no block with that type is defined in the config for field with schema path ${schemaPath}.`);
278
- }
279
- const {
280
- blockSelect,
281
- blockSelectMode
282
- } = getBlockSelect({
283
- block,
284
- select: select?.[field.name],
285
- selectMode
286
- });
287
- const rowPath = path + '.' + i;
288
- if (block) {
289
- row.id = row?.id || new ObjectId().toHexString();
290
- if (!omitParents && (!filter || filter(args))) {
291
- // Handle block `id` field
292
- const idKey = rowPath + '.id';
293
- state[idKey] = {
294
- initialValue: row.id,
295
- value: row.id
296
- };
297
- // If the blocks field fails filterOptions validation, add error paths to the individual blocks that are no longer allowed
298
- if (filterOptionsValidationResult?.invalidBlockSlugs?.length && filterOptionsValidationResult.invalidBlockSlugs.includes(row.blockType)) {
299
- state[idKey].errorMessage = req.t('validation:invalidBlock', {
300
- block: row.blockType
301
- });
302
- state[idKey].valid = false;
303
- addErrorPathToParent(idKey);
304
- // If the error is due to block filterOptions, we want the blocks field (fieldState) to include all the filterOptions-related
305
- // error paths for each sub-block, not for the validation result of the block itself. Otherwise, say there are 2 invalid blocks,
306
- // the blocks field will have 3 instead of 2 error paths - one for itself, and one for each invalid block.
307
- // Instead, we want only the 2 error paths for the individual, invalid blocks.
308
- fieldState.errorPaths = fieldState.errorPaths.filter(errorPath => errorPath !== path);
131
+ switch(field.type){
132
+ case 'array':
133
+ {
134
+ const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : [];
135
+ const arraySelect = select?.[field.name];
136
+ const { promises, rows } = arrayValue.reduce((acc, row, rowIndex)=>{
137
+ const rowPath = path + '.' + rowIndex;
138
+ row.id = row?.id || new ObjectId().toHexString();
139
+ if (!omitParents && (!filter || filter(args))) {
140
+ const idKey = rowPath + '.id';
141
+ state[idKey] = {
142
+ initialValue: row.id,
143
+ value: row.id
144
+ };
145
+ if (includeSchema) {
146
+ state[idKey].fieldSchema = field.fields.find((field)=>fieldIsID(field));
147
+ }
148
+ }
149
+ acc.promises.push(iterateFields({
150
+ id,
151
+ addErrorPathToParent,
152
+ anyParentLocalized: field.localized || anyParentLocalized,
153
+ blockData,
154
+ clientFieldSchemaMap,
155
+ collectionSlug,
156
+ data: row,
157
+ fields: field.fields,
158
+ fieldSchemaMap,
159
+ filter,
160
+ forceFullValue,
161
+ fullData,
162
+ includeSchema,
163
+ mockRSCs,
164
+ omitParents,
165
+ operation,
166
+ parentIndexPath: '',
167
+ parentPassesCondition: passesCondition,
168
+ parentPath: rowPath,
169
+ parentSchemaPath: schemaPath,
170
+ permissions: fieldPermissions === true ? fieldPermissions : fieldPermissions?.fields || {},
171
+ preferences,
172
+ previousFormState,
173
+ readOnly,
174
+ renderAllFields,
175
+ renderFieldFn,
176
+ req,
177
+ select: typeof arraySelect === 'object' ? arraySelect : undefined,
178
+ selectMode,
179
+ skipConditionChecks,
180
+ skipValidation,
181
+ state
182
+ }));
183
+ if (!acc.rows) {
184
+ acc.rows = [];
185
+ }
186
+ // First, check if `previousFormState` has a matching row
187
+ const previousRow = (previousFormState?.[path]?.rows || []).find((prevRow)=>prevRow.id === row.id);
188
+ const newRow = {
189
+ id: row.id,
190
+ isLoading: false
191
+ };
192
+ if (previousRow?.lastRenderedPath) {
193
+ newRow.lastRenderedPath = previousRow.lastRenderedPath;
194
+ }
195
+ // add addedByServer flag
196
+ if (!previousRow) {
197
+ newRow.addedByServer = true;
198
+ }
199
+ const isCollapsed = isRowCollapsed({
200
+ collapsedPrefs: preferences?.fields?.[path]?.collapsed,
201
+ field,
202
+ previousRow,
203
+ row
204
+ });
205
+ if (isCollapsed) {
206
+ newRow.collapsed = true;
207
+ }
208
+ acc.rows.push(newRow);
209
+ return acc;
210
+ }, {
211
+ promises: [],
212
+ rows: []
213
+ });
214
+ // Wait for all promises and update fields with the results
215
+ await Promise.all(promises);
216
+ if (rows) {
217
+ fieldState.rows = rows;
218
+ }
219
+ // Add values to field state
220
+ if (data[field.name] !== null) {
221
+ fieldState.value = forceFullValue ? arrayValue : arrayValue.length;
222
+ fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length;
223
+ if (arrayValue.length > 0) {
224
+ fieldState.disableFormData = true;
225
+ }
226
+ }
227
+ // Add field to state
228
+ if (!omitParents && (!filter || filter(args))) {
229
+ state[path] = fieldState;
230
+ }
231
+ break;
309
232
  }
310
- if (includeSchema) {
311
- state[idKey].fieldSchema = includeSchema ? block.fields.find(blockField => fieldIsID(blockField)) : undefined;
233
+ case 'blocks':
234
+ {
235
+ const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : [];
236
+ // Handle blocks filterOptions
237
+ let filterOptionsValidationResult = null;
238
+ if (field.filterOptions) {
239
+ filterOptionsValidationResult = await validateBlocksFilterOptions({
240
+ id,
241
+ data: fullData,
242
+ filterOptions: field.filterOptions,
243
+ req,
244
+ siblingData: data,
245
+ value: data[field.name]
246
+ });
247
+ fieldState.blocksFilterOptions = filterOptionsValidationResult.allowedBlockSlugs;
248
+ }
249
+ const { promises, rowMetadata } = blocksValue.reduce((acc, row, i)=>{
250
+ const blockTypeToMatch = row.blockType;
251
+ const block = req.payload.blocks[blockTypeToMatch] ?? (field.blockReferences ?? field.blocks).find((blockType)=>typeof blockType !== 'string' && blockType.slug === blockTypeToMatch);
252
+ if (!block) {
253
+ throw new Error(`Block with type "${row.blockType}" was found in block data, but no block with that type is defined in the config for field with schema path ${schemaPath}.`);
254
+ }
255
+ const { blockSelect, blockSelectMode } = getBlockSelect({
256
+ block,
257
+ select: select?.[field.name],
258
+ selectMode
259
+ });
260
+ const rowPath = path + '.' + i;
261
+ if (block) {
262
+ row.id = row?.id || new ObjectId().toHexString();
263
+ if (!omitParents && (!filter || filter(args))) {
264
+ // Handle block `id` field
265
+ const idKey = rowPath + '.id';
266
+ state[idKey] = {
267
+ initialValue: row.id,
268
+ value: row.id
269
+ };
270
+ // If the blocks field fails filterOptions validation, add error paths to the individual blocks that are no longer allowed
271
+ if (filterOptionsValidationResult?.invalidBlockSlugs?.length && filterOptionsValidationResult.invalidBlockSlugs.includes(row.blockType)) {
272
+ state[idKey].errorMessage = req.t('validation:invalidBlock', {
273
+ block: row.blockType
274
+ });
275
+ state[idKey].valid = false;
276
+ addErrorPathToParent(idKey);
277
+ // If the error is due to block filterOptions, we want the blocks field (fieldState) to include all the filterOptions-related
278
+ // error paths for each sub-block, not for the validation result of the block itself. Otherwise, say there are 2 invalid blocks,
279
+ // the blocks field will have 3 instead of 2 error paths - one for itself, and one for each invalid block.
280
+ // Instead, we want only the 2 error paths for the individual, invalid blocks.
281
+ fieldState.errorPaths = fieldState.errorPaths.filter((errorPath)=>errorPath !== path);
282
+ }
283
+ if (includeSchema) {
284
+ state[idKey].fieldSchema = includeSchema ? block.fields.find((blockField)=>fieldIsID(blockField)) : undefined;
285
+ }
286
+ // Handle `blockType` field
287
+ const fieldKey = rowPath + '.blockType';
288
+ state[fieldKey] = {
289
+ initialValue: row.blockType,
290
+ value: row.blockType
291
+ };
292
+ if (addedByServer) {
293
+ state[fieldKey].addedByServer = addedByServer;
294
+ }
295
+ if (includeSchema) {
296
+ state[fieldKey].fieldSchema = block.fields.find((blockField)=>'name' in blockField && blockField.name === 'blockType');
297
+ }
298
+ // Handle `blockName` field
299
+ const blockNameKey = rowPath + '.blockName';
300
+ state[blockNameKey] = {};
301
+ if (row.blockName) {
302
+ state[blockNameKey].initialValue = row.blockName;
303
+ state[blockNameKey].value = row.blockName;
304
+ }
305
+ if (includeSchema) {
306
+ state[blockNameKey].fieldSchema = block.fields.find((blockField)=>'name' in blockField && blockField.name === 'blockName');
307
+ }
308
+ }
309
+ acc.promises.push(iterateFields({
310
+ id,
311
+ addErrorPathToParent,
312
+ anyParentLocalized: field.localized || anyParentLocalized,
313
+ blockData: row,
314
+ clientFieldSchemaMap,
315
+ collectionSlug,
316
+ data: row,
317
+ fields: block.fields,
318
+ fieldSchemaMap,
319
+ filter,
320
+ forceFullValue,
321
+ fullData,
322
+ includeSchema,
323
+ mockRSCs,
324
+ omitParents,
325
+ operation,
326
+ parentIndexPath: '',
327
+ parentPassesCondition: passesCondition,
328
+ parentPath: rowPath,
329
+ parentSchemaPath: schemaPath + '.' + block.slug,
330
+ permissions: fieldPermissions === true ? fieldPermissions : parentPermissions?.[field.name]?.blocks?.[block.slug] === true ? true : parentPermissions?.[field.name]?.blocks?.[block.slug]?.fields || {},
331
+ preferences,
332
+ previousFormState,
333
+ readOnly,
334
+ renderAllFields,
335
+ renderFieldFn,
336
+ req,
337
+ select: typeof blockSelect === 'object' ? blockSelect : undefined,
338
+ selectMode: blockSelectMode,
339
+ skipConditionChecks,
340
+ skipValidation,
341
+ state
342
+ }));
343
+ // First, check if `previousFormState` has a matching row
344
+ const previousRow = (previousFormState?.[path]?.rows || []).find((prevRow)=>prevRow.id === row.id);
345
+ const newRow = {
346
+ id: row.id,
347
+ blockType: row.blockType,
348
+ isLoading: false
349
+ };
350
+ if (previousRow?.lastRenderedPath) {
351
+ newRow.lastRenderedPath = previousRow.lastRenderedPath;
352
+ }
353
+ acc.rowMetadata.push(newRow);
354
+ const isCollapsed = isRowCollapsed({
355
+ collapsedPrefs: preferences?.fields?.[path]?.collapsed,
356
+ field,
357
+ previousRow,
358
+ row
359
+ });
360
+ if (isCollapsed) {
361
+ acc.rowMetadata[acc.rowMetadata.length - 1].collapsed = true;
362
+ }
363
+ }
364
+ return acc;
365
+ }, {
366
+ promises: [],
367
+ rowMetadata: []
368
+ });
369
+ await Promise.all(promises);
370
+ // Add values to field state
371
+ if (data[field.name] === null) {
372
+ fieldState.value = null;
373
+ fieldState.initialValue = null;
374
+ } else {
375
+ fieldState.value = forceFullValue ? blocksValue : blocksValue.length;
376
+ fieldState.initialValue = forceFullValue ? blocksValue : blocksValue.length;
377
+ if (blocksValue.length > 0) {
378
+ fieldState.disableFormData = true;
379
+ }
380
+ }
381
+ fieldState.rows = rowMetadata;
382
+ // Add field to state
383
+ if (!omitParents && (!filter || filter(args))) {
384
+ state[path] = fieldState;
385
+ }
386
+ break;
312
387
  }
313
- // Handle `blockType` field
314
- const fieldKey = rowPath + '.blockType';
315
- state[fieldKey] = {
316
- initialValue: row.blockType,
317
- value: row.blockType
318
- };
319
- if (addedByServer) {
320
- state[fieldKey].addedByServer = addedByServer;
388
+ case 'group':
389
+ {
390
+ if (!filter || filter(args)) {
391
+ fieldState.disableFormData = true;
392
+ state[path] = fieldState;
393
+ }
394
+ const groupSelect = select?.[field.name];
395
+ await iterateFields({
396
+ id,
397
+ addErrorPathToParent,
398
+ anyParentLocalized: field.localized || anyParentLocalized,
399
+ blockData,
400
+ clientFieldSchemaMap,
401
+ collectionSlug,
402
+ data: data?.[field.name] || {},
403
+ fields: field.fields,
404
+ fieldSchemaMap,
405
+ filter,
406
+ forceFullValue,
407
+ fullData,
408
+ includeSchema,
409
+ mockRSCs,
410
+ omitParents,
411
+ operation,
412
+ parentIndexPath: '',
413
+ parentPassesCondition: passesCondition,
414
+ parentPath: path,
415
+ parentSchemaPath: schemaPath,
416
+ permissions: typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.fields,
417
+ preferences,
418
+ previousFormState,
419
+ readOnly,
420
+ renderAllFields,
421
+ renderFieldFn,
422
+ req,
423
+ select: typeof groupSelect === 'object' ? groupSelect : undefined,
424
+ selectMode,
425
+ skipConditionChecks,
426
+ skipValidation,
427
+ state
428
+ });
429
+ break;
321
430
  }
322
- if (includeSchema) {
323
- state[fieldKey].fieldSchema = block.fields.find(blockField => 'name' in blockField && blockField.name === 'blockType');
431
+ case 'relationship':
432
+ case 'upload':
433
+ {
434
+ if (field.filterOptions) {
435
+ if (typeof field.filterOptions === 'object') {
436
+ if (typeof field.relationTo === 'string') {
437
+ fieldState.filterOptions = {
438
+ [field.relationTo]: field.filterOptions
439
+ };
440
+ } else {
441
+ fieldState.filterOptions = field.relationTo.reduce((acc, relation)=>{
442
+ acc[relation] = field.filterOptions;
443
+ return acc;
444
+ }, {});
445
+ }
446
+ }
447
+ if (typeof field.filterOptions === 'function') {
448
+ const query = await resolveFilterOptions(field.filterOptions, {
449
+ id,
450
+ blockData,
451
+ data: fullData,
452
+ relationTo: field.relationTo,
453
+ req,
454
+ siblingData: data,
455
+ user: req.user
456
+ });
457
+ fieldState.filterOptions = query;
458
+ }
459
+ }
460
+ if (field.hasMany) {
461
+ const relationshipValue = Array.isArray(data[field.name]) ? data[field.name].map((relationship)=>{
462
+ if (Array.isArray(field.relationTo)) {
463
+ return {
464
+ relationTo: relationship.relationTo,
465
+ value: relationship.value && typeof relationship.value === 'object' ? relationship.value?.id : relationship.value
466
+ };
467
+ }
468
+ if (typeof relationship === 'object' && relationship !== null) {
469
+ return relationship.id;
470
+ }
471
+ return relationship;
472
+ }) : undefined;
473
+ fieldState.value = relationshipValue;
474
+ fieldState.initialValue = relationshipValue;
475
+ } else if (Array.isArray(field.relationTo)) {
476
+ if (data[field.name] && typeof data[field.name] === 'object' && 'relationTo' in data[field.name] && 'value' in data[field.name]) {
477
+ const value = typeof data[field.name]?.value === 'object' && data[field.name]?.value && 'id' in data[field.name].value ? data[field.name].value.id : data[field.name].value;
478
+ const relationshipValue = {
479
+ relationTo: data[field.name]?.relationTo,
480
+ value
481
+ };
482
+ fieldState.value = relationshipValue;
483
+ fieldState.initialValue = relationshipValue;
484
+ }
485
+ } else {
486
+ const relationshipValue = data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name] ? data[field.name].id : data[field.name];
487
+ fieldState.value = relationshipValue;
488
+ fieldState.initialValue = relationshipValue;
489
+ }
490
+ if (!filter || filter(args)) {
491
+ state[path] = fieldState;
492
+ }
493
+ break;
324
494
  }
325
- // Handle `blockName` field
326
- const blockNameKey = rowPath + '.blockName';
327
- state[blockNameKey] = {};
328
- if (row.blockName) {
329
- state[blockNameKey].initialValue = row.blockName;
330
- state[blockNameKey].value = row.blockName;
495
+ case 'select':
496
+ {
497
+ if (typeof field.filterOptions === 'function') {
498
+ fieldState.selectFilterOptions = field.filterOptions({
499
+ data: fullData,
500
+ options: field.options,
501
+ req,
502
+ siblingData: data
503
+ });
504
+ }
505
+ if (data[field.name] !== undefined) {
506
+ fieldState.value = data[field.name];
507
+ fieldState.initialValue = data[field.name];
508
+ }
509
+ if (!filter || filter(args)) {
510
+ state[path] = fieldState;
511
+ }
512
+ break;
331
513
  }
332
- if (includeSchema) {
333
- state[blockNameKey].fieldSchema = block.fields.find(blockField => 'name' in blockField && blockField.name === 'blockName');
514
+ default:
515
+ {
516
+ if (data[field.name] !== undefined) {
517
+ fieldState.value = data[field.name];
518
+ fieldState.initialValue = data[field.name];
519
+ }
520
+ // Add field to state
521
+ if (!filter || filter(args)) {
522
+ state[path] = fieldState;
523
+ }
524
+ break;
334
525
  }
335
- }
336
- acc.promises.push(iterateFields({
337
- id,
338
- addErrorPathToParent,
339
- anyParentLocalized: field.localized || anyParentLocalized,
340
- blockData: row,
341
- clientFieldSchemaMap,
342
- collectionSlug,
343
- data: row,
344
- fields: block.fields,
345
- fieldSchemaMap,
346
- filter,
347
- forceFullValue,
348
- fullData,
349
- includeSchema,
350
- mockRSCs,
351
- omitParents,
352
- operation,
353
- parentIndexPath: '',
354
- parentPassesCondition: passesCondition,
355
- parentPath: rowPath,
356
- parentSchemaPath: schemaPath + '.' + block.slug,
357
- permissions: fieldPermissions === true ? fieldPermissions : parentPermissions?.[field.name]?.blocks?.[block.slug] === true ? true : parentPermissions?.[field.name]?.blocks?.[block.slug]?.fields || {},
358
- preferences,
359
- previousFormState,
360
- readOnly,
361
- renderAllFields,
362
- renderFieldFn,
363
- req,
364
- select: typeof blockSelect === 'object' ? blockSelect : undefined,
365
- selectMode: blockSelectMode,
366
- skipConditionChecks,
367
- skipValidation,
368
- state
369
- }));
370
- // First, check if `previousFormState` has a matching row
371
- const previousRow = (previousFormState?.[path]?.rows || []).find(prevRow => prevRow.id === row.id);
372
- const newRow = {
373
- id: row.id,
374
- blockType: row.blockType,
375
- isLoading: false
376
- };
377
- if (previousRow?.lastRenderedPath) {
378
- newRow.lastRenderedPath = previousRow.lastRenderedPath;
379
- }
380
- acc.rowMetadata.push(newRow);
381
- const isCollapsed = isRowCollapsed({
382
- collapsedPrefs: preferences?.fields?.[path]?.collapsed,
383
- field,
384
- previousRow,
385
- row
386
- });
387
- if (isCollapsed) {
388
- acc.rowMetadata[acc.rowMetadata.length - 1].collapsed = true;
389
- }
390
- }
391
- return acc;
392
- }, {
393
- promises: [],
394
- rowMetadata: []
395
- });
396
- await Promise.all(promises);
397
- // Add values to field state
398
- if (data[field.name] === null) {
399
- fieldState.value = null;
400
- fieldState.initialValue = null;
401
- } else {
402
- fieldState.value = forceFullValue ? blocksValue : blocksValue.length;
403
- fieldState.initialValue = forceFullValue ? blocksValue : blocksValue.length;
404
- if (blocksValue.length > 0) {
405
- fieldState.disableFormData = true;
526
+ }
527
+ } else if (fieldHasSubFields(field) && !fieldAffectsData(field)) {
528
+ // Handle field types that do not use names (row, collapsible, unnamed group etc)
529
+ if (!filter || filter(args)) {
530
+ state[path] = {
531
+ disableFormData: true
532
+ };
533
+ if (passesCondition === false) {
534
+ state[path].passesCondition = false;
406
535
  }
407
- }
408
- fieldState.rows = rowMetadata;
409
- // Add field to state
410
- if (!omitParents && (!filter || filter(args))) {
411
- state[path] = fieldState;
412
- }
413
- break;
414
536
  }
415
- case 'group':
416
- {
417
- if (!filter || filter(args)) {
418
- fieldState.disableFormData = true;
419
- state[path] = fieldState;
420
- }
421
- const groupSelect = select?.[field.name];
422
- await iterateFields({
537
+ await iterateFields({
423
538
  id,
424
- addErrorPathToParent,
425
- anyParentLocalized: field.localized || anyParentLocalized,
539
+ mockRSCs,
540
+ select,
541
+ selectMode,
542
+ // passthrough parent functionality
543
+ addErrorPathToParent: addErrorPathToParentArg,
544
+ anyParentLocalized: fieldIsLocalized(field) || anyParentLocalized,
426
545
  blockData,
427
546
  clientFieldSchemaMap,
428
547
  collectionSlug,
429
- data: data?.[field.name] || {},
548
+ data,
430
549
  fields: field.fields,
431
550
  fieldSchemaMap,
432
551
  filter,
433
552
  forceFullValue,
434
553
  fullData,
435
554
  includeSchema,
436
- mockRSCs,
437
555
  omitParents,
438
556
  operation,
439
- parentIndexPath: '',
557
+ parentIndexPath: indexPath,
440
558
  parentPassesCondition: passesCondition,
441
559
  parentPath: path,
442
560
  parentSchemaPath: schemaPath,
443
- permissions: typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.fields,
561
+ permissions: parentPermissions,
562
+ // TODO: Verify this is correct
444
563
  preferences,
445
564
  previousFormState,
446
565
  readOnly,
447
566
  renderAllFields,
448
567
  renderFieldFn,
449
568
  req,
450
- select: typeof groupSelect === 'object' ? groupSelect : undefined,
451
- selectMode,
452
569
  skipConditionChecks,
453
570
  skipValidation,
454
571
  state
455
- });
456
- break;
457
- }
458
- case 'relationship':
459
- case 'upload':
460
- {
461
- if (field.filterOptions) {
462
- if (typeof field.filterOptions === 'object') {
463
- if (typeof field.relationTo === 'string') {
464
- fieldState.filterOptions = {
465
- [field.relationTo]: field.filterOptions
466
- };
467
- } else {
468
- fieldState.filterOptions = field.relationTo.reduce((acc, relation) => {
469
- acc[relation] = field.filterOptions;
470
- return acc;
471
- }, {});
472
- }
572
+ });
573
+ } else if (field.type === 'tab') {
574
+ const isNamedTab = tabHasName(field);
575
+ let tabSelect;
576
+ const tabField = {
577
+ ...field,
578
+ type: 'tab'
579
+ };
580
+ let childPermissions = undefined;
581
+ if (isNamedTab) {
582
+ const shouldContinue = stripUnselectedFields({
583
+ field: tabField,
584
+ select,
585
+ selectMode,
586
+ siblingDoc: data?.[field.name] || {}
587
+ });
588
+ if (!shouldContinue) {
589
+ return;
473
590
  }
474
- if (typeof field.filterOptions === 'function') {
475
- const query = await resolveFilterOptions(field.filterOptions, {
476
- id,
477
- blockData,
478
- data: fullData,
479
- relationTo: field.relationTo,
480
- req,
481
- siblingData: data,
482
- user: req.user
483
- });
484
- fieldState.filterOptions = query;
591
+ if (parentPermissions === true) {
592
+ childPermissions = true;
593
+ } else {
594
+ const tabPermissions = parentPermissions?.[field.name];
595
+ if (tabPermissions === true) {
596
+ childPermissions = true;
597
+ } else {
598
+ childPermissions = tabPermissions?.fields;
599
+ }
485
600
  }
486
- }
487
- if (field.hasMany) {
488
- const relationshipValue = Array.isArray(data[field.name]) ? data[field.name].map(relationship => {
489
- if (Array.isArray(field.relationTo)) {
490
- return {
491
- relationTo: relationship.relationTo,
492
- value: relationship.value && typeof relationship.value === 'object' ? relationship.value?.id : relationship.value
493
- };
494
- }
495
- if (typeof relationship === 'object' && relationship !== null) {
496
- return relationship.id;
497
- }
498
- return relationship;
499
- }) : undefined;
500
- fieldState.value = relationshipValue;
501
- fieldState.initialValue = relationshipValue;
502
- } else if (Array.isArray(field.relationTo)) {
503
- if (data[field.name] && typeof data[field.name] === 'object' && 'relationTo' in data[field.name] && 'value' in data[field.name]) {
504
- const value = typeof data[field.name]?.value === 'object' && data[field.name]?.value && 'id' in data[field.name].value ? data[field.name].value.id : data[field.name].value;
505
- const relationshipValue = {
506
- relationTo: data[field.name]?.relationTo,
507
- value
508
- };
509
- fieldState.value = relationshipValue;
510
- fieldState.initialValue = relationshipValue;
601
+ if (typeof select?.[field.name] === 'object') {
602
+ tabSelect = select?.[field.name];
511
603
  }
512
- } else {
513
- const relationshipValue = data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name] ? data[field.name].id : data[field.name];
514
- fieldState.value = relationshipValue;
515
- fieldState.initialValue = relationshipValue;
516
- }
517
- if (!filter || filter(args)) {
518
- state[path] = fieldState;
519
- }
520
- break;
604
+ } else {
605
+ childPermissions = parentPermissions;
606
+ tabSelect = select;
521
607
  }
522
- case 'select':
523
- {
524
- if (typeof field.filterOptions === 'function') {
525
- fieldState.selectFilterOptions = field.filterOptions({
526
- data: fullData,
527
- options: field.options,
528
- req,
529
- siblingData: data
608
+ const pathSegments = path ? path.split('.') : [];
609
+ // If passesCondition is false then this should always result to false
610
+ // If the tab has no admin.condition provided then fallback to passesCondition and let that decide the result
611
+ let tabPassesCondition = passesCondition;
612
+ if (passesCondition && typeof field.admin?.condition === 'function') {
613
+ tabPassesCondition = field.admin.condition(fullData, data, {
614
+ blockData,
615
+ operation,
616
+ path: pathSegments,
617
+ user: req.user
530
618
  });
531
- }
532
- if (data[field.name] !== undefined) {
533
- fieldState.value = data[field.name];
534
- fieldState.initialValue = data[field.name];
535
- }
536
- if (!filter || filter(args)) {
537
- state[path] = fieldState;
538
- }
539
- break;
540
619
  }
541
- default:
542
- {
543
- if (data[field.name] !== undefined) {
544
- fieldState.value = data[field.name];
545
- fieldState.initialValue = data[field.name];
546
- }
547
- // Add field to state
548
- if (!filter || filter(args)) {
620
+ if (field?.id) {
621
+ state[field.id] = {
622
+ passesCondition: tabPassesCondition
623
+ };
624
+ }
625
+ return iterateFields({
626
+ id,
627
+ addErrorPathToParent: addErrorPathToParentArg,
628
+ anyParentLocalized: field.localized || anyParentLocalized,
629
+ blockData,
630
+ clientFieldSchemaMap,
631
+ collectionSlug,
632
+ data: isNamedTab ? data?.[field.name] || {} : data,
633
+ fields: field.fields,
634
+ fieldSchemaMap,
635
+ filter,
636
+ forceFullValue,
637
+ fullData,
638
+ includeSchema,
639
+ mockRSCs,
640
+ omitParents,
641
+ operation,
642
+ parentIndexPath: indexPath,
643
+ parentPassesCondition: tabPassesCondition,
644
+ parentPath: path,
645
+ parentSchemaPath: schemaPath,
646
+ permissions: childPermissions,
647
+ preferences,
648
+ previousFormState,
649
+ readOnly,
650
+ renderAllFields,
651
+ renderFieldFn,
652
+ req,
653
+ select: tabSelect,
654
+ selectMode,
655
+ skipConditionChecks,
656
+ skipValidation,
657
+ state
658
+ });
659
+ } else if (field.type === 'tabs') {
660
+ return iterateFields({
661
+ id,
662
+ addErrorPathToParent: addErrorPathToParentArg,
663
+ anyParentLocalized: fieldIsLocalized(field) || anyParentLocalized,
664
+ blockData,
665
+ clientFieldSchemaMap,
666
+ collectionSlug,
667
+ data,
668
+ fields: field.tabs.map((tab)=>({
669
+ ...tab,
670
+ type: 'tab'
671
+ })),
672
+ fieldSchemaMap,
673
+ filter,
674
+ forceFullValue,
675
+ fullData,
676
+ includeSchema,
677
+ omitParents,
678
+ operation,
679
+ parentIndexPath: indexPath,
680
+ parentPassesCondition: passesCondition,
681
+ parentPath: path,
682
+ parentSchemaPath: schemaPath,
683
+ permissions: parentPermissions,
684
+ preferences,
685
+ previousFormState,
686
+ renderAllFields,
687
+ renderFieldFn,
688
+ req,
689
+ select,
690
+ selectMode,
691
+ skipConditionChecks,
692
+ skipValidation,
693
+ state
694
+ });
695
+ } else if (field.type === 'ui') {
696
+ if (!filter || filter(args)) {
549
697
  state[path] = fieldState;
550
- }
551
- break;
698
+ state[path].disableFormData = true;
552
699
  }
553
700
  }
554
- } else if (fieldHasSubFields(field) && !fieldAffectsData(field)) {
555
- // Handle field types that do not use names (row, collapsible, unnamed group etc)
556
- if (!filter || filter(args)) {
557
- state[path] = {
558
- disableFormData: true
559
- };
560
- if (passesCondition === false) {
561
- state[path].passesCondition = false;
562
- }
563
- }
564
- await iterateFields({
565
- id,
566
- mockRSCs,
567
- select,
568
- selectMode,
569
- // passthrough parent functionality
570
- addErrorPathToParent: addErrorPathToParentArg,
571
- anyParentLocalized: fieldIsLocalized(field) || anyParentLocalized,
572
- blockData,
573
- clientFieldSchemaMap,
574
- collectionSlug,
575
- data,
576
- fields: field.fields,
577
- fieldSchemaMap,
578
- filter,
579
- forceFullValue,
580
- fullData,
581
- includeSchema,
582
- omitParents,
583
- operation,
584
- parentIndexPath: indexPath,
585
- parentPassesCondition: passesCondition,
586
- parentPath: path,
587
- parentSchemaPath: schemaPath,
588
- permissions: parentPermissions,
589
- preferences,
590
- previousFormState,
591
- readOnly,
592
- renderAllFields,
593
- renderFieldFn,
594
- req,
595
- skipConditionChecks,
596
- skipValidation,
597
- state
598
- });
599
- } else if (field.type === 'tab') {
600
- const isNamedTab = tabHasName(field);
601
- let tabSelect;
602
- const tabField = {
603
- ...field,
604
- type: 'tab'
605
- };
606
- let childPermissions = undefined;
607
- if (isNamedTab) {
608
- const shouldContinue = stripUnselectedFields({
609
- field: tabField,
610
- select,
611
- selectMode,
612
- siblingDoc: data?.[field.name] || {}
613
- });
614
- if (!shouldContinue) {
615
- return;
616
- }
617
- if (parentPermissions === true) {
618
- childPermissions = true;
619
- } else {
620
- const tabPermissions = parentPermissions?.[field.name];
621
- if (tabPermissions === true) {
622
- childPermissions = true;
623
- } else {
624
- childPermissions = tabPermissions?.fields;
701
+ if (renderFieldFn && !fieldIsHiddenOrDisabled(field)) {
702
+ const fieldConfig = fieldSchemaMap.get(schemaPath);
703
+ if (!fieldConfig && !mockRSCs) {
704
+ if (schemaPath.endsWith('.blockType')) {
705
+ return;
706
+ } else {
707
+ throw new Error(`Field config not found for ${schemaPath}`);
708
+ }
625
709
  }
626
- }
627
- if (typeof select?.[field.name] === 'object') {
628
- tabSelect = select?.[field.name];
629
- }
630
- } else {
631
- childPermissions = parentPermissions;
632
- tabSelect = select;
633
- }
634
- const pathSegments = path ? path.split('.') : [];
635
- // If passesCondition is false then this should always result to false
636
- // If the tab has no admin.condition provided then fallback to passesCondition and let that decide the result
637
- let tabPassesCondition = passesCondition;
638
- if (passesCondition && typeof field.admin?.condition === 'function') {
639
- tabPassesCondition = field.admin.condition(fullData, data, {
640
- blockData,
641
- operation,
642
- path: pathSegments,
643
- user: req.user
644
- });
645
- }
646
- if (field?.id) {
647
- state[field.id] = {
648
- passesCondition: tabPassesCondition
649
- };
650
- }
651
- return iterateFields({
652
- id,
653
- addErrorPathToParent: addErrorPathToParentArg,
654
- anyParentLocalized: field.localized || anyParentLocalized,
655
- blockData,
656
- clientFieldSchemaMap,
657
- collectionSlug,
658
- data: isNamedTab ? data?.[field.name] || {} : data,
659
- fields: field.fields,
660
- fieldSchemaMap,
661
- filter,
662
- forceFullValue,
663
- fullData,
664
- includeSchema,
665
- mockRSCs,
666
- omitParents,
667
- operation,
668
- parentIndexPath: indexPath,
669
- parentPassesCondition: tabPassesCondition,
670
- parentPath: path,
671
- parentSchemaPath: schemaPath,
672
- permissions: childPermissions,
673
- preferences,
674
- previousFormState,
675
- readOnly,
676
- renderAllFields,
677
- renderFieldFn,
678
- req,
679
- select: tabSelect,
680
- selectMode,
681
- skipConditionChecks,
682
- skipValidation,
683
- state
684
- });
685
- } else if (field.type === 'tabs') {
686
- return iterateFields({
687
- id,
688
- addErrorPathToParent: addErrorPathToParentArg,
689
- anyParentLocalized: fieldIsLocalized(field) || anyParentLocalized,
690
- blockData,
691
- clientFieldSchemaMap,
692
- collectionSlug,
693
- data,
694
- fields: field.tabs.map(tab => ({
695
- ...tab,
696
- type: 'tab'
697
- })),
698
- fieldSchemaMap,
699
- filter,
700
- forceFullValue,
701
- fullData,
702
- includeSchema,
703
- omitParents,
704
- operation,
705
- parentIndexPath: indexPath,
706
- parentPassesCondition: passesCondition,
707
- parentPath: path,
708
- parentSchemaPath: schemaPath,
709
- permissions: parentPermissions,
710
- preferences,
711
- previousFormState,
712
- renderAllFields,
713
- renderFieldFn,
714
- req,
715
- select,
716
- selectMode,
717
- skipConditionChecks,
718
- skipValidation,
719
- state
720
- });
721
- } else if (field.type === 'ui') {
722
- if (!filter || filter(args)) {
723
- state[path] = fieldState;
724
- state[path].disableFormData = true;
725
- }
726
- }
727
- if (renderFieldFn && !fieldIsHiddenOrDisabled(field)) {
728
- const fieldConfig = fieldSchemaMap.get(schemaPath);
729
- if (!fieldConfig && !mockRSCs) {
730
- if (schemaPath.endsWith('.blockType')) {
731
- return;
732
- } else {
733
- throw new Error(`Field config not found for ${schemaPath}`);
734
- }
735
- }
736
- if (!state[path]) {
737
- // Some fields (ie `Tab`) do not live in form state
738
- // therefore we cannot attach customComponents to them
739
- return;
740
- }
741
- if (addedByServer) {
742
- state[path].addedByServer = addedByServer;
710
+ if (!state[path]) {
711
+ // Some fields (ie `Tab`) do not live in form state
712
+ // therefore we cannot attach customComponents to them
713
+ return;
714
+ }
715
+ if (addedByServer) {
716
+ state[path].addedByServer = addedByServer;
717
+ }
718
+ renderFieldFn({
719
+ id,
720
+ clientFieldSchemaMap,
721
+ collectionSlug,
722
+ data: fullData,
723
+ fieldConfig: fieldConfig,
724
+ fieldSchemaMap,
725
+ fieldState: state[path],
726
+ formState: state,
727
+ indexPath,
728
+ lastRenderedPath,
729
+ mockRSCs,
730
+ operation,
731
+ parentPath,
732
+ parentSchemaPath,
733
+ path,
734
+ permissions: fieldPermissions,
735
+ preferences,
736
+ previousFieldState: previousFormState?.[path],
737
+ readOnly,
738
+ renderAllFields,
739
+ req,
740
+ schemaPath,
741
+ siblingData: data
742
+ });
743
743
  }
744
- renderFieldFn({
745
- id,
746
- clientFieldSchemaMap,
747
- collectionSlug,
748
- data: fullData,
749
- fieldConfig: fieldConfig,
750
- fieldSchemaMap,
751
- fieldState: state[path],
752
- formState: state,
753
- indexPath,
754
- lastRenderedPath,
755
- mockRSCs,
756
- operation,
757
- parentPath,
758
- parentSchemaPath,
759
- path,
760
- permissions: fieldPermissions,
761
- preferences,
762
- previousFieldState: previousFormState?.[path],
763
- readOnly,
764
- renderAllFields,
765
- req,
766
- schemaPath,
767
- siblingData: data
768
- });
769
- }
770
744
  };
745
+
771
746
  //# sourceMappingURL=addFieldStatePromise.js.map