@payloadcms/ui 3.81.0-canary.4 → 3.81.0-internal-debug.1a0f4d0

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 (1218) hide show
  1. package/dist/@types/assets.d.js.map +1 -1
  2. package/dist/assets/index.js +1 -0
  3. package/dist/assets/index.js.map +1 -1
  4. package/dist/elements/AddNewRelation/index.js +218 -273
  5. package/dist/elements/AddNewRelation/index.js.map +1 -1
  6. package/dist/elements/AddNewRelation/types.js +2 -1
  7. package/dist/elements/AddNewRelation/types.js.map +1 -1
  8. package/dist/elements/AnimateHeight/index.js +84 -73
  9. package/dist/elements/AnimateHeight/index.js.map +1 -1
  10. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +71 -68
  11. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
  12. package/dist/elements/AppHeader/index.js +171 -101
  13. package/dist/elements/AppHeader/index.js.map +1 -1
  14. package/dist/elements/ArrayAction/index.js +186 -118
  15. package/dist/elements/ArrayAction/index.js.map +1 -1
  16. package/dist/elements/Autosave/index.js +162 -181
  17. package/dist/elements/Autosave/index.js.map +1 -1
  18. package/dist/elements/Banner/index.js +52 -32
  19. package/dist/elements/Banner/index.js.map +1 -1
  20. package/dist/elements/BulkUpload/ActionsBar/index.js +169 -173
  21. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  22. package/dist/elements/BulkUpload/AddFilesView/index.js +84 -51
  23. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/AddingFilesView/index.js +85 -94
  25. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  26. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +30 -56
  27. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +19 -27
  29. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/EditForm/index.js +193 -186
  31. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  32. package/dist/elements/BulkUpload/EditForm/types.js +2 -1
  33. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  34. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +221 -172
  35. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  36. package/dist/elements/BulkUpload/EditMany/index.js +56 -57
  37. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  38. package/dist/elements/BulkUpload/FileSidebar/index.js +395 -316
  39. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  40. package/dist/elements/BulkUpload/FormsManager/createFormData.js +33 -32
  41. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  42. package/dist/elements/BulkUpload/FormsManager/index.js +540 -512
  43. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  44. package/dist/elements/BulkUpload/FormsManager/reducer.js +100 -90
  45. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  46. package/dist/elements/BulkUpload/Header/index.js +27 -15
  47. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  48. package/dist/elements/BulkUpload/index.js +204 -271
  49. package/dist/elements/BulkUpload/index.js.map +1 -1
  50. package/dist/elements/Button/index.js +227 -160
  51. package/dist/elements/Button/index.js.map +1 -1
  52. package/dist/elements/Button/types.js +14 -1
  53. package/dist/elements/Button/types.js.map +1 -1
  54. package/dist/elements/Card/index.js +53 -33
  55. package/dist/elements/Card/index.js.map +1 -1
  56. package/dist/elements/CheckboxPopup/index.js +43 -36
  57. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  58. package/dist/elements/ClipboardAction/ClipboardActionLabel.js +29 -35
  59. package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
  60. package/dist/elements/ClipboardAction/clipboardUtilities.js +33 -43
  61. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  62. package/dist/elements/ClipboardAction/index.js +110 -83
  63. package/dist/elements/ClipboardAction/index.js.map +1 -1
  64. package/dist/elements/ClipboardAction/isClipboardDataValid.js +64 -71
  65. package/dist/elements/ClipboardAction/isClipboardDataValid.js.map +1 -1
  66. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +118 -136
  67. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  68. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +548 -532
  69. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
  70. package/dist/elements/ClipboardAction/types.js +2 -1
  71. package/dist/elements/ClipboardAction/types.js.map +1 -1
  72. package/dist/elements/CloseModalButton/index.js +25 -20
  73. package/dist/elements/CloseModalButton/index.js.map +1 -1
  74. package/dist/elements/CloseModalOnRouteChange/index.js +17 -43
  75. package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
  76. package/dist/elements/CodeEditor/CodeEditor.js +82 -97
  77. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  78. package/dist/elements/CodeEditor/constants.js +15 -14
  79. package/dist/elements/CodeEditor/constants.js.map +1 -1
  80. package/dist/elements/CodeEditor/index.js +22 -10
  81. package/dist/elements/CodeEditor/index.js.map +1 -1
  82. package/dist/elements/CodeEditor/types.js +4 -1
  83. package/dist/elements/CodeEditor/types.js.map +1 -1
  84. package/dist/elements/Collapsible/index.js +151 -141
  85. package/dist/elements/Collapsible/index.js.map +1 -1
  86. package/dist/elements/Collapsible/provider.js +32 -30
  87. package/dist/elements/Collapsible/provider.js.map +1 -1
  88. package/dist/elements/ColumnSelector/index.js +54 -54
  89. package/dist/elements/ColumnSelector/index.js.map +1 -1
  90. package/dist/elements/Combobox/index.js +115 -85
  91. package/dist/elements/Combobox/index.js.map +1 -1
  92. package/dist/elements/ConfirmationModal/index.js +116 -129
  93. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  94. package/dist/elements/CopyLocaleData/index.js +217 -276
  95. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  96. package/dist/elements/CopyToClipboard/index.js +47 -70
  97. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  98. package/dist/elements/DatePicker/DatePicker.js +131 -136
  99. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  100. package/dist/elements/DatePicker/getFormattedLocale.js +11 -10
  101. package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
  102. package/dist/elements/DatePicker/index.js +23 -11
  103. package/dist/elements/DatePicker/index.js.map +1 -1
  104. package/dist/elements/DatePicker/types.js +2 -1
  105. package/dist/elements/DatePicker/types.js.map +1 -1
  106. package/dist/elements/DefaultListViewTabs/index.js +97 -131
  107. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  108. package/dist/elements/DeleteDocument/index.js +177 -149
  109. package/dist/elements/DeleteDocument/index.js.map +1 -1
  110. package/dist/elements/DeleteMany/index.js +394 -345
  111. package/dist/elements/DeleteMany/index.js.map +1 -1
  112. package/dist/elements/DocumentControls/index.js +515 -287
  113. package/dist/elements/DocumentControls/index.js.map +1 -1
  114. package/dist/elements/DocumentDrawer/DrawerContent.js +138 -120
  115. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  116. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +96 -103
  117. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  118. package/dist/elements/DocumentDrawer/Provider.js +24 -18
  119. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  120. package/dist/elements/DocumentDrawer/index.js +134 -210
  121. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  122. package/dist/elements/DocumentDrawer/types.js +12 -1
  123. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  124. package/dist/elements/DocumentFields/index.js +106 -69
  125. package/dist/elements/DocumentFields/index.js.map +1 -1
  126. package/dist/elements/DocumentLocked/index.js +154 -179
  127. package/dist/elements/DocumentLocked/index.js.map +1 -1
  128. package/dist/elements/DocumentStaleData/index.js +81 -91
  129. package/dist/elements/DocumentStaleData/index.js.map +1 -1
  130. package/dist/elements/DocumentTakeOver/index.js +97 -113
  131. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  132. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +26 -60
  133. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  134. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +2 -1
  135. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  136. package/dist/elements/DraggableSortable/index.js +81 -139
  137. package/dist/elements/DraggableSortable/index.js.map +1 -1
  138. package/dist/elements/DraggableSortable/types.js +2 -1
  139. package/dist/elements/DraggableSortable/types.js.map +1 -1
  140. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +25 -85
  141. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  142. package/dist/elements/DraggableSortable/useDraggableSortable/types.js +2 -1
  143. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  144. package/dist/elements/Drawer/index.js +166 -192
  145. package/dist/elements/Drawer/index.js.map +1 -1
  146. package/dist/elements/Drawer/types.js +2 -1
  147. package/dist/elements/Drawer/types.js.map +1 -1
  148. package/dist/elements/Drawer/useDrawerSlug.js +7 -19
  149. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  150. package/dist/elements/DrawerActionHeader/index.js +59 -61
  151. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  152. package/dist/elements/DrawerContentContainer/index.js +14 -9
  153. package/dist/elements/DrawerContentContainer/index.js.map +1 -1
  154. package/dist/elements/Dropzone/index.js +94 -80
  155. package/dist/elements/Dropzone/index.js.map +1 -1
  156. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +145 -87
  157. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  158. package/dist/elements/DuplicateDocument/index.js +154 -144
  159. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  160. package/dist/elements/EditMany/DrawerContent.js +398 -389
  161. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  162. package/dist/elements/EditMany/index.js +79 -131
  163. package/dist/elements/EditMany/index.js.map +1 -1
  164. package/dist/elements/EditUpload/index.js +572 -395
  165. package/dist/elements/EditUpload/index.js.map +1 -1
  166. package/dist/elements/EmailAndUsername/index.js +96 -77
  167. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  168. package/dist/elements/ErrorPill/index.js +38 -24
  169. package/dist/elements/ErrorPill/index.js.map +1 -1
  170. package/dist/elements/FieldDiffContainer/index.js +50 -34
  171. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  172. package/dist/elements/FieldDiffLabel/index.js +10 -7
  173. package/dist/elements/FieldDiffLabel/index.js.map +1 -1
  174. package/dist/elements/FieldSelect/index.js +45 -75
  175. package/dist/elements/FieldSelect/index.js.map +1 -1
  176. package/dist/elements/FieldSelect/reduceFieldOptions.js +69 -67
  177. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  178. package/dist/elements/FileDetails/DraggableFileDetails/index.js +113 -105
  179. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  180. package/dist/elements/FileDetails/FileMeta/index.js +72 -33
  181. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  182. package/dist/elements/FileDetails/StaticFileDetails/index.js +76 -58
  183. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  184. package/dist/elements/FileDetails/index.js +20 -14
  185. package/dist/elements/FileDetails/index.js.map +1 -1
  186. package/dist/elements/FolderView/Breadcrumbs/index.js +59 -86
  187. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
  188. package/dist/elements/FolderView/BrowseByFolderButton/index.js +30 -30
  189. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
  190. package/dist/elements/FolderView/Cell/index.client.js +88 -87
  191. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  192. package/dist/elements/FolderView/Cell/index.server.js +19 -14
  193. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  194. package/dist/elements/FolderView/ColoredFolderIcon/index.js +9 -4
  195. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
  196. package/dist/elements/FolderView/CurrentFolderActions/index.js +174 -138
  197. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  198. package/dist/elements/FolderView/DragOverlaySelection/index.js +70 -51
  199. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
  200. package/dist/elements/FolderView/DraggableTableRow/index.js +71 -54
  201. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
  202. package/dist/elements/FolderView/DraggableWithClick/index.js +75 -79
  203. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
  204. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +35 -33
  205. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
  206. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +508 -569
  207. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  208. package/dist/elements/FolderView/FilterFolderTypePill/index.js +61 -89
  209. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
  210. package/dist/elements/FolderView/FolderField/index.server.js +15 -10
  211. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
  212. package/dist/elements/FolderView/FolderFileCard/index.js +218 -188
  213. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  214. package/dist/elements/FolderView/FolderFileTable/index.js +203 -264
  215. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
  216. package/dist/elements/FolderView/FolderTypeField/index.js +93 -112
  217. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
  218. package/dist/elements/FolderView/ItemCardGrid/index.js +35 -27
  219. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
  220. package/dist/elements/FolderView/MoveDocToFolder/index.js +142 -264
  221. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  222. package/dist/elements/FolderView/SimpleTable/index.js +105 -83
  223. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
  224. package/dist/elements/FolderView/SortByPill/index.js +162 -100
  225. package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
  226. package/dist/elements/FolderView/ToggleViewButtons/index.js +47 -24
  227. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
  228. package/dist/elements/FullscreenModal/index.js +16 -22
  229. package/dist/elements/FullscreenModal/index.js.map +1 -1
  230. package/dist/elements/GenerateConfirmation/index.js +63 -83
  231. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  232. package/dist/elements/GroupByBuilder/index.js +195 -140
  233. package/dist/elements/GroupByBuilder/index.js.map +1 -1
  234. package/dist/elements/Gutter/index.js +22 -19
  235. package/dist/elements/Gutter/index.js.map +1 -1
  236. package/dist/elements/HTMLDiff/diff/index.js +524 -502
  237. package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
  238. package/dist/elements/HTMLDiff/escapeHtml.js +19 -20
  239. package/dist/elements/HTMLDiff/escapeHtml.js.map +1 -1
  240. package/dist/elements/HTMLDiff/index.js +37 -30
  241. package/dist/elements/HTMLDiff/index.js.map +1 -1
  242. package/dist/elements/Hamburger/index.js +51 -40
  243. package/dist/elements/Hamburger/index.js.map +1 -1
  244. package/dist/elements/HydrateAuthProvider/index.js +15 -27
  245. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  246. package/dist/elements/IDLabel/index.js +31 -57
  247. package/dist/elements/IDLabel/index.js.map +1 -1
  248. package/dist/elements/IframeLoader/index.js +111 -90
  249. package/dist/elements/IframeLoader/index.js.map +1 -1
  250. package/dist/elements/ItemsDrawer/ItemSearch/index.js +43 -48
  251. package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -1
  252. package/dist/elements/ItemsDrawer/index.js +226 -175
  253. package/dist/elements/ItemsDrawer/index.js.map +1 -1
  254. package/dist/elements/LeaveWithoutSaving/index.js +74 -142
  255. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  256. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +115 -131
  257. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  258. package/dist/elements/Link/formatUrl.js +53 -56
  259. package/dist/elements/Link/formatUrl.js.map +1 -1
  260. package/dist/elements/Link/index.js +50 -54
  261. package/dist/elements/Link/index.js.map +1 -1
  262. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +17 -17
  263. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  264. package/dist/elements/ListControls/index.js +253 -168
  265. package/dist/elements/ListControls/index.js.map +1 -1
  266. package/dist/elements/ListControls/types.js +8 -1
  267. package/dist/elements/ListControls/types.js.map +1 -1
  268. package/dist/elements/ListDrawer/DrawerContent.js +183 -168
  269. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  270. package/dist/elements/ListDrawer/Provider.js +28 -19
  271. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  272. package/dist/elements/ListDrawer/index.js +149 -229
  273. package/dist/elements/ListDrawer/index.js.map +1 -1
  274. package/dist/elements/ListDrawer/types.js +6 -1
  275. package/dist/elements/ListDrawer/types.js.map +1 -1
  276. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +43 -84
  277. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  278. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +23 -33
  279. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  280. package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
  281. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
  282. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +49 -73
  283. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  284. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +22 -40
  285. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
  286. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +130 -168
  287. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  288. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +169 -148
  289. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  290. package/dist/elements/ListHeader/TitleActions/index.js +1 -0
  291. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  292. package/dist/elements/ListHeader/index.js +65 -24
  293. package/dist/elements/ListHeader/index.js.map +1 -1
  294. package/dist/elements/ListSelection/index.js +93 -58
  295. package/dist/elements/ListSelection/index.js.map +1 -1
  296. package/dist/elements/LivePreview/Device/index.js +83 -83
  297. package/dist/elements/LivePreview/Device/index.js.map +1 -1
  298. package/dist/elements/LivePreview/DeviceContainer/index.js +29 -49
  299. package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
  300. package/dist/elements/LivePreview/Toggler/index.js +32 -26
  301. package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
  302. package/dist/elements/LivePreview/Toolbar/Controls/index.js +210 -141
  303. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  304. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +62 -92
  305. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  306. package/dist/elements/LivePreview/Toolbar/index.js +84 -84
  307. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  308. package/dist/elements/LivePreview/ToolbarArea/index.js +15 -33
  309. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  310. package/dist/elements/LivePreview/Window/index.js +139 -106
  311. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  312. package/dist/elements/Loading/index.js +112 -144
  313. package/dist/elements/Loading/index.js.map +1 -1
  314. package/dist/elements/LoadingOverlay/index.js +68 -67
  315. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  316. package/dist/elements/LoadingOverlay/reducer.js +27 -29
  317. package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
  318. package/dist/elements/LoadingOverlay/types.js +2 -1
  319. package/dist/elements/LoadingOverlay/types.js.map +1 -1
  320. package/dist/elements/Localizer/LocalizerLabel/index.js +55 -51
  321. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  322. package/dist/elements/Localizer/index.js +99 -117
  323. package/dist/elements/Localizer/index.js.map +1 -1
  324. package/dist/elements/Locked/index.js +38 -59
  325. package/dist/elements/Locked/index.js.map +1 -1
  326. package/dist/elements/Logout/index.js +30 -51
  327. package/dist/elements/Logout/index.js.map +1 -1
  328. package/dist/elements/Modal/index.js +1 -1
  329. package/dist/elements/Modal/index.js.map +1 -1
  330. package/dist/elements/Nav/NavToggler/index.js +34 -80
  331. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  332. package/dist/elements/Nav/context.js +107 -103
  333. package/dist/elements/Nav/context.js.map +1 -1
  334. package/dist/elements/NavGroup/index.js +98 -122
  335. package/dist/elements/NavGroup/index.js.map +1 -1
  336. package/dist/elements/NoListResults/index.js +27 -14
  337. package/dist/elements/NoListResults/index.js.map +1 -1
  338. package/dist/elements/PageControls/GroupByPageControls.js +40 -71
  339. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  340. package/dist/elements/PageControls/index.js +77 -107
  341. package/dist/elements/PageControls/index.js.map +1 -1
  342. package/dist/elements/Pagination/ClickableArrow/index.js +24 -16
  343. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  344. package/dist/elements/Pagination/Page/index.js +19 -16
  345. package/dist/elements/Pagination/Page/index.js.map +1 -1
  346. package/dist/elements/Pagination/Separator/index.js +10 -6
  347. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  348. package/dist/elements/Pagination/index.js +102 -99
  349. package/dist/elements/Pagination/index.js.map +1 -1
  350. package/dist/elements/PerPage/index.js +93 -80
  351. package/dist/elements/PerPage/index.js.map +1 -1
  352. package/dist/elements/PermanentlyDeleteButton/index.js +150 -133
  353. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  354. package/dist/elements/Pill/index.js +109 -191
  355. package/dist/elements/Pill/index.js.map +1 -1
  356. package/dist/elements/PillSelector/index.js +79 -56
  357. package/dist/elements/PillSelector/index.js.map +1 -1
  358. package/dist/elements/Popup/PopupButtonList/index.js +65 -52
  359. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  360. package/dist/elements/Popup/PopupDivider/index.js +10 -5
  361. package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
  362. package/dist/elements/Popup/PopupGroupLabel/index.js +11 -8
  363. package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
  364. package/dist/elements/Popup/PopupTrigger/index.js +50 -44
  365. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  366. package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
  367. package/dist/elements/Popup/index.js +351 -287
  368. package/dist/elements/Popup/index.js.map +1 -1
  369. package/dist/elements/PreviewButton/index.js +24 -31
  370. package/dist/elements/PreviewButton/index.js.map +1 -1
  371. package/dist/elements/PreviewSizes/index.js +206 -132
  372. package/dist/elements/PreviewSizes/index.js.map +1 -1
  373. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +154 -110
  374. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  375. package/dist/elements/PublishButton/ScheduleDrawer/index.js +460 -308
  376. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  377. package/dist/elements/PublishButton/ScheduleDrawer/types.js +2 -1
  378. package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
  379. package/dist/elements/PublishButton/index.js +267 -221
  380. package/dist/elements/PublishButton/index.js.map +1 -1
  381. package/dist/elements/PublishMany/DrawerContent.js +137 -134
  382. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  383. package/dist/elements/PublishMany/index.js +58 -109
  384. package/dist/elements/PublishMany/index.js.map +1 -1
  385. package/dist/elements/QueryPresets/QueryPresetBar/index.js +344 -266
  386. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  387. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +80 -87
  388. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  389. package/dist/elements/QueryPresets/cells/AccessCell/index.js +47 -21
  390. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
  391. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +26 -19
  392. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  393. package/dist/elements/QueryPresets/cells/GroupByCell/index.js +61 -48
  394. package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
  395. package/dist/elements/QueryPresets/cells/WhereCell/index.js +29 -27
  396. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
  397. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +145 -104
  398. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  399. package/dist/elements/QueryPresets/fields/GroupByField/index.js +75 -53
  400. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  401. package/dist/elements/QueryPresets/fields/WhereField/index.js +64 -85
  402. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  403. package/dist/elements/ReactSelect/ClearIndicator/index.js +29 -27
  404. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  405. package/dist/elements/ReactSelect/Control/index.js +40 -41
  406. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  407. package/dist/elements/ReactSelect/DropdownIndicator/index.js +26 -23
  408. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  409. package/dist/elements/ReactSelect/Input/index.js +20 -13
  410. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  411. package/dist/elements/ReactSelect/MultiValue/index.js +54 -125
  412. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  413. package/dist/elements/ReactSelect/MultiValueLabel/index.js +29 -32
  414. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  415. package/dist/elements/ReactSelect/MultiValueRemove/index.js +49 -86
  416. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  417. package/dist/elements/ReactSelect/SingleValue/index.js +22 -14
  418. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  419. package/dist/elements/ReactSelect/ValueContainer/index.js +38 -29
  420. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  421. package/dist/elements/ReactSelect/index.js +214 -201
  422. package/dist/elements/ReactSelect/index.js.map +1 -1
  423. package/dist/elements/ReactSelect/types.js +9 -1
  424. package/dist/elements/ReactSelect/types.js.map +1 -1
  425. package/dist/elements/RelationshipTable/AddNewButton.js +68 -58
  426. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  427. package/dist/elements/RelationshipTable/Pagination.js +21 -48
  428. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  429. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +39 -34
  430. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  431. package/dist/elements/RelationshipTable/index.js +389 -267
  432. package/dist/elements/RelationshipTable/index.js.map +1 -1
  433. package/dist/elements/RenderComponent/index.js +29 -20
  434. package/dist/elements/RenderComponent/index.js.map +1 -1
  435. package/dist/elements/RenderCustomComponent/index.js +3 -5
  436. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  437. package/dist/elements/RenderIfInViewport/index.js +27 -58
  438. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  439. package/dist/elements/RenderServerComponent/index.js +57 -56
  440. package/dist/elements/RenderServerComponent/index.js.map +1 -1
  441. package/dist/elements/RenderTitle/index.js +44 -59
  442. package/dist/elements/RenderTitle/index.js.map +1 -1
  443. package/dist/elements/RestoreButton/index.js +187 -154
  444. package/dist/elements/RestoreButton/index.js.map +1 -1
  445. package/dist/elements/RestoreMany/index.js +177 -170
  446. package/dist/elements/RestoreMany/index.js.map +1 -1
  447. package/dist/elements/SaveButton/index.js +46 -49
  448. package/dist/elements/SaveButton/index.js.map +1 -1
  449. package/dist/elements/SaveDraftButton/index.js +84 -88
  450. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  451. package/dist/elements/SearchBar/index.js +37 -19
  452. package/dist/elements/SearchBar/index.js.map +1 -1
  453. package/dist/elements/SearchFilter/index.js +60 -54
  454. package/dist/elements/SearchFilter/index.js.map +1 -1
  455. package/dist/elements/SearchFilter/types.js +20 -1
  456. package/dist/elements/SearchFilter/types.js.map +1 -1
  457. package/dist/elements/SelectAll/index.js +21 -46
  458. package/dist/elements/SelectAll/index.js.map +1 -1
  459. package/dist/elements/SelectMany/index.js +27 -25
  460. package/dist/elements/SelectMany/index.js.map +1 -1
  461. package/dist/elements/SelectRow/index.js +27 -79
  462. package/dist/elements/SelectRow/index.js.map +1 -1
  463. package/dist/elements/ShimmerEffect/index.js +64 -78
  464. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  465. package/dist/elements/SortColumn/index.js +98 -106
  466. package/dist/elements/SortColumn/index.js.map +1 -1
  467. package/dist/elements/SortComplex/index.js +142 -163
  468. package/dist/elements/SortComplex/index.js.map +1 -1
  469. package/dist/elements/SortHeader/index.js +54 -87
  470. package/dist/elements/SortHeader/index.js.map +1 -1
  471. package/dist/elements/SortRow/index.js +21 -27
  472. package/dist/elements/SortRow/index.js.map +1 -1
  473. package/dist/elements/Status/index.js +159 -134
  474. package/dist/elements/Status/index.js.map +1 -1
  475. package/dist/elements/StayLoggedIn/index.js +38 -76
  476. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  477. package/dist/elements/StepNav/SetStepNav.js +10 -27
  478. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  479. package/dist/elements/StepNav/context.js +24 -41
  480. package/dist/elements/StepNav/context.js.map +1 -1
  481. package/dist/elements/StepNav/index.js +148 -92
  482. package/dist/elements/StepNav/index.js.map +1 -1
  483. package/dist/elements/StepNav/types.js +2 -1
  484. package/dist/elements/StepNav/types.js.map +1 -1
  485. package/dist/elements/StickyToolbar/index.js +10 -8
  486. package/dist/elements/StickyToolbar/index.js.map +1 -1
  487. package/dist/elements/Table/DefaultCell/fields/Array/index.js +13 -28
  488. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  489. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +34 -60
  490. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  491. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +18 -27
  492. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  493. package/dist/elements/Table/DefaultCell/fields/Code/index.js +22 -17
  494. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  495. package/dist/elements/Table/DefaultCell/fields/Date/index.js +22 -41
  496. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  497. package/dist/elements/Table/DefaultCell/fields/File/index.js +53 -43
  498. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  499. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +35 -43
  500. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  501. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +115 -183
  502. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  503. package/dist/elements/Table/DefaultCell/fields/Select/index.js +22 -44
  504. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  505. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +11 -9
  506. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  507. package/dist/elements/Table/DefaultCell/fields/index.js +14 -14
  508. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  509. package/dist/elements/Table/DefaultCell/index.js +124 -151
  510. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  511. package/dist/elements/Table/OrderableRow.js +40 -32
  512. package/dist/elements/Table/OrderableRow.js.map +1 -1
  513. package/dist/elements/Table/OrderableRowDragPreview.js +24 -15
  514. package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
  515. package/dist/elements/Table/OrderableTable.js +225 -170
  516. package/dist/elements/Table/OrderableTable.js.map +1 -1
  517. package/dist/elements/Table/RelationshipProvider/index.js +106 -162
  518. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  519. package/dist/elements/Table/RelationshipProvider/reducer.js +42 -42
  520. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  521. package/dist/elements/Table/index.js +83 -45
  522. package/dist/elements/Table/index.js.map +1 -1
  523. package/dist/elements/Thumbnail/createThumbnail.js +53 -48
  524. package/dist/elements/Thumbnail/createThumbnail.js.map +1 -1
  525. package/dist/elements/Thumbnail/index.js +127 -148
  526. package/dist/elements/Thumbnail/index.js.map +1 -1
  527. package/dist/elements/ThumbnailCard/index.js +47 -68
  528. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  529. package/dist/elements/TimezonePicker/index.js +53 -44
  530. package/dist/elements/TimezonePicker/index.js.map +1 -1
  531. package/dist/elements/TimezonePicker/types.js +2 -1
  532. package/dist/elements/TimezonePicker/types.js.map +1 -1
  533. package/dist/elements/Toasts/fieldErrors.js +71 -79
  534. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  535. package/dist/elements/Toasts/fieldErrors.spec.js +50 -36
  536. package/dist/elements/Toasts/fieldErrors.spec.js.map +1 -1
  537. package/dist/elements/Tooltip/index.js +98 -65
  538. package/dist/elements/Tooltip/index.js.map +1 -1
  539. package/dist/elements/Translation/index.js +48 -39
  540. package/dist/elements/Translation/index.js.map +1 -1
  541. package/dist/elements/TrashBanner/index.js +33 -26
  542. package/dist/elements/TrashBanner/index.js.map +1 -1
  543. package/dist/elements/UnpublishButton/index.js +189 -170
  544. package/dist/elements/UnpublishButton/index.js.map +1 -1
  545. package/dist/elements/UnpublishMany/DrawerContent.js +130 -127
  546. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  547. package/dist/elements/UnpublishMany/index.js +58 -109
  548. package/dist/elements/UnpublishMany/index.js.map +1 -1
  549. package/dist/elements/Upload/index.js +633 -481
  550. package/dist/elements/Upload/index.js.map +1 -1
  551. package/dist/elements/ViewDescription/index.js +15 -26
  552. package/dist/elements/ViewDescription/index.js.map +1 -1
  553. package/dist/elements/ViewDescription/types.js.map +1 -1
  554. package/dist/elements/WhereBuilder/Condition/Date/index.d.ts.map +1 -1
  555. package/dist/elements/WhereBuilder/Condition/Date/index.js +27 -29
  556. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  557. package/dist/elements/WhereBuilder/Condition/Date/types.js +2 -1
  558. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  559. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +95 -76
  560. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  561. package/dist/elements/WhereBuilder/Condition/Number/index.js +74 -129
  562. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  563. package/dist/elements/WhereBuilder/Condition/Number/types.js +2 -1
  564. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  565. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +357 -315
  566. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  567. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +83 -67
  568. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  569. package/dist/elements/WhereBuilder/Condition/Relationship/types.js +2 -1
  570. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  571. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js +10 -9
  572. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js.map +1 -1
  573. package/dist/elements/WhereBuilder/Condition/Select/index.js +69 -154
  574. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  575. package/dist/elements/WhereBuilder/Condition/Select/types.js +2 -1
  576. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  577. package/dist/elements/WhereBuilder/Condition/Text/index.js +73 -121
  578. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  579. package/dist/elements/WhereBuilder/Condition/Text/types.js +2 -1
  580. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  581. package/dist/elements/WhereBuilder/Condition/index.js +206 -143
  582. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  583. package/dist/elements/WhereBuilder/Condition/types.js +2 -1
  584. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  585. package/dist/elements/WhereBuilder/Condition/validOperators.js +32 -33
  586. package/dist/elements/WhereBuilder/Condition/validOperators.js.map +1 -1
  587. package/dist/elements/WhereBuilder/field-types.js +189 -118
  588. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  589. package/dist/elements/WhereBuilder/index.js +284 -214
  590. package/dist/elements/WhereBuilder/index.js.map +1 -1
  591. package/dist/elements/WhereBuilder/types.js +2 -1
  592. package/dist/elements/WhereBuilder/types.js.map +1 -1
  593. package/dist/elements/WindowInfo/index.js +1 -1
  594. package/dist/elements/WindowInfo/index.js.map +1 -1
  595. package/dist/elements/WithServerSideProps/index.js +20 -19
  596. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  597. package/dist/elements/withMergedProps/index.js +26 -26
  598. package/dist/elements/withMergedProps/index.js.map +1 -1
  599. package/dist/exports/client/index.js +298 -96
  600. package/dist/exports/client/index.js.map +1 -7
  601. package/dist/exports/rsc/index.js +1 -0
  602. package/dist/exports/rsc/index.js.map +1 -1
  603. package/dist/exports/shared/index.js +36 -6
  604. package/dist/exports/shared/index.js.map +1 -7
  605. package/dist/fields/Array/ArrayRow.js +111 -168
  606. package/dist/fields/Array/ArrayRow.js.map +1 -1
  607. package/dist/fields/Array/index.js +532 -398
  608. package/dist/fields/Array/index.js.map +1 -1
  609. package/dist/fields/Blocks/BlockRow.js +163 -198
  610. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  611. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +30 -38
  612. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  613. package/dist/fields/Blocks/BlockSelector/index.js +161 -106
  614. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  615. package/dist/fields/Blocks/BlocksDrawer/index.js +37 -80
  616. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  617. package/dist/fields/Blocks/RowActions.js +50 -106
  618. package/dist/fields/Blocks/RowActions.js.map +1 -1
  619. package/dist/fields/Blocks/SectionTitle/index.js +36 -78
  620. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  621. package/dist/fields/Blocks/index.js +566 -425
  622. package/dist/fields/Blocks/index.js.map +1 -1
  623. package/dist/fields/Checkbox/Input.js +91 -115
  624. package/dist/fields/Checkbox/Input.js.map +1 -1
  625. package/dist/fields/Checkbox/index.js +107 -99
  626. package/dist/fields/Checkbox/index.js.map +1 -1
  627. package/dist/fields/Code/index.js +146 -114
  628. package/dist/fields/Code/index.js.map +1 -1
  629. package/dist/fields/Collapsible/index.js +172 -134
  630. package/dist/fields/Collapsible/index.js.map +1 -1
  631. package/dist/fields/ConfirmPassword/index.js +67 -83
  632. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  633. package/dist/fields/DateTime/index.js +217 -171
  634. package/dist/fields/DateTime/index.js.map +1 -1
  635. package/dist/fields/Email/index.js +111 -86
  636. package/dist/fields/Email/index.js.map +1 -1
  637. package/dist/fields/FieldDescription/index.js +20 -43
  638. package/dist/fields/FieldDescription/index.js.map +1 -1
  639. package/dist/fields/FieldError/index.js +22 -58
  640. package/dist/fields/FieldError/index.js.map +1 -1
  641. package/dist/fields/FieldLabel/index.js +43 -45
  642. package/dist/fields/FieldLabel/index.js.map +1 -1
  643. package/dist/fields/Group/index.js +150 -102
  644. package/dist/fields/Group/index.js.map +1 -1
  645. package/dist/fields/Group/provider.js +13 -12
  646. package/dist/fields/Group/provider.js.map +1 -1
  647. package/dist/fields/Hidden/index.js +27 -67
  648. package/dist/fields/Hidden/index.js.map +1 -1
  649. package/dist/fields/JSON/index.js +185 -143
  650. package/dist/fields/JSON/index.js.map +1 -1
  651. package/dist/fields/Join/index.js +214 -189
  652. package/dist/fields/Join/index.js.map +1 -1
  653. package/dist/fields/Number/index.js +213 -169
  654. package/dist/fields/Number/index.js.map +1 -1
  655. package/dist/fields/Password/index.js +80 -101
  656. package/dist/fields/Password/index.js.map +1 -1
  657. package/dist/fields/Password/input.js +108 -122
  658. package/dist/fields/Password/input.js.map +1 -1
  659. package/dist/fields/Password/types.js +12 -1
  660. package/dist/fields/Password/types.js.map +1 -1
  661. package/dist/fields/Point/index.js +199 -127
  662. package/dist/fields/Point/index.js.map +1 -1
  663. package/dist/fields/RadioGroup/Radio/index.js +56 -81
  664. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  665. package/dist/fields/RadioGroup/index.js +146 -114
  666. package/dist/fields/RadioGroup/index.js.map +1 -1
  667. package/dist/fields/Relationship/Input.js +811 -733
  668. package/dist/fields/Relationship/Input.js.map +1 -1
  669. package/dist/fields/Relationship/createRelationMap.js +31 -33
  670. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  671. package/dist/fields/Relationship/findOptionsByValue.js +28 -32
  672. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  673. package/dist/fields/Relationship/index.js +152 -160
  674. package/dist/fields/Relationship/index.js.map +1 -1
  675. package/dist/fields/Relationship/optionsReducer.js +144 -139
  676. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  677. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +92 -82
  678. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  679. package/dist/fields/Relationship/select-components/SingleValue/index.js +95 -118
  680. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  681. package/dist/fields/Relationship/types.js +2 -1
  682. package/dist/fields/Relationship/types.js.map +1 -1
  683. package/dist/fields/RichText/index.js +3 -3
  684. package/dist/fields/RichText/index.js.map +1 -1
  685. package/dist/fields/Row/index.js +37 -35
  686. package/dist/fields/Row/index.js.map +1 -1
  687. package/dist/fields/Row/provider.js +13 -12
  688. package/dist/fields/Row/provider.js.map +1 -1
  689. package/dist/fields/Select/Input.js +114 -165
  690. package/dist/fields/Select/Input.js.map +1 -1
  691. package/dist/fields/Select/index.js +89 -108
  692. package/dist/fields/Select/index.js.map +1 -1
  693. package/dist/fields/Slug/index.js +103 -134
  694. package/dist/fields/Slug/index.js.map +1 -1
  695. package/dist/fields/Tabs/Tab/index.js +54 -60
  696. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  697. package/dist/fields/Tabs/index.js +213 -383
  698. package/dist/fields/Tabs/index.js.map +1 -1
  699. package/dist/fields/Tabs/provider.js +13 -12
  700. package/dist/fields/Tabs/provider.js.map +1 -1
  701. package/dist/fields/Text/Input.js +169 -191
  702. package/dist/fields/Text/Input.js.map +1 -1
  703. package/dist/fields/Text/index.js +107 -126
  704. package/dist/fields/Text/index.js.map +1 -1
  705. package/dist/fields/Text/types.js +2 -1
  706. package/dist/fields/Text/types.js.map +1 -1
  707. package/dist/fields/Textarea/Input.js +104 -115
  708. package/dist/fields/Textarea/Input.js.map +1 -1
  709. package/dist/fields/Textarea/index.js +61 -88
  710. package/dist/fields/Textarea/index.js.map +1 -1
  711. package/dist/fields/Textarea/types.js +2 -1
  712. package/dist/fields/Textarea/types.js.map +1 -1
  713. package/dist/fields/UI/index.js +3 -3
  714. package/dist/fields/UI/index.js.map +1 -1
  715. package/dist/fields/Upload/HasMany/index.js +142 -187
  716. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  717. package/dist/fields/Upload/HasOne/index.js +60 -61
  718. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  719. package/dist/fields/Upload/Input.js +755 -566
  720. package/dist/fields/Upload/Input.js.map +1 -1
  721. package/dist/fields/Upload/RelationshipContent/index.js +141 -145
  722. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  723. package/dist/fields/Upload/UploadCard/index.js +15 -10
  724. package/dist/fields/Upload/UploadCard/index.js.map +1 -1
  725. package/dist/fields/Upload/index.js +79 -96
  726. package/dist/fields/Upload/index.js.map +1 -1
  727. package/dist/fields/Upload/types.js +3 -1
  728. package/dist/fields/Upload/types.js.map +1 -1
  729. package/dist/fields/index.js +31 -31
  730. package/dist/fields/index.js.map +1 -1
  731. package/dist/fields/mergeFieldStyles.js +13 -12
  732. package/dist/fields/mergeFieldStyles.js.map +1 -1
  733. package/dist/fields/shared/index.js +8 -17
  734. package/dist/fields/shared/index.js.map +1 -1
  735. package/dist/forms/Form/context.js +17 -24
  736. package/dist/forms/Form/context.js.map +1 -1
  737. package/dist/forms/Form/createNestedClientFieldPath.js +11 -11
  738. package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -1
  739. package/dist/forms/Form/errorMessages.js +2 -2
  740. package/dist/forms/Form/errorMessages.js.map +1 -1
  741. package/dist/forms/Form/fieldReducer.js +378 -412
  742. package/dist/forms/Form/fieldReducer.js.map +1 -1
  743. package/dist/forms/Form/index.js +754 -694
  744. package/dist/forms/Form/index.js.map +1 -1
  745. package/dist/forms/Form/initContextState.js +38 -38
  746. package/dist/forms/Form/initContextState.js.map +1 -1
  747. package/dist/forms/Form/mergeServerFormState.js +146 -156
  748. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  749. package/dist/forms/Form/reduceToSerializableFields.js +20 -17
  750. package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
  751. package/dist/forms/Form/rowHelpers.js +27 -34
  752. package/dist/forms/Form/rowHelpers.js.map +1 -1
  753. package/dist/forms/Form/rows.js +34 -34
  754. package/dist/forms/Form/rows.js.map +1 -1
  755. package/dist/forms/Form/types.js +53 -1
  756. package/dist/forms/Form/types.js.map +1 -1
  757. package/dist/forms/NullifyField/index.js +61 -96
  758. package/dist/forms/NullifyField/index.js.map +1 -1
  759. package/dist/forms/RenderFields/RenderField.js +237 -259
  760. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  761. package/dist/forms/RenderFields/context.js +9 -9
  762. package/dist/forms/RenderFields/context.js.map +1 -1
  763. package/dist/forms/RenderFields/index.js +76 -115
  764. package/dist/forms/RenderFields/index.js.map +1 -1
  765. package/dist/forms/RenderFields/types.js +2 -1
  766. package/dist/forms/RenderFields/types.js.map +1 -1
  767. package/dist/forms/RowLabel/Context/index.js +30 -29
  768. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  769. package/dist/forms/RowLabel/index.js +33 -24
  770. package/dist/forms/RowLabel/index.js.map +1 -1
  771. package/dist/forms/RowLabel/types.js +2 -1
  772. package/dist/forms/RowLabel/types.js.map +1 -1
  773. package/dist/forms/Submit/index.js +32 -35
  774. package/dist/forms/Submit/index.js.map +1 -1
  775. package/dist/forms/WatchChildErrors/buildPathSegments.js +29 -29
  776. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  777. package/dist/forms/WatchChildErrors/index.js +44 -67
  778. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  779. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +681 -706
  780. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  781. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +14 -22
  782. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  783. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +17 -26
  784. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  785. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +186 -198
  786. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  787. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +67 -60
  788. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -1
  789. package/dist/forms/fieldSchemasToFormState/index.js +90 -79
  790. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  791. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js +12 -16
  792. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js.map +1 -1
  793. package/dist/forms/fieldSchemasToFormState/iterateFields.js +95 -116
  794. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  795. package/dist/forms/fieldSchemasToFormState/renderField.js +275 -276
  796. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  797. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +90 -75
  798. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
  799. package/dist/forms/fieldSchemasToFormState/types.js +6 -1
  800. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  801. package/dist/forms/useField/index.js +180 -292
  802. package/dist/forms/useField/index.js.map +1 -1
  803. package/dist/forms/useField/types.js +20 -1
  804. package/dist/forms/useField/types.js.map +1 -1
  805. package/dist/forms/withCondition/WatchCondition.js +9 -27
  806. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  807. package/dist/forms/withCondition/index.js +21 -15
  808. package/dist/forms/withCondition/index.js.map +1 -1
  809. package/dist/graphics/Account/Default/index.js +46 -22
  810. package/dist/graphics/Account/Default/index.js.map +1 -1
  811. package/dist/graphics/Account/Gravatar/index.js +25 -34
  812. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  813. package/dist/graphics/Account/index.js +24 -51
  814. package/dist/graphics/Account/index.js.map +1 -1
  815. package/dist/graphics/DefaultBlockImage/index.js +117 -62
  816. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  817. package/dist/graphics/File/index.js +33 -17
  818. package/dist/graphics/File/index.js.map +1 -1
  819. package/dist/graphics/Icon/index.js +33 -19
  820. package/dist/graphics/Icon/index.js.map +1 -1
  821. package/dist/graphics/Logo/index.js +112 -39
  822. package/dist/graphics/Logo/index.js.map +1 -1
  823. package/dist/hooks/useClickOutside.js +19 -15
  824. package/dist/hooks/useClickOutside.js.map +1 -1
  825. package/dist/hooks/useControllableState.js +25 -35
  826. package/dist/hooks/useControllableState.js.map +1 -1
  827. package/dist/hooks/useDebounce.js +15 -26
  828. package/dist/hooks/useDebounce.js.map +1 -1
  829. package/dist/hooks/useDebouncedCallback.js +15 -23
  830. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  831. package/dist/hooks/useDebouncedEffect.js +18 -53
  832. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  833. package/dist/hooks/useDelay.js +27 -52
  834. package/dist/hooks/useDelay.js.map +1 -1
  835. package/dist/hooks/useDelayedRender.js +42 -76
  836. package/dist/hooks/useDelayedRender.js.map +1 -1
  837. package/dist/hooks/useEffectEvent.js +16 -13
  838. package/dist/hooks/useEffectEvent.js.map +1 -1
  839. package/dist/hooks/useHotkey.js +96 -110
  840. package/dist/hooks/useHotkey.js.map +1 -1
  841. package/dist/hooks/useIntersect.js +28 -59
  842. package/dist/hooks/useIntersect.js.map +1 -1
  843. package/dist/hooks/usePayloadAPI.js +78 -172
  844. package/dist/hooks/usePayloadAPI.js.map +1 -1
  845. package/dist/hooks/usePopupWindow.js +91 -133
  846. package/dist/hooks/usePopupWindow.js.map +1 -1
  847. package/dist/hooks/useQueue.js +48 -38
  848. package/dist/hooks/useQueue.js.map +1 -1
  849. package/dist/hooks/useRelatedCollections.js +15 -27
  850. package/dist/hooks/useRelatedCollections.js.map +1 -1
  851. package/dist/hooks/useResize.js +42 -70
  852. package/dist/hooks/useResize.js.map +1 -1
  853. package/dist/hooks/useThrottledEffect.js +17 -51
  854. package/dist/hooks/useThrottledEffect.js.map +1 -1
  855. package/dist/hooks/useThrottledValue.js +16 -13
  856. package/dist/hooks/useThrottledValue.js.map +1 -1
  857. package/dist/hooks/useUseAsTitle.js +7 -27
  858. package/dist/hooks/useUseAsTitle.js.map +1 -1
  859. package/dist/icons/Calendar/index.js +20 -11
  860. package/dist/icons/Calendar/index.js.map +1 -1
  861. package/dist/icons/Check/index.js +20 -11
  862. package/dist/icons/Check/index.js.map +1 -1
  863. package/dist/icons/Chevron/index.js +30 -22
  864. package/dist/icons/Chevron/index.js.map +1 -1
  865. package/dist/icons/CloseMenu/index.js +20 -11
  866. package/dist/icons/CloseMenu/index.js.map +1 -1
  867. package/dist/icons/CodeBlock/index.js +22 -13
  868. package/dist/icons/CodeBlock/index.js.map +1 -1
  869. package/dist/icons/Copy/index.js +24 -17
  870. package/dist/icons/Copy/index.js.map +1 -1
  871. package/dist/icons/Document/index.js +25 -16
  872. package/dist/icons/Document/index.js.map +1 -1
  873. package/dist/icons/Dots/index.js +32 -11
  874. package/dist/icons/Dots/index.js.map +1 -1
  875. package/dist/icons/DragHandle/index.js +70 -33
  876. package/dist/icons/DragHandle/index.js.map +1 -1
  877. package/dist/icons/Edit/index.js +23 -13
  878. package/dist/icons/Edit/index.js.map +1 -1
  879. package/dist/icons/ExternalLink/index.js +25 -15
  880. package/dist/icons/ExternalLink/index.js.map +1 -1
  881. package/dist/icons/Eye/index.js +53 -25
  882. package/dist/icons/Eye/index.js.map +1 -1
  883. package/dist/icons/Folder/index.js +26 -16
  884. package/dist/icons/Folder/index.js.map +1 -1
  885. package/dist/icons/Gear/index.js +34 -21
  886. package/dist/icons/Gear/index.js.map +1 -1
  887. package/dist/icons/GridView/index.js +57 -31
  888. package/dist/icons/GridView/index.js.map +1 -1
  889. package/dist/icons/Line/index.js +23 -14
  890. package/dist/icons/Line/index.js.map +1 -1
  891. package/dist/icons/Link/index.js +25 -16
  892. package/dist/icons/Link/index.js.map +1 -1
  893. package/dist/icons/ListView/index.js +25 -16
  894. package/dist/icons/ListView/index.js.map +1 -1
  895. package/dist/icons/Lock/index.js +41 -24
  896. package/dist/icons/Lock/index.js.map +1 -1
  897. package/dist/icons/LogOut/index.js +23 -14
  898. package/dist/icons/LogOut/index.js.map +1 -1
  899. package/dist/icons/Menu/index.js +23 -14
  900. package/dist/icons/Menu/index.js.map +1 -1
  901. package/dist/icons/MinimizeMaximize/index.js +33 -19
  902. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  903. package/dist/icons/More/index.js +43 -21
  904. package/dist/icons/More/index.js.map +1 -1
  905. package/dist/icons/MoveFolder/index.js +62 -34
  906. package/dist/icons/MoveFolder/index.js.map +1 -1
  907. package/dist/icons/People/index.js +28 -17
  908. package/dist/icons/People/index.js.map +1 -1
  909. package/dist/icons/Plus/index.js +22 -13
  910. package/dist/icons/Plus/index.js.map +1 -1
  911. package/dist/icons/Search/index.js +21 -12
  912. package/dist/icons/Search/index.js.map +1 -1
  913. package/dist/icons/Sort/index.js +48 -35
  914. package/dist/icons/Sort/index.js.map +1 -1
  915. package/dist/icons/Swap/index.js +20 -11
  916. package/dist/icons/Swap/index.js.map +1 -1
  917. package/dist/icons/ThreeDots/index.js +27 -8
  918. package/dist/icons/ThreeDots/index.js.map +1 -1
  919. package/dist/icons/Trash/index.js +28 -18
  920. package/dist/icons/Trash/index.js.map +1 -1
  921. package/dist/icons/X/index.js +25 -15
  922. package/dist/icons/X/index.js.map +1 -1
  923. package/dist/providers/Actions/index.js +21 -33
  924. package/dist/providers/Actions/index.js.map +1 -1
  925. package/dist/providers/Auth/index.d.ts +2 -1
  926. package/dist/providers/Auth/index.d.ts.map +1 -1
  927. package/dist/providers/Auth/index.js +293 -243
  928. package/dist/providers/Auth/index.js.map +1 -1
  929. package/dist/providers/ClickOutside/index.js +35 -35
  930. package/dist/providers/ClickOutside/index.js.map +1 -1
  931. package/dist/providers/ClientFunction/index.js +63 -104
  932. package/dist/providers/ClientFunction/index.js.map +1 -1
  933. package/dist/providers/Config/index.js +91 -91
  934. package/dist/providers/Config/index.js.map +1 -1
  935. package/dist/providers/DocumentEvents/index.js +19 -30
  936. package/dist/providers/DocumentEvents/index.js.map +1 -1
  937. package/dist/providers/DocumentInfo/index.js +342 -335
  938. package/dist/providers/DocumentInfo/index.js.map +1 -1
  939. package/dist/providers/DocumentInfo/types.js +29 -1
  940. package/dist/providers/DocumentInfo/types.js.map +1 -1
  941. package/dist/providers/DocumentInfo/useGetDocPermissions.js +81 -79
  942. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
  943. package/dist/providers/DocumentTitle/context.js.map +1 -1
  944. package/dist/providers/DocumentTitle/index.js +51 -55
  945. package/dist/providers/DocumentTitle/index.js.map +1 -1
  946. package/dist/providers/EditDepth/index.js +15 -25
  947. package/dist/providers/EditDepth/index.js.map +1 -1
  948. package/dist/providers/EntityVisibility/index.js +26 -48
  949. package/dist/providers/EntityVisibility/index.js.map +1 -1
  950. package/dist/providers/Folders/groupItemIDsByRelation.js +8 -7
  951. package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -1
  952. package/dist/providers/Folders/index.js +698 -600
  953. package/dist/providers/Folders/index.js.map +1 -1
  954. package/dist/providers/ListQuery/context.js +3 -2
  955. package/dist/providers/ListQuery/context.js.map +1 -1
  956. package/dist/providers/ListQuery/index.js +156 -142
  957. package/dist/providers/ListQuery/index.js.map +1 -1
  958. package/dist/providers/ListQuery/mergeQuery.js +49 -31
  959. package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
  960. package/dist/providers/ListQuery/sanitizeQuery.js +24 -23
  961. package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
  962. package/dist/providers/ListQuery/types.js +6 -1
  963. package/dist/providers/ListQuery/types.js.map +1 -1
  964. package/dist/providers/LivePreview/collisionDetection.js +21 -24
  965. package/dist/providers/LivePreview/collisionDetection.js.map +1 -1
  966. package/dist/providers/LivePreview/context.js +65 -56
  967. package/dist/providers/LivePreview/context.js.map +1 -1
  968. package/dist/providers/LivePreview/index.js +239 -220
  969. package/dist/providers/LivePreview/index.js.map +1 -1
  970. package/dist/providers/LivePreview/sizeReducer.js +19 -18
  971. package/dist/providers/LivePreview/sizeReducer.js.map +1 -1
  972. package/dist/providers/Locale/index.js +87 -154
  973. package/dist/providers/Locale/index.js.map +1 -1
  974. package/dist/providers/Operation/index.js +12 -11
  975. package/dist/providers/Operation/index.js.map +1 -1
  976. package/dist/providers/Params/index.js +14 -26
  977. package/dist/providers/Params/index.js.map +1 -1
  978. package/dist/providers/Preferences/index.js +130 -122
  979. package/dist/providers/Preferences/index.js.map +1 -1
  980. package/dist/providers/Root/index.js +191 -116
  981. package/dist/providers/Root/index.js.map +1 -1
  982. package/dist/providers/RouteCache/index.js +53 -103
  983. package/dist/providers/RouteCache/index.js.map +1 -1
  984. package/dist/providers/RouteTransition/ProgressBar/index.js +61 -80
  985. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  986. package/dist/providers/RouteTransition/index.js +69 -94
  987. package/dist/providers/RouteTransition/index.js.map +1 -1
  988. package/dist/providers/ScrollInfo/index.js +1 -1
  989. package/dist/providers/ScrollInfo/index.js.map +1 -1
  990. package/dist/providers/SearchParams/index.js +36 -35
  991. package/dist/providers/SearchParams/index.js.map +1 -1
  992. package/dist/providers/Selection/index.js +212 -192
  993. package/dist/providers/Selection/index.js.map +1 -1
  994. package/dist/providers/ServerFunctions/index.js +193 -184
  995. package/dist/providers/ServerFunctions/index.js.map +1 -1
  996. package/dist/providers/TableColumns/RenderDefaultCell/index.js +33 -62
  997. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  998. package/dist/providers/TableColumns/buildColumnState/filterFields.js +32 -32
  999. package/dist/providers/TableColumns/buildColumnState/filterFields.js.map +1 -1
  1000. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js +50 -52
  1001. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js.map +1 -1
  1002. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js +3 -2
  1003. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js.map +1 -1
  1004. package/dist/providers/TableColumns/buildColumnState/index.js +133 -144
  1005. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  1006. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js +10 -14
  1007. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js.map +1 -1
  1008. package/dist/providers/TableColumns/buildColumnState/renderCell.js +151 -152
  1009. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  1010. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js +16 -15
  1011. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js.map +1 -1
  1012. package/dist/providers/TableColumns/context.js +2 -1
  1013. package/dist/providers/TableColumns/context.js.map +1 -1
  1014. package/dist/providers/TableColumns/getInitialColumns.js +42 -28
  1015. package/dist/providers/TableColumns/getInitialColumns.js.map +1 -1
  1016. package/dist/providers/TableColumns/index.js +88 -85
  1017. package/dist/providers/TableColumns/index.js.map +1 -1
  1018. package/dist/providers/TableColumns/types.js +18 -1
  1019. package/dist/providers/TableColumns/types.js.map +1 -1
  1020. package/dist/providers/Theme/index.js +69 -104
  1021. package/dist/providers/Theme/index.js.map +1 -1
  1022. package/dist/providers/ToastContainer/icons/Error.js +34 -19
  1023. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  1024. package/dist/providers/ToastContainer/icons/Info.js +34 -19
  1025. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  1026. package/dist/providers/ToastContainer/icons/Success.js +34 -19
  1027. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  1028. package/dist/providers/ToastContainer/icons/Warning.js +34 -19
  1029. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  1030. package/dist/providers/ToastContainer/index.js +56 -47
  1031. package/dist/providers/ToastContainer/index.js.map +1 -1
  1032. package/dist/providers/Translation/index.js +66 -112
  1033. package/dist/providers/Translation/index.js.map +1 -1
  1034. package/dist/providers/UploadControls/index.js +28 -40
  1035. package/dist/providers/UploadControls/index.js.map +1 -1
  1036. package/dist/providers/UploadEdits/index.js +31 -73
  1037. package/dist/providers/UploadEdits/index.js.map +1 -1
  1038. package/dist/providers/UploadHandlers/index.js +30 -65
  1039. package/dist/providers/UploadHandlers/index.js.map +1 -1
  1040. package/dist/providers/WindowInfo/index.js +5 -9
  1041. package/dist/providers/WindowInfo/index.js.map +1 -1
  1042. package/dist/styles.css +0 -1
  1043. package/dist/utilities/abortAndIgnore.js +15 -17
  1044. package/dist/utilities/abortAndIgnore.js.map +1 -1
  1045. package/dist/utilities/api.js +78 -77
  1046. package/dist/utilities/api.js.map +1 -1
  1047. package/dist/utilities/buildClientFieldSchemaMap/index.js +78 -83
  1048. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  1049. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +177 -184
  1050. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  1051. package/dist/utilities/buildFieldSchemaMap/index.js +75 -78
  1052. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  1053. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +117 -126
  1054. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  1055. package/dist/utilities/buildFormState.js +164 -202
  1056. package/dist/utilities/buildFormState.js.map +1 -1
  1057. package/dist/utilities/buildTableState.js +144 -168
  1058. package/dist/utilities/buildTableState.js.map +1 -1
  1059. package/dist/utilities/canUseDOM.js +1 -0
  1060. package/dist/utilities/canUseDOM.js.map +1 -1
  1061. package/dist/utilities/combineFieldLabel.js +53 -26
  1062. package/dist/utilities/combineFieldLabel.js.map +1 -1
  1063. package/dist/utilities/copyDataFromLocale.js +201 -209
  1064. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  1065. package/dist/utilities/dateLocales.js +28 -27
  1066. package/dist/utilities/dateLocales.js.map +1 -1
  1067. package/dist/utilities/deepMerge.js +14 -13
  1068. package/dist/utilities/deepMerge.js.map +1 -1
  1069. package/dist/utilities/fetchPreferences.js.map +1 -1
  1070. package/dist/utilities/filterOutUploadFields.js +17 -4
  1071. package/dist/utilities/filterOutUploadFields.js.map +1 -1
  1072. package/dist/utilities/findLocaleFromCode.js +6 -5
  1073. package/dist/utilities/findLocaleFromCode.js.map +1 -1
  1074. package/dist/utilities/formatAbsoluteURL.js +8 -8
  1075. package/dist/utilities/formatAbsoluteURL.js.map +1 -1
  1076. package/dist/utilities/formatAdminURL.js +2 -1
  1077. package/dist/utilities/formatAdminURL.js.map +1 -1
  1078. package/dist/utilities/formatDocTitle/formatDateTitle.js +20 -27
  1079. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  1080. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js +14 -13
  1081. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -1
  1082. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js +14 -13
  1083. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js.map +1 -1
  1084. package/dist/utilities/formatDocTitle/index.js +38 -44
  1085. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  1086. package/dist/utilities/formatFields.js +2 -1
  1087. package/dist/utilities/formatFields.js.map +1 -1
  1088. package/dist/utilities/generateFieldID.js +6 -5
  1089. package/dist/utilities/generateFieldID.js.map +1 -1
  1090. package/dist/utilities/getClientConfig.js +25 -29
  1091. package/dist/utilities/getClientConfig.js.map +1 -1
  1092. package/dist/utilities/getClientSchemaMap.js +26 -35
  1093. package/dist/utilities/getClientSchemaMap.js.map +1 -1
  1094. package/dist/utilities/getColumns.js +29 -35
  1095. package/dist/utilities/getColumns.js.map +1 -1
  1096. package/dist/utilities/getDisplayedFieldValue.js +15 -15
  1097. package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
  1098. package/dist/utilities/getFolderResultsComponentAndData.js +134 -121
  1099. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
  1100. package/dist/utilities/getGlobalData.js +55 -59
  1101. package/dist/utilities/getGlobalData.js.map +1 -1
  1102. package/dist/utilities/getNavGroups.js +21 -18
  1103. package/dist/utilities/getNavGroups.js.map +1 -1
  1104. package/dist/utilities/getOffsetTop.js +14 -13
  1105. package/dist/utilities/getOffsetTop.js.map +1 -1
  1106. package/dist/utilities/getRequestLanguage.js +5 -8
  1107. package/dist/utilities/getRequestLanguage.js.map +1 -1
  1108. package/dist/utilities/getSchemaMap.js +24 -31
  1109. package/dist/utilities/getSchemaMap.js.map +1 -1
  1110. package/dist/utilities/getSupportedMonacoLocale.js +14 -13
  1111. package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
  1112. package/dist/utilities/getVisibleEntities.js +15 -26
  1113. package/dist/utilities/getVisibleEntities.js.map +1 -1
  1114. package/dist/utilities/groupNavItems.js +53 -50
  1115. package/dist/utilities/groupNavItems.js.map +1 -1
  1116. package/dist/utilities/handleBackToDashboard.js +8 -11
  1117. package/dist/utilities/handleBackToDashboard.js.map +1 -1
  1118. package/dist/utilities/handleFormStateLocking.js +131 -125
  1119. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  1120. package/dist/utilities/handleGoBack.js +7 -11
  1121. package/dist/utilities/handleGoBack.js.map +1 -1
  1122. package/dist/utilities/handleLivePreview.js +59 -76
  1123. package/dist/utilities/handleLivePreview.js.map +1 -1
  1124. package/dist/utilities/handlePreview.js +41 -52
  1125. package/dist/utilities/handlePreview.js.map +1 -1
  1126. package/dist/utilities/handleStaleDataCheck.js +52 -57
  1127. package/dist/utilities/handleStaleDataCheck.js.map +1 -1
  1128. package/dist/utilities/handleTakeOver.js +28 -39
  1129. package/dist/utilities/handleTakeOver.js.map +1 -1
  1130. package/dist/utilities/hasOptionLabelJSXElement.js +9 -11
  1131. package/dist/utilities/hasOptionLabelJSXElement.js.map +1 -1
  1132. package/dist/utilities/hasSavePermission.js +14 -14
  1133. package/dist/utilities/hasSavePermission.js.map +1 -1
  1134. package/dist/utilities/isClientUserObject.js +3 -2
  1135. package/dist/utilities/isClientUserObject.js.map +1 -1
  1136. package/dist/utilities/isEditing.js +2 -5
  1137. package/dist/utilities/isEditing.js.map +1 -1
  1138. package/dist/utilities/isURLAllowed.js +30 -29
  1139. package/dist/utilities/isURLAllowed.js.map +1 -1
  1140. package/dist/utilities/isValidReactElement.js +3 -3
  1141. package/dist/utilities/isValidReactElement.js.map +1 -1
  1142. package/dist/utilities/normalizeRelationshipValue.js +29 -28
  1143. package/dist/utilities/normalizeRelationshipValue.js.map +1 -1
  1144. package/dist/utilities/normalizeRelationshipValue.spec.js +407 -368
  1145. package/dist/utilities/normalizeRelationshipValue.spec.js.map +1 -1
  1146. package/dist/utilities/parseSearchParams.js +7 -7
  1147. package/dist/utilities/parseSearchParams.js.map +1 -1
  1148. package/dist/utilities/reduceFieldsToOptions.js +145 -154
  1149. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  1150. package/dist/utilities/reduceFieldsToValuesWithValidation.js +20 -20
  1151. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  1152. package/dist/utilities/removeUndefined.js +2 -1
  1153. package/dist/utilities/removeUndefined.js.map +1 -1
  1154. package/dist/utilities/renderTable.js +239 -195
  1155. package/dist/utilities/renderTable.js.map +1 -1
  1156. package/dist/utilities/resolveFilterOptions.js +27 -26
  1157. package/dist/utilities/resolveFilterOptions.js.map +1 -1
  1158. package/dist/utilities/sanitizeFilterOptionsQuery.js +16 -15
  1159. package/dist/utilities/sanitizeFilterOptionsQuery.js.map +1 -1
  1160. package/dist/utilities/sanitizeID.js +8 -7
  1161. package/dist/utilities/sanitizeID.js.map +1 -1
  1162. package/dist/utilities/schedulePublishHandler.js +48 -58
  1163. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  1164. package/dist/utilities/scrollToID.js +10 -9
  1165. package/dist/utilities/scrollToID.js.map +1 -1
  1166. package/dist/utilities/setsAreEqual.js +3 -2
  1167. package/dist/utilities/setsAreEqual.js.map +1 -1
  1168. package/dist/utilities/shouldPermanentlyDelete.js +4 -8
  1169. package/dist/utilities/shouldPermanentlyDelete.js.map +1 -1
  1170. package/dist/utilities/stringifyTruncated.js +9 -8
  1171. package/dist/utilities/stringifyTruncated.js.map +1 -1
  1172. package/dist/utilities/traverseForLocalizedFields.js +36 -35
  1173. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  1174. package/dist/utilities/upsertPreferences.js +76 -76
  1175. package/dist/utilities/upsertPreferences.js.map +1 -1
  1176. package/dist/views/BrowseByFolder/index.js +365 -304
  1177. package/dist/views/BrowseByFolder/index.js.map +1 -1
  1178. package/dist/views/CollectionFolder/ListSelection/index.js +162 -159
  1179. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  1180. package/dist/views/CollectionFolder/index.js +373 -288
  1181. package/dist/views/CollectionFolder/index.js.map +1 -1
  1182. package/dist/views/Edit/Auth/APIKey.js +185 -124
  1183. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  1184. package/dist/views/Edit/Auth/index.js +309 -321
  1185. package/dist/views/Edit/Auth/index.js.map +1 -1
  1186. package/dist/views/Edit/Auth/types.js +2 -1
  1187. package/dist/views/Edit/Auth/types.js.map +1 -1
  1188. package/dist/views/Edit/SetDocumentStepNav/index.js +84 -150
  1189. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  1190. package/dist/views/Edit/SetDocumentTitle/index.js +30 -77
  1191. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  1192. package/dist/views/Edit/index.js +655 -569
  1193. package/dist/views/Edit/index.js.map +1 -1
  1194. package/dist/views/Edit/types.js +2 -1
  1195. package/dist/views/Edit/types.js.map +1 -1
  1196. package/dist/views/List/GroupByHeader/index.js +35 -24
  1197. package/dist/views/List/GroupByHeader/index.js.map +1 -1
  1198. package/dist/views/List/ListHeader/index.js +117 -83
  1199. package/dist/views/List/ListHeader/index.js.map +1 -1
  1200. package/dist/views/List/ListSelection/index.js +105 -117
  1201. package/dist/views/List/ListSelection/index.js.map +1 -1
  1202. package/dist/views/List/index.js +332 -219
  1203. package/dist/views/List/index.js.map +1 -1
  1204. package/dist/views/List/types.js +2 -1
  1205. package/dist/views/List/types.js.map +1 -1
  1206. package/dist/widgets/CollectionCards/index.js +149 -119
  1207. package/dist/widgets/CollectionCards/index.js.map +1 -1
  1208. package/package.json +5 -5
  1209. package/dist/exports/client/CodeEditor-67I2RYO2.js +0 -14
  1210. package/dist/exports/client/CodeEditor-67I2RYO2.js.map +0 -7
  1211. package/dist/exports/client/DatePicker-T2DMDMM5.js +0 -14
  1212. package/dist/exports/client/DatePicker-T2DMDMM5.js.map +0 -7
  1213. package/dist/exports/client/chunk-5LKBKI4T.js +0 -14
  1214. package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -7
  1215. package/dist/exports/client/chunk-QP5KC7MG.js +0 -27
  1216. package/dist/exports/client/chunk-QP5KC7MG.js.map +0 -7
  1217. package/dist/exports/client/chunk-WDZJLNNB.js +0 -29
  1218. package/dist/exports/client/chunk-WDZJLNNB.js.map +0 -7
