@payloadcms/ui 3.68.0-internal-debug.56c9b68 → 3.68.0-internal-debug.2eb12b9

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 (1195) 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 +161 -272
  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 +75 -72
  9. package/dist/elements/AnimateHeight/index.js.map +1 -1
  10. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +71 -69
  11. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
  12. package/dist/elements/AppHeader/index.js +96 -97
  13. package/dist/elements/AppHeader/index.js.map +1 -1
  14. package/dist/elements/ArrayAction/index.d.ts +6 -6
  15. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  16. package/dist/elements/ArrayAction/index.js +105 -117
  17. package/dist/elements/ArrayAction/index.js.map +1 -1
  18. package/dist/elements/Autosave/index.js +135 -168
  19. package/dist/elements/Autosave/index.js.map +1 -1
  20. package/dist/elements/Banner/index.js +35 -31
  21. package/dist/elements/Banner/index.js.map +1 -1
  22. package/dist/elements/BulkUpload/ActionsBar/index.js +101 -169
  23. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/AddFilesView/index.js +55 -50
  25. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  26. package/dist/elements/BulkUpload/AddingFilesView/index.js +51 -92
  27. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +24 -54
  29. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +9 -25
  31. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  32. package/dist/elements/BulkUpload/EditForm/index.js +140 -166
  33. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  34. package/dist/elements/BulkUpload/EditForm/types.js +2 -1
  35. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  36. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +159 -170
  37. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  38. package/dist/elements/BulkUpload/EditMany/index.js +34 -55
  39. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  40. package/dist/elements/BulkUpload/FileSidebar/index.js +248 -313
  41. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  42. package/dist/elements/BulkUpload/FormsManager/createFormData.js +33 -32
  43. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  44. package/dist/elements/BulkUpload/FormsManager/index.js +491 -469
  45. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  46. package/dist/elements/BulkUpload/FormsManager/reducer.js +100 -90
  47. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  48. package/dist/elements/BulkUpload/Header/index.js +14 -14
  49. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  50. package/dist/elements/BulkUpload/index.js +150 -268
  51. package/dist/elements/BulkUpload/index.js.map +1 -1
  52. package/dist/elements/Button/index.js +157 -158
  53. package/dist/elements/Button/index.js.map +1 -1
  54. package/dist/elements/Button/types.js +2 -1
  55. package/dist/elements/Button/types.js.map +1 -1
  56. package/dist/elements/Card/index.js +31 -31
  57. package/dist/elements/Card/index.js.map +1 -1
  58. package/dist/elements/CheckboxPopup/index.js +30 -35
  59. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  60. package/dist/elements/ClipboardAction/ClipboardActionLabel.js +15 -33
  61. package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
  62. package/dist/elements/ClipboardAction/clipboardUtilities.js +33 -43
  63. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  64. package/dist/elements/ClipboardAction/index.js +80 -81
  65. package/dist/elements/ClipboardAction/index.js.map +1 -1
  66. package/dist/elements/ClipboardAction/isClipboardDataValid.js +64 -71
  67. package/dist/elements/ClipboardAction/isClipboardDataValid.js.map +1 -1
  68. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +75 -93
  69. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.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 +16 -19
  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 +73 -96
  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 +9 -9
  81. package/dist/elements/CodeEditor/index.js.map +1 -1
  82. package/dist/elements/CodeEditor/types.js +2 -1
  83. package/dist/elements/CodeEditor/types.js.map +1 -1
  84. package/dist/elements/Collapsible/index.js +86 -139
  85. package/dist/elements/Collapsible/index.js.map +1 -1
  86. package/dist/elements/Collapsible/provider.js +27 -29
  87. package/dist/elements/Collapsible/provider.js.map +1 -1
  88. package/dist/elements/ColumnSelector/index.js +45 -53
  89. package/dist/elements/ColumnSelector/index.js.map +1 -1
  90. package/dist/elements/Combobox/index.js +83 -83
  91. package/dist/elements/Combobox/index.js.map +1 -1
  92. package/dist/elements/ConfirmationModal/index.js +82 -127
  93. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  94. package/dist/elements/CopyLocaleData/index.js +165 -273
  95. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  96. package/dist/elements/CopyToClipboard/index.js +34 -69
  97. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  98. package/dist/elements/DatePicker/DatePicker.js +100 -135
  99. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  100. package/dist/elements/DatePicker/getFormattedLocale.js +10 -10
  101. package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
  102. package/dist/elements/DatePicker/index.js +10 -10
  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 +80 -130
  107. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  108. package/dist/elements/DeleteDocument/index.js +134 -137
  109. package/dist/elements/DeleteDocument/index.js.map +1 -1
  110. package/dist/elements/DeleteMany/index.js +295 -328
  111. package/dist/elements/DeleteMany/index.js.map +1 -1
  112. package/dist/elements/DocumentControls/index.js +284 -272
  113. package/dist/elements/DocumentControls/index.js.map +1 -1
  114. package/dist/elements/DocumentDrawer/DrawerContent.js +132 -121
  115. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  116. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +53 -100
  117. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  118. package/dist/elements/DocumentDrawer/Provider.js +15 -17
  119. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  120. package/dist/elements/DocumentDrawer/index.js +111 -209
  121. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  122. package/dist/elements/DocumentDrawer/types.js +2 -1
  123. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  124. package/dist/elements/DocumentFields/index.js +68 -67
  125. package/dist/elements/DocumentFields/index.js.map +1 -1
  126. package/dist/elements/DocumentLocked/index.js +104 -177
  127. package/dist/elements/DocumentLocked/index.js.map +1 -1
  128. package/dist/elements/DocumentTakeOver/index.js +63 -111
  129. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  130. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +21 -59
  131. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  132. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +2 -1
  133. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  134. package/dist/elements/DraggableSortable/index.js +58 -122
  135. package/dist/elements/DraggableSortable/index.js.map +1 -1
  136. package/dist/elements/DraggableSortable/types.js +2 -1
  137. package/dist/elements/DraggableSortable/types.js.map +1 -1
  138. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +24 -85
  139. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  140. package/dist/elements/DraggableSortable/useDraggableSortable/types.js +2 -1
  141. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  142. package/dist/elements/Drawer/index.js +110 -190
  143. package/dist/elements/Drawer/index.js.map +1 -1
  144. package/dist/elements/Drawer/types.js +2 -1
  145. package/dist/elements/Drawer/types.js.map +1 -1
  146. package/dist/elements/Drawer/useDrawerSlug.js +7 -19
  147. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  148. package/dist/elements/DrawerActionHeader/index.js +33 -59
  149. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  150. package/dist/elements/DrawerContentContainer/index.js +9 -8
  151. package/dist/elements/DrawerContentContainer/index.js.map +1 -1
  152. package/dist/elements/Dropzone/index.js +85 -74
  153. package/dist/elements/Dropzone/index.js.map +1 -1
  154. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +104 -86
  155. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  156. package/dist/elements/DuplicateDocument/index.js +135 -141
  157. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  158. package/dist/elements/EditMany/DrawerContent.js +282 -379
  159. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  160. package/dist/elements/EditMany/index.js +50 -128
  161. package/dist/elements/EditMany/index.js.map +1 -1
  162. package/dist/elements/EditUpload/index.js +419 -398
  163. package/dist/elements/EditUpload/index.js.map +1 -1
  164. package/dist/elements/EmailAndUsername/index.js +75 -76
  165. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  166. package/dist/elements/ErrorPill/index.js +25 -23
  167. package/dist/elements/ErrorPill/index.js.map +1 -1
  168. package/dist/elements/FieldDiffContainer/index.js +33 -33
  169. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  170. package/dist/elements/FieldDiffLabel/index.js +5 -6
  171. package/dist/elements/FieldDiffLabel/index.js.map +1 -1
  172. package/dist/elements/FieldSelect/index.js +31 -73
  173. package/dist/elements/FieldSelect/index.js.map +1 -1
  174. package/dist/elements/FieldSelect/reduceFieldOptions.js +69 -67
  175. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  176. package/dist/elements/FileDetails/DraggableFileDetails/index.js +63 -103
  177. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  178. package/dist/elements/FileDetails/FileMeta/index.js +43 -32
  179. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  180. package/dist/elements/FileDetails/StaticFileDetails/index.js +47 -57
  181. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  182. package/dist/elements/FileDetails/index.js +10 -12
  183. package/dist/elements/FileDetails/index.js.map +1 -1
  184. package/dist/elements/FolderView/Breadcrumbs/index.js +38 -85
  185. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
  186. package/dist/elements/FolderView/BrowseByFolderButton/index.js +21 -29
  187. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
  188. package/dist/elements/FolderView/Cell/index.client.js +77 -80
  189. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  190. package/dist/elements/FolderView/Cell/index.server.js +14 -13
  191. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  192. package/dist/elements/FolderView/ColoredFolderIcon/index.js +4 -3
  193. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
  194. package/dist/elements/FolderView/CurrentFolderActions/index.js +127 -135
  195. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  196. package/dist/elements/FolderView/DragOverlaySelection/index.js +48 -49
  197. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
  198. package/dist/elements/FolderView/DraggableTableRow/index.js +54 -53
  199. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
  200. package/dist/elements/FolderView/DraggableWithClick/index.js +70 -78
  201. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
  202. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +26 -32
  203. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
  204. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +368 -563
  205. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  206. package/dist/elements/FolderView/FilterFolderTypePill/index.js +47 -87
  207. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
  208. package/dist/elements/FolderView/FolderField/index.server.js +10 -9
  209. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
  210. package/dist/elements/FolderView/FolderFileCard/index.js +143 -186
  211. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  212. package/dist/elements/FolderView/FolderFileTable/index.js +170 -263
  213. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
  214. package/dist/elements/FolderView/FolderTypeField/index.js +88 -113
  215. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
  216. package/dist/elements/FolderView/ItemCardGrid/index.js +22 -26
  217. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
  218. package/dist/elements/FolderView/MoveDocToFolder/index.js +121 -258
  219. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  220. package/dist/elements/FolderView/SimpleTable/index.js +59 -81
  221. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
  222. package/dist/elements/FolderView/SortByPill/index.js +105 -99
  223. package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
  224. package/dist/elements/FolderView/ToggleViewButtons/index.js +30 -23
  225. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
  226. package/dist/elements/FullscreenModal/index.js +10 -20
  227. package/dist/elements/FullscreenModal/index.js.map +1 -1
  228. package/dist/elements/GenerateConfirmation/index.js +41 -81
  229. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  230. package/dist/elements/GroupByBuilder/index.js +113 -99
  231. package/dist/elements/GroupByBuilder/index.js.map +1 -1
  232. package/dist/elements/Gutter/index.js +17 -18
  233. package/dist/elements/Gutter/index.js.map +1 -1
  234. package/dist/elements/HTMLDiff/diff/index.js +500 -499
  235. package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
  236. package/dist/elements/HTMLDiff/index.js +22 -25
  237. package/dist/elements/HTMLDiff/index.js.map +1 -1
  238. package/dist/elements/Hamburger/index.js +25 -38
  239. package/dist/elements/Hamburger/index.js.map +1 -1
  240. package/dist/elements/HydrateAuthProvider/index.js +10 -27
  241. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  242. package/dist/elements/IDLabel/index.js +21 -55
  243. package/dist/elements/IDLabel/index.js.map +1 -1
  244. package/dist/elements/LeaveWithoutSaving/index.js +63 -140
  245. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  246. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +111 -129
  247. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  248. package/dist/elements/Link/formatUrl.js +53 -56
  249. package/dist/elements/Link/formatUrl.js.map +1 -1
  250. package/dist/elements/Link/index.js +39 -51
  251. package/dist/elements/Link/index.js.map +1 -1
  252. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +17 -17
  253. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  254. package/dist/elements/ListControls/index.js +162 -165
  255. package/dist/elements/ListControls/index.js.map +1 -1
  256. package/dist/elements/ListControls/types.js +2 -1
  257. package/dist/elements/ListControls/types.js.map +1 -1
  258. package/dist/elements/ListDrawer/DrawerContent.js +169 -167
  259. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  260. package/dist/elements/ListDrawer/Provider.js +16 -18
  261. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  262. package/dist/elements/ListDrawer/index.js +125 -228
  263. package/dist/elements/ListDrawer/index.js.map +1 -1
  264. package/dist/elements/ListDrawer/types.js +2 -1
  265. package/dist/elements/ListDrawer/types.js.map +1 -1
  266. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +29 -82
  267. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  268. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +13 -31
  269. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  270. package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
  271. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
  272. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +39 -71
  273. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  274. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +16 -38
  275. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
  276. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +97 -161
  277. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  278. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +138 -141
  279. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  280. package/dist/elements/ListHeader/TitleActions/index.js +1 -0
  281. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  282. package/dist/elements/ListHeader/index.js +36 -23
  283. package/dist/elements/ListHeader/index.js.map +1 -1
  284. package/dist/elements/ListSelection/index.js +45 -56
  285. package/dist/elements/ListSelection/index.js.map +1 -1
  286. package/dist/elements/LivePreview/Device/index.js +74 -82
  287. package/dist/elements/LivePreview/Device/index.js.map +1 -1
  288. package/dist/elements/LivePreview/DeviceContainer/index.js +23 -47
  289. package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
  290. package/dist/elements/LivePreview/IFrame/index.js +14 -42
  291. package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
  292. package/dist/elements/LivePreview/Toggler/index.js +23 -25
  293. package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
  294. package/dist/elements/LivePreview/Toolbar/Controls/index.js +115 -138
  295. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  296. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +56 -90
  297. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  298. package/dist/elements/LivePreview/Toolbar/index.js +50 -82
  299. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  300. package/dist/elements/LivePreview/ToolbarArea/index.js +10 -32
  301. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  302. package/dist/elements/LivePreview/Window/index.js +102 -164
  303. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  304. package/dist/elements/Loading/index.js +73 -141
  305. package/dist/elements/Loading/index.js.map +1 -1
  306. package/dist/elements/LoadingOverlay/index.js +59 -66
  307. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  308. package/dist/elements/LoadingOverlay/reducer.js +27 -29
  309. package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
  310. package/dist/elements/LoadingOverlay/types.js +2 -1
  311. package/dist/elements/LoadingOverlay/types.js.map +1 -1
  312. package/dist/elements/Localizer/LocalizerLabel/index.js +33 -49
  313. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  314. package/dist/elements/Localizer/index.js +64 -114
  315. package/dist/elements/Localizer/index.js.map +1 -1
  316. package/dist/elements/Locked/index.js +24 -57
  317. package/dist/elements/Locked/index.js.map +1 -1
  318. package/dist/elements/Logout/index.js +16 -49
  319. package/dist/elements/Logout/index.js.map +1 -1
  320. package/dist/elements/Modal/index.js +1 -1
  321. package/dist/elements/Modal/index.js.map +1 -1
  322. package/dist/elements/Nav/NavToggler/index.js +28 -78
  323. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  324. package/dist/elements/Nav/context.js +102 -102
  325. package/dist/elements/Nav/context.js.map +1 -1
  326. package/dist/elements/NavGroup/index.js +64 -120
  327. package/dist/elements/NavGroup/index.js.map +1 -1
  328. package/dist/elements/NoListResults/index.js +14 -13
  329. package/dist/elements/NoListResults/index.js.map +1 -1
  330. package/dist/elements/PageControls/GroupByPageControls.js +34 -69
  331. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  332. package/dist/elements/PageControls/index.js +50 -104
  333. package/dist/elements/PageControls/index.js.map +1 -1
  334. package/dist/elements/Pagination/ClickableArrow/index.js +15 -15
  335. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  336. package/dist/elements/Pagination/Page/index.js +14 -15
  337. package/dist/elements/Pagination/Page/index.js.map +1 -1
  338. package/dist/elements/Pagination/Separator/index.js +5 -5
  339. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  340. package/dist/elements/Pagination/index.js +88 -97
  341. package/dist/elements/Pagination/index.js.map +1 -1
  342. package/dist/elements/PerPage/index.js +51 -78
  343. package/dist/elements/PerPage/index.js.map +1 -1
  344. package/dist/elements/PermanentlyDeleteButton/index.js +121 -124
  345. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  346. package/dist/elements/Pill/index.js +71 -116
  347. package/dist/elements/Pill/index.js.map +1 -1
  348. package/dist/elements/PillSelector/index.js +53 -54
  349. package/dist/elements/PillSelector/index.js.map +1 -1
  350. package/dist/elements/Popup/PopupButtonList/index.js +48 -51
  351. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  352. package/dist/elements/Popup/PopupDivider/index.js +5 -4
  353. package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
  354. package/dist/elements/Popup/PopupGroupLabel/index.js +6 -7
  355. package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
  356. package/dist/elements/Popup/PopupTrigger/index.js +41 -106
  357. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  358. package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
  359. package/dist/elements/Popup/index.js +171 -168
  360. package/dist/elements/Popup/index.js.map +1 -1
  361. package/dist/elements/PreviewButton/index.js +14 -29
  362. package/dist/elements/PreviewButton/index.js.map +1 -1
  363. package/dist/elements/PreviewSizes/index.js +138 -127
  364. package/dist/elements/PreviewSizes/index.js.map +1 -1
  365. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +109 -109
  366. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  367. package/dist/elements/PublishButton/ScheduleDrawer/index.js +345 -305
  368. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  369. package/dist/elements/PublishButton/ScheduleDrawer/types.js +2 -1
  370. package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
  371. package/dist/elements/PublishButton/index.js +190 -182
  372. package/dist/elements/PublishButton/index.js.map +1 -1
  373. package/dist/elements/PublishMany/DrawerContent.js +128 -129
  374. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  375. package/dist/elements/PublishMany/index.js +37 -106
  376. package/dist/elements/PublishMany/index.js.map +1 -1
  377. package/dist/elements/QueryPresets/QueryPresetBar/index.js +266 -259
  378. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  379. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +50 -85
  380. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  381. package/dist/elements/QueryPresets/cells/AccessCell/index.js +30 -20
  382. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
  383. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +17 -18
  384. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  385. package/dist/elements/QueryPresets/cells/GroupByCell/index.js +51 -46
  386. package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
  387. package/dist/elements/QueryPresets/cells/WhereCell/index.js +24 -26
  388. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
  389. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +24 -45
  390. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  391. package/dist/elements/QueryPresets/fields/GroupByField/index.js +74 -72
  392. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  393. package/dist/elements/QueryPresets/fields/WhereField/index.js +96 -97
  394. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  395. package/dist/elements/ReactSelect/ClearIndicator/index.js +20 -26
  396. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  397. package/dist/elements/ReactSelect/Control/index.js +31 -40
  398. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  399. package/dist/elements/ReactSelect/DropdownIndicator/index.js +17 -22
  400. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  401. package/dist/elements/ReactSelect/Input/index.js +11 -12
  402. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  403. package/dist/elements/ReactSelect/MultiValue/index.js +39 -125
  404. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  405. package/dist/elements/ReactSelect/MultiValueLabel/index.js +20 -31
  406. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  407. package/dist/elements/ReactSelect/MultiValueRemove/index.js +35 -84
  408. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  409. package/dist/elements/ReactSelect/SingleValue/index.js +13 -13
  410. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  411. package/dist/elements/ReactSelect/ValueContainer/index.js +25 -28
  412. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  413. package/dist/elements/ReactSelect/index.js +180 -195
  414. package/dist/elements/ReactSelect/index.js.map +1 -1
  415. package/dist/elements/ReactSelect/types.js +2 -1
  416. package/dist/elements/ReactSelect/types.js.map +1 -1
  417. package/dist/elements/RelationshipTable/AddNewButton.js +42 -56
  418. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  419. package/dist/elements/RelationshipTable/Pagination.js +15 -46
  420. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  421. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +21 -32
  422. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  423. package/dist/elements/RelationshipTable/index.js +291 -255
  424. package/dist/elements/RelationshipTable/index.js.map +1 -1
  425. package/dist/elements/RenderComponent/index.js +16 -19
  426. package/dist/elements/RenderComponent/index.js.map +1 -1
  427. package/dist/elements/RenderCustomComponent/index.js +3 -5
  428. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  429. package/dist/elements/RenderIfInViewport/index.js +21 -56
  430. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  431. package/dist/elements/RenderServerComponent/index.js +48 -55
  432. package/dist/elements/RenderServerComponent/index.js.map +1 -1
  433. package/dist/elements/RenderTitle/index.js +25 -56
  434. package/dist/elements/RenderTitle/index.js.map +1 -1
  435. package/dist/elements/RestoreButton/index.js +146 -145
  436. package/dist/elements/RestoreButton/index.js.map +1 -1
  437. package/dist/elements/RestoreMany/index.js +147 -165
  438. package/dist/elements/RestoreMany/index.js.map +1 -1
  439. package/dist/elements/SaveButton/index.js +42 -48
  440. package/dist/elements/SaveButton/index.js.map +1 -1
  441. package/dist/elements/SaveDraftButton/index.js +75 -82
  442. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  443. package/dist/elements/SearchBar/index.js +20 -18
  444. package/dist/elements/SearchBar/index.js.map +1 -1
  445. package/dist/elements/SearchFilter/index.js +51 -53
  446. package/dist/elements/SearchFilter/index.js.map +1 -1
  447. package/dist/elements/SearchFilter/types.js +2 -1
  448. package/dist/elements/SearchFilter/types.js.map +1 -1
  449. package/dist/elements/SelectAll/index.js +15 -44
  450. package/dist/elements/SelectAll/index.js.map +1 -1
  451. package/dist/elements/SelectMany/index.js +22 -24
  452. package/dist/elements/SelectMany/index.js.map +1 -1
  453. package/dist/elements/SelectRow/index.js +16 -76
  454. package/dist/elements/SelectRow/index.js.map +1 -1
  455. package/dist/elements/ShimmerEffect/index.js +36 -71
  456. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  457. package/dist/elements/SortColumn/index.js +64 -104
  458. package/dist/elements/SortColumn/index.js.map +1 -1
  459. package/dist/elements/SortComplex/index.js +103 -160
  460. package/dist/elements/SortComplex/index.js.map +1 -1
  461. package/dist/elements/SortHeader/index.js +35 -84
  462. package/dist/elements/SortHeader/index.js.map +1 -1
  463. package/dist/elements/SortRow/index.js +11 -25
  464. package/dist/elements/SortRow/index.js.map +1 -1
  465. package/dist/elements/Status/index.js +157 -155
  466. package/dist/elements/Status/index.js.map +1 -1
  467. package/dist/elements/StayLoggedIn/index.js +32 -74
  468. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  469. package/dist/elements/StepNav/SetStepNav.js +10 -27
  470. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  471. package/dist/elements/StepNav/context.js +11 -32
  472. package/dist/elements/StepNav/context.js.map +1 -1
  473. package/dist/elements/StepNav/index.js +68 -88
  474. package/dist/elements/StepNav/index.js.map +1 -1
  475. package/dist/elements/StepNav/types.js +2 -1
  476. package/dist/elements/StepNav/types.js.map +1 -1
  477. package/dist/elements/StickyToolbar/index.js +5 -7
  478. package/dist/elements/StickyToolbar/index.js.map +1 -1
  479. package/dist/elements/Table/DefaultCell/fields/Array/index.js +7 -26
  480. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  481. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +28 -58
  482. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  483. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +8 -25
  484. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  485. package/dist/elements/Table/DefaultCell/fields/Code/index.js +13 -16
  486. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  487. package/dist/elements/Table/DefaultCell/fields/Date/index.js +17 -40
  488. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  489. package/dist/elements/Table/DefaultCell/fields/File/index.js +39 -41
  490. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  491. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +9 -11
  492. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  493. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +102 -183
  494. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  495. package/dist/elements/Table/DefaultCell/fields/Select/index.js +16 -42
  496. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  497. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +6 -8
  498. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  499. package/dist/elements/Table/DefaultCell/fields/index.js +14 -14
  500. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  501. package/dist/elements/Table/DefaultCell/index.js +91 -147
  502. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  503. package/dist/elements/Table/OrderableRow.js +23 -31
  504. package/dist/elements/Table/OrderableRow.js.map +1 -1
  505. package/dist/elements/Table/OrderableRowDragPreview.js +11 -14
  506. package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
  507. package/dist/elements/Table/OrderableTable.js +167 -162
  508. package/dist/elements/Table/OrderableTable.js.map +1 -1
  509. package/dist/elements/Table/RelationshipProvider/index.js +95 -159
  510. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  511. package/dist/elements/Table/RelationshipProvider/reducer.js +42 -42
  512. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  513. package/dist/elements/Table/index.js +45 -43
  514. package/dist/elements/Table/index.js.map +1 -1
  515. package/dist/elements/Thumbnail/createThumbnail.js +52 -51
  516. package/dist/elements/Thumbnail/createThumbnail.js.map +1 -1
  517. package/dist/elements/Thumbnail/index.js +93 -146
  518. package/dist/elements/Thumbnail/index.js.map +1 -1
  519. package/dist/elements/ThumbnailCard/index.js +33 -66
  520. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  521. package/dist/elements/TimezonePicker/index.js +39 -42
  522. package/dist/elements/TimezonePicker/index.js.map +1 -1
  523. package/dist/elements/TimezonePicker/types.js +2 -1
  524. package/dist/elements/TimezonePicker/types.js.map +1 -1
  525. package/dist/elements/Toasts/fieldErrors.js +51 -75
  526. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  527. package/dist/elements/Tooltip/index.js +75 -64
  528. package/dist/elements/Tooltip/index.js.map +1 -1
  529. package/dist/elements/Translation/index.js +31 -38
  530. package/dist/elements/Translation/index.js.map +1 -1
  531. package/dist/elements/TrashBanner/index.js +20 -25
  532. package/dist/elements/TrashBanner/index.js.map +1 -1
  533. package/dist/elements/UnpublishMany/DrawerContent.js +121 -122
  534. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  535. package/dist/elements/UnpublishMany/index.js +37 -106
  536. package/dist/elements/UnpublishMany/index.js.map +1 -1
  537. package/dist/elements/Upload/index.js +476 -476
  538. package/dist/elements/Upload/index.js.map +1 -1
  539. package/dist/elements/ViewDescription/index.js +10 -25
  540. package/dist/elements/ViewDescription/index.js.map +1 -1
  541. package/dist/elements/ViewDescription/types.js.map +1 -1
  542. package/dist/elements/WhereBuilder/Condition/Date/index.js +14 -28
  543. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  544. package/dist/elements/WhereBuilder/Condition/Date/types.js +2 -1
  545. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  546. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +69 -74
  547. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  548. package/dist/elements/WhereBuilder/Condition/Number/index.js +63 -127
  549. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  550. package/dist/elements/WhereBuilder/Condition/Number/types.js +2 -1
  551. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  552. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +336 -308
  553. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  554. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +83 -67
  555. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  556. package/dist/elements/WhereBuilder/Condition/Relationship/types.js +2 -1
  557. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  558. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js +10 -9
  559. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js.map +1 -1
  560. package/dist/elements/WhereBuilder/Condition/Select/index.js +63 -152
  561. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  562. package/dist/elements/WhereBuilder/Condition/Select/types.js +2 -1
  563. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  564. package/dist/elements/WhereBuilder/Condition/Text/index.js +61 -121
  565. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  566. package/dist/elements/WhereBuilder/Condition/Text/types.js +2 -1
  567. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  568. package/dist/elements/WhereBuilder/Condition/index.js +157 -142
  569. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  570. package/dist/elements/WhereBuilder/Condition/types.js +2 -1
  571. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  572. package/dist/elements/WhereBuilder/Condition/validOperators.js +32 -33
  573. package/dist/elements/WhereBuilder/Condition/validOperators.js.map +1 -1
  574. package/dist/elements/WhereBuilder/field-types.js +192 -119
  575. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  576. package/dist/elements/WhereBuilder/index.js +201 -193
  577. package/dist/elements/WhereBuilder/index.js.map +1 -1
  578. package/dist/elements/WhereBuilder/types.js +2 -1
  579. package/dist/elements/WhereBuilder/types.js.map +1 -1
  580. package/dist/elements/WindowInfo/index.js +1 -1
  581. package/dist/elements/WindowInfo/index.js.map +1 -1
  582. package/dist/elements/WithServerSideProps/index.js +15 -18
  583. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  584. package/dist/elements/withMergedProps/index.d.ts +1 -1
  585. package/dist/elements/withMergedProps/index.js +22 -26
  586. package/dist/elements/withMergedProps/index.js.map +1 -1
  587. package/dist/exports/client/index.d.ts +0 -2
  588. package/dist/exports/client/index.d.ts.map +1 -1
  589. package/dist/exports/client/index.js +272 -96
  590. package/dist/exports/client/index.js.map +1 -7
  591. package/dist/exports/rsc/index.js +1 -0
  592. package/dist/exports/rsc/index.js.map +1 -1
  593. package/dist/exports/shared/index.js +31 -6
  594. package/dist/exports/shared/index.js.map +1 -7
  595. package/dist/fields/Array/ArrayRow.d.ts +7 -18
  596. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  597. package/dist/fields/Array/ArrayRow.js +73 -96
  598. package/dist/fields/Array/ArrayRow.js.map +1 -1
  599. package/dist/fields/Array/index.d.ts.map +1 -1
  600. package/dist/fields/Array/index.js +412 -401
  601. package/dist/fields/Array/index.js.map +1 -1
  602. package/dist/fields/Blocks/BlockRow.js +112 -195
  603. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  604. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +16 -36
  605. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  606. package/dist/fields/Blocks/BlockSelector/index.js +105 -99
  607. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  608. package/dist/fields/Blocks/BlocksDrawer/index.js +27 -78
  609. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  610. package/dist/fields/Blocks/RowActions.js +36 -104
  611. package/dist/fields/Blocks/RowActions.js.map +1 -1
  612. package/dist/fields/Blocks/SectionTitle/index.js +27 -77
  613. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  614. package/dist/fields/Blocks/index.js +441 -424
  615. package/dist/fields/Blocks/index.js.map +1 -1
  616. package/dist/fields/Checkbox/Input.js +52 -97
  617. package/dist/fields/Checkbox/Input.js.map +1 -1
  618. package/dist/fields/Checkbox/index.js +82 -98
  619. package/dist/fields/Checkbox/index.js.map +1 -1
  620. package/dist/fields/Code/index.js +109 -113
  621. package/dist/fields/Code/index.js.map +1 -1
  622. package/dist/fields/Collapsible/index.js +131 -133
  623. package/dist/fields/Collapsible/index.js.map +1 -1
  624. package/dist/fields/ConfirmPassword/index.js +46 -82
  625. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  626. package/dist/fields/DateTime/index.js +176 -170
  627. package/dist/fields/DateTime/index.js.map +1 -1
  628. package/dist/fields/Email/index.js +74 -85
  629. package/dist/fields/Email/index.js.map +1 -1
  630. package/dist/fields/FieldDescription/index.js +15 -42
  631. package/dist/fields/FieldDescription/index.js.map +1 -1
  632. package/dist/fields/FieldError/index.js +16 -56
  633. package/dist/fields/FieldError/index.js.map +1 -1
  634. package/dist/fields/FieldLabel/index.js +30 -44
  635. package/dist/fields/FieldLabel/index.js.map +1 -1
  636. package/dist/fields/Group/index.js +96 -100
  637. package/dist/fields/Group/index.js.map +1 -1
  638. package/dist/fields/Group/provider.js +8 -11
  639. package/dist/fields/Group/provider.js.map +1 -1
  640. package/dist/fields/Hidden/index.js +22 -66
  641. package/dist/fields/Hidden/index.js.map +1 -1
  642. package/dist/fields/JSON/index.js +148 -142
  643. package/dist/fields/JSON/index.js.map +1 -1
  644. package/dist/fields/Join/index.js +180 -187
  645. package/dist/fields/Join/index.js.map +1 -1
  646. package/dist/fields/Number/index.js +166 -168
  647. package/dist/fields/Number/index.js.map +1 -1
  648. package/dist/fields/Password/index.js +74 -99
  649. package/dist/fields/Password/index.js.map +1 -1
  650. package/dist/fields/Password/input.js +66 -120
  651. package/dist/fields/Password/input.js.map +1 -1
  652. package/dist/fields/Password/types.js +2 -1
  653. package/dist/fields/Password/types.js.map +1 -1
  654. package/dist/fields/Point/index.js +133 -125
  655. package/dist/fields/Point/index.js.map +1 -1
  656. package/dist/fields/RadioGroup/Radio/index.js +34 -79
  657. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  658. package/dist/fields/RadioGroup/index.js +100 -112
  659. package/dist/fields/RadioGroup/index.js.map +1 -1
  660. package/dist/fields/Relationship/Input.js +747 -725
  661. package/dist/fields/Relationship/Input.js.map +1 -1
  662. package/dist/fields/Relationship/createRelationMap.js +31 -33
  663. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  664. package/dist/fields/Relationship/findOptionsByValue.js +28 -32
  665. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  666. package/dist/fields/Relationship/index.js +147 -159
  667. package/dist/fields/Relationship/index.js.map +1 -1
  668. package/dist/fields/Relationship/optionsReducer.js +144 -139
  669. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  670. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +60 -81
  671. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  672. package/dist/fields/Relationship/select-components/SingleValue/index.js +56 -114
  673. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  674. package/dist/fields/Relationship/types.js +2 -1
  675. package/dist/fields/Relationship/types.js.map +1 -1
  676. package/dist/fields/RichText/index.js +3 -3
  677. package/dist/fields/RichText/index.js.map +1 -1
  678. package/dist/fields/Row/index.js +24 -34
  679. package/dist/fields/Row/index.js.map +1 -1
  680. package/dist/fields/Row/provider.js +8 -11
  681. package/dist/fields/Row/provider.js.map +1 -1
  682. package/dist/fields/Select/Input.js +76 -163
  683. package/dist/fields/Select/Input.js.map +1 -1
  684. package/dist/fields/Select/index.js +84 -107
  685. package/dist/fields/Select/index.js.map +1 -1
  686. package/dist/fields/Slug/index.js +77 -132
  687. package/dist/fields/Slug/index.js.map +1 -1
  688. package/dist/fields/Tabs/Tab/index.js +36 -58
  689. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  690. package/dist/fields/Tabs/index.js +199 -443
  691. package/dist/fields/Tabs/index.js.map +1 -1
  692. package/dist/fields/Tabs/provider.js +8 -11
  693. package/dist/fields/Tabs/provider.js.map +1 -1
  694. package/dist/fields/Text/Input.js +127 -189
  695. package/dist/fields/Text/Input.js.map +1 -1
  696. package/dist/fields/Text/index.js +101 -125
  697. package/dist/fields/Text/index.js.map +1 -1
  698. package/dist/fields/Text/types.js +2 -1
  699. package/dist/fields/Text/types.js.map +1 -1
  700. package/dist/fields/Textarea/Input.js +62 -113
  701. package/dist/fields/Textarea/Input.js.map +1 -1
  702. package/dist/fields/Textarea/index.js +56 -87
  703. package/dist/fields/Textarea/index.js.map +1 -1
  704. package/dist/fields/Textarea/types.js +2 -1
  705. package/dist/fields/Textarea/types.js.map +1 -1
  706. package/dist/fields/UI/index.js +3 -3
  707. package/dist/fields/UI/index.js.map +1 -1
  708. package/dist/fields/Upload/HasMany/index.js +107 -184
  709. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  710. package/dist/fields/Upload/HasOne/index.js +49 -58
  711. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  712. package/dist/fields/Upload/Input.js +653 -561
  713. package/dist/fields/Upload/Input.js.map +1 -1
  714. package/dist/fields/Upload/RelationshipContent/index.js +91 -142
  715. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  716. package/dist/fields/Upload/UploadCard/index.js +10 -9
  717. package/dist/fields/Upload/UploadCard/index.js.map +1 -1
  718. package/dist/fields/Upload/index.js +70 -95
  719. package/dist/fields/Upload/index.js.map +1 -1
  720. package/dist/fields/Upload/types.js +2 -1
  721. package/dist/fields/Upload/types.js.map +1 -1
  722. package/dist/fields/index.js +31 -31
  723. package/dist/fields/index.js.map +1 -1
  724. package/dist/fields/mergeFieldStyles.js +13 -12
  725. package/dist/fields/mergeFieldStyles.js.map +1 -1
  726. package/dist/fields/shared/index.js +8 -16
  727. package/dist/fields/shared/index.js.map +1 -1
  728. package/dist/forms/Form/context.js +17 -24
  729. package/dist/forms/Form/context.js.map +1 -1
  730. package/dist/forms/Form/createNestedClientFieldPath.js +11 -11
  731. package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -1
  732. package/dist/forms/Form/errorMessages.js +2 -2
  733. package/dist/forms/Form/errorMessages.js.map +1 -1
  734. package/dist/forms/Form/fieldReducer.js +376 -411
  735. package/dist/forms/Form/fieldReducer.js.map +1 -1
  736. package/dist/forms/Form/index.js +692 -681
  737. package/dist/forms/Form/index.js.map +1 -1
  738. package/dist/forms/Form/initContextState.js +38 -38
  739. package/dist/forms/Form/initContextState.js.map +1 -1
  740. package/dist/forms/Form/mergeServerFormState.js +84 -97
  741. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  742. package/dist/forms/Form/reduceToSerializableFields.js +20 -17
  743. package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
  744. package/dist/forms/Form/rowHelpers.js +27 -34
  745. package/dist/forms/Form/rowHelpers.js.map +1 -1
  746. package/dist/forms/Form/rows.js +34 -34
  747. package/dist/forms/Form/rows.js.map +1 -1
  748. package/dist/forms/Form/types.js +2 -1
  749. package/dist/forms/Form/types.js.map +1 -1
  750. package/dist/forms/NullifyField/index.js +50 -94
  751. package/dist/forms/NullifyField/index.js.map +1 -1
  752. package/dist/forms/RenderFields/RenderField.js +142 -256
  753. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  754. package/dist/forms/RenderFields/context.js +9 -9
  755. package/dist/forms/RenderFields/context.js.map +1 -1
  756. package/dist/forms/RenderFields/index.js +63 -114
  757. package/dist/forms/RenderFields/index.js.map +1 -1
  758. package/dist/forms/RenderFields/types.js +2 -1
  759. package/dist/forms/RenderFields/types.js.map +1 -1
  760. package/dist/forms/RowLabel/Context/index.js +25 -28
  761. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  762. package/dist/forms/RowLabel/index.js +20 -23
  763. package/dist/forms/RowLabel/index.js.map +1 -1
  764. package/dist/forms/RowLabel/types.js +2 -1
  765. package/dist/forms/RowLabel/types.js.map +1 -1
  766. package/dist/forms/Submit/index.js +23 -34
  767. package/dist/forms/Submit/index.js.map +1 -1
  768. package/dist/forms/WatchChildErrors/buildPathSegments.js +29 -29
  769. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  770. package/dist/forms/WatchChildErrors/index.js +36 -66
  771. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  772. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +634 -683
  773. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  774. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +14 -22
  775. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  776. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +17 -26
  777. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  778. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +186 -198
  779. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  780. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +61 -54
  781. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -1
  782. package/dist/forms/fieldSchemasToFormState/index.js +58 -79
  783. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  784. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js +12 -16
  785. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js.map +1 -1
  786. package/dist/forms/fieldSchemasToFormState/iterateFields.js +79 -116
  787. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  788. package/dist/forms/fieldSchemasToFormState/renderField.js +260 -273
  789. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  790. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +69 -75
  791. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
  792. package/dist/forms/fieldSchemasToFormState/types.js +2 -1
  793. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  794. package/dist/forms/useField/index.js +179 -292
  795. package/dist/forms/useField/index.js.map +1 -1
  796. package/dist/forms/useField/types.js +2 -1
  797. package/dist/forms/useField/types.js.map +1 -1
  798. package/dist/forms/withCondition/WatchCondition.js +9 -27
  799. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  800. package/dist/forms/withCondition/index.js +12 -14
  801. package/dist/forms/withCondition/index.js.map +1 -1
  802. package/dist/graphics/Account/Default/index.js +29 -21
  803. package/dist/graphics/Account/Default/index.js.map +1 -1
  804. package/dist/graphics/Account/Gravatar/index.js +19 -32
  805. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  806. package/dist/graphics/Account/index.js +15 -50
  807. package/dist/graphics/Account/index.js.map +1 -1
  808. package/dist/graphics/DefaultBlockImage/index.js +72 -61
  809. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  810. package/dist/graphics/File/index.js +20 -16
  811. package/dist/graphics/File/index.js.map +1 -1
  812. package/dist/graphics/Icon/index.js +20 -18
  813. package/dist/graphics/Icon/index.js.map +1 -1
  814. package/dist/graphics/Logo/index.js +55 -38
  815. package/dist/graphics/Logo/index.js.map +1 -1
  816. package/dist/hooks/useClickOutside.js +19 -15
  817. package/dist/hooks/useClickOutside.js.map +1 -1
  818. package/dist/hooks/useControllableState.js +16 -34
  819. package/dist/hooks/useControllableState.js.map +1 -1
  820. package/dist/hooks/useDebounce.js +15 -26
  821. package/dist/hooks/useDebounce.js.map +1 -1
  822. package/dist/hooks/useDebouncedCallback.js +15 -23
  823. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  824. package/dist/hooks/useDebouncedEffect.js +18 -53
  825. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  826. package/dist/hooks/useDelay.js +27 -52
  827. package/dist/hooks/useDelay.js.map +1 -1
  828. package/dist/hooks/useDelayedRender.js +40 -76
  829. package/dist/hooks/useDelayedRender.js.map +1 -1
  830. package/dist/hooks/useEffectEvent.js +12 -33
  831. package/dist/hooks/useEffectEvent.js.map +1 -1
  832. package/dist/hooks/useHotkey.js +96 -110
  833. package/dist/hooks/useHotkey.js.map +1 -1
  834. package/dist/hooks/useIntersect.js +28 -59
  835. package/dist/hooks/useIntersect.js.map +1 -1
  836. package/dist/hooks/usePayloadAPI.js +79 -172
  837. package/dist/hooks/usePayloadAPI.js.map +1 -1
  838. package/dist/hooks/usePopupWindow.js +91 -133
  839. package/dist/hooks/usePopupWindow.js.map +1 -1
  840. package/dist/hooks/useQueue.js +40 -40
  841. package/dist/hooks/useQueue.js.map +1 -1
  842. package/dist/hooks/useRelatedCollections.js +15 -27
  843. package/dist/hooks/useRelatedCollections.js.map +1 -1
  844. package/dist/hooks/useResize.js +41 -70
  845. package/dist/hooks/useResize.js.map +1 -1
  846. package/dist/hooks/useThrottledEffect.js +17 -51
  847. package/dist/hooks/useThrottledEffect.js.map +1 -1
  848. package/dist/hooks/useThrottledValue.js +16 -13
  849. package/dist/hooks/useThrottledValue.js.map +1 -1
  850. package/dist/hooks/useUseAsTitle.js +7 -27
  851. package/dist/hooks/useUseAsTitle.js.map +1 -1
  852. package/dist/icons/Calendar/index.js +11 -10
  853. package/dist/icons/Calendar/index.js.map +1 -1
  854. package/dist/icons/Check/index.js +11 -10
  855. package/dist/icons/Check/index.js.map +1 -1
  856. package/dist/icons/Chevron/index.js +21 -21
  857. package/dist/icons/Chevron/index.js.map +1 -1
  858. package/dist/icons/CloseMenu/index.js +11 -10
  859. package/dist/icons/CloseMenu/index.js.map +1 -1
  860. package/dist/icons/CodeBlock/index.js +13 -12
  861. package/dist/icons/CodeBlock/index.js.map +1 -1
  862. package/dist/icons/Copy/index.js +15 -16
  863. package/dist/icons/Copy/index.js.map +1 -1
  864. package/dist/icons/Document/index.js +16 -15
  865. package/dist/icons/Document/index.js.map +1 -1
  866. package/dist/icons/Dots/index.js +15 -10
  867. package/dist/icons/Dots/index.js.map +1 -1
  868. package/dist/icons/DragHandle/index.js +41 -32
  869. package/dist/icons/DragHandle/index.js.map +1 -1
  870. package/dist/icons/Edit/index.js +14 -12
  871. package/dist/icons/Edit/index.js.map +1 -1
  872. package/dist/icons/ExternalLink/index.js +16 -14
  873. package/dist/icons/ExternalLink/index.js.map +1 -1
  874. package/dist/icons/Eye/index.js +28 -24
  875. package/dist/icons/Eye/index.js.map +1 -1
  876. package/dist/icons/Folder/index.js +17 -15
  877. package/dist/icons/Folder/index.js.map +1 -1
  878. package/dist/icons/Gear/index.js +21 -20
  879. package/dist/icons/Gear/index.js.map +1 -1
  880. package/dist/icons/GridView/index.js +36 -30
  881. package/dist/icons/GridView/index.js.map +1 -1
  882. package/dist/icons/Line/index.js +14 -13
  883. package/dist/icons/Line/index.js.map +1 -1
  884. package/dist/icons/Link/index.js +16 -15
  885. package/dist/icons/Link/index.js.map +1 -1
  886. package/dist/icons/ListView/index.js +16 -15
  887. package/dist/icons/ListView/index.js.map +1 -1
  888. package/dist/icons/Lock/index.js +28 -23
  889. package/dist/icons/Lock/index.js.map +1 -1
  890. package/dist/icons/LogOut/index.js +14 -13
  891. package/dist/icons/LogOut/index.js.map +1 -1
  892. package/dist/icons/Menu/index.js +14 -13
  893. package/dist/icons/Menu/index.js.map +1 -1
  894. package/dist/icons/MinimizeMaximize/index.js +20 -18
  895. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  896. package/dist/icons/More/index.js +26 -20
  897. package/dist/icons/More/index.js.map +1 -1
  898. package/dist/icons/MoveFolder/index.js +37 -33
  899. package/dist/icons/MoveFolder/index.js.map +1 -1
  900. package/dist/icons/People/index.js +19 -16
  901. package/dist/icons/People/index.js.map +1 -1
  902. package/dist/icons/Plus/index.js +13 -12
  903. package/dist/icons/Plus/index.js.map +1 -1
  904. package/dist/icons/Search/index.js +12 -11
  905. package/dist/icons/Search/index.js.map +1 -1
  906. package/dist/icons/Sort/index.js +31 -34
  907. package/dist/icons/Sort/index.js.map +1 -1
  908. package/dist/icons/Swap/index.js +11 -10
  909. package/dist/icons/Swap/index.js.map +1 -1
  910. package/dist/icons/ThreeDots/index.js +10 -7
  911. package/dist/icons/ThreeDots/index.js.map +1 -1
  912. package/dist/icons/Trash/index.js +19 -17
  913. package/dist/icons/Trash/index.js.map +1 -1
  914. package/dist/icons/X/index.js +16 -14
  915. package/dist/icons/X/index.js.map +1 -1
  916. package/dist/providers/Actions/index.js +15 -31
  917. package/dist/providers/Actions/index.js.map +1 -1
  918. package/dist/providers/Auth/index.js +245 -227
  919. package/dist/providers/Auth/index.js.map +1 -1
  920. package/dist/providers/ClickOutside/index.js +30 -34
  921. package/dist/providers/ClickOutside/index.js.map +1 -1
  922. package/dist/providers/ClientFunction/index.js +54 -103
  923. package/dist/providers/ClientFunction/index.js.map +1 -1
  924. package/dist/providers/Config/index.js +73 -90
  925. package/dist/providers/Config/index.js.map +1 -1
  926. package/dist/providers/DocumentEvents/index.js +13 -28
  927. package/dist/providers/DocumentEvents/index.js.map +1 -1
  928. package/dist/providers/DocumentInfo/index.js +316 -325
  929. package/dist/providers/DocumentInfo/index.js.map +1 -1
  930. package/dist/providers/DocumentInfo/types.js +1 -0
  931. package/dist/providers/DocumentInfo/types.js.map +1 -1
  932. package/dist/providers/DocumentInfo/useGetDocPermissions.js +72 -70
  933. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
  934. package/dist/providers/DocumentTitle/context.js.map +1 -1
  935. package/dist/providers/DocumentTitle/index.js +46 -54
  936. package/dist/providers/DocumentTitle/index.js.map +1 -1
  937. package/dist/providers/EditDepth/index.js +9 -23
  938. package/dist/providers/EditDepth/index.js.map +1 -1
  939. package/dist/providers/EntityVisibility/index.js +20 -46
  940. package/dist/providers/EntityVisibility/index.js.map +1 -1
  941. package/dist/providers/Folders/groupItemIDsByRelation.js +8 -7
  942. package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -1
  943. package/dist/providers/Folders/index.js +648 -595
  944. package/dist/providers/Folders/index.js.map +1 -1
  945. package/dist/providers/ListQuery/context.js +3 -2
  946. package/dist/providers/ListQuery/context.js.map +1 -1
  947. package/dist/providers/ListQuery/index.js +145 -137
  948. package/dist/providers/ListQuery/index.js.map +1 -1
  949. package/dist/providers/ListQuery/mergeQuery.js +49 -31
  950. package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
  951. package/dist/providers/ListQuery/sanitizeQuery.js +24 -23
  952. package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
  953. package/dist/providers/ListQuery/types.js +2 -1
  954. package/dist/providers/ListQuery/types.js.map +1 -1
  955. package/dist/providers/LivePreview/collisionDetection.js +21 -24
  956. package/dist/providers/LivePreview/collisionDetection.js.map +1 -1
  957. package/dist/providers/LivePreview/context.js +49 -54
  958. package/dist/providers/LivePreview/context.js.map +1 -1
  959. package/dist/providers/LivePreview/index.js +213 -204
  960. package/dist/providers/LivePreview/index.js.map +1 -1
  961. package/dist/providers/LivePreview/sizeReducer.js +19 -18
  962. package/dist/providers/LivePreview/sizeReducer.js.map +1 -1
  963. package/dist/providers/Locale/index.js +76 -144
  964. package/dist/providers/Locale/index.js.map +1 -1
  965. package/dist/providers/Operation/index.js +7 -10
  966. package/dist/providers/Operation/index.js.map +1 -1
  967. package/dist/providers/Params/index.js +8 -24
  968. package/dist/providers/Params/index.js.map +1 -1
  969. package/dist/providers/Preferences/index.js +111 -111
  970. package/dist/providers/Preferences/index.js.map +1 -1
  971. package/dist/providers/Root/index.js +76 -106
  972. package/dist/providers/Root/index.js.map +1 -1
  973. package/dist/providers/RouteCache/index.js +48 -102
  974. package/dist/providers/RouteCache/index.js.map +1 -1
  975. package/dist/providers/RouteTransition/ProgressBar/index.js +52 -79
  976. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  977. package/dist/providers/RouteTransition/index.js +58 -87
  978. package/dist/providers/RouteTransition/index.js.map +1 -1
  979. package/dist/providers/ScrollInfo/index.js +1 -1
  980. package/dist/providers/ScrollInfo/index.js.map +1 -1
  981. package/dist/providers/SearchParams/index.js +30 -33
  982. package/dist/providers/SearchParams/index.js.map +1 -1
  983. package/dist/providers/Selection/index.js +193 -182
  984. package/dist/providers/Selection/index.js.map +1 -1
  985. package/dist/providers/ServerFunctions/index.js +191 -196
  986. package/dist/providers/ServerFunctions/index.js.map +1 -1
  987. package/dist/providers/TableColumns/RenderDefaultCell/index.js +23 -60
  988. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  989. package/dist/providers/TableColumns/buildColumnState/filterFields.js +32 -32
  990. package/dist/providers/TableColumns/buildColumnState/filterFields.js.map +1 -1
  991. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js +50 -52
  992. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js.map +1 -1
  993. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js +3 -2
  994. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js.map +1 -1
  995. package/dist/providers/TableColumns/buildColumnState/index.js +125 -142
  996. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  997. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js +10 -14
  998. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js.map +1 -1
  999. package/dist/providers/TableColumns/buildColumnState/renderCell.js +139 -149
  1000. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  1001. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js +16 -15
  1002. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js.map +1 -1
  1003. package/dist/providers/TableColumns/context.js +2 -1
  1004. package/dist/providers/TableColumns/context.js.map +1 -1
  1005. package/dist/providers/TableColumns/getInitialColumns.js +42 -28
  1006. package/dist/providers/TableColumns/getInitialColumns.js.map +1 -1
  1007. package/dist/providers/TableColumns/index.js +82 -83
  1008. package/dist/providers/TableColumns/index.js.map +1 -1
  1009. package/dist/providers/TableColumns/types.js +2 -1
  1010. package/dist/providers/TableColumns/types.js.map +1 -1
  1011. package/dist/providers/Theme/index.js +63 -102
  1012. package/dist/providers/Theme/index.js.map +1 -1
  1013. package/dist/providers/ToastContainer/icons/Error.js +21 -18
  1014. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  1015. package/dist/providers/ToastContainer/icons/Info.js +21 -18
  1016. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  1017. package/dist/providers/ToastContainer/icons/Success.js +21 -18
  1018. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  1019. package/dist/providers/ToastContainer/icons/Warning.js +21 -18
  1020. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  1021. package/dist/providers/ToastContainer/index.js +35 -46
  1022. package/dist/providers/ToastContainer/index.js.map +1 -1
  1023. package/dist/providers/Translation/index.js +60 -110
  1024. package/dist/providers/Translation/index.js.map +1 -1
  1025. package/dist/providers/UploadControls/index.js +22 -38
  1026. package/dist/providers/UploadControls/index.js.map +1 -1
  1027. package/dist/providers/UploadEdits/index.js +25 -71
  1028. package/dist/providers/UploadEdits/index.js.map +1 -1
  1029. package/dist/providers/UploadHandlers/index.js +24 -63
  1030. package/dist/providers/UploadHandlers/index.js.map +1 -1
  1031. package/dist/providers/WindowInfo/index.js +5 -9
  1032. package/dist/providers/WindowInfo/index.js.map +1 -1
  1033. package/dist/styles.css +0 -1
  1034. package/dist/utilities/abortAndIgnore.js +17 -17
  1035. package/dist/utilities/abortAndIgnore.js.map +1 -1
  1036. package/dist/utilities/api.js +78 -77
  1037. package/dist/utilities/api.js.map +1 -1
  1038. package/dist/utilities/buildClientFieldSchemaMap/index.js +61 -65
  1039. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  1040. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +142 -154
  1041. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  1042. package/dist/utilities/buildFieldSchemaMap/index.js +59 -61
  1043. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  1044. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +110 -122
  1045. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  1046. package/dist/utilities/buildFormState.js +151 -186
  1047. package/dist/utilities/buildFormState.js.map +1 -1
  1048. package/dist/utilities/buildTableState.js +145 -168
  1049. package/dist/utilities/buildTableState.js.map +1 -1
  1050. package/dist/utilities/canUseDOM.js +1 -0
  1051. package/dist/utilities/canUseDOM.js.map +1 -1
  1052. package/dist/utilities/combineFieldLabel.js +28 -25
  1053. package/dist/utilities/combineFieldLabel.js.map +1 -1
  1054. package/dist/utilities/copyDataFromLocale.js +198 -210
  1055. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  1056. package/dist/utilities/dateLocales.js +28 -27
  1057. package/dist/utilities/dateLocales.js.map +1 -1
  1058. package/dist/utilities/deepMerge.js +14 -13
  1059. package/dist/utilities/deepMerge.js.map +1 -1
  1060. package/dist/utilities/fetchPreferences.js.map +1 -1
  1061. package/dist/utilities/filterOutUploadFields.js +17 -4
  1062. package/dist/utilities/filterOutUploadFields.js.map +1 -1
  1063. package/dist/utilities/findLocaleFromCode.js +6 -5
  1064. package/dist/utilities/findLocaleFromCode.js.map +1 -1
  1065. package/dist/utilities/formatAbsoluteURL.js +8 -8
  1066. package/dist/utilities/formatAbsoluteURL.js.map +1 -1
  1067. package/dist/utilities/formatAdminURL.js +2 -1
  1068. package/dist/utilities/formatAdminURL.js.map +1 -1
  1069. package/dist/utilities/formatDocTitle/formatDateTitle.js +20 -27
  1070. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  1071. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js +14 -13
  1072. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -1
  1073. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js +14 -13
  1074. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js.map +1 -1
  1075. package/dist/utilities/formatDocTitle/index.js +38 -44
  1076. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  1077. package/dist/utilities/formatFields.js +2 -1
  1078. package/dist/utilities/formatFields.js.map +1 -1
  1079. package/dist/utilities/generateFieldID.js +6 -5
  1080. package/dist/utilities/generateFieldID.js.map +1 -1
  1081. package/dist/utilities/getClientConfig.js +25 -29
  1082. package/dist/utilities/getClientConfig.js.map +1 -1
  1083. package/dist/utilities/getClientSchemaMap.js +24 -32
  1084. package/dist/utilities/getClientSchemaMap.js.map +1 -1
  1085. package/dist/utilities/getColumns.js +29 -35
  1086. package/dist/utilities/getColumns.js.map +1 -1
  1087. package/dist/utilities/getDisplayedFieldValue.js +15 -15
  1088. package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
  1089. package/dist/utilities/getFolderResultsComponentAndData.js +115 -119
  1090. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
  1091. package/dist/utilities/getOffsetTop.js +14 -13
  1092. package/dist/utilities/getOffsetTop.js.map +1 -1
  1093. package/dist/utilities/getRequestLanguage.js +5 -8
  1094. package/dist/utilities/getRequestLanguage.js.map +1 -1
  1095. package/dist/utilities/getSchemaMap.js +22 -28
  1096. package/dist/utilities/getSchemaMap.js.map +1 -1
  1097. package/dist/utilities/getSupportedMonacoLocale.js +14 -13
  1098. package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
  1099. package/dist/utilities/groupNavItems.js +53 -49
  1100. package/dist/utilities/groupNavItems.js.map +1 -1
  1101. package/dist/utilities/handleBackToDashboard.js +7 -9
  1102. package/dist/utilities/handleBackToDashboard.js.map +1 -1
  1103. package/dist/utilities/handleFormStateLocking.js +125 -119
  1104. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  1105. package/dist/utilities/handleGoBack.js +7 -10
  1106. package/dist/utilities/handleGoBack.js.map +1 -1
  1107. package/dist/utilities/handleLivePreview.js +59 -76
  1108. package/dist/utilities/handleLivePreview.js.map +1 -1
  1109. package/dist/utilities/handlePreview.js +41 -52
  1110. package/dist/utilities/handlePreview.js.map +1 -1
  1111. package/dist/utilities/handleTakeOver.js +28 -39
  1112. package/dist/utilities/handleTakeOver.js.map +1 -1
  1113. package/dist/utilities/hasOptionLabelJSXElement.js +9 -11
  1114. package/dist/utilities/hasOptionLabelJSXElement.js.map +1 -1
  1115. package/dist/utilities/hasSavePermission.js +10 -14
  1116. package/dist/utilities/hasSavePermission.js.map +1 -1
  1117. package/dist/utilities/isClientUserObject.js +3 -2
  1118. package/dist/utilities/isClientUserObject.js.map +1 -1
  1119. package/dist/utilities/isEditing.js +2 -5
  1120. package/dist/utilities/isEditing.js.map +1 -1
  1121. package/dist/utilities/isURLAllowed.js +30 -29
  1122. package/dist/utilities/isURLAllowed.js.map +1 -1
  1123. package/dist/utilities/isValidReactElement.js +3 -3
  1124. package/dist/utilities/isValidReactElement.js.map +1 -1
  1125. package/dist/utilities/normalizeRelationshipValue.js +29 -28
  1126. package/dist/utilities/normalizeRelationshipValue.js.map +1 -1
  1127. package/dist/utilities/normalizeRelationshipValue.spec.js +407 -368
  1128. package/dist/utilities/normalizeRelationshipValue.spec.js.map +1 -1
  1129. package/dist/utilities/parseSearchParams.js +7 -7
  1130. package/dist/utilities/parseSearchParams.js.map +1 -1
  1131. package/dist/utilities/reduceFieldsToOptions.js +145 -154
  1132. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  1133. package/dist/utilities/reduceFieldsToValuesWithValidation.js +20 -20
  1134. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  1135. package/dist/utilities/removeUndefined.js +2 -1
  1136. package/dist/utilities/removeUndefined.js.map +1 -1
  1137. package/dist/utilities/renderTable.js +180 -193
  1138. package/dist/utilities/renderTable.js.map +1 -1
  1139. package/dist/utilities/resolveFilterOptions.js +27 -26
  1140. package/dist/utilities/resolveFilterOptions.js.map +1 -1
  1141. package/dist/utilities/sanitizeFilterOptionsQuery.js +16 -15
  1142. package/dist/utilities/sanitizeFilterOptionsQuery.js.map +1 -1
  1143. package/dist/utilities/sanitizeID.js +8 -7
  1144. package/dist/utilities/sanitizeID.js.map +1 -1
  1145. package/dist/utilities/schedulePublishHandler.js +45 -57
  1146. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  1147. package/dist/utilities/scrollToID.js +10 -9
  1148. package/dist/utilities/scrollToID.js.map +1 -1
  1149. package/dist/utilities/setsAreEqual.js +3 -2
  1150. package/dist/utilities/setsAreEqual.js.map +1 -1
  1151. package/dist/utilities/traverseForLocalizedFields.js +36 -35
  1152. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  1153. package/dist/utilities/upsertPreferences.js +74 -75
  1154. package/dist/utilities/upsertPreferences.js.map +1 -1
  1155. package/dist/views/BrowseByFolder/index.js +251 -322
  1156. package/dist/views/BrowseByFolder/index.js.map +1 -1
  1157. package/dist/views/CollectionFolder/ListSelection/index.js +116 -157
  1158. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  1159. package/dist/views/CollectionFolder/index.js +257 -280
  1160. package/dist/views/CollectionFolder/index.js.map +1 -1
  1161. package/dist/views/Edit/Auth/APIKey.js +139 -122
  1162. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  1163. package/dist/views/Edit/Auth/index.js +247 -320
  1164. package/dist/views/Edit/Auth/index.js.map +1 -1
  1165. package/dist/views/Edit/Auth/types.js +2 -1
  1166. package/dist/views/Edit/Auth/types.js.map +1 -1
  1167. package/dist/views/Edit/SetDocumentStepNav/index.js +83 -130
  1168. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  1169. package/dist/views/Edit/SetDocumentTitle/index.js +30 -77
  1170. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  1171. package/dist/views/Edit/index.js +494 -493
  1172. package/dist/views/Edit/index.js.map +1 -1
  1173. package/dist/views/Edit/types.js +2 -1
  1174. package/dist/views/Edit/types.js.map +1 -1
  1175. package/dist/views/List/GroupByHeader/index.js +22 -23
  1176. package/dist/views/List/GroupByHeader/index.js.map +1 -1
  1177. package/dist/views/List/ListHeader/index.js +68 -78
  1178. package/dist/views/List/ListHeader/index.js.map +1 -1
  1179. package/dist/views/List/ListSelection/index.js +69 -109
  1180. package/dist/views/List/ListSelection/index.js.map +1 -1
  1181. package/dist/views/List/index.js +209 -209
  1182. package/dist/views/List/index.js.map +1 -1
  1183. package/dist/views/List/types.js +2 -1
  1184. package/dist/views/List/types.js.map +1 -1
  1185. package/package.json +5 -5
  1186. package/dist/exports/client/CodeEditor-QOURTFMT.js +0 -14
  1187. package/dist/exports/client/CodeEditor-QOURTFMT.js.map +0 -7
  1188. package/dist/exports/client/DatePicker-VMLA35FO.js +0 -14
  1189. package/dist/exports/client/DatePicker-VMLA35FO.js.map +0 -7
  1190. package/dist/exports/client/chunk-53XJ3K67.js +0 -27
  1191. package/dist/exports/client/chunk-53XJ3K67.js.map +0 -7
  1192. package/dist/exports/client/chunk-5LKBKI4T.js +0 -14
  1193. package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -7
  1194. package/dist/exports/client/chunk-7V3NHDV6.js +0 -29
  1195. package/dist/exports/client/chunk-7V3NHDV6.js.map +0 -7
