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

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