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

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