@@ -1,6 +1,5 @@
1
1
  'use client';
2
-
3
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { jsxDEV as _jsxDEV, Fragment as _Fragment } from "react/jsx-dev-runtime";
4
3
  import { useRouter, useSearchParams } from 'next/navigation.js';
5
4
  import { formatAdminURL, hasAutosaveEnabled } from 'payload/shared';
6
5
  import React, { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react';
@@ -41,584 +40,671 @@ const PENDING_SUCCESS_TOAST_KEY = 'payload-pending-success-toast';
41
40
  // This component receives props only on _pages_
42
41
  // When rendered within a drawer, props are empty
43
42
  // This is solely to support custom edit views which get server-rendered
44
- export function DefaultEditView({
45
- BeforeDocumentControls,
46
- Description,
47
- EditMenuItems,
48
- LivePreview: CustomLivePreview,
49
- PreviewButton,
50
- PublishButton,
51
- SaveButton,
52
- SaveDraftButton,
53
- Status,
54
- UnpublishButton,
55
- Upload: CustomUpload,
56
- UploadControls
57
- }) {
58
- const {
59
- id,
60
- action,
61
- AfterDocument,
62
- AfterFields,
63
- apiURL,
64
- BeforeFields,
65
- collectionSlug,
66
- currentEditor,
67
- data,
68
- disableActions,
69
- disableCreate,
70
- disableLeaveWithoutSaving,
71
- docPermissions,
72
- documentIsLocked,
73
- documentLockState,
74
- getDocPermissions,
75
- getDocPreferences,
76
- globalSlug,
77
- hasPublishPermission,
78
- hasSavePermission,
79
- incrementVersionCount,
80
- initialState,
81
- isEditing,
82
- isInitializing,
83
- isLocked,
84
- isTrashed,
85
- lastUpdateTime,
86
- redirectAfterCreate,
87
- redirectAfterDelete,
88
- redirectAfterDuplicate,
89
- redirectAfterRestore,
90
- setCurrentEditor,
91
- setData,
92
- setDocumentIsLocked,
93
- setLastUpdateTime,
94
- unlockDocument,
95
- updateDocumentEditor
96
- } = useDocumentInfo();
97
- const {
98
- clearDoc,
99
- drawerSlug,
100
- onDelete,
101
- onDuplicate,
102
- onRestore,
103
- onSave: onSaveFromContext
104
- } = useDocumentDrawerContext();
105
- const isInDrawer = Boolean(drawerSlug);
106
- const {
107
- refreshCookieAsync,
108
- user
109
- } = useAuth();
110
- const {
111
- config,
112
- config: {
113
- admin: {
114
- user: userSlug
115
- },
116
- routes: {
117
- admin: adminRoute
118
- },
119
- serverURL
120
- },
121
- getEntityConfig
122
- } = useConfig();
123
- const collectionConfig = getEntityConfig({
124
- collectionSlug
125
- });
126
- const globalConfig = getEntityConfig({
127
- globalSlug
128
- });
129
- const depth = useEditDepth();
130
- const router = useRouter();
131
- const params = useSearchParams();
132
- const {
133
- reportUpdate
134
- } = useDocumentEvents();
135
- const {
136
- resetUploadEdits
137
- } = useUploadEdits();
138
- const {
139
- getFormState
140
- } = useServerFunctions();
141
- const {
142
- startRouteTransition
143
- } = useRouteTransition();
144
- const {
145
- clearRouteCache
146
- } = useRouteCache();
147
- const {
148
- isLivePreviewEnabled,
149
- isLivePreviewing,
150
- previewWindowType,
151
- setURL: setLivePreviewURL,
152
- typeofLivePreviewURL,
153
- url: livePreviewURL
154
- } = useLivePreviewContext();
155
- const {
156
- isPreviewEnabled,
157
- setPreviewURL
158
- } = usePreviewURL();
159
- const abortOnChangeRef = useRef(null);
160
- const abortOnSaveRef = useRef(null);
161
- const locale = params.get('locale');
162
- const entitySlug = collectionConfig?.slug || globalConfig?.slug;
163
- const operation = collectionSlug && !id ? 'create' : 'update';
164
- const auth = collectionConfig ? collectionConfig.auth : undefined;
165
- const upload = collectionConfig ? collectionConfig.upload : undefined;
166
- const docConfig = collectionConfig || globalConfig;
167
- const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true;
168
- const isLockingEnabled = lockDocumentsProp !== false;
169
- const lockDurationDefault = 300 // Default 5 minutes in seconds
170
- ;
171
- const lockDuration = typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault;
172
- const lockDurationInMilliseconds = lockDuration * 1000;
173
- const autosaveEnabled = hasAutosaveEnabled(docConfig);
174
- const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false);
175
- const [showTakeOverModal, setShowTakeOverModal] = useState(false);
176
- const [showStaleDataModal, setShowStaleDataModal] = useState(false);
177
- const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now());
178
- const hasCheckedForStaleDataRef = useRef(false);
179
- const originalUpdatedAtRef = useRef(data?.updatedAt);
180
- const saveCounterRef = useRef(0);
181
- const isSavingRef = useRef(false);
182
- const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds;
183
- const isLockExpired = Date.now() > lockExpiryTime;
184
- const preventLeaveWithoutSaving = !isReadOnlyForIncomingUser && (typeof disableLeaveWithoutSaving !== 'undefined' ? !disableLeaveWithoutSaving : !autosaveEnabled);
185
- const schemaPathSegments = useMemo(() => [entitySlug], [entitySlug]);
186
- const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {
187
- if (operation === 'create' && auth && !auth.disableLocalStrategy) {
188
- return true;
189
- }
190
- return false;
191
- });
192
- const nextHrefRef = React.useRef(null);
193
- const handleDocumentLocking = useCallback(lockedState => {
194
- setDocumentIsLocked(true);
195
- const previousOwnerID = typeof documentLockState.current?.user === 'object' ? documentLockState.current?.user?.id : documentLockState.current?.user;
196
- if (lockedState && lockedState.user) {
197
- const lockedUserID = typeof lockedState.user === 'string' || typeof lockedState.user === 'number' ? lockedState.user : lockedState.user.id;
198
- if (!documentLockState.current || lockedUserID !== previousOwnerID) {
199
- if (previousOwnerID === user.id && lockedUserID !== user.id) {
200
- setShowTakeOverModal(true);
201
- documentLockState.current.hasShownLockedModal = true;
43
+ export function DefaultEditView({ BeforeDocumentControls, Description, EditMenuItems, LivePreview: CustomLivePreview, PreviewButton, PublishButton, SaveButton, SaveDraftButton, Status, UnpublishButton, Upload: CustomUpload, UploadControls }) {
44
+ const { id, action, AfterDocument, AfterFields, apiURL, BeforeFields, collectionSlug, currentEditor, data, disableActions, disableCreate, disableLeaveWithoutSaving, docPermissions, documentIsLocked, documentLockState, getDocPermissions, getDocPreferences, globalSlug, hasPublishPermission, hasSavePermission, incrementVersionCount, initialState, isEditing, isInitializing, isLocked, isTrashed, lastUpdateTime, redirectAfterCreate, redirectAfterDelete, redirectAfterDuplicate, redirectAfterRestore, setCurrentEditor, setData, setDocumentIsLocked, setLastUpdateTime, unlockDocument, updateDocumentEditor } = useDocumentInfo();
45
+ const { clearDoc, drawerSlug, onDelete, onDuplicate, onRestore, onSave: onSaveFromContext } = useDocumentDrawerContext();
46
+ const isInDrawer = Boolean(drawerSlug);
47
+ const { refreshCookieAsync, user } = useAuth();
48
+ const { config, config: { admin: { user: userSlug }, routes: { admin: adminRoute }, serverURL }, getEntityConfig } = useConfig();
49
+ const collectionConfig = getEntityConfig({
50
+ collectionSlug
51
+ });
52
+ const globalConfig = getEntityConfig({
53
+ globalSlug
54
+ });
55
+ const depth = useEditDepth();
56
+ const router = useRouter();
57
+ const params = useSearchParams();
58
+ const { reportUpdate } = useDocumentEvents();
59
+ const { resetUploadEdits } = useUploadEdits();
60
+ const { getFormState } = useServerFunctions();
61
+ const { startRouteTransition } = useRouteTransition();
62
+ const { clearRouteCache } = useRouteCache();
63
+ const { isLivePreviewEnabled, isLivePreviewing, previewWindowType, setURL: setLivePreviewURL, typeofLivePreviewURL, url: livePreviewURL } = useLivePreviewContext();
64
+ const { isPreviewEnabled, setPreviewURL } = usePreviewURL();
65
+ const abortOnChangeRef = useRef(null);
66
+ const abortOnSaveRef = useRef(null);
67
+ const locale = params.get('locale');
68
+ const entitySlug = collectionConfig?.slug || globalConfig?.slug;
69
+ const operation = collectionSlug && !id ? 'create' : 'update';
70
+ const auth = collectionConfig ? collectionConfig.auth : undefined;
71
+ const upload = collectionConfig ? collectionConfig.upload : undefined;
72
+ const docConfig = collectionConfig || globalConfig;
73
+ const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true;
74
+ const isLockingEnabled = lockDocumentsProp !== false;
75
+ const lockDurationDefault = 300;
76
+ // Default 5 minutes in seconds
77
+ const lockDuration = typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault;
78
+ const lockDurationInMilliseconds = lockDuration * 1000;
79
+ const autosaveEnabled = hasAutosaveEnabled(docConfig);
80
+ const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false);
81
+ const [showTakeOverModal, setShowTakeOverModal] = useState(false);
82
+ const [showStaleDataModal, setShowStaleDataModal] = useState(false);
83
+ const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now());
84
+ const hasCheckedForStaleDataRef = useRef(false);
85
+ const originalUpdatedAtRef = useRef(data?.updatedAt);
86
+ const saveCounterRef = useRef(0);
87
+ const isSavingRef = useRef(false);
88
+ const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds;
89
+ const isLockExpired = Date.now() > lockExpiryTime;
90
+ const preventLeaveWithoutSaving = !isReadOnlyForIncomingUser && (typeof disableLeaveWithoutSaving !== 'undefined' ? !disableLeaveWithoutSaving : !autosaveEnabled);
91
+ const schemaPathSegments = useMemo(()=>[
92
+ entitySlug
93
+ ], [
94
+ entitySlug
95
+ ]);
96
+ const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(()=>{
97
+ if (operation === 'create' && auth && !auth.disableLocalStrategy) {
98
+ return true;
202
99
  }
203
- documentLockState.current = {
204
- hasShownLockedModal: documentLockState.current?.hasShownLockedModal || false,
205
- isLocked: true,
206
- user: lockedState.user
207
- };
208
- setCurrentEditor(lockedState.user);
209
- }
210
- // Update lastUpdateTime when lock state changes
211
- if (lockedState.lastEditedAt) {
212
- setLastUpdateTime(new Date(lockedState.lastEditedAt).getTime());
213
- }
214
- }
215
- }, [documentLockState, setCurrentEditor, setDocumentIsLocked, setLastUpdateTime, user?.id]);
216
- const handleStaleDataReload = useCallback(() => {
217
- // Reset modal state so it can appear again if needed
218
- setShowStaleDataModal(false);
219
- // Refresh to get the latest data
220
- router.refresh();
221
- }, [router]);
222
- const handlePrevent = useCallback(nextHref => {
223
- nextHrefRef.current = nextHref;
224
- }, []);
225
- const handleLeaveConfirm = useCallback(async () => {
226
- const lockUser = documentLockState.current?.user;
227
- const isLockOwnedByCurrentUser = typeof lockUser === 'object' ? lockUser?.id === user?.id : lockUser === user?.id;
228
- if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {
229
- // Check where user is trying to go
230
- const nextPath = nextHrefRef.current ? new URL(nextHrefRef.current).pathname : '';
231
- const isInternalView = ['/preview', '/api', '/versions'].some(path => nextPath.includes(path));
232
- // Remove the lock if the user is navigating away from the document view they have locked
233
- if (isLockOwnedByCurrentUser && !isInternalView) {
234
- try {
235
- await unlockDocument(id, collectionSlug ?? globalSlug);
236
- setDocumentIsLocked(false);
237
- setCurrentEditor(null);
238
- } catch (err) {
239
- console.error('Failed to unlock before leave', err); // eslint-disable-line no-console
100
+ return false;
101
+ });
102
+ const nextHrefRef = React.useRef(null);
103
+ const handleDocumentLocking = useCallback((lockedState)=>{
104
+ setDocumentIsLocked(true);
105
+ const previousOwnerID = typeof documentLockState.current?.user === 'object' ? documentLockState.current?.user?.id : documentLockState.current?.user;
106
+ if (lockedState && lockedState.user) {
107
+ const lockedUserID = typeof lockedState.user === 'string' || typeof lockedState.user === 'number' ? lockedState.user : lockedState.user.id;
108
+ if (!documentLockState.current || lockedUserID !== previousOwnerID) {
109
+ if (previousOwnerID === user.id && lockedUserID !== user.id) {
110
+ setShowTakeOverModal(true);
111
+ documentLockState.current.hasShownLockedModal = true;
112
+ }
113
+ documentLockState.current = {
114
+ hasShownLockedModal: documentLockState.current?.hasShownLockedModal || false,
115
+ isLocked: true,
116
+ user: lockedState.user
117
+ };
118
+ setCurrentEditor(lockedState.user);
119
+ }
120
+ // Update lastUpdateTime when lock state changes
121
+ if (lockedState.lastEditedAt) {
122
+ setLastUpdateTime(new Date(lockedState.lastEditedAt).getTime());
123
+ }
240
124
  }
241
- }
242
- }
243
- }, [collectionSlug, documentIsLocked, documentLockState, globalSlug, id, isLockingEnabled, setCurrentEditor, setDocumentIsLocked, unlockDocument, user?.id]);
244
- const onSave = useCallback(async (json, ctx) => {
245
- const {
246
- context,
247
- formState
248
- } = ctx || {};
249
- const controller = handleAbortRef(abortOnSaveRef);
250
- const document = json?.doc || json?.result;
251
- const updatedAt = document?.updatedAt || new Date().toISOString();
252
- // If we're editing the doc of the logged-in user,
253
- // Refresh the cookie to get new permissions
254
- if (user && collectionSlug === userSlug && id === user.id) {
255
- void refreshCookieAsync();
256
- }
257
- setLastUpdateTime(new Date(updatedAt).getTime());
258
- // Update stale data check refs after successful save
259
- // This allows detecting if another user modifies the document after this save
260
- originalUpdatedAtRef.current = updatedAt;
261
- hasCheckedForStaleDataRef.current = false;
262
- isSavingRef.current = false;
263
- if (context?.incrementVersionCount !== false) {
264
- incrementVersionCount();
265
- }
266
- if (typeof setData === 'function') {
267
- void setData(document || {});
268
- }
269
- if (typeof onSaveFromContext === 'function') {
270
- const operation_0 = id ? 'update' : 'create';
271
- void onSaveFromContext({
272
- ...json,
273
- context,
274
- operation: operation_0,
275
- // @ts-expect-error todo: this is not right, should be under `doc`?
276
- updatedAt: operation_0 === 'update' ? new Date().toISOString() : document?.updatedAt || new Date().toISOString()
277
- });
278
- }
279
- if (!isEditing && depth < 2 && redirectAfterCreate !== false) {
280
- // Store success message to show after redirect
281
- if (json.message && typeof window !== 'undefined') {
282
- window.sessionStorage.setItem(PENDING_SUCCESS_TOAST_KEY, json.message);
283
- }
284
- // Redirect to the same locale if it's been set
285
- const redirectRoute = formatAdminURL({
286
- adminRoute,
287
- path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`
288
- });
289
- startRouteTransition(() => router.push(redirectRoute));
290
- } else {
291
- resetUploadEdits();
292
- }
293
- if (context?.getDocPermissions !== false) {
294
- await getDocPermissions(json);
295
- }
296
- if (id || globalSlug) {
297
- const docPreferences = await getDocPreferences();
298
- const {
299
- livePreviewURL: livePreviewURL_0,
300
- previewURL,
301
- state
302
- } = await getFormState({
303
- id,
125
+ }, [
126
+ documentLockState,
127
+ setCurrentEditor,
128
+ setDocumentIsLocked,
129
+ setLastUpdateTime,
130
+ user?.id
131
+ ]);
132
+ const handleStaleDataReload = useCallback(()=>{
133
+ // Reset modal state so it can appear again if needed
134
+ setShowStaleDataModal(false);
135
+ // Refresh to get the latest data
136
+ router.refresh();
137
+ }, [
138
+ router
139
+ ]);
140
+ const handlePrevent = useCallback((nextHref)=>{
141
+ nextHrefRef.current = nextHref;
142
+ }, []);
143
+ const handleLeaveConfirm = useCallback(async ()=>{
144
+ const lockUser = documentLockState.current?.user;
145
+ const isLockOwnedByCurrentUser = typeof lockUser === 'object' ? lockUser?.id === user?.id : lockUser === user?.id;
146
+ if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {
147
+ // Check where user is trying to go
148
+ const nextPath = nextHrefRef.current ? new URL(nextHrefRef.current).pathname : '';
149
+ const isInternalView = [
150
+ '/preview',
151
+ '/api',
152
+ '/versions'
153
+ ].some((path)=>nextPath.includes(path));
154
+ // Remove the lock if the user is navigating away from the document view they have locked
155
+ if (isLockOwnedByCurrentUser && !isInternalView) {
156
+ try {
157
+ await unlockDocument(id, collectionSlug ?? globalSlug);
158
+ setDocumentIsLocked(false);
159
+ setCurrentEditor(null);
160
+ } catch (err) {
161
+ console.error('Failed to unlock before leave', err);
162
+ }
163
+ }
164
+ }
165
+ }, // eslint-disable-line no-console
166
+ [
304
167
  collectionSlug,
305
- data: document,
306
- docPermissions,
307
- docPreferences,
308
- formState,
168
+ documentIsLocked,
169
+ documentLockState,
309
170
  globalSlug,
310
- operation,
311
- renderAllFields: false,
312
- returnLivePreviewURL: isLivePreviewEnabled && typeofLivePreviewURL === 'function',
313
- returnLockStatus: false,
314
- returnPreviewURL: isPreviewEnabled,
315
- schemaPath: schemaPathSegments.join('.'),
316
- signal: controller.signal,
317
- skipValidation: true
318
- });
319
- // For upload collections, clear the file field from the returned state
320
- // to prevent the File object from persisting in form state after save
321
- if (upload && state) {
322
- delete state.file;
323
- }
324
- // Unlock the document after save
325
- if (isLockingEnabled) {
326
- setDocumentIsLocked(false);
327
- }
328
- if (isLivePreviewEnabled && typeofLivePreviewURL === 'function') {
329
- setLivePreviewURL(livePreviewURL_0);
330
- }
331
- if (isPreviewEnabled) {
332
- setPreviewURL(previewURL);
333
- }
334
- reportUpdate({
335
171
  id,
336
- doc: document,
337
- drawerSlug,
338
- entitySlug,
339
- operation: 'update',
340
- updatedAt
341
- });
342
- abortOnSaveRef.current = null;
343
- return state;
344
- } else {
345
- reportUpdate({
172
+ isLockingEnabled,
173
+ setCurrentEditor,
174
+ setDocumentIsLocked,
175
+ unlockDocument,
176
+ user?.id
177
+ ]);
178
+ const onSave = useCallback(async (json, ctx)=>{
179
+ const { context, formState } = ctx || {};
180
+ const controller = handleAbortRef(abortOnSaveRef);
181
+ const document = json?.doc || json?.result;
182
+ const updatedAt = document?.updatedAt || new Date().toISOString();
183
+ // If we're editing the doc of the logged-in user,
184
+ // Refresh the cookie to get new permissions
185
+ if (user && collectionSlug === userSlug && id === user.id) {
186
+ void refreshCookieAsync();
187
+ }
188
+ setLastUpdateTime(new Date(updatedAt).getTime());
189
+ // Update stale data check refs after successful save
190
+ // This allows detecting if another user modifies the document after this save
191
+ originalUpdatedAtRef.current = updatedAt;
192
+ hasCheckedForStaleDataRef.current = false;
193
+ isSavingRef.current = false;
194
+ if (context?.incrementVersionCount !== false) {
195
+ incrementVersionCount();
196
+ }
197
+ if (typeof setData === 'function') {
198
+ void setData(document || {});
199
+ }
200
+ if (typeof onSaveFromContext === 'function') {
201
+ const operation = id ? 'update' : 'create';
202
+ void onSaveFromContext({
203
+ ...json,
204
+ context,
205
+ operation,
206
+ // @ts-expect-error todo: this is not right, should be under `doc`?
207
+ updatedAt: operation === 'update' ? new Date().toISOString() : document?.updatedAt || new Date().toISOString()
208
+ });
209
+ }
210
+ if (!isEditing && depth < 2 && redirectAfterCreate !== false) {
211
+ // Store success message to show after redirect
212
+ if (json.message && typeof window !== 'undefined') {
213
+ window.sessionStorage.setItem(PENDING_SUCCESS_TOAST_KEY, json.message);
214
+ }
215
+ // Redirect to the same locale if it's been set
216
+ const redirectRoute = formatAdminURL({
217
+ adminRoute,
218
+ path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`
219
+ });
220
+ startRouteTransition(()=>router.push(redirectRoute));
221
+ } else {
222
+ resetUploadEdits();
223
+ }
224
+ if (context?.getDocPermissions !== false) {
225
+ await getDocPermissions(json);
226
+ }
227
+ if (id || globalSlug) {
228
+ const docPreferences = await getDocPreferences();
229
+ const { livePreviewURL, previewURL, state } = await getFormState({
230
+ id,
231
+ collectionSlug,
232
+ data: document,
233
+ docPermissions,
234
+ docPreferences,
235
+ formState,
236
+ globalSlug,
237
+ operation,
238
+ renderAllFields: false,
239
+ returnLivePreviewURL: isLivePreviewEnabled && typeofLivePreviewURL === 'function',
240
+ returnLockStatus: false,
241
+ returnPreviewURL: isPreviewEnabled,
242
+ schemaPath: schemaPathSegments.join('.'),
243
+ signal: controller.signal,
244
+ skipValidation: true
245
+ });
246
+ // For upload collections, clear the file field from the returned state
247
+ // to prevent the File object from persisting in form state after save
248
+ if (upload && state) {
249
+ delete state.file;
250
+ }
251
+ // Unlock the document after save
252
+ if (isLockingEnabled) {
253
+ setDocumentIsLocked(false);
254
+ }
255
+ if (isLivePreviewEnabled && typeofLivePreviewURL === 'function') {
256
+ setLivePreviewURL(livePreviewURL);
257
+ }
258
+ if (isPreviewEnabled) {
259
+ setPreviewURL(previewURL);
260
+ }
261
+ reportUpdate({
262
+ id,
263
+ doc: document,
264
+ drawerSlug,
265
+ entitySlug,
266
+ operation: 'update',
267
+ updatedAt
268
+ });
269
+ abortOnSaveRef.current = null;
270
+ return state;
271
+ } else {
272
+ reportUpdate({
273
+ id,
274
+ doc: document,
275
+ drawerSlug,
276
+ entitySlug,
277
+ operation: 'create',
278
+ updatedAt
279
+ });
280
+ }
281
+ }, [
282
+ user,
283
+ collectionSlug,
284
+ userSlug,
346
285
  id,
347
- doc: document,
286
+ setLastUpdateTime,
287
+ setData,
288
+ onSaveFromContext,
289
+ isEditing,
290
+ depth,
291
+ redirectAfterCreate,
292
+ globalSlug,
293
+ refreshCookieAsync,
294
+ incrementVersionCount,
295
+ adminRoute,
296
+ locale,
297
+ startRouteTransition,
298
+ router,
299
+ resetUploadEdits,
300
+ getDocPermissions,
301
+ getDocPreferences,
302
+ getFormState,
303
+ docPermissions,
304
+ operation,
305
+ isLivePreviewEnabled,
306
+ typeofLivePreviewURL,
307
+ isPreviewEnabled,
308
+ schemaPathSegments,
309
+ upload,
310
+ isLockingEnabled,
311
+ reportUpdate,
348
312
  drawerSlug,
349
313
  entitySlug,
350
- operation: 'create',
351
- updatedAt
352
- });
353
- }
354
- }, [user, collectionSlug, userSlug, id, setLastUpdateTime, setData, onSaveFromContext, isEditing, depth, redirectAfterCreate, globalSlug, refreshCookieAsync, incrementVersionCount, adminRoute, locale, startRouteTransition, router, resetUploadEdits, getDocPermissions, getDocPreferences, getFormState, docPermissions, operation, isLivePreviewEnabled, typeofLivePreviewURL, isPreviewEnabled, schemaPathSegments, upload, isLockingEnabled, reportUpdate, drawerSlug, entitySlug, setDocumentIsLocked, setLivePreviewURL, setPreviewURL]);
355
- const onChange = useCallback(async ({
356
- formState: prevFormState,
357
- submitted
358
- }) => {
359
- const controller_0 = handleAbortRef(abortOnChangeRef);
360
- // Capture save state before the async form-state request so we can detect
361
- // if a save was triggered while this request was in-flight
362
- const saveCounterAtStart = saveCounterRef.current;
363
- const isSavingAtStart = isSavingRef.current;
364
- // Sync originalUpdatedAt with current data if it's NEWER (e.g., after router.refresh())
365
- if (data?.updatedAt && data.updatedAt > originalUpdatedAtRef.current) {
366
- originalUpdatedAtRef.current = data.updatedAt;
367
- // Reset check flag so we can detect new stale data
368
- hasCheckedForStaleDataRef.current = false;
369
- }
370
- const currentTime = Date.now();
371
- const timeSinceLastUpdate = currentTime - editSessionStartTime;
372
- const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds
373
- ;
374
- if (updateLastEdited) {
375
- setEditSessionStartTime(currentTime);
376
- }
377
- // Check for stale data on first edit only
378
- // Skip this check entirely for autosave-enabled collections/globals to prevent
379
- // false positives from the user's own autosaves
380
- const checkForStaleData = !hasCheckedForStaleDataRef.current && originalUpdatedAtRef.current && operation === 'update' && !autosaveEnabled;
381
- if (checkForStaleData) {
382
- hasCheckedForStaleDataRef.current = true;
383
- }
384
- const docPreferences_0 = await getDocPreferences();
385
- const result = await getFormState({
386
- id,
387
- checkForStaleData,
388
- collectionSlug,
389
- docPermissions,
390
- docPreferences: docPreferences_0,
391
- formState: prevFormState,
392
- globalSlug,
393
- operation,
394
- originalUpdatedAt: checkForStaleData ? originalUpdatedAtRef.current : undefined,
395
- renderAllFields: false,
396
- returnLockStatus: isLockingEnabled,
397
- schemaPath: schemaPathSegments.join('.'),
398
- signal: controller_0.signal,
399
- skipValidation: !submitted,
400
- updateLastEdited
401
- });
402
- if (!result) {
403
- return;
404
- }
405
- const {
406
- lockedState: lockedState_0,
407
- staleDataState,
408
- state: state_0
409
- } = result;
410
- if (isLockingEnabled) {
411
- handleDocumentLocking(lockedState_0);
412
- }
413
- // Handle stale data detection.
414
- // Skip if a save was in-flight when this request started, or if the save counter
415
- // has advanced — either way the newer updatedAt is from our OWN save.
416
- if (staleDataState?.isStale && !isSavingAtStart && saveCounterRef.current === saveCounterAtStart) {
417
- setShowStaleDataModal(true);
418
- }
419
- abortOnChangeRef.current = null;
420
- return state_0;
421
- }, [data?.updatedAt, editSessionStartTime, isLockingEnabled, getDocPreferences, getFormState, id, collectionSlug, docPermissions, globalSlug, operation, schemaPathSegments, handleDocumentLocking, autosaveEnabled]);
422
- // Clean up when the component unmounts or when the document is unlocked
423
- useEffect(() => {
424
- return () => {
425
- setShowTakeOverModal(false);
426
- };
427
- }, []);
428
- useEffect(() => {
429
- const abortOnChange = abortOnChangeRef.current;
430
- const abortOnSave = abortOnSaveRef.current;
431
- return () => {
432
- abortAndIgnore(abortOnChange);
433
- abortAndIgnore(abortOnSave);
434
- };
435
- }, []);
436
- // Show pending success toast after redirect from create
437
- useEffect(() => {
438
- if (!isInitializing && typeof window !== 'undefined') {
439
- const pendingMessage = window.sessionStorage.getItem(PENDING_SUCCESS_TOAST_KEY);
440
- if (pendingMessage) {
441
- window.sessionStorage.removeItem(PENDING_SUCCESS_TOAST_KEY);
442
- toast.success(pendingMessage);
443
- }
444
- }
445
- }, [isInitializing]);
446
- const shouldShowDocumentLockedModal = documentIsLocked && currentEditor && (typeof currentEditor === 'object' ? currentEditor.id !== user?.id : currentEditor !== user?.id) && !isReadOnlyForIncomingUser && !showTakeOverModal && !documentLockState.current?.hasShownLockedModal && !isLockExpired;
447
- const isFolderCollection = config.folders && collectionSlug === config.folders?.slug;
448
- return /*#__PURE__*/_jsx("main", {
449
- className: [baseClass, (id || globalSlug) && `${baseClass}--is-editing`, globalSlug && `global-edit--${globalSlug}`, collectionSlug && `collection-edit--${collectionSlug}`, isLivePreviewing && previewWindowType === 'iframe' && `${baseClass}--is-live-previewing`].filter(Boolean).join(' '),
450
- children: /*#__PURE__*/_jsx(OperationProvider, {
451
- operation: operation,
452
- children: /*#__PURE__*/_jsxs(Form, {
453
- action: action,
454
- className: `${baseClass}__form`,
455
- disabled: isReadOnlyForIncomingUser || isInitializing || !hasSavePermission || isTrashed,
456
- disableSuccessStatus: !isEditing && depth < 2 && redirectAfterCreate !== false,
457
- disableValidationOnSubmit: !validateBeforeSubmit,
458
- initialState: !isInitializing && initialState,
459
- isDocumentForm: true,
460
- isInitializing: isInitializing,
461
- method: id ? 'PATCH' : 'POST',
462
- onChange: [onChange],
463
- onSubmit: () => {
464
- saveCounterRef.current += 1;
465
- isSavingRef.current = true;
466
- },
467
- onSuccess: onSave,
468
- children: [isInDrawer && /*#__PURE__*/_jsx(DocumentDrawerHeader, {
469
- AfterHeader: Description,
470
- drawerSlug: drawerSlug,
471
- showDocumentID: !isFolderCollection
472
- }), isLockingEnabled && shouldShowDocumentLockedModal && /*#__PURE__*/_jsx(DocumentLocked, {
473
- handleGoBack: () => handleGoBack({
474
- adminRoute,
475
- collectionSlug,
476
- router,
477
- serverURL
478
- }),
479
- isActive: shouldShowDocumentLockedModal,
480
- onReadOnly: () => {
481
- setIsReadOnlyForIncomingUser(true);
482
- setShowTakeOverModal(false);
483
- },
484
- onTakeOver: () => handleTakeOver({
314
+ setDocumentIsLocked,
315
+ setLivePreviewURL,
316
+ setPreviewURL
317
+ ]);
318
+ const onChange = useCallback(async ({ formState: prevFormState, submitted })=>{
319
+ const controller = handleAbortRef(abortOnChangeRef);
320
+ // Capture save state before the async form-state request so we can detect
321
+ // if a save was triggered while this request was in-flight
322
+ const saveCounterAtStart = saveCounterRef.current;
323
+ const isSavingAtStart = isSavingRef.current;
324
+ // Sync originalUpdatedAt with current data if it's NEWER (e.g., after router.refresh())
325
+ if (data?.updatedAt && data.updatedAt > originalUpdatedAtRef.current) {
326
+ originalUpdatedAtRef.current = data.updatedAt;
327
+ // Reset check flag so we can detect new stale data
328
+ hasCheckedForStaleDataRef.current = false;
329
+ }
330
+ const currentTime = Date.now();
331
+ const timeSinceLastUpdate = currentTime - editSessionStartTime;
332
+ const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000;
333
+ // 10 seconds
334
+ if (updateLastEdited) {
335
+ setEditSessionStartTime(currentTime);
336
+ }
337
+ // Check for stale data on first edit only
338
+ // Skip this check entirely for autosave-enabled collections/globals to prevent
339
+ // false positives from the user's own autosaves
340
+ const checkForStaleData = !hasCheckedForStaleDataRef.current && originalUpdatedAtRef.current && operation === 'update' && !autosaveEnabled;
341
+ if (checkForStaleData) {
342
+ hasCheckedForStaleDataRef.current = true;
343
+ }
344
+ const docPreferences = await getDocPreferences();
345
+ const result = await getFormState({
485
346
  id,
486
- clearRouteCache,
347
+ checkForStaleData,
487
348
  collectionSlug,
488
- documentLockStateRef: documentLockState,
349
+ docPermissions,
350
+ docPreferences,
351
+ formState: prevFormState,
489
352
  globalSlug,
490
- isLockingEnabled,
491
- isWithinDoc: false,
492
- setCurrentEditor,
493
- updateDocumentEditor,
494
- user
495
- }),
496
- updatedAt: lastUpdateTime,
497
- user: currentEditor
498
- }), isLockingEnabled && showTakeOverModal && /*#__PURE__*/_jsx(DocumentTakeOver, {
499
- handleBackToDashboard: () => handleBackToDashboard({
500
- adminRoute,
501
- router,
502
- serverURL
503
- }),
504
- isActive: showTakeOverModal,
505
- onReadOnly: () => {
506
- setIsReadOnlyForIncomingUser(true);
353
+ operation,
354
+ originalUpdatedAt: checkForStaleData ? originalUpdatedAtRef.current : undefined,
355
+ renderAllFields: false,
356
+ returnLockStatus: isLockingEnabled,
357
+ schemaPath: schemaPathSegments.join('.'),
358
+ signal: controller.signal,
359
+ skipValidation: !submitted,
360
+ updateLastEdited
361
+ });
362
+ if (!result) {
363
+ return;
364
+ }
365
+ const { lockedState, staleDataState, state } = result;
366
+ if (isLockingEnabled) {
367
+ handleDocumentLocking(lockedState);
368
+ }
369
+ // Handle stale data detection.
370
+ // Skip if a save was in-flight when this request started, or if the save counter
371
+ // has advanced — either way the newer updatedAt is from our OWN save.
372
+ if (staleDataState?.isStale && !isSavingAtStart && saveCounterRef.current === saveCounterAtStart) {
373
+ setShowStaleDataModal(true);
374
+ }
375
+ abortOnChangeRef.current = null;
376
+ return state;
377
+ }, [
378
+ data?.updatedAt,
379
+ editSessionStartTime,
380
+ isLockingEnabled,
381
+ getDocPreferences,
382
+ getFormState,
383
+ id,
384
+ collectionSlug,
385
+ docPermissions,
386
+ globalSlug,
387
+ operation,
388
+ schemaPathSegments,
389
+ handleDocumentLocking,
390
+ autosaveEnabled
391
+ ]);
392
+ // Clean up when the component unmounts or when the document is unlocked
393
+ useEffect(()=>{
394
+ return ()=>{
507
395
  setShowTakeOverModal(false);
508
- }
509
- }), showStaleDataModal && /*#__PURE__*/_jsx(DocumentStaleData, {
510
- isActive: showStaleDataModal,
511
- onReload: handleStaleDataReload
512
- }), preventLeaveWithoutSaving && /*#__PURE__*/_jsx(LeaveWithoutSaving, {
513
- onConfirm: handleLeaveConfirm,
514
- onPrevent: handlePrevent
515
- }), !isInDrawer && /*#__PURE__*/_jsx(SetDocumentStepNav, {
516
- collectionSlug: collectionConfig?.slug,
517
- globalSlug: globalConfig?.slug,
518
- id: id,
519
- isTrashed: isTrashed,
520
- pluralLabel: collectionConfig?.labels?.plural,
521
- useAsTitle: collectionConfig?.admin?.useAsTitle
522
- }), /*#__PURE__*/_jsx(SetDocumentTitle, {
523
- collectionConfig: collectionConfig,
524
- config: config,
525
- fallback: depth <= 1 ? id?.toString() : undefined,
526
- globalConfig: globalConfig
527
- }), /*#__PURE__*/_jsx(DocumentControls, {
528
- apiURL: apiURL,
529
- BeforeDocumentControls: BeforeDocumentControls,
530
- customComponents: {
531
- PreviewButton,
532
- PublishButton,
533
- SaveButton,
534
- SaveDraftButton,
535
- Status,
536
- UnpublishButton
537
- },
538
- data: data,
539
- disableActions: disableActions || isFolderCollection || isTrashed,
540
- disableCreate: disableCreate,
541
- EditMenuItems: EditMenuItems,
542
- hasPublishPermission: hasPublishPermission,
543
- hasSavePermission: hasSavePermission,
544
- id: id,
545
- isEditing: isEditing,
546
- isInDrawer: isInDrawer,
547
- isTrashed: isTrashed,
548
- onDelete: onDelete,
549
- onDrawerCreateNew: clearDoc,
550
- onDuplicate: onDuplicate,
551
- onRestore: onRestore,
552
- onSave: onSave,
553
- onTakeOver: () => handleTakeOver({
554
- id,
555
- clearRouteCache,
556
- collectionSlug,
557
- documentLockStateRef: documentLockState,
558
- globalSlug,
559
- isLockingEnabled,
560
- isWithinDoc: true,
561
- setCurrentEditor,
562
- setIsReadOnlyForIncomingUser,
563
- updateDocumentEditor,
564
- user
565
- }),
566
- permissions: docPermissions,
567
- readOnlyForIncomingUser: isReadOnlyForIncomingUser,
568
- redirectAfterDelete: redirectAfterDelete,
569
- redirectAfterDuplicate: redirectAfterDuplicate,
570
- redirectAfterRestore: redirectAfterRestore,
571
- slug: collectionConfig?.slug || globalConfig?.slug,
572
- user: currentEditor
573
- }), /*#__PURE__*/_jsxs("div", {
574
- className: [`${baseClass}__main-wrapper`, previewWindowType === 'popup' && `${baseClass}--detached`].filter(Boolean).join(' '),
575
- children: [/*#__PURE__*/_jsxs("div", {
576
- className: [`${baseClass}__main`, previewWindowType === 'popup' && `${baseClass}__main--popup-open`].filter(Boolean).join(' '),
577
- children: [/*#__PURE__*/_jsx(DocumentFields, {
578
- AfterFields: AfterFields,
579
- BeforeFields: BeforeFields || /*#__PURE__*/_jsxs(Fragment, {
580
- children: [auth && /*#__PURE__*/_jsx(Auth, {
581
- className: `${baseClass}__auth`,
582
- collectionSlug: collectionConfig.slug,
583
- disableLocalStrategy: collectionConfig.auth?.disableLocalStrategy,
584
- email: data?.email,
585
- loginWithUsername: auth?.loginWithUsername,
586
- operation: operation,
587
- readOnly: !hasSavePermission,
588
- requirePassword: !id,
589
- setValidateBeforeSubmit: setValidateBeforeSubmit,
590
- // eslint-disable-next-line react-compiler/react-compiler
591
- useAPIKey: auth.useAPIKey,
592
- username: data?.username,
593
- verify: auth.verify
594
- }), upload && /*#__PURE__*/_jsx(React.Fragment, {
595
- children: /*#__PURE__*/_jsx(UploadControlsProvider, {
596
- children: CustomUpload || /*#__PURE__*/_jsx(Upload, {
597
- collectionSlug: collectionConfig.slug,
598
- initialState: initialState,
599
- uploadConfig: upload,
600
- UploadControls: UploadControls
601
- })
602
- })
603
- })]
604
- }),
605
- Description: Description,
606
- docPermissions: docPermissions,
607
- fields: docConfig.fields,
608
- forceSidebarWrap: isLivePreviewing,
609
- isTrashed: isTrashed,
610
- readOnly: isReadOnlyForIncomingUser || !hasSavePermission || isTrashed,
611
- schemaPathSegments: schemaPathSegments
612
- }), AfterDocument]
613
- }), isLivePreviewEnabled && !isInDrawer && livePreviewURL && /*#__PURE__*/_jsx(_Fragment, {
614
- children: CustomLivePreview || /*#__PURE__*/_jsx(LivePreviewWindow, {
615
- collectionSlug: collectionSlug,
616
- globalSlug: globalSlug
617
- })
618
- })]
619
- })]
620
- }, `${isLocked}`)
621
- })
622
- });
396
+ };
397
+ }, []);
398
+ useEffect(()=>{
399
+ const abortOnChange = abortOnChangeRef.current;
400
+ const abortOnSave = abortOnSaveRef.current;
401
+ return ()=>{
402
+ abortAndIgnore(abortOnChange);
403
+ abortAndIgnore(abortOnSave);
404
+ };
405
+ }, []);
406
+ // Show pending success toast after redirect from create
407
+ useEffect(()=>{
408
+ if (!isInitializing && typeof window !== 'undefined') {
409
+ const pendingMessage = window.sessionStorage.getItem(PENDING_SUCCESS_TOAST_KEY);
410
+ if (pendingMessage) {
411
+ window.sessionStorage.removeItem(PENDING_SUCCESS_TOAST_KEY);
412
+ toast.success(pendingMessage);
413
+ }
414
+ }
415
+ }, [
416
+ isInitializing
417
+ ]);
418
+ const shouldShowDocumentLockedModal = documentIsLocked && currentEditor && (typeof currentEditor === 'object' ? currentEditor.id !== user?.id : currentEditor !== user?.id) && !isReadOnlyForIncomingUser && !showTakeOverModal && !documentLockState.current?.hasShownLockedModal && !isLockExpired;
419
+ const isFolderCollection = config.folders && collectionSlug === config.folders?.slug;
420
+ return /*#__PURE__*/ _jsxDEV("main", {
421
+ className: [
422
+ baseClass,
423
+ (id || globalSlug) && `${baseClass}--is-editing`,
424
+ globalSlug && `global-edit--${globalSlug}`,
425
+ collectionSlug && `collection-edit--${collectionSlug}`,
426
+ isLivePreviewing && previewWindowType === 'iframe' && `${baseClass}--is-live-previewing`
427
+ ].filter(Boolean).join(' '),
428
+ children: /*#__PURE__*/ _jsxDEV(OperationProvider, {
429
+ operation: operation,
430
+ children: /*#__PURE__*/ _jsxDEV(Form, {
431
+ action: action,
432
+ className: `${baseClass}__form`,
433
+ disabled: isReadOnlyForIncomingUser || isInitializing || !hasSavePermission || isTrashed,
434
+ disableSuccessStatus: !isEditing && depth < 2 && redirectAfterCreate !== false,
435
+ disableValidationOnSubmit: !validateBeforeSubmit,
436
+ initialState: !isInitializing && initialState,
437
+ isDocumentForm: true,
438
+ isInitializing: isInitializing,
439
+ method: id ? 'PATCH' : 'POST',
440
+ onChange: [
441
+ onChange
442
+ ],
443
+ onSubmit: ()=>{
444
+ saveCounterRef.current += 1;
445
+ isSavingRef.current = true;
446
+ },
447
+ onSuccess: onSave,
448
+ children: [
449
+ isInDrawer && /*#__PURE__*/ _jsxDEV(DocumentDrawerHeader, {
450
+ AfterHeader: Description,
451
+ drawerSlug: drawerSlug,
452
+ showDocumentID: !isFolderCollection
453
+ }, void 0, false, {
454
+ fileName: "src/views/Edit/index.tsx",
455
+ lineNumber: 642,
456
+ columnNumber: 13
457
+ }, this),
458
+ isLockingEnabled && shouldShowDocumentLockedModal && /*#__PURE__*/ _jsxDEV(DocumentLocked, {
459
+ handleGoBack: ()=>handleGoBack({
460
+ adminRoute,
461
+ collectionSlug,
462
+ router,
463
+ serverURL
464
+ }),
465
+ isActive: shouldShowDocumentLockedModal,
466
+ onReadOnly: ()=>{
467
+ setIsReadOnlyForIncomingUser(true);
468
+ setShowTakeOverModal(false);
469
+ },
470
+ onTakeOver: ()=>handleTakeOver({
471
+ id,
472
+ clearRouteCache,
473
+ collectionSlug,
474
+ documentLockStateRef: documentLockState,
475
+ globalSlug,
476
+ isLockingEnabled,
477
+ isWithinDoc: false,
478
+ setCurrentEditor,
479
+ updateDocumentEditor,
480
+ user
481
+ }),
482
+ updatedAt: lastUpdateTime,
483
+ user: currentEditor
484
+ }, void 0, false, {
485
+ fileName: "src/views/Edit/index.tsx",
486
+ lineNumber: 649,
487
+ columnNumber: 13
488
+ }, this),
489
+ isLockingEnabled && showTakeOverModal && /*#__PURE__*/ _jsxDEV(DocumentTakeOver, {
490
+ handleBackToDashboard: ()=>handleBackToDashboard({
491
+ adminRoute,
492
+ router,
493
+ serverURL
494
+ }),
495
+ isActive: showTakeOverModal,
496
+ onReadOnly: ()=>{
497
+ setIsReadOnlyForIncomingUser(true);
498
+ setShowTakeOverModal(false);
499
+ }
500
+ }, void 0, false, {
501
+ fileName: "src/views/Edit/index.tsx",
502
+ lineNumber: 675,
503
+ columnNumber: 13
504
+ }, this),
505
+ showStaleDataModal && /*#__PURE__*/ _jsxDEV(DocumentStaleData, {
506
+ isActive: showStaleDataModal,
507
+ onReload: handleStaleDataReload
508
+ }, void 0, false, {
509
+ fileName: "src/views/Edit/index.tsx",
510
+ lineNumber: 685,
511
+ columnNumber: 13
512
+ }, this),
513
+ preventLeaveWithoutSaving && /*#__PURE__*/ _jsxDEV(LeaveWithoutSaving, {
514
+ onConfirm: handleLeaveConfirm,
515
+ onPrevent: handlePrevent
516
+ }, void 0, false, {
517
+ fileName: "src/views/Edit/index.tsx",
518
+ lineNumber: 688,
519
+ columnNumber: 13
520
+ }, this),
521
+ !isInDrawer && /*#__PURE__*/ _jsxDEV(SetDocumentStepNav, {
522
+ collectionSlug: collectionConfig?.slug,
523
+ globalSlug: globalConfig?.slug,
524
+ id: id,
525
+ isTrashed: isTrashed,
526
+ pluralLabel: collectionConfig?.labels?.plural,
527
+ useAsTitle: collectionConfig?.admin?.useAsTitle
528
+ }, void 0, false, {
529
+ fileName: "src/views/Edit/index.tsx",
530
+ lineNumber: 691,
531
+ columnNumber: 13
532
+ }, this),
533
+ /*#__PURE__*/ _jsxDEV(SetDocumentTitle, {
534
+ collectionConfig: collectionConfig,
535
+ config: config,
536
+ fallback: depth <= 1 ? id?.toString() : undefined,
537
+ globalConfig: globalConfig
538
+ }, void 0, false, {
539
+ fileName: "src/views/Edit/index.tsx",
540
+ lineNumber: 700,
541
+ columnNumber: 11
542
+ }, this),
543
+ /*#__PURE__*/ _jsxDEV(DocumentControls, {
544
+ apiURL: apiURL,
545
+ BeforeDocumentControls: BeforeDocumentControls,
546
+ customComponents: {
547
+ PreviewButton,
548
+ PublishButton,
549
+ SaveButton,
550
+ SaveDraftButton,
551
+ Status,
552
+ UnpublishButton
553
+ },
554
+ data: data,
555
+ disableActions: disableActions || isFolderCollection || isTrashed,
556
+ disableCreate: disableCreate,
557
+ EditMenuItems: EditMenuItems,
558
+ hasPublishPermission: hasPublishPermission,
559
+ hasSavePermission: hasSavePermission,
560
+ id: id,
561
+ isEditing: isEditing,
562
+ isInDrawer: isInDrawer,
563
+ isTrashed: isTrashed,
564
+ onDelete: onDelete,
565
+ onDrawerCreateNew: clearDoc,
566
+ onDuplicate: onDuplicate,
567
+ onRestore: onRestore,
568
+ onSave: onSave,
569
+ onTakeOver: ()=>handleTakeOver({
570
+ id,
571
+ clearRouteCache,
572
+ collectionSlug,
573
+ documentLockStateRef: documentLockState,
574
+ globalSlug,
575
+ isLockingEnabled,
576
+ isWithinDoc: true,
577
+ setCurrentEditor,
578
+ setIsReadOnlyForIncomingUser,
579
+ updateDocumentEditor,
580
+ user
581
+ }),
582
+ permissions: docPermissions,
583
+ readOnlyForIncomingUser: isReadOnlyForIncomingUser,
584
+ redirectAfterDelete: redirectAfterDelete,
585
+ redirectAfterDuplicate: redirectAfterDuplicate,
586
+ redirectAfterRestore: redirectAfterRestore,
587
+ slug: collectionConfig?.slug || globalConfig?.slug,
588
+ user: currentEditor
589
+ }, void 0, false, {
590
+ fileName: "src/views/Edit/index.tsx",
591
+ lineNumber: 706,
592
+ columnNumber: 11
593
+ }, this),
594
+ /*#__PURE__*/ _jsxDEV("div", {
595
+ className: [
596
+ `${baseClass}__main-wrapper`,
597
+ previewWindowType === 'popup' && `${baseClass}--detached`
598
+ ].filter(Boolean).join(' '),
599
+ children: [
600
+ /*#__PURE__*/ _jsxDEV("div", {
601
+ className: [
602
+ `${baseClass}__main`,
603
+ previewWindowType === 'popup' && `${baseClass}__main--popup-open`
604
+ ].filter(Boolean).join(' '),
605
+ children: [
606
+ /*#__PURE__*/ _jsxDEV(DocumentFields, {
607
+ AfterFields: AfterFields,
608
+ BeforeFields: BeforeFields || /*#__PURE__*/ _jsxDEV(Fragment, {
609
+ children: [
610
+ auth && /*#__PURE__*/ _jsxDEV(Auth, {
611
+ className: `${baseClass}__auth`,
612
+ collectionSlug: collectionConfig.slug,
613
+ disableLocalStrategy: collectionConfig.auth?.disableLocalStrategy,
614
+ email: data?.email,
615
+ loginWithUsername: auth?.loginWithUsername,
616
+ operation: operation,
617
+ readOnly: !hasSavePermission,
618
+ requirePassword: !id,
619
+ setValidateBeforeSubmit: setValidateBeforeSubmit,
620
+ // eslint-disable-next-line react-compiler/react-compiler
621
+ useAPIKey: auth.useAPIKey,
622
+ username: data?.username,
623
+ verify: auth.verify
624
+ }, void 0, false, {
625
+ fileName: "src/views/Edit/index.tsx",
626
+ lineNumber: 777,
627
+ columnNumber: 25
628
+ }, void 0),
629
+ upload && /*#__PURE__*/ _jsxDEV(React.Fragment, {
630
+ children: /*#__PURE__*/ _jsxDEV(UploadControlsProvider, {
631
+ children: CustomUpload || /*#__PURE__*/ _jsxDEV(Upload, {
632
+ collectionSlug: collectionConfig.slug,
633
+ initialState: initialState,
634
+ uploadConfig: upload,
635
+ UploadControls: UploadControls
636
+ }, void 0, false, {
637
+ fileName: "src/views/Edit/index.tsx",
638
+ lineNumber: 797,
639
+ columnNumber: 31
640
+ }, void 0)
641
+ }, void 0, false, {
642
+ fileName: "src/views/Edit/index.tsx",
643
+ lineNumber: 795,
644
+ columnNumber: 27
645
+ }, void 0)
646
+ }, void 0, false, {
647
+ fileName: "src/views/Edit/index.tsx",
648
+ lineNumber: 794,
649
+ columnNumber: 25
650
+ }, void 0)
651
+ ]
652
+ }, void 0, true, {
653
+ fileName: "src/views/Edit/index.tsx",
654
+ lineNumber: 775,
655
+ columnNumber: 21
656
+ }, void 0),
657
+ Description: Description,
658
+ docPermissions: docPermissions,
659
+ fields: docConfig.fields,
660
+ forceSidebarWrap: isLivePreviewing,
661
+ isTrashed: isTrashed,
662
+ readOnly: isReadOnlyForIncomingUser || !hasSavePermission || isTrashed,
663
+ schemaPathSegments: schemaPathSegments
664
+ }, void 0, false, {
665
+ fileName: "src/views/Edit/index.tsx",
666
+ lineNumber: 771,
667
+ columnNumber: 15
668
+ }, this),
669
+ AfterDocument
670
+ ]
671
+ }, void 0, true, {
672
+ fileName: "src/views/Edit/index.tsx",
673
+ lineNumber: 763,
674
+ columnNumber: 13
675
+ }, this),
676
+ isLivePreviewEnabled && !isInDrawer && livePreviewURL && /*#__PURE__*/ _jsxDEV(_Fragment, {
677
+ children: CustomLivePreview || /*#__PURE__*/ _jsxDEV(LivePreviewWindow, {
678
+ collectionSlug: collectionSlug,
679
+ globalSlug: globalSlug
680
+ }, void 0, false, {
681
+ fileName: "src/views/Edit/index.tsx",
682
+ lineNumber: 823,
683
+ columnNumber: 19
684
+ }, this)
685
+ }, void 0, false)
686
+ ]
687
+ }, void 0, true, {
688
+ fileName: "src/views/Edit/index.tsx",
689
+ lineNumber: 755,
690
+ columnNumber: 11
691
+ }, this)
692
+ ]
693
+ }, `${isLocked}`, true, {
694
+ fileName: "src/views/Edit/index.tsx",
695
+ lineNumber: 623,
696
+ columnNumber: 9
697
+ }, this)
698
+ }, void 0, false, {
699
+ fileName: "src/views/Edit/index.tsx",
700
+ lineNumber: 622,
701
+ columnNumber: 7
702
+ }, this)
703
+ }, void 0, false, {
704
+ fileName: "src/views/Edit/index.tsx",
705
+ lineNumber: 611,
706
+ columnNumber: 5
707
+ }, this);
623
708
  }
709
+
624
710
  //# sourceMappingURL=index.js.map