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

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