@payloadcms/ui 3.68.0-internal-debug.e9b66ee → 3.68.0-internal.10bf491

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