@@ -1,5 +1,4 @@
1
1
  'use client';
2
-
3
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
3
  import { dequal } from 'dequal/lite';
5
4
  import { formatAdminURL, wordBoundariesRegex } from 'payload/shared';
@@ -30,758 +29,781 @@ import './index.scss';
30
29
  import { MultiValueLabel } from './select-components/MultiValueLabel/index.js';
31
30
  import { SingleValue } from './select-components/SingleValue/index.js';
32
31
  const baseClass = 'relationship';
33
- export const RelationshipInput = props => {
34
- const {
35
- AfterInput,
36
- allowCreate = true,
37
- allowEdit = true,
38
- appearance = 'select',
39
- BeforeInput,
40
- className,
41
- description,
42
- Description,
43
- Error,
44
- filterOptions,
45
- formatDisplayedOptions,
46
- hasMany,
47
- initialValue,
48
- isSortable = true,
49
- label,
50
- Label,
51
- localized,
52
- maxResultsPerRequest = 10,
53
- onChange,
54
- path,
55
- placeholder,
56
- readOnly,
57
- relationTo,
58
- required,
59
- showError,
60
- sortOptions,
61
- style,
62
- value
63
- } = props;
64
- const {
65
- config,
66
- getEntityConfig
67
- } = useConfig();
68
- const {
69
- routes: {
70
- api
71
- },
72
- serverURL
73
- } = config;
74
- const {
75
- i18n,
76
- t
77
- } = useTranslation();
78
- const {
79
- permissions
80
- } = useAuth();
81
- const {
82
- code: locale
83
- } = useLocale();
84
- const [currentlyOpenRelationship, setCurrentlyOpenRelationship] = useState({
85
- id: undefined,
86
- collectionSlug: undefined,
87
- hasReadPermission: false
88
- });
89
- const [lastFullyLoadedRelation, setLastFullyLoadedRelation] = useState(-1);
90
- const [lastLoadedPage, setLastLoadedPage] = useState({});
91
- const [errorLoading, setErrorLoading] = useState('');
92
- const [search, setSearch] = useState('');
93
- const [isLoading, setIsLoading] = useState(false);
94
- const [enableWordBoundarySearch, setEnableWordBoundarySearch] = useState(false);
95
- const [menuIsOpen, setMenuIsOpen] = useState(false);
96
- const hasLoadedFirstPageRef = useRef(false);
97
- const {
98
- queueTask
99
- } = useQueue();
100
- const [options, dispatchOptions] = useReducer(optionsReducer, []);
101
- const valueRef = useRef(value);
102
- const [DocumentDrawer,, {
103
- drawerSlug,
104
- isDrawerOpen,
105
- openDrawer
106
- }] = useDocumentDrawer({
107
- id: currentlyOpenRelationship.id,
108
- collectionSlug: currentlyOpenRelationship.collectionSlug
109
- });
110
- // Filter selected values from displaying in the list drawer
111
- const listDrawerFilterOptions = useMemo(() => {
112
- let newFilterOptions = filterOptions;
113
- if (value) {
114
- const valuesByRelation = (hasMany === false ? [value] : value).reduce((acc, val) => {
115
- if (!acc[val.relationTo]) {
116
- acc[val.relationTo] = [];
32
+ export const RelationshipInput = (props)=>{
33
+ const { AfterInput, allowCreate = true, allowEdit = true, appearance = 'select', BeforeInput, className, description, Description, Error, filterOptions, formatDisplayedOptions, hasMany, initialValue, isSortable = true, label, Label, localized, maxResultsPerRequest = 10, onChange, path, placeholder, readOnly, relationTo, required, showError, sortOptions, style, value } = props;
34
+ const { config, getEntityConfig } = useConfig();
35
+ const { routes: { api }, serverURL } = config;
36
+ const { i18n, t } = useTranslation();
37
+ const { permissions } = useAuth();
38
+ const { code: locale } = useLocale();
39
+ const [currentlyOpenRelationship, setCurrentlyOpenRelationship] = useState({
40
+ id: undefined,
41
+ collectionSlug: undefined,
42
+ hasReadPermission: false
43
+ });
44
+ const [lastFullyLoadedRelation, setLastFullyLoadedRelation] = useState(-1);
45
+ const [lastLoadedPage, setLastLoadedPage] = useState({});
46
+ const [errorLoading, setErrorLoading] = useState('');
47
+ const [search, setSearch] = useState('');
48
+ const [isLoading, setIsLoading] = useState(false);
49
+ const [enableWordBoundarySearch, setEnableWordBoundarySearch] = useState(false);
50
+ const [menuIsOpen, setMenuIsOpen] = useState(false);
51
+ const hasLoadedFirstPageRef = useRef(false);
52
+ const { queueTask } = useQueue();
53
+ const [options, dispatchOptions] = useReducer(optionsReducer, []);
54
+ const valueRef = useRef(value);
55
+ const [DocumentDrawer, , { drawerSlug, isDrawerOpen, openDrawer }] = useDocumentDrawer({
56
+ id: currentlyOpenRelationship.id,
57
+ collectionSlug: currentlyOpenRelationship.collectionSlug
58
+ });
59
+ // Filter selected values from displaying in the list drawer
60
+ const listDrawerFilterOptions = useMemo(()=>{
61
+ let newFilterOptions = filterOptions;
62
+ if (value) {
63
+ const valuesByRelation = (hasMany === false ? [
64
+ value
65
+ ] : value).reduce((acc, val)=>{
66
+ if (!acc[val.relationTo]) {
67
+ acc[val.relationTo] = [];
68
+ }
69
+ acc[val.relationTo].push(val.value);
70
+ return acc;
71
+ }, {});
72
+ (Array.isArray(relationTo) ? relationTo : [
73
+ relationTo
74
+ ]).forEach((relation)=>{
75
+ newFilterOptions = {
76
+ ...newFilterOptions || {},
77
+ [relation]: {
78
+ ...typeof filterOptions?.[relation] === 'object' ? filterOptions[relation] : {},
79
+ ...valuesByRelation[relation] ? {
80
+ id: {
81
+ not_in: valuesByRelation[relation]
82
+ }
83
+ } : {}
84
+ }
85
+ };
86
+ });
117
87
  }
118
- acc[val.relationTo].push(val.value);
119
- return acc;
120
- }, {});
121
- (Array.isArray(relationTo) ? relationTo : [relationTo]).forEach(relation => {
122
- newFilterOptions = {
123
- ...(newFilterOptions || {}),
124
- [relation]: {
125
- ...(typeof filterOptions?.[relation] === 'object' ? filterOptions[relation] : {}),
126
- ...(valuesByRelation[relation] ? {
127
- id: {
128
- not_in: valuesByRelation[relation]
129
- }
130
- } : {})
131
- }
132
- };
133
- });
134
- }
135
- return newFilterOptions;
136
- }, [filterOptions, value, hasMany, relationTo]);
137
- const [ListDrawer,, {
138
- closeDrawer: closeListDrawer,
139
- isDrawerOpen: isListDrawerOpen,
140
- openDrawer: openListDrawer
141
- }] = useListDrawer({
142
- collectionSlugs: relationTo,
143
- filterOptions: listDrawerFilterOptions
144
- });
145
- const onListSelect = useCallback(({
146
- collectionSlug,
147
- doc
148
- }) => {
149
- if (hasMany) {
150
- onChange([...(Array.isArray(value) ? value : []), {
151
- relationTo: collectionSlug,
152
- value: doc.id
153
- }]);
154
- } else if (hasMany === false) {
155
- onChange({
156
- relationTo: collectionSlug,
157
- value: doc.id
158
- });
159
- }
160
- closeListDrawer();
161
- }, [hasMany, onChange, closeListDrawer, value]);
162
- const openDrawerWhenRelationChanges = useRef(false);
163
- const updateResults = useCallback(({
164
- filterOptions: filterOptions_0,
165
- hasMany: hasManyArg,
166
- lastFullyLoadedRelation: lastFullyLoadedRelationArg,
167
- lastLoadedPage: lastLoadedPageArg,
168
- onSuccess,
169
- search: searchArg,
170
- sort,
171
- value: valueArg
172
- }) => {
173
- if (!permissions) {
174
- return;
175
- }
176
- queueTask(async () => {
177
- const lastFullyLoadedRelationToUse = typeof lastFullyLoadedRelationArg !== 'undefined' ? lastFullyLoadedRelationArg : -1;
178
- const relations = Array.isArray(relationTo) ? relationTo : [relationTo];
179
- const relationsToFetch = lastFullyLoadedRelationToUse === -1 ? relations : relations.slice(lastFullyLoadedRelationToUse + 1);
180
- let resultsFetched = 0;
181
- const relationMap = createRelationMap(hasManyArg === true ? {
182
- hasMany: true,
183
- relationTo,
184
- value: valueArg
185
- } : {
186
- hasMany: false,
187
- relationTo,
188
- value: valueArg
189
- });
190
- if (!errorLoading) {
191
- await relationsToFetch.reduce(async (priorRelation, relation_0) => {
192
- const relationFilterOption = filterOptions_0?.[relation_0];
193
- let lastLoadedPageToUse;
194
- if (search !== searchArg) {
195
- lastLoadedPageToUse = 1;
196
- } else {
197
- lastLoadedPageToUse = (lastLoadedPageArg[relation_0] || 0) + 1;
198
- }
199
- await priorRelation;
200
- if (relationFilterOption === false) {
201
- setLastFullyLoadedRelation(relations.indexOf(relation_0));
202
- return Promise.resolve();
203
- }
204
- if (resultsFetched < 10) {
205
- const collection = getEntityConfig({
206
- collectionSlug: relation_0
88
+ return newFilterOptions;
89
+ }, [
90
+ filterOptions,
91
+ value,
92
+ hasMany,
93
+ relationTo
94
+ ]);
95
+ const [ListDrawer, , { closeDrawer: closeListDrawer, isDrawerOpen: isListDrawerOpen, openDrawer: openListDrawer }] = useListDrawer({
96
+ collectionSlugs: relationTo,
97
+ filterOptions: listDrawerFilterOptions
98
+ });
99
+ const onListSelect = useCallback(({ collectionSlug, doc })=>{
100
+ if (hasMany) {
101
+ onChange([
102
+ ...Array.isArray(value) ? value : [],
103
+ {
104
+ relationTo: collectionSlug,
105
+ value: doc.id
106
+ }
107
+ ]);
108
+ } else if (hasMany === false) {
109
+ onChange({
110
+ relationTo: collectionSlug,
111
+ value: doc.id
207
112
  });
208
- const fieldToSearch = collection?.admin?.useAsTitle || 'id';
209
- let fieldToSort = collection?.defaultSort || 'id';
210
- if (typeof sortOptions === 'string') {
211
- fieldToSort = sortOptions;
212
- } else if (sortOptions?.[relation_0]) {
213
- fieldToSort = sortOptions[relation_0];
214
- }
215
- const query = {
216
- depth: 0,
217
- draft: true,
218
- limit: maxResultsPerRequest,
219
- locale,
220
- page: lastLoadedPageToUse,
221
- select: {
222
- [fieldToSearch]: true
223
- },
224
- sort: fieldToSort,
225
- where: {
226
- and: [{
227
- id: {
228
- not_in: relationMap[relation_0]
229
- }
230
- }]
231
- }
232
- };
233
- if (searchArg) {
234
- query.where.and.push({
235
- [fieldToSearch]: {
236
- like: searchArg
113
+ }
114
+ closeListDrawer();
115
+ }, [
116
+ hasMany,
117
+ onChange,
118
+ closeListDrawer,
119
+ value
120
+ ]);
121
+ const openDrawerWhenRelationChanges = useRef(false);
122
+ const updateResults = useCallback(({ filterOptions, hasMany: hasManyArg, lastFullyLoadedRelation: lastFullyLoadedRelationArg, lastLoadedPage: lastLoadedPageArg, onSuccess, search: searchArg, sort, value: valueArg })=>{
123
+ if (!permissions) {
124
+ return;
125
+ }
126
+ queueTask(async ()=>{
127
+ const lastFullyLoadedRelationToUse = typeof lastFullyLoadedRelationArg !== 'undefined' ? lastFullyLoadedRelationArg : -1;
128
+ const relations = Array.isArray(relationTo) ? relationTo : [
129
+ relationTo
130
+ ];
131
+ const relationsToFetch = lastFullyLoadedRelationToUse === -1 ? relations : relations.slice(lastFullyLoadedRelationToUse + 1);
132
+ let resultsFetched = 0;
133
+ const relationMap = createRelationMap(hasManyArg === true ? {
134
+ hasMany: true,
135
+ relationTo,
136
+ value: valueArg
137
+ } : {
138
+ hasMany: false,
139
+ relationTo,
140
+ value: valueArg
141
+ });
142
+ if (!errorLoading) {
143
+ await relationsToFetch.reduce(async (priorRelation, relation)=>{
144
+ const relationFilterOption = filterOptions?.[relation];
145
+ let lastLoadedPageToUse;
146
+ if (search !== searchArg) {
147
+ lastLoadedPageToUse = 1;
148
+ } else {
149
+ lastLoadedPageToUse = (lastLoadedPageArg[relation] || 0) + 1;
150
+ }
151
+ await priorRelation;
152
+ if (relationFilterOption === false) {
153
+ setLastFullyLoadedRelation(relations.indexOf(relation));
154
+ return Promise.resolve();
155
+ }
156
+ if (resultsFetched < 10) {
157
+ const collection = getEntityConfig({
158
+ collectionSlug: relation
159
+ });
160
+ const fieldToSearch = collection?.admin?.useAsTitle || 'id';
161
+ let fieldToSort = collection?.defaultSort || 'id';
162
+ if (typeof sortOptions === 'string') {
163
+ fieldToSort = sortOptions;
164
+ } else if (sortOptions?.[relation]) {
165
+ fieldToSort = sortOptions[relation];
166
+ }
167
+ const query = {
168
+ depth: 0,
169
+ draft: true,
170
+ limit: maxResultsPerRequest,
171
+ locale,
172
+ page: lastLoadedPageToUse,
173
+ select: {
174
+ [fieldToSearch]: true
175
+ },
176
+ sort: fieldToSort,
177
+ where: {
178
+ and: [
179
+ {
180
+ id: {
181
+ not_in: relationMap[relation]
182
+ }
183
+ }
184
+ ]
185
+ }
186
+ };
187
+ if (searchArg) {
188
+ query.where.and.push({
189
+ [fieldToSearch]: {
190
+ like: searchArg
191
+ }
192
+ });
193
+ }
194
+ if (relationFilterOption && typeof relationFilterOption !== 'boolean') {
195
+ query.where.and.push(relationFilterOption);
196
+ }
197
+ sanitizeFilterOptionsQuery(query.where);
198
+ const response = await fetch(`${serverURL}${api}/${relation}`, {
199
+ body: qs.stringify(query),
200
+ credentials: 'include',
201
+ headers: {
202
+ 'Accept-Language': i18n.language,
203
+ 'Content-Type': 'application/x-www-form-urlencoded',
204
+ 'X-Payload-HTTP-Method-Override': 'GET'
205
+ },
206
+ method: 'POST'
207
+ });
208
+ if (response.ok) {
209
+ const data = await response.json();
210
+ setLastLoadedPage((prevState)=>{
211
+ return {
212
+ ...prevState,
213
+ [relation]: lastLoadedPageToUse
214
+ };
215
+ });
216
+ if (!data.nextPage) {
217
+ setLastFullyLoadedRelation(relations.indexOf(relation));
218
+ }
219
+ if (data.docs.length > 0) {
220
+ resultsFetched += data.docs.length;
221
+ dispatchOptions({
222
+ type: 'ADD',
223
+ collection,
224
+ config,
225
+ docs: data.docs,
226
+ i18n,
227
+ sort
228
+ });
229
+ }
230
+ } else if (response.status === 403) {
231
+ setLastFullyLoadedRelation(relations.indexOf(relation));
232
+ dispatchOptions({
233
+ type: 'ADD',
234
+ collection,
235
+ config,
236
+ docs: [],
237
+ i18n,
238
+ ids: relationMap[relation],
239
+ sort
240
+ });
241
+ } else {
242
+ setErrorLoading(t('error:unspecific'));
243
+ }
244
+ }
245
+ }, Promise.resolve());
246
+ if (typeof onSuccess === 'function') {
247
+ onSuccess();
237
248
  }
238
- });
239
249
  }
240
- if (relationFilterOption && typeof relationFilterOption !== 'boolean') {
241
- query.where.and.push(relationFilterOption);
250
+ });
251
+ }, [
252
+ permissions,
253
+ queueTask,
254
+ relationTo,
255
+ errorLoading,
256
+ search,
257
+ getEntityConfig,
258
+ sortOptions,
259
+ maxResultsPerRequest,
260
+ locale,
261
+ serverURL,
262
+ api,
263
+ i18n,
264
+ config,
265
+ t
266
+ ]);
267
+ const updateSearch = useDebouncedCallback(({ hasMany: hasManyArg, search: searchArg, value })=>{
268
+ updateResultsEffectEvent({
269
+ filterOptions,
270
+ lastLoadedPage: {},
271
+ onSuccess: ()=>{
272
+ setIsLoading(false);
273
+ },
274
+ search: searchArg,
275
+ sort: true,
276
+ ...hasManyArg === true ? {
277
+ hasMany: hasManyArg,
278
+ value
279
+ } : {
280
+ hasMany: hasManyArg,
281
+ value
242
282
  }
243
- sanitizeFilterOptionsQuery(query.where);
244
- const response = await fetch(`${serverURL}${api}/${relation_0}`, {
245
- body: qs.stringify(query),
246
- credentials: 'include',
247
- headers: {
248
- 'Accept-Language': i18n.language,
249
- 'Content-Type': 'application/x-www-form-urlencoded',
250
- 'X-Payload-HTTP-Method-Override': 'GET'
251
- },
252
- method: 'POST'
283
+ });
284
+ setSearch(searchArg);
285
+ }, 300);
286
+ const handleInputChange = useCallback((options)=>{
287
+ if (search !== options.search) {
288
+ setIsLoading(true);
289
+ setLastLoadedPage({});
290
+ updateSearch(options);
291
+ }
292
+ }, [
293
+ search,
294
+ updateSearch
295
+ ]);
296
+ const handleValueChange = useEffectEvent(({ hasMany: hasManyArg, value })=>{
297
+ const relationMap = createRelationMap(hasManyArg === true ? {
298
+ hasMany: hasManyArg,
299
+ relationTo,
300
+ value
301
+ } : {
302
+ hasMany: hasManyArg,
303
+ relationTo,
304
+ value
305
+ });
306
+ void Object.entries(relationMap).reduce(async (priorRelation, [relation, ids])=>{
307
+ await priorRelation;
308
+ const idsToLoad = ids.filter((id)=>{
309
+ return !options.find((optionGroup)=>optionGroup?.options?.find((option)=>option.value === id && option.relationTo === relation));
253
310
  });
254
- if (response.ok) {
255
- const data = await response.json();
256
- setLastLoadedPage(prevState => {
257
- return {
258
- ...prevState,
259
- [relation_0]: lastLoadedPageToUse
260
- };
261
- });
262
- if (!data.nextPage) {
263
- setLastFullyLoadedRelation(relations.indexOf(relation_0));
264
- }
265
- if (data.docs.length > 0) {
266
- resultsFetched += data.docs.length;
267
- dispatchOptions({
268
- type: 'ADD',
269
- collection,
270
- config,
271
- docs: data.docs,
272
- i18n,
273
- sort
311
+ if (idsToLoad.length > 0) {
312
+ const collection = getEntityConfig({
313
+ collectionSlug: relation
274
314
  });
275
- }
276
- } else if (response.status === 403) {
277
- setLastFullyLoadedRelation(relations.indexOf(relation_0));
278
- dispatchOptions({
279
- type: 'ADD',
280
- collection,
281
- config,
282
- docs: [],
283
- i18n,
284
- ids: relationMap[relation_0],
285
- sort
286
- });
287
- } else {
288
- setErrorLoading(t('error:unspecific'));
315
+ const fieldToSelect = collection?.admin?.useAsTitle || 'id';
316
+ const query = {
317
+ depth: 0,
318
+ draft: true,
319
+ limit: idsToLoad.length,
320
+ locale,
321
+ select: {
322
+ [fieldToSelect]: true
323
+ },
324
+ where: {
325
+ id: {
326
+ in: idsToLoad
327
+ }
328
+ }
329
+ };
330
+ if (!errorLoading) {
331
+ const response = await fetch(`${serverURL}${api}/${relation}`, {
332
+ body: qs.stringify(query),
333
+ credentials: 'include',
334
+ headers: {
335
+ 'Accept-Language': i18n.language,
336
+ 'Content-Type': 'application/x-www-form-urlencoded',
337
+ 'X-Payload-HTTP-Method-Override': 'GET'
338
+ },
339
+ method: 'POST'
340
+ });
341
+ let docs = [];
342
+ if (response.ok) {
343
+ const data = await response.json();
344
+ docs = data.docs;
345
+ }
346
+ dispatchOptions({
347
+ type: 'ADD',
348
+ collection,
349
+ config,
350
+ docs,
351
+ i18n,
352
+ ids: idsToLoad,
353
+ sort: true
354
+ });
355
+ }
289
356
  }
290
- }
291
357
  }, Promise.resolve());
292
- if (typeof onSuccess === 'function') {
293
- onSuccess();
294
- }
295
- }
296
- });
297
- }, [permissions, queueTask, relationTo, errorLoading, search, getEntityConfig, sortOptions, maxResultsPerRequest, locale, serverURL, api, i18n, config, t]);
298
- const updateSearch = useDebouncedCallback(({
299
- hasMany: hasManyArg_0,
300
- search: searchArg_0,
301
- value: value_0
302
- }) => {
303
- updateResultsEffectEvent({
304
- filterOptions,
305
- lastLoadedPage: {},
306
- onSuccess: () => {
307
- setIsLoading(false);
308
- },
309
- search: searchArg_0,
310
- sort: true,
311
- ...(hasManyArg_0 === true ? {
312
- hasMany: hasManyArg_0,
313
- value: value_0
314
- } : {
315
- hasMany: hasManyArg_0,
316
- value: value_0
317
- })
318
- });
319
- setSearch(searchArg_0);
320
- }, 300);
321
- const handleInputChange = useCallback(options_0 => {
322
- if (search !== options_0.search) {
323
- setIsLoading(true);
324
- setLastLoadedPage({});
325
- updateSearch(options_0);
326
- }
327
- }, [search, updateSearch]);
328
- const handleValueChange = useEffectEvent(({
329
- hasMany: hasManyArg_1,
330
- value: value_1
331
- }) => {
332
- const relationMap_0 = createRelationMap(hasManyArg_1 === true ? {
333
- hasMany: hasManyArg_1,
334
- relationTo,
335
- value: value_1
336
- } : {
337
- hasMany: hasManyArg_1,
338
- relationTo,
339
- value: value_1
340
358
  });
341
- void Object.entries(relationMap_0).reduce(async (priorRelation_0, [relation_1, ids]) => {
342
- await priorRelation_0;
343
- const idsToLoad = ids.filter(id => {
344
- return !options.find(optionGroup => optionGroup?.options?.find(option => option.value === id && option.relationTo === relation_1));
345
- });
346
- if (idsToLoad.length > 0) {
347
- const collection_0 = getEntityConfig({
348
- collectionSlug: relation_1
349
- });
350
- const fieldToSelect = collection_0?.admin?.useAsTitle || 'id';
351
- const query_0 = {
352
- depth: 0,
353
- draft: true,
354
- limit: idsToLoad.length,
355
- locale,
356
- select: {
357
- [fieldToSelect]: true
358
- },
359
- where: {
360
- id: {
361
- in: idsToLoad
359
+ const { mostRecentUpdate } = useDocumentEvents();
360
+ const handleDocumentUpdateEvent = useEffectEvent((mostRecentUpdate)=>{
361
+ if (!value) {
362
+ return false;
363
+ }
364
+ const docID = mostRecentUpdate.doc.id;
365
+ let isMatchingUpdate = false;
366
+ if (mostRecentUpdate.operation === 'update') {
367
+ if (hasMany === true) {
368
+ const currentValue = Array.isArray(value) ? value : [
369
+ value
370
+ ];
371
+ isMatchingUpdate = currentValue.some((option)=>{
372
+ return option.value === docID && option.relationTo === mostRecentUpdate.entitySlug;
373
+ });
374
+ } else if (hasMany === false) {
375
+ isMatchingUpdate = value?.value === docID && value?.relationTo === mostRecentUpdate.entitySlug;
362
376
  }
363
- }
364
- };
365
- if (!errorLoading) {
366
- const response_0 = await fetch(`${serverURL}${api}/${relation_1}`, {
367
- body: qs.stringify(query_0),
368
- credentials: 'include',
369
- headers: {
370
- 'Accept-Language': i18n.language,
371
- 'Content-Type': 'application/x-www-form-urlencoded',
372
- 'X-Payload-HTTP-Method-Override': 'GET'
373
- },
374
- method: 'POST'
375
- });
376
- let docs = [];
377
- if (response_0.ok) {
378
- const data_0 = await response_0.json();
379
- docs = data_0.docs;
380
- }
381
- dispatchOptions({
377
+ } else if (mostRecentUpdate.operation === 'create') {
378
+ // "Create New" drawer operations on the same level as this drawer should
379
+ // set the value to the newly created document.
380
+ // See test "should create document within document drawer > has one"
381
+ isMatchingUpdate = mostRecentUpdate.drawerSlug === drawerSlug;
382
+ }
383
+ if (!isMatchingUpdate) {
384
+ return;
385
+ }
386
+ const collectionConfig = getEntityConfig({
387
+ collectionSlug: mostRecentUpdate.entitySlug
388
+ });
389
+ dispatchOptions({
390
+ type: 'UPDATE',
391
+ collection: collectionConfig,
392
+ config,
393
+ doc: mostRecentUpdate.doc,
394
+ i18n
395
+ });
396
+ if (hasMany) {
397
+ const currentValue = value ? Array.isArray(value) ? value : [
398
+ value
399
+ ] : [];
400
+ const valuesToSet = currentValue.map((option)=>{
401
+ return {
402
+ relationTo: option.value === docID ? mostRecentUpdate.entitySlug : option.relationTo,
403
+ value: option.value
404
+ };
405
+ });
406
+ onChange(valuesToSet);
407
+ } else if (hasMany === false) {
408
+ onChange({
409
+ relationTo: mostRecentUpdate.entitySlug,
410
+ value: docID
411
+ });
412
+ }
413
+ });
414
+ /**
415
+ * Listen to document update events. If you edit a related document from a drawer and save it, this event
416
+ * will be triggered. We then need up update the label of this relationship input, as the useAsLabel field could have changed.
417
+ *
418
+ * We listen to this event instead of using the onSave callback on the document drawer, as the onSave callback is not triggered
419
+ * when you save a document from a drawer opened by a *different* relationship (or any other) field.
420
+ */ useEffect(()=>{
421
+ if (mostRecentUpdate) {
422
+ handleDocumentUpdateEvent(mostRecentUpdate);
423
+ }
424
+ }, [
425
+ mostRecentUpdate
426
+ ]);
427
+ const onDuplicate = useCallback((args)=>{
428
+ dispatchOptions({
382
429
  type: 'ADD',
383
- collection: collection_0,
430
+ collection: args.collectionConfig,
384
431
  config,
385
- docs,
432
+ docs: [
433
+ args.doc
434
+ ],
386
435
  i18n,
387
- ids: idsToLoad,
388
436
  sort: true
389
- });
390
- }
391
- }
392
- }, Promise.resolve());
393
- });
394
- const {
395
- mostRecentUpdate
396
- } = useDocumentEvents();
397
- const handleDocumentUpdateEvent = useEffectEvent(mostRecentUpdate_0 => {
398
- if (!value) {
399
- return false;
400
- }
401
- const docID = mostRecentUpdate_0.doc.id;
402
- let isMatchingUpdate = false;
403
- if (mostRecentUpdate_0.operation === 'update') {
404
- if (hasMany === true) {
405
- const currentValue = Array.isArray(value) ? value : [value];
406
- isMatchingUpdate = currentValue.some(option_0 => {
407
- return option_0.value === docID && option_0.relationTo === mostRecentUpdate_0.entitySlug;
408
437
  });
409
- } else if (hasMany === false) {
410
- isMatchingUpdate = value?.value === docID && value?.relationTo === mostRecentUpdate_0.entitySlug;
411
- }
412
- } else if (mostRecentUpdate_0.operation === 'create') {
413
- // "Create New" drawer operations on the same level as this drawer should
414
- // set the value to the newly created document.
415
- // See test "should create document within document drawer > has one"
416
- isMatchingUpdate = mostRecentUpdate_0.drawerSlug === drawerSlug;
417
- }
418
- if (!isMatchingUpdate) {
419
- return;
420
- }
421
- const collectionConfig = getEntityConfig({
422
- collectionSlug: mostRecentUpdate_0.entitySlug
423
- });
424
- dispatchOptions({
425
- type: 'UPDATE',
426
- collection: collectionConfig,
427
- config,
428
- doc: mostRecentUpdate_0.doc,
429
- i18n
430
- });
431
- if (hasMany) {
432
- const currentValue_0 = value ? Array.isArray(value) ? value : [value] : [];
433
- const valuesToSet = currentValue_0.map(option_1 => {
434
- return {
435
- relationTo: option_1.value === docID ? mostRecentUpdate_0.entitySlug : option_1.relationTo,
436
- value: option_1.value
437
- };
438
- });
439
- onChange(valuesToSet);
440
- } else if (hasMany === false) {
441
- onChange({
442
- relationTo: mostRecentUpdate_0.entitySlug,
443
- value: docID
444
- });
445
- }
446
- });
447
- /**
448
- * Listen to document update events. If you edit a related document from a drawer and save it, this event
449
- * will be triggered. We then need up update the label of this relationship input, as the useAsLabel field could have changed.
450
- *
451
- * We listen to this event instead of using the onSave callback on the document drawer, as the onSave callback is not triggered
452
- * when you save a document from a drawer opened by a *different* relationship (or any other) field.
453
- */
454
- useEffect(() => {
455
- if (mostRecentUpdate) {
456
- handleDocumentUpdateEvent(mostRecentUpdate);
457
- }
458
- }, [mostRecentUpdate]);
459
- const onDuplicate = useCallback(args => {
460
- dispatchOptions({
461
- type: 'ADD',
462
- collection: args.collectionConfig,
463
- config,
464
- docs: [args.doc],
465
- i18n,
466
- sort: true
467
- });
468
- if (hasMany) {
469
- onChange(value ? value.concat({
470
- relationTo: args.collectionConfig.slug,
471
- value: args.doc.id
472
- }) : null);
473
- } else if (hasMany === false) {
474
- onChange({
475
- relationTo: args.collectionConfig.slug,
476
- value: args.doc.id
477
- });
478
- }
479
- }, [i18n, config, hasMany, onChange, value]);
480
- const onDelete = useCallback(args_0 => {
481
- dispatchOptions({
482
- id: args_0.id,
483
- type: 'REMOVE',
484
- collection: args_0.collectionConfig,
485
- config,
486
- i18n
487
- });
488
- if (hasMany) {
489
- onChange(value ? value.filter(option_2 => {
490
- return option_2.value !== args_0.id;
491
- }) : null);
492
- } else {
493
- onChange(null);
494
- }
495
- return;
496
- }, [i18n, config, hasMany, onChange, value]);
497
- const filterOption = useCallback((item, searchFilter) => {
498
- if (!searchFilter) {
499
- return true;
500
- }
501
- const r = wordBoundariesRegex(searchFilter || '');
502
- // breaking the labels to search into smaller parts increases performance
503
- const breakApartThreshold = 250;
504
- let labelString = String(item.label);
505
- // strings less than breakApartThreshold length won't be chunked
506
- while (labelString.length > breakApartThreshold) {
507
- // slicing by the next space after the length of the search input prevents slicing the string up by partial words
508
- const indexOfSpace = labelString.indexOf(' ', searchFilter.length);
509
- if (r.test(labelString.slice(0, indexOfSpace === -1 ? searchFilter.length : indexOfSpace + 1))) {
510
- return true;
511
- }
512
- labelString = labelString.slice(indexOfSpace === -1 ? searchFilter.length : indexOfSpace + 1);
513
- }
514
- return r.test(labelString.slice(-breakApartThreshold));
515
- }, []);
516
- const onDocumentOpen = useCallback(({
517
- id: id_0,
518
- collectionSlug: collectionSlug_0,
519
- hasReadPermission,
520
- openInNewTab
521
- }) => {
522
- if (openInNewTab) {
523
- if (hasReadPermission && id_0 && collectionSlug_0) {
524
- const docUrl = formatAdminURL({
525
- adminRoute: config.routes.admin,
526
- path: `/collections/${collectionSlug_0}/${id_0}`
527
- });
528
- window.open(docUrl, '_blank');
529
- }
530
- } else {
531
- openDrawerWhenRelationChanges.current = true;
532
- setCurrentlyOpenRelationship({
533
- id: id_0,
534
- collectionSlug: collectionSlug_0,
535
- hasReadPermission
536
- });
537
- }
538
- }, [config.routes.admin]);
539
- const updateResultsEffectEvent = useEffectEvent(args_1 => {
540
- return updateResults(args_1);
541
- });
542
- // When (`relationTo` || `filterOptions` || `locale`) changes, reset component
543
- // Note - effect should not run on first run
544
- useEffect(() => {
545
- // If the menu is open while filterOptions changes
546
- // due to latency of form state and fast clicking into this field,
547
- // re-fetch options
548
- if (hasLoadedFirstPageRef.current && menuIsOpen) {
549
- setIsLoading(true);
550
- void updateResultsEffectEvent({
551
- filterOptions,
552
- lastLoadedPage: {},
553
- onSuccess: () => {
554
- hasLoadedFirstPageRef.current = true;
555
- setIsLoading(false);
556
- },
557
- ...(hasMany === true ? {
558
- hasMany,
559
- value: valueRef.current
560
- } : {
561
- hasMany,
562
- value: valueRef.current
563
- })
564
- });
565
- }
566
- // If the menu is not open, still reset the field state
567
- // because we need to get new options next time the menu opens
568
- dispatchOptions({
569
- type: 'CLEAR',
570
- exemptValues: valueRef.current
571
- });
572
- setLastFullyLoadedRelation(-1);
573
- setLastLoadedPage({});
574
- }, [relationTo, filterOptions, locale, path, menuIsOpen, hasMany]);
575
- const prevValue = useRef(value);
576
- const isFirstRenderRef = useRef(true);
577
- // ///////////////////////////////////
578
- // Ensure we have an option for each value
579
- // ///////////////////////////////////
580
- useEffect(() => {
581
- if (isFirstRenderRef.current || !dequal(value, prevValue.current)) {
582
- handleValueChange(hasMany === true ? {
438
+ if (hasMany) {
439
+ onChange(value ? value.concat({
440
+ relationTo: args.collectionConfig.slug,
441
+ value: args.doc.id
442
+ }) : null);
443
+ } else if (hasMany === false) {
444
+ onChange({
445
+ relationTo: args.collectionConfig.slug,
446
+ value: args.doc.id
447
+ });
448
+ }
449
+ }, [
450
+ i18n,
451
+ config,
583
452
  hasMany,
453
+ onChange,
584
454
  value
585
- } : {
455
+ ]);
456
+ const onDelete = useCallback((args)=>{
457
+ dispatchOptions({
458
+ id: args.id,
459
+ type: 'REMOVE',
460
+ collection: args.collectionConfig,
461
+ config,
462
+ i18n
463
+ });
464
+ if (hasMany) {
465
+ onChange(value ? value.filter((option)=>{
466
+ return option.value !== args.id;
467
+ }) : null);
468
+ } else {
469
+ onChange(null);
470
+ }
471
+ return;
472
+ }, [
473
+ i18n,
474
+ config,
586
475
  hasMany,
476
+ onChange,
587
477
  value
588
- });
589
- }
590
- isFirstRenderRef.current = false;
591
- prevValue.current = value;
592
- }, [value, hasMany]);
593
- // Determine if we should switch to word boundary search
594
- useEffect(() => {
595
- const relations_0 = Array.isArray(relationTo) ? relationTo : [relationTo];
596
- const isIdOnly = relations_0.reduce((idOnly, relation_2) => {
597
- const collection_1 = getEntityConfig({
598
- collectionSlug: relation_2
599
- });
600
- const fieldToSearch_0 = collection_1?.admin?.useAsTitle || 'id';
601
- return fieldToSearch_0 === 'id' && idOnly;
602
- }, true);
603
- setEnableWordBoundarySearch(!isIdOnly);
604
- }, [relationTo, getEntityConfig]);
605
- useEffect(() => {
606
- if (openDrawerWhenRelationChanges.current) {
607
- openDrawer();
608
- openDrawerWhenRelationChanges.current = false;
609
- }
610
- }, [openDrawer, currentlyOpenRelationship]);
611
- useEffect(() => {
612
- // needed to sync the ref value when other fields influence the value
613
- // i.e. when a drawer is opened and the value is set
614
- valueRef.current = value;
615
- }, [value]);
616
- const valueToRender = findOptionsByValue({
617
- allowEdit,
618
- options,
619
- value
620
- });
621
- if (!Array.isArray(valueToRender) && valueToRender?.value === 'null') {
622
- valueToRender.value = null;
623
- }
624
- return /*#__PURE__*/_jsxs("div", {
625
- className: [fieldBaseClass, baseClass, className, showError && 'error', errorLoading && 'error-loading', readOnly && `${baseClass}--read-only`, !readOnly && allowCreate && `${baseClass}--allow-create`].filter(Boolean).join(' '),
626
- id: `field-${path.replace(/\./g, '__')}`,
627
- style: style,
628
- children: [/*#__PURE__*/_jsx(RenderCustomComponent, {
629
- CustomComponent: Label,
630
- Fallback: /*#__PURE__*/_jsx(FieldLabel, {
631
- label: label,
632
- localized: localized,
633
- path: path,
634
- required: required
635
- })
636
- }), /*#__PURE__*/_jsxs("div", {
637
- className: `${fieldBaseClass}__wrap`,
638
- children: [/*#__PURE__*/_jsx(RenderCustomComponent, {
639
- CustomComponent: Error,
640
- Fallback: /*#__PURE__*/_jsx(FieldError, {
641
- path: path,
642
- showError: showError
643
- })
644
- }), BeforeInput, errorLoading ? /*#__PURE__*/_jsx("div", {
645
- className: `${baseClass}__error-loading`,
646
- children: errorLoading
647
- }) : /*#__PURE__*/_jsxs("div", {
648
- className: `${baseClass}__wrap`,
649
- children: [/*#__PURE__*/_jsx(ReactSelect, {
650
- backspaceRemovesValue: !(isDrawerOpen || isListDrawerOpen),
651
- components: {
652
- MultiValueLabel,
653
- SingleValue,
654
- ...(appearance !== 'select' && {
655
- DropdownIndicator: null
656
- })
657
- },
658
- customProps: {
659
- disableKeyDown: isDrawerOpen || isListDrawerOpen,
660
- disableMouseDown: isDrawerOpen || isListDrawerOpen,
661
- onDocumentOpen
662
- },
663
- disabled: readOnly || isDrawerOpen || isListDrawerOpen,
664
- filterOption: enableWordBoundarySearch ? filterOption : undefined,
665
- getOptionValue: option_3 => {
666
- if (!option_3) {
667
- return undefined;
478
+ ]);
479
+ const filterOption = useCallback((item, searchFilter)=>{
480
+ if (!searchFilter) {
481
+ return true;
482
+ }
483
+ const r = wordBoundariesRegex(searchFilter || '');
484
+ // breaking the labels to search into smaller parts increases performance
485
+ const breakApartThreshold = 250;
486
+ let labelString = String(item.label);
487
+ // strings less than breakApartThreshold length won't be chunked
488
+ while(labelString.length > breakApartThreshold){
489
+ // slicing by the next space after the length of the search input prevents slicing the string up by partial words
490
+ const indexOfSpace = labelString.indexOf(' ', searchFilter.length);
491
+ if (r.test(labelString.slice(0, indexOfSpace === -1 ? searchFilter.length : indexOfSpace + 1))) {
492
+ return true;
668
493
  }
669
- return hasMany && Array.isArray(relationTo) ? `${option_3.relationTo}_${option_3.value}` : option_3.value;
670
- },
671
- isLoading: appearance === 'select' && isLoading,
672
- isMulti: hasMany,
673
- isSearchable: appearance === 'select',
674
- isSortable: isSortable,
675
- menuIsOpen: appearance === 'select' ? menuIsOpen : false,
676
- onChange: !readOnly ? selected => {
677
- if (hasMany) {
678
- if (selected === null) {
679
- valueRef.current = [];
680
- onChange([]);
681
- } else {
682
- valueRef.current = selected;
683
- onChange(selected);
684
- }
685
- } else if (hasMany === false) {
686
- if (selected === null) {
687
- valueRef.current = null;
688
- onChange(null);
689
- } else {
690
- valueRef.current = selected;
691
- onChange(selected);
692
- }
494
+ labelString = labelString.slice(indexOfSpace === -1 ? searchFilter.length : indexOfSpace + 1);
495
+ }
496
+ return r.test(labelString.slice(-breakApartThreshold));
497
+ }, []);
498
+ const onDocumentOpen = useCallback(({ id, collectionSlug, hasReadPermission, openInNewTab })=>{
499
+ if (openInNewTab) {
500
+ if (hasReadPermission && id && collectionSlug) {
501
+ const docUrl = formatAdminURL({
502
+ adminRoute: config.routes.admin,
503
+ path: `/collections/${collectionSlug}/${id}`
504
+ });
505
+ window.open(docUrl, '_blank');
693
506
  }
694
- } : undefined,
695
- onInputChange: newSearch => handleInputChange({
696
- search: newSearch,
697
- ...(hasMany === true ? {
698
- hasMany,
699
- value
700
- } : {
701
- hasMany,
702
- value
703
- })
704
- }),
705
- onMenuClose: () => {
706
- setMenuIsOpen(false);
707
- },
708
- onMenuOpen: () => {
709
- if (appearance === 'drawer') {
710
- openListDrawer();
711
- } else if (appearance === 'select') {
712
- setMenuIsOpen(true);
713
- if (!hasLoadedFirstPageRef.current) {
714
- setIsLoading(true);
715
- updateResultsEffectEvent({
716
- filterOptions,
717
- lastLoadedPage: {},
718
- onSuccess: () => {
507
+ } else {
508
+ openDrawerWhenRelationChanges.current = true;
509
+ setCurrentlyOpenRelationship({
510
+ id,
511
+ collectionSlug,
512
+ hasReadPermission
513
+ });
514
+ }
515
+ }, [
516
+ config.routes.admin
517
+ ]);
518
+ const updateResultsEffectEvent = useEffectEvent((args)=>{
519
+ return updateResults(args);
520
+ });
521
+ // When (`relationTo` || `filterOptions` || `locale`) changes, reset component
522
+ // Note - effect should not run on first run
523
+ useEffect(()=>{
524
+ // If the menu is open while filterOptions changes
525
+ // due to latency of form state and fast clicking into this field,
526
+ // re-fetch options
527
+ if (hasLoadedFirstPageRef.current && menuIsOpen) {
528
+ setIsLoading(true);
529
+ void updateResultsEffectEvent({
530
+ filterOptions,
531
+ lastLoadedPage: {},
532
+ onSuccess: ()=>{
719
533
  hasLoadedFirstPageRef.current = true;
720
534
  setIsLoading(false);
721
- },
722
- ...(hasMany === true ? {
535
+ },
536
+ ...hasMany === true ? {
723
537
  hasMany,
724
- value
725
- } : {
538
+ value: valueRef.current
539
+ } : {
726
540
  hasMany,
727
- value
728
- })
729
- });
730
- }
731
- }
732
- },
733
- onMenuScrollToBottom: () => {
734
- setIsLoading(true);
735
- updateResultsEffectEvent({
736
- filterOptions,
737
- lastFullyLoadedRelation,
738
- lastLoadedPage,
739
- onSuccess: () => {
740
- setIsLoading(false);
741
- },
742
- search,
743
- sort: false,
744
- ...(hasMany === true ? {
541
+ value: valueRef.current
542
+ }
543
+ });
544
+ }
545
+ // If the menu is not open, still reset the field state
546
+ // because we need to get new options next time the menu opens
547
+ dispatchOptions({
548
+ type: 'CLEAR',
549
+ exemptValues: valueRef.current
550
+ });
551
+ setLastFullyLoadedRelation(-1);
552
+ setLastLoadedPage({});
553
+ }, [
554
+ relationTo,
555
+ filterOptions,
556
+ locale,
557
+ path,
558
+ menuIsOpen,
559
+ hasMany
560
+ ]);
561
+ const prevValue = useRef(value);
562
+ const isFirstRenderRef = useRef(true);
563
+ // ///////////////////////////////////
564
+ // Ensure we have an option for each value
565
+ // ///////////////////////////////////
566
+ useEffect(()=>{
567
+ if (isFirstRenderRef.current || !dequal(value, prevValue.current)) {
568
+ handleValueChange(hasMany === true ? {
745
569
  hasMany,
746
- value: initialValue
747
- } : {
570
+ value
571
+ } : {
748
572
  hasMany,
749
- value: initialValue
750
- })
573
+ value
751
574
  });
752
- },
753
- options: typeof formatDisplayedOptions === 'function' ? formatDisplayedOptions(options) : options,
754
- placeholder: placeholder,
755
- showError: showError,
756
- value: valueToRender ?? null
757
- }), !readOnly && allowCreate && /*#__PURE__*/_jsx(AddNewRelation, {
758
- path: path,
759
- relationTo: relationTo,
760
- ...(hasMany === true ? {
761
- hasMany,
762
- onChange,
763
- value
764
- } : {
765
- hasMany,
766
- onChange,
767
- value
768
- })
769
- })]
770
- }), AfterInput, /*#__PURE__*/_jsx(RenderCustomComponent, {
771
- CustomComponent: Description,
772
- Fallback: /*#__PURE__*/_jsx(FieldDescription, {
773
- description: description,
774
- path: path
775
- })
776
- })]
777
- }), currentlyOpenRelationship.collectionSlug && currentlyOpenRelationship.hasReadPermission && /*#__PURE__*/_jsx(DocumentDrawer, {
778
- onDelete: onDelete,
779
- onDuplicate: onDuplicate
780
- }), appearance === 'drawer' && !readOnly && /*#__PURE__*/_jsx(ListDrawer, {
781
- allowCreate: allowCreate,
782
- enableRowSelections: false,
783
- onSelect: onListSelect
784
- })]
785
- });
575
+ }
576
+ isFirstRenderRef.current = false;
577
+ prevValue.current = value;
578
+ }, [
579
+ value,
580
+ hasMany
581
+ ]);
582
+ // Determine if we should switch to word boundary search
583
+ useEffect(()=>{
584
+ const relations = Array.isArray(relationTo) ? relationTo : [
585
+ relationTo
586
+ ];
587
+ const isIdOnly = relations.reduce((idOnly, relation)=>{
588
+ const collection = getEntityConfig({
589
+ collectionSlug: relation
590
+ });
591
+ const fieldToSearch = collection?.admin?.useAsTitle || 'id';
592
+ return fieldToSearch === 'id' && idOnly;
593
+ }, true);
594
+ setEnableWordBoundarySearch(!isIdOnly);
595
+ }, [
596
+ relationTo,
597
+ getEntityConfig
598
+ ]);
599
+ useEffect(()=>{
600
+ if (openDrawerWhenRelationChanges.current) {
601
+ openDrawer();
602
+ openDrawerWhenRelationChanges.current = false;
603
+ }
604
+ }, [
605
+ openDrawer,
606
+ currentlyOpenRelationship
607
+ ]);
608
+ useEffect(()=>{
609
+ // needed to sync the ref value when other fields influence the value
610
+ // i.e. when a drawer is opened and the value is set
611
+ valueRef.current = value;
612
+ }, [
613
+ value
614
+ ]);
615
+ const valueToRender = findOptionsByValue({
616
+ allowEdit,
617
+ options,
618
+ value
619
+ });
620
+ if (!Array.isArray(valueToRender) && valueToRender?.value === 'null') {
621
+ valueToRender.value = null;
622
+ }
623
+ return /*#__PURE__*/ _jsxs("div", {
624
+ className: [
625
+ fieldBaseClass,
626
+ baseClass,
627
+ className,
628
+ showError && 'error',
629
+ errorLoading && 'error-loading',
630
+ readOnly && `${baseClass}--read-only`,
631
+ !readOnly && allowCreate && `${baseClass}--allow-create`
632
+ ].filter(Boolean).join(' '),
633
+ id: `field-${path.replace(/\./g, '__')}`,
634
+ style: style,
635
+ children: [
636
+ /*#__PURE__*/ _jsx(RenderCustomComponent, {
637
+ CustomComponent: Label,
638
+ Fallback: /*#__PURE__*/ _jsx(FieldLabel, {
639
+ label: label,
640
+ localized: localized,
641
+ path: path,
642
+ required: required
643
+ })
644
+ }),
645
+ /*#__PURE__*/ _jsxs("div", {
646
+ className: `${fieldBaseClass}__wrap`,
647
+ children: [
648
+ /*#__PURE__*/ _jsx(RenderCustomComponent, {
649
+ CustomComponent: Error,
650
+ Fallback: /*#__PURE__*/ _jsx(FieldError, {
651
+ path: path,
652
+ showError: showError
653
+ })
654
+ }),
655
+ BeforeInput,
656
+ errorLoading ? /*#__PURE__*/ _jsx("div", {
657
+ className: `${baseClass}__error-loading`,
658
+ children: errorLoading
659
+ }) : /*#__PURE__*/ _jsxs("div", {
660
+ className: `${baseClass}__wrap`,
661
+ children: [
662
+ /*#__PURE__*/ _jsx(ReactSelect, {
663
+ backspaceRemovesValue: !(isDrawerOpen || isListDrawerOpen),
664
+ components: {
665
+ MultiValueLabel,
666
+ SingleValue,
667
+ ...appearance !== 'select' && {
668
+ DropdownIndicator: null
669
+ }
670
+ },
671
+ customProps: {
672
+ disableKeyDown: isDrawerOpen || isListDrawerOpen,
673
+ disableMouseDown: isDrawerOpen || isListDrawerOpen,
674
+ onDocumentOpen
675
+ },
676
+ disabled: readOnly || isDrawerOpen || isListDrawerOpen,
677
+ filterOption: enableWordBoundarySearch ? filterOption : undefined,
678
+ getOptionValue: (option)=>{
679
+ if (!option) {
680
+ return undefined;
681
+ }
682
+ return hasMany && Array.isArray(relationTo) ? `${option.relationTo}_${option.value}` : option.value;
683
+ },
684
+ isLoading: appearance === 'select' && isLoading,
685
+ isMulti: hasMany,
686
+ isSearchable: appearance === 'select',
687
+ isSortable: isSortable,
688
+ menuIsOpen: appearance === 'select' ? menuIsOpen : false,
689
+ onChange: !readOnly ? (selected)=>{
690
+ if (hasMany) {
691
+ if (selected === null) {
692
+ valueRef.current = [];
693
+ onChange([]);
694
+ } else {
695
+ valueRef.current = selected;
696
+ onChange(selected);
697
+ }
698
+ } else if (hasMany === false) {
699
+ if (selected === null) {
700
+ valueRef.current = null;
701
+ onChange(null);
702
+ } else {
703
+ valueRef.current = selected;
704
+ onChange(selected);
705
+ }
706
+ }
707
+ } : undefined,
708
+ onInputChange: (newSearch)=>handleInputChange({
709
+ search: newSearch,
710
+ ...hasMany === true ? {
711
+ hasMany,
712
+ value
713
+ } : {
714
+ hasMany,
715
+ value
716
+ }
717
+ }),
718
+ onMenuClose: ()=>{
719
+ setMenuIsOpen(false);
720
+ },
721
+ onMenuOpen: ()=>{
722
+ if (appearance === 'drawer') {
723
+ openListDrawer();
724
+ } else if (appearance === 'select') {
725
+ setMenuIsOpen(true);
726
+ if (!hasLoadedFirstPageRef.current) {
727
+ setIsLoading(true);
728
+ updateResultsEffectEvent({
729
+ filterOptions,
730
+ lastLoadedPage: {},
731
+ onSuccess: ()=>{
732
+ hasLoadedFirstPageRef.current = true;
733
+ setIsLoading(false);
734
+ },
735
+ ...hasMany === true ? {
736
+ hasMany,
737
+ value
738
+ } : {
739
+ hasMany,
740
+ value
741
+ }
742
+ });
743
+ }
744
+ }
745
+ },
746
+ onMenuScrollToBottom: ()=>{
747
+ setIsLoading(true);
748
+ updateResultsEffectEvent({
749
+ filterOptions,
750
+ lastFullyLoadedRelation,
751
+ lastLoadedPage,
752
+ onSuccess: ()=>{
753
+ setIsLoading(false);
754
+ },
755
+ search,
756
+ sort: false,
757
+ ...hasMany === true ? {
758
+ hasMany,
759
+ value: initialValue
760
+ } : {
761
+ hasMany,
762
+ value: initialValue
763
+ }
764
+ });
765
+ },
766
+ options: typeof formatDisplayedOptions === 'function' ? formatDisplayedOptions(options) : options,
767
+ placeholder: placeholder,
768
+ showError: showError,
769
+ value: valueToRender ?? null
770
+ }),
771
+ !readOnly && allowCreate && /*#__PURE__*/ _jsx(AddNewRelation, {
772
+ path: path,
773
+ relationTo: relationTo,
774
+ ...hasMany === true ? {
775
+ hasMany,
776
+ onChange,
777
+ value
778
+ } : {
779
+ hasMany,
780
+ onChange,
781
+ value
782
+ }
783
+ })
784
+ ]
785
+ }),
786
+ AfterInput,
787
+ /*#__PURE__*/ _jsx(RenderCustomComponent, {
788
+ CustomComponent: Description,
789
+ Fallback: /*#__PURE__*/ _jsx(FieldDescription, {
790
+ description: description,
791
+ path: path
792
+ })
793
+ })
794
+ ]
795
+ }),
796
+ currentlyOpenRelationship.collectionSlug && currentlyOpenRelationship.hasReadPermission && /*#__PURE__*/ _jsx(DocumentDrawer, {
797
+ onDelete: onDelete,
798
+ onDuplicate: onDuplicate
799
+ }),
800
+ appearance === 'drawer' && !readOnly && /*#__PURE__*/ _jsx(ListDrawer, {
801
+ allowCreate: allowCreate,
802
+ enableRowSelections: false,
803
+ onSelect: onListSelect
804
+ })
805
+ ]
806
+ });
786
807
  };
808
+
787
809
  //# sourceMappingURL=Input.js.map