@payloadcms/ui 3.70.0 → 3.71.0-internal-debug.80dab4c

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