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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1208) hide show
  1. package/dist/@types/assets.d.js.map +1 -1
  2. package/dist/assets/index.js +1 -0
  3. package/dist/assets/index.js.map +1 -1
  4. package/dist/elements/AddNewRelation/index.js +218 -273
  5. package/dist/elements/AddNewRelation/index.js.map +1 -1
  6. package/dist/elements/AddNewRelation/types.js +2 -1
  7. package/dist/elements/AddNewRelation/types.js.map +1 -1
  8. package/dist/elements/AnimateHeight/index.js +84 -73
  9. package/dist/elements/AnimateHeight/index.js.map +1 -1
  10. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +71 -68
  11. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
  12. package/dist/elements/AppHeader/index.js +171 -101
  13. package/dist/elements/AppHeader/index.js.map +1 -1
  14. package/dist/elements/ArrayAction/index.js +186 -118
  15. package/dist/elements/ArrayAction/index.js.map +1 -1
  16. package/dist/elements/Autosave/index.js +162 -181
  17. package/dist/elements/Autosave/index.js.map +1 -1
  18. package/dist/elements/Banner/index.js +52 -32
  19. package/dist/elements/Banner/index.js.map +1 -1
  20. package/dist/elements/BulkUpload/ActionsBar/index.js +169 -173
  21. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  22. package/dist/elements/BulkUpload/AddFilesView/index.js +84 -51
  23. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/AddingFilesView/index.js +85 -94
  25. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  26. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +30 -56
  27. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +19 -27
  29. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/EditForm/index.js +179 -169
  31. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  32. package/dist/elements/BulkUpload/EditForm/types.js +2 -1
  33. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  34. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +221 -172
  35. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  36. package/dist/elements/BulkUpload/EditMany/index.js +56 -57
  37. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  38. package/dist/elements/BulkUpload/FileSidebar/index.js +395 -316
  39. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  40. package/dist/elements/BulkUpload/FormsManager/createFormData.js +33 -32
  41. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  42. package/dist/elements/BulkUpload/FormsManager/index.js +503 -473
  43. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  44. package/dist/elements/BulkUpload/FormsManager/reducer.js +100 -90
  45. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  46. package/dist/elements/BulkUpload/Header/index.js +27 -15
  47. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  48. package/dist/elements/BulkUpload/index.js +204 -271
  49. package/dist/elements/BulkUpload/index.js.map +1 -1
  50. package/dist/elements/Button/index.js +227 -160
  51. package/dist/elements/Button/index.js.map +1 -1
  52. package/dist/elements/Button/types.js +14 -1
  53. package/dist/elements/Button/types.js.map +1 -1
  54. package/dist/elements/Card/index.js +53 -33
  55. package/dist/elements/Card/index.js.map +1 -1
  56. package/dist/elements/CheckboxPopup/index.js +43 -36
  57. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  58. package/dist/elements/ClipboardAction/ClipboardActionLabel.js +29 -35
  59. package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
  60. package/dist/elements/ClipboardAction/clipboardUtilities.js +33 -43
  61. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  62. package/dist/elements/ClipboardAction/index.js +110 -83
  63. package/dist/elements/ClipboardAction/index.js.map +1 -1
  64. package/dist/elements/ClipboardAction/isClipboardDataValid.js +64 -71
  65. package/dist/elements/ClipboardAction/isClipboardDataValid.js.map +1 -1
  66. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +75 -93
  67. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  68. package/dist/elements/ClipboardAction/types.js +2 -1
  69. package/dist/elements/ClipboardAction/types.js.map +1 -1
  70. package/dist/elements/CloseModalButton/index.js +25 -20
  71. package/dist/elements/CloseModalButton/index.js.map +1 -1
  72. package/dist/elements/CloseModalOnRouteChange/index.js +17 -43
  73. package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
  74. package/dist/elements/CodeEditor/CodeEditor.js +82 -97
  75. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  76. package/dist/elements/CodeEditor/constants.js +15 -14
  77. package/dist/elements/CodeEditor/constants.js.map +1 -1
  78. package/dist/elements/CodeEditor/index.js +22 -10
  79. package/dist/elements/CodeEditor/index.js.map +1 -1
  80. package/dist/elements/CodeEditor/types.js +4 -1
  81. package/dist/elements/CodeEditor/types.js.map +1 -1
  82. package/dist/elements/Collapsible/index.js +151 -141
  83. package/dist/elements/Collapsible/index.js.map +1 -1
  84. package/dist/elements/Collapsible/provider.js +32 -30
  85. package/dist/elements/Collapsible/provider.js.map +1 -1
  86. package/dist/elements/ColumnSelector/index.js +54 -54
  87. package/dist/elements/ColumnSelector/index.js.map +1 -1
  88. package/dist/elements/Combobox/index.js +114 -84
  89. package/dist/elements/Combobox/index.js.map +1 -1
  90. package/dist/elements/ConfirmationModal/index.js +116 -129
  91. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  92. package/dist/elements/CopyLocaleData/index.js +213 -272
  93. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  94. package/dist/elements/CopyToClipboard/index.js +47 -70
  95. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  96. package/dist/elements/DatePicker/DatePicker.js +130 -136
  97. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  98. package/dist/elements/DatePicker/getFormattedLocale.js +11 -10
  99. package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
  100. package/dist/elements/DatePicker/index.js +23 -11
  101. package/dist/elements/DatePicker/index.js.map +1 -1
  102. package/dist/elements/DatePicker/types.js +2 -1
  103. package/dist/elements/DatePicker/types.js.map +1 -1
  104. package/dist/elements/DefaultListViewTabs/index.js +97 -131
  105. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  106. package/dist/elements/DeleteDocument/index.js +170 -141
  107. package/dist/elements/DeleteDocument/index.js.map +1 -1
  108. package/dist/elements/DeleteMany/index.js +371 -332
  109. package/dist/elements/DeleteMany/index.js.map +1 -1
  110. package/dist/elements/DocumentControls/index.js +494 -274
  111. package/dist/elements/DocumentControls/index.js.map +1 -1
  112. package/dist/elements/DocumentDrawer/DrawerContent.js +141 -122
  113. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  114. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +96 -103
  115. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  116. package/dist/elements/DocumentDrawer/Provider.js +24 -18
  117. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  118. package/dist/elements/DocumentDrawer/index.js +134 -210
  119. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  120. package/dist/elements/DocumentDrawer/types.js +12 -1
  121. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  122. package/dist/elements/DocumentFields/index.js +106 -69
  123. package/dist/elements/DocumentFields/index.js.map +1 -1
  124. package/dist/elements/DocumentLocked/index.js +154 -179
  125. package/dist/elements/DocumentLocked/index.js.map +1 -1
  126. package/dist/elements/DocumentTakeOver/index.js +97 -113
  127. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  128. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +26 -60
  129. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  130. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +2 -1
  131. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  132. package/dist/elements/DraggableSortable/index.js +72 -124
  133. package/dist/elements/DraggableSortable/index.js.map +1 -1
  134. package/dist/elements/DraggableSortable/types.js +2 -1
  135. package/dist/elements/DraggableSortable/types.js.map +1 -1
  136. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +25 -85
  137. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  138. package/dist/elements/DraggableSortable/useDraggableSortable/types.js +2 -1
  139. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  140. package/dist/elements/Drawer/index.js +166 -192
  141. package/dist/elements/Drawer/index.js.map +1 -1
  142. package/dist/elements/Drawer/types.js +2 -1
  143. package/dist/elements/Drawer/types.js.map +1 -1
  144. package/dist/elements/Drawer/useDrawerSlug.js +7 -19
  145. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  146. package/dist/elements/DrawerActionHeader/index.js +59 -61
  147. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  148. package/dist/elements/DrawerContentContainer/index.js +14 -9
  149. package/dist/elements/DrawerContentContainer/index.js.map +1 -1
  150. package/dist/elements/Dropzone/index.js +90 -75
  151. package/dist/elements/Dropzone/index.js.map +1 -1
  152. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +145 -87
  153. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  154. package/dist/elements/DuplicateDocument/index.js +155 -145
  155. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  156. package/dist/elements/EditMany/DrawerContent.js +398 -392
  157. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  158. package/dist/elements/EditMany/index.js +79 -131
  159. package/dist/elements/EditMany/index.js.map +1 -1
  160. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  161. package/dist/elements/EditUpload/index.js +572 -401
  162. package/dist/elements/EditUpload/index.js.map +1 -1
  163. package/dist/elements/EmailAndUsername/index.js +96 -77
  164. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  165. package/dist/elements/ErrorPill/index.js +38 -24
  166. package/dist/elements/ErrorPill/index.js.map +1 -1
  167. package/dist/elements/FieldDiffContainer/index.js +50 -34
  168. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  169. package/dist/elements/FieldDiffLabel/index.js +10 -7
  170. package/dist/elements/FieldDiffLabel/index.js.map +1 -1
  171. package/dist/elements/FieldSelect/index.js +45 -75
  172. package/dist/elements/FieldSelect/index.js.map +1 -1
  173. package/dist/elements/FieldSelect/reduceFieldOptions.js +69 -67
  174. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  175. package/dist/elements/FileDetails/DraggableFileDetails/index.js +113 -105
  176. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  177. package/dist/elements/FileDetails/FileMeta/index.js +72 -33
  178. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  179. package/dist/elements/FileDetails/StaticFileDetails/index.js +76 -58
  180. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  181. package/dist/elements/FileDetails/index.js +20 -14
  182. package/dist/elements/FileDetails/index.js.map +1 -1
  183. package/dist/elements/FolderView/Breadcrumbs/index.js +59 -86
  184. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
  185. package/dist/elements/FolderView/BrowseByFolderButton/index.js +30 -30
  186. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
  187. package/dist/elements/FolderView/Cell/index.client.js +88 -87
  188. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  189. package/dist/elements/FolderView/Cell/index.server.js +19 -14
  190. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  191. package/dist/elements/FolderView/ColoredFolderIcon/index.js +9 -4
  192. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
  193. package/dist/elements/FolderView/CurrentFolderActions/index.js +174 -138
  194. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  195. package/dist/elements/FolderView/DragOverlaySelection/index.js +70 -51
  196. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
  197. package/dist/elements/FolderView/DraggableTableRow/index.js +71 -54
  198. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
  199. package/dist/elements/FolderView/DraggableWithClick/index.js +75 -79
  200. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
  201. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +35 -33
  202. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
  203. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +497 -565
  204. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  205. package/dist/elements/FolderView/FilterFolderTypePill/index.js +61 -89
  206. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
  207. package/dist/elements/FolderView/FolderField/index.server.js +15 -10
  208. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
  209. package/dist/elements/FolderView/FolderFileCard/index.js +218 -188
  210. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  211. package/dist/elements/FolderView/FolderFileTable/index.js +203 -264
  212. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
  213. package/dist/elements/FolderView/FolderTypeField/index.js +93 -114
  214. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
  215. package/dist/elements/FolderView/ItemCardGrid/index.js +35 -27
  216. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
  217. package/dist/elements/FolderView/MoveDocToFolder/index.js +142 -264
  218. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  219. package/dist/elements/FolderView/SimpleTable/index.js +105 -83
  220. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
  221. package/dist/elements/FolderView/SortByPill/index.js +162 -100
  222. package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
  223. package/dist/elements/FolderView/ToggleViewButtons/index.js +47 -24
  224. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
  225. package/dist/elements/FullscreenModal/index.js +16 -22
  226. package/dist/elements/FullscreenModal/index.js.map +1 -1
  227. package/dist/elements/GenerateConfirmation/index.js +63 -83
  228. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  229. package/dist/elements/GroupByBuilder/index.js +142 -100
  230. package/dist/elements/GroupByBuilder/index.js.map +1 -1
  231. package/dist/elements/Gutter/index.js +22 -19
  232. package/dist/elements/Gutter/index.js.map +1 -1
  233. package/dist/elements/HTMLDiff/diff/index.js +522 -500
  234. package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
  235. package/dist/elements/HTMLDiff/index.js +31 -26
  236. package/dist/elements/HTMLDiff/index.js.map +1 -1
  237. package/dist/elements/Hamburger/index.js +51 -40
  238. package/dist/elements/Hamburger/index.js.map +1 -1
  239. package/dist/elements/HydrateAuthProvider/index.js +15 -27
  240. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  241. package/dist/elements/IDLabel/index.js +31 -57
  242. package/dist/elements/IDLabel/index.js.map +1 -1
  243. package/dist/elements/ItemsDrawer/ItemSearch/index.js +43 -48
  244. package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -1
  245. package/dist/elements/ItemsDrawer/index.js +219 -168
  246. package/dist/elements/ItemsDrawer/index.js.map +1 -1
  247. package/dist/elements/LeaveWithoutSaving/index.js +73 -142
  248. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  249. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +113 -129
  250. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  251. package/dist/elements/Link/formatUrl.js +53 -56
  252. package/dist/elements/Link/formatUrl.js.map +1 -1
  253. package/dist/elements/Link/index.js +50 -54
  254. package/dist/elements/Link/index.js.map +1 -1
  255. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +17 -17
  256. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  257. package/dist/elements/ListControls/index.js +253 -168
  258. package/dist/elements/ListControls/index.js.map +1 -1
  259. package/dist/elements/ListControls/types.js +8 -1
  260. package/dist/elements/ListControls/types.js.map +1 -1
  261. package/dist/elements/ListDrawer/DrawerContent.js +183 -168
  262. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  263. package/dist/elements/ListDrawer/Provider.js +28 -19
  264. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  265. package/dist/elements/ListDrawer/index.js +149 -229
  266. package/dist/elements/ListDrawer/index.js.map +1 -1
  267. package/dist/elements/ListDrawer/types.js +6 -1
  268. package/dist/elements/ListDrawer/types.js.map +1 -1
  269. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +43 -84
  270. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  271. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +23 -33
  272. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  273. package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
  274. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
  275. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +49 -73
  276. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  277. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +22 -40
  278. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
  279. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +130 -162
  280. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  281. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +169 -148
  282. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  283. package/dist/elements/ListHeader/TitleActions/index.js +1 -0
  284. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  285. package/dist/elements/ListHeader/index.js +65 -24
  286. package/dist/elements/ListHeader/index.js.map +1 -1
  287. package/dist/elements/ListSelection/index.js +93 -58
  288. package/dist/elements/ListSelection/index.js.map +1 -1
  289. package/dist/elements/LivePreview/Device/index.js +83 -83
  290. package/dist/elements/LivePreview/Device/index.js.map +1 -1
  291. package/dist/elements/LivePreview/DeviceContainer/index.js +29 -49
  292. package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
  293. package/dist/elements/LivePreview/IFrame/index.js +20 -44
  294. package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
  295. package/dist/elements/LivePreview/Toggler/index.js +32 -26
  296. package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
  297. package/dist/elements/LivePreview/Toolbar/Controls/index.js +210 -141
  298. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  299. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +62 -92
  300. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  301. package/dist/elements/LivePreview/Toolbar/index.js +84 -84
  302. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  303. package/dist/elements/LivePreview/ToolbarArea/index.js +15 -33
  304. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  305. package/dist/elements/LivePreview/Window/index.js +132 -166
  306. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  307. package/dist/elements/Loading/index.js +112 -144
  308. package/dist/elements/Loading/index.js.map +1 -1
  309. package/dist/elements/LoadingOverlay/index.js +68 -67
  310. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  311. package/dist/elements/LoadingOverlay/reducer.js +27 -29
  312. package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
  313. package/dist/elements/LoadingOverlay/types.js +2 -1
  314. package/dist/elements/LoadingOverlay/types.js.map +1 -1
  315. package/dist/elements/Localizer/LocalizerLabel/index.js +55 -51
  316. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  317. package/dist/elements/Localizer/index.js +99 -117
  318. package/dist/elements/Localizer/index.js.map +1 -1
  319. package/dist/elements/Locked/index.js +38 -59
  320. package/dist/elements/Locked/index.js.map +1 -1
  321. package/dist/elements/Logout/index.js +30 -51
  322. package/dist/elements/Logout/index.js.map +1 -1
  323. package/dist/elements/Modal/index.js +1 -1
  324. package/dist/elements/Modal/index.js.map +1 -1
  325. package/dist/elements/Nav/NavToggler/index.js +34 -80
  326. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  327. package/dist/elements/Nav/context.js +107 -103
  328. package/dist/elements/Nav/context.js.map +1 -1
  329. package/dist/elements/NavGroup/index.js +98 -122
  330. package/dist/elements/NavGroup/index.js.map +1 -1
  331. package/dist/elements/NoListResults/index.js +27 -14
  332. package/dist/elements/NoListResults/index.js.map +1 -1
  333. package/dist/elements/PageControls/GroupByPageControls.js +40 -71
  334. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  335. package/dist/elements/PageControls/index.js +77 -107
  336. package/dist/elements/PageControls/index.js.map +1 -1
  337. package/dist/elements/Pagination/ClickableArrow/index.js +24 -16
  338. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  339. package/dist/elements/Pagination/Page/index.js +19 -16
  340. package/dist/elements/Pagination/Page/index.js.map +1 -1
  341. package/dist/elements/Pagination/Separator/index.js +10 -6
  342. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  343. package/dist/elements/Pagination/index.js +102 -99
  344. package/dist/elements/Pagination/index.js.map +1 -1
  345. package/dist/elements/PerPage/index.js +93 -80
  346. package/dist/elements/PerPage/index.js.map +1 -1
  347. package/dist/elements/PermanentlyDeleteButton/index.js +150 -133
  348. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  349. package/dist/elements/Pill/index.js +103 -121
  350. package/dist/elements/Pill/index.js.map +1 -1
  351. package/dist/elements/PillSelector/index.js +79 -56
  352. package/dist/elements/PillSelector/index.js.map +1 -1
  353. package/dist/elements/Popup/PopupButtonList/index.js +65 -52
  354. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  355. package/dist/elements/Popup/PopupDivider/index.js +10 -5
  356. package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
  357. package/dist/elements/Popup/PopupGroupLabel/index.js +11 -8
  358. package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
  359. package/dist/elements/Popup/PopupTrigger/index.js +50 -44
  360. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  361. package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
  362. package/dist/elements/Popup/index.js +339 -282
  363. package/dist/elements/Popup/index.js.map +1 -1
  364. package/dist/elements/PreviewButton/index.js +24 -31
  365. package/dist/elements/PreviewButton/index.js.map +1 -1
  366. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  367. package/dist/elements/PreviewSizes/index.js +206 -128
  368. package/dist/elements/PreviewSizes/index.js.map +1 -1
  369. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +154 -110
  370. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  371. package/dist/elements/PublishButton/ScheduleDrawer/index.js +461 -309
  372. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  373. package/dist/elements/PublishButton/ScheduleDrawer/types.js +2 -1
  374. package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
  375. package/dist/elements/PublishButton/index.js +234 -195
  376. package/dist/elements/PublishButton/index.js.map +1 -1
  377. package/dist/elements/PublishMany/DrawerContent.js +137 -134
  378. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  379. package/dist/elements/PublishMany/index.js +58 -109
  380. package/dist/elements/PublishMany/index.js.map +1 -1
  381. package/dist/elements/QueryPresets/QueryPresetBar/index.js +344 -267
  382. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  383. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +80 -87
  384. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  385. package/dist/elements/QueryPresets/cells/AccessCell/index.js +47 -21
  386. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
  387. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +26 -19
  388. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  389. package/dist/elements/QueryPresets/cells/GroupByCell/index.js +61 -48
  390. package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
  391. package/dist/elements/QueryPresets/cells/WhereCell/index.js +29 -27
  392. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
  393. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +42 -47
  394. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  395. package/dist/elements/QueryPresets/fields/GroupByField/index.js +96 -74
  396. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  397. package/dist/elements/QueryPresets/fields/WhereField/index.js +149 -98
  398. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  399. package/dist/elements/ReactSelect/ClearIndicator/index.js +29 -27
  400. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  401. package/dist/elements/ReactSelect/Control/index.js +40 -41
  402. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  403. package/dist/elements/ReactSelect/DropdownIndicator/index.js +26 -23
  404. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  405. package/dist/elements/ReactSelect/Input/index.js +20 -13
  406. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  407. package/dist/elements/ReactSelect/MultiValue/index.js +48 -126
  408. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  409. package/dist/elements/ReactSelect/MultiValueLabel/index.js +29 -32
  410. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  411. package/dist/elements/ReactSelect/MultiValueRemove/index.js +49 -86
  412. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  413. package/dist/elements/ReactSelect/SingleValue/index.js +22 -14
  414. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  415. package/dist/elements/ReactSelect/ValueContainer/index.js +38 -29
  416. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  417. package/dist/elements/ReactSelect/index.js +211 -198
  418. package/dist/elements/ReactSelect/index.js.map +1 -1
  419. package/dist/elements/ReactSelect/types.js +9 -1
  420. package/dist/elements/ReactSelect/types.js.map +1 -1
  421. package/dist/elements/RelationshipTable/AddNewButton.js +68 -58
  422. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  423. package/dist/elements/RelationshipTable/Pagination.js +21 -48
  424. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  425. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +39 -34
  426. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  427. package/dist/elements/RelationshipTable/index.js +374 -258
  428. package/dist/elements/RelationshipTable/index.js.map +1 -1
  429. package/dist/elements/RenderComponent/index.js +29 -20
  430. package/dist/elements/RenderComponent/index.js.map +1 -1
  431. package/dist/elements/RenderCustomComponent/index.js +3 -5
  432. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  433. package/dist/elements/RenderIfInViewport/index.js +27 -58
  434. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  435. package/dist/elements/RenderServerComponent/index.js +57 -56
  436. package/dist/elements/RenderServerComponent/index.js.map +1 -1
  437. package/dist/elements/RenderTitle/index.js +44 -59
  438. package/dist/elements/RenderTitle/index.js.map +1 -1
  439. package/dist/elements/RestoreButton/index.js +187 -154
  440. package/dist/elements/RestoreButton/index.js.map +1 -1
  441. package/dist/elements/RestoreMany/index.js +177 -170
  442. package/dist/elements/RestoreMany/index.js.map +1 -1
  443. package/dist/elements/SaveButton/index.js +46 -49
  444. package/dist/elements/SaveButton/index.js.map +1 -1
  445. package/dist/elements/SaveDraftButton/index.js +84 -88
  446. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  447. package/dist/elements/SearchBar/index.js +37 -19
  448. package/dist/elements/SearchBar/index.js.map +1 -1
  449. package/dist/elements/SearchFilter/index.js +60 -54
  450. package/dist/elements/SearchFilter/index.js.map +1 -1
  451. package/dist/elements/SearchFilter/types.js +20 -1
  452. package/dist/elements/SearchFilter/types.js.map +1 -1
  453. package/dist/elements/SelectAll/index.js +21 -46
  454. package/dist/elements/SelectAll/index.js.map +1 -1
  455. package/dist/elements/SelectMany/index.js +27 -25
  456. package/dist/elements/SelectMany/index.js.map +1 -1
  457. package/dist/elements/SelectRow/index.js +27 -79
  458. package/dist/elements/SelectRow/index.js.map +1 -1
  459. package/dist/elements/ShimmerEffect/index.js +58 -73
  460. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  461. package/dist/elements/SortColumn/index.js +98 -106
  462. package/dist/elements/SortColumn/index.js.map +1 -1
  463. package/dist/elements/SortComplex/index.js +142 -163
  464. package/dist/elements/SortComplex/index.js.map +1 -1
  465. package/dist/elements/SortHeader/index.js +54 -87
  466. package/dist/elements/SortHeader/index.js.map +1 -1
  467. package/dist/elements/SortRow/index.js +21 -27
  468. package/dist/elements/SortRow/index.js.map +1 -1
  469. package/dist/elements/Status/index.js +203 -161
  470. package/dist/elements/Status/index.js.map +1 -1
  471. package/dist/elements/StayLoggedIn/index.js +38 -76
  472. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  473. package/dist/elements/StepNav/SetStepNav.js +10 -27
  474. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  475. package/dist/elements/StepNav/context.js +24 -41
  476. package/dist/elements/StepNav/context.js.map +1 -1
  477. package/dist/elements/StepNav/index.js +148 -92
  478. package/dist/elements/StepNav/index.js.map +1 -1
  479. package/dist/elements/StepNav/types.js +2 -1
  480. package/dist/elements/StepNav/types.js.map +1 -1
  481. package/dist/elements/StickyToolbar/index.js +10 -8
  482. package/dist/elements/StickyToolbar/index.js.map +1 -1
  483. package/dist/elements/Table/DefaultCell/fields/Array/index.js +13 -28
  484. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  485. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +34 -60
  486. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  487. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +18 -27
  488. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  489. package/dist/elements/Table/DefaultCell/fields/Code/index.js +22 -17
  490. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  491. package/dist/elements/Table/DefaultCell/fields/Date/index.js +22 -41
  492. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  493. package/dist/elements/Table/DefaultCell/fields/File/index.js +52 -42
  494. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  495. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +18 -12
  496. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  497. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +115 -183
  498. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  499. package/dist/elements/Table/DefaultCell/fields/Select/index.js +22 -44
  500. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  501. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +11 -9
  502. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  503. package/dist/elements/Table/DefaultCell/fields/index.d.ts +5 -1
  504. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  505. package/dist/elements/Table/DefaultCell/fields/index.js +14 -14
  506. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  507. package/dist/elements/Table/DefaultCell/index.js +124 -151
  508. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  509. package/dist/elements/Table/OrderableRow.js +40 -32
  510. package/dist/elements/Table/OrderableRow.js.map +1 -1
  511. package/dist/elements/Table/OrderableRowDragPreview.js +24 -15
  512. package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
  513. package/dist/elements/Table/OrderableTable.js +224 -167
  514. package/dist/elements/Table/OrderableTable.js.map +1 -1
  515. package/dist/elements/Table/RelationshipProvider/index.js +106 -162
  516. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  517. package/dist/elements/Table/RelationshipProvider/reducer.js +42 -42
  518. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  519. package/dist/elements/Table/index.js +83 -45
  520. package/dist/elements/Table/index.js.map +1 -1
  521. package/dist/elements/Thumbnail/createThumbnail.js +53 -48
  522. package/dist/elements/Thumbnail/createThumbnail.js.map +1 -1
  523. package/dist/elements/Thumbnail/index.js +127 -148
  524. package/dist/elements/Thumbnail/index.js.map +1 -1
  525. package/dist/elements/ThumbnailCard/index.js +47 -68
  526. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  527. package/dist/elements/TimezonePicker/index.js +53 -44
  528. package/dist/elements/TimezonePicker/index.js.map +1 -1
  529. package/dist/elements/TimezonePicker/types.js +2 -1
  530. package/dist/elements/TimezonePicker/types.js.map +1 -1
  531. package/dist/elements/Toasts/fieldErrors.js +69 -77
  532. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  533. package/dist/elements/Tooltip/index.js +98 -65
  534. package/dist/elements/Tooltip/index.js.map +1 -1
  535. package/dist/elements/Translation/index.js +48 -39
  536. package/dist/elements/Translation/index.js.map +1 -1
  537. package/dist/elements/TrashBanner/index.js +33 -26
  538. package/dist/elements/TrashBanner/index.js.map +1 -1
  539. package/dist/elements/UnpublishMany/DrawerContent.js +130 -127
  540. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  541. package/dist/elements/UnpublishMany/index.js +58 -109
  542. package/dist/elements/UnpublishMany/index.js.map +1 -1
  543. package/dist/elements/Upload/index.js +633 -481
  544. package/dist/elements/Upload/index.js.map +1 -1
  545. package/dist/elements/ViewDescription/index.js +15 -26
  546. package/dist/elements/ViewDescription/index.js.map +1 -1
  547. package/dist/elements/ViewDescription/types.js.map +1 -1
  548. package/dist/elements/WhereBuilder/Condition/Date/index.js +23 -29
  549. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  550. package/dist/elements/WhereBuilder/Condition/Date/types.js +2 -1
  551. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  552. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +95 -76
  553. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  554. package/dist/elements/WhereBuilder/Condition/Number/index.js +74 -129
  555. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  556. package/dist/elements/WhereBuilder/Condition/Number/types.js +2 -1
  557. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  558. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +353 -313
  559. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  560. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +83 -67
  561. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  562. package/dist/elements/WhereBuilder/Condition/Relationship/types.js +2 -1
  563. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  564. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js +10 -9
  565. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js.map +1 -1
  566. package/dist/elements/WhereBuilder/Condition/Select/index.js +69 -154
  567. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  568. package/dist/elements/WhereBuilder/Condition/Select/types.js +2 -1
  569. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  570. package/dist/elements/WhereBuilder/Condition/Text/index.js +72 -123
  571. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  572. package/dist/elements/WhereBuilder/Condition/Text/types.js +2 -1
  573. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  574. package/dist/elements/WhereBuilder/Condition/index.js +206 -143
  575. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  576. package/dist/elements/WhereBuilder/Condition/types.js +2 -1
  577. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  578. package/dist/elements/WhereBuilder/Condition/validOperators.js +32 -33
  579. package/dist/elements/WhereBuilder/Condition/validOperators.js.map +1 -1
  580. package/dist/elements/WhereBuilder/field-types.js +192 -119
  581. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  582. package/dist/elements/WhereBuilder/index.js +258 -193
  583. package/dist/elements/WhereBuilder/index.js.map +1 -1
  584. package/dist/elements/WhereBuilder/types.js +2 -1
  585. package/dist/elements/WhereBuilder/types.js.map +1 -1
  586. package/dist/elements/WindowInfo/index.js +1 -1
  587. package/dist/elements/WindowInfo/index.js.map +1 -1
  588. package/dist/elements/WithServerSideProps/index.js +20 -19
  589. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  590. package/dist/elements/withMergedProps/index.js +26 -26
  591. package/dist/elements/withMergedProps/index.js.map +1 -1
  592. package/dist/exports/client/index.js +297 -96
  593. package/dist/exports/client/index.js.map +1 -7
  594. package/dist/exports/rsc/index.js +1 -0
  595. package/dist/exports/rsc/index.js.map +1 -1
  596. package/dist/exports/shared/index.js +35 -6
  597. package/dist/exports/shared/index.js.map +1 -7
  598. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  599. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  600. package/dist/fields/Array/ArrayRow.js +111 -165
  601. package/dist/fields/Array/ArrayRow.js.map +1 -1
  602. package/dist/fields/Array/index.d.ts.map +1 -1
  603. package/dist/fields/Array/index.js +533 -396
  604. package/dist/fields/Array/index.js.map +1 -1
  605. package/dist/fields/Blocks/BlockRow.js +163 -198
  606. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  607. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +30 -38
  608. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  609. package/dist/fields/Blocks/BlockSelector/index.js +159 -103
  610. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  611. package/dist/fields/Blocks/BlocksDrawer/index.js +37 -80
  612. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  613. package/dist/fields/Blocks/RowActions.js +50 -106
  614. package/dist/fields/Blocks/RowActions.js.map +1 -1
  615. package/dist/fields/Blocks/SectionTitle/index.js +36 -78
  616. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  617. package/dist/fields/Blocks/index.js +566 -425
  618. package/dist/fields/Blocks/index.js.map +1 -1
  619. package/dist/fields/Checkbox/Input.js +86 -99
  620. package/dist/fields/Checkbox/Input.js.map +1 -1
  621. package/dist/fields/Checkbox/index.js +107 -99
  622. package/dist/fields/Checkbox/index.js.map +1 -1
  623. package/dist/fields/Code/index.js +146 -114
  624. package/dist/fields/Code/index.js.map +1 -1
  625. package/dist/fields/Collapsible/index.js +172 -134
  626. package/dist/fields/Collapsible/index.js.map +1 -1
  627. package/dist/fields/ConfirmPassword/index.js +67 -83
  628. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  629. package/dist/fields/DateTime/index.js +217 -171
  630. package/dist/fields/DateTime/index.js.map +1 -1
  631. package/dist/fields/Email/index.js +111 -86
  632. package/dist/fields/Email/index.js.map +1 -1
  633. package/dist/fields/FieldDescription/index.js +20 -43
  634. package/dist/fields/FieldDescription/index.js.map +1 -1
  635. package/dist/fields/FieldError/index.js +22 -58
  636. package/dist/fields/FieldError/index.js.map +1 -1
  637. package/dist/fields/FieldLabel/index.js +43 -45
  638. package/dist/fields/FieldLabel/index.js.map +1 -1
  639. package/dist/fields/Group/index.js +150 -102
  640. package/dist/fields/Group/index.js.map +1 -1
  641. package/dist/fields/Group/provider.js +13 -12
  642. package/dist/fields/Group/provider.js.map +1 -1
  643. package/dist/fields/Hidden/index.js +27 -67
  644. package/dist/fields/Hidden/index.js.map +1 -1
  645. package/dist/fields/JSON/index.js +185 -143
  646. package/dist/fields/JSON/index.js.map +1 -1
  647. package/dist/fields/Join/index.js +214 -189
  648. package/dist/fields/Join/index.js.map +1 -1
  649. package/dist/fields/Number/index.js +213 -169
  650. package/dist/fields/Number/index.js.map +1 -1
  651. package/dist/fields/Password/index.js +80 -101
  652. package/dist/fields/Password/index.js.map +1 -1
  653. package/dist/fields/Password/input.js +108 -122
  654. package/dist/fields/Password/input.js.map +1 -1
  655. package/dist/fields/Password/types.js +12 -1
  656. package/dist/fields/Password/types.js.map +1 -1
  657. package/dist/fields/Point/index.js +199 -127
  658. package/dist/fields/Point/index.js.map +1 -1
  659. package/dist/fields/RadioGroup/Radio/index.js +56 -81
  660. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  661. package/dist/fields/RadioGroup/index.js +146 -114
  662. package/dist/fields/RadioGroup/index.js.map +1 -1
  663. package/dist/fields/Relationship/Input.js +811 -733
  664. package/dist/fields/Relationship/Input.js.map +1 -1
  665. package/dist/fields/Relationship/createRelationMap.js +31 -33
  666. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  667. package/dist/fields/Relationship/findOptionsByValue.js +28 -32
  668. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  669. package/dist/fields/Relationship/index.js +152 -160
  670. package/dist/fields/Relationship/index.js.map +1 -1
  671. package/dist/fields/Relationship/optionsReducer.js +144 -139
  672. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  673. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +92 -82
  674. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  675. package/dist/fields/Relationship/select-components/SingleValue/index.js +95 -118
  676. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  677. package/dist/fields/Relationship/types.js +2 -1
  678. package/dist/fields/Relationship/types.js.map +1 -1
  679. package/dist/fields/RichText/index.js +3 -3
  680. package/dist/fields/RichText/index.js.map +1 -1
  681. package/dist/fields/Row/index.js +37 -35
  682. package/dist/fields/Row/index.js.map +1 -1
  683. package/dist/fields/Row/provider.js +13 -12
  684. package/dist/fields/Row/provider.js.map +1 -1
  685. package/dist/fields/Select/Input.js +114 -165
  686. package/dist/fields/Select/Input.js.map +1 -1
  687. package/dist/fields/Select/index.js +89 -108
  688. package/dist/fields/Select/index.js.map +1 -1
  689. package/dist/fields/Slug/index.js +103 -134
  690. package/dist/fields/Slug/index.js.map +1 -1
  691. package/dist/fields/Tabs/Tab/index.js +54 -60
  692. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  693. package/dist/fields/Tabs/index.js +245 -445
  694. package/dist/fields/Tabs/index.js.map +1 -1
  695. package/dist/fields/Tabs/provider.js +13 -12
  696. package/dist/fields/Tabs/provider.js.map +1 -1
  697. package/dist/fields/Text/Input.js +169 -191
  698. package/dist/fields/Text/Input.js.map +1 -1
  699. package/dist/fields/Text/index.js +107 -126
  700. package/dist/fields/Text/index.js.map +1 -1
  701. package/dist/fields/Text/types.js +2 -1
  702. package/dist/fields/Text/types.js.map +1 -1
  703. package/dist/fields/Textarea/Input.js +104 -115
  704. package/dist/fields/Textarea/Input.js.map +1 -1
  705. package/dist/fields/Textarea/index.js +61 -88
  706. package/dist/fields/Textarea/index.js.map +1 -1
  707. package/dist/fields/Textarea/types.js +2 -1
  708. package/dist/fields/Textarea/types.js.map +1 -1
  709. package/dist/fields/UI/index.js +3 -3
  710. package/dist/fields/UI/index.js.map +1 -1
  711. package/dist/fields/Upload/HasMany/index.js +141 -186
  712. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  713. package/dist/fields/Upload/HasOne/index.js +59 -60
  714. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  715. package/dist/fields/Upload/Input.js +755 -566
  716. package/dist/fields/Upload/Input.js.map +1 -1
  717. package/dist/fields/Upload/RelationshipContent/index.js +140 -143
  718. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  719. package/dist/fields/Upload/UploadCard/index.js +15 -10
  720. package/dist/fields/Upload/UploadCard/index.js.map +1 -1
  721. package/dist/fields/Upload/index.js +79 -96
  722. package/dist/fields/Upload/index.js.map +1 -1
  723. package/dist/fields/Upload/types.js +3 -1
  724. package/dist/fields/Upload/types.js.map +1 -1
  725. package/dist/fields/index.js +31 -31
  726. package/dist/fields/index.js.map +1 -1
  727. package/dist/fields/mergeFieldStyles.js +13 -12
  728. package/dist/fields/mergeFieldStyles.js.map +1 -1
  729. package/dist/fields/shared/index.js +8 -17
  730. package/dist/fields/shared/index.js.map +1 -1
  731. package/dist/forms/Form/context.js +17 -24
  732. package/dist/forms/Form/context.js.map +1 -1
  733. package/dist/forms/Form/createNestedClientFieldPath.js +11 -11
  734. package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -1
  735. package/dist/forms/Form/errorMessages.js +2 -2
  736. package/dist/forms/Form/errorMessages.js.map +1 -1
  737. package/dist/forms/Form/fieldReducer.js +378 -412
  738. package/dist/forms/Form/fieldReducer.js.map +1 -1
  739. package/dist/forms/Form/index.js +745 -684
  740. package/dist/forms/Form/index.js.map +1 -1
  741. package/dist/forms/Form/initContextState.js +38 -38
  742. package/dist/forms/Form/initContextState.js.map +1 -1
  743. package/dist/forms/Form/mergeServerFormState.js +93 -97
  744. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  745. package/dist/forms/Form/reduceToSerializableFields.js +20 -17
  746. package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
  747. package/dist/forms/Form/rowHelpers.js +27 -34
  748. package/dist/forms/Form/rowHelpers.js.map +1 -1
  749. package/dist/forms/Form/rows.js +34 -34
  750. package/dist/forms/Form/rows.js.map +1 -1
  751. package/dist/forms/Form/types.js +53 -1
  752. package/dist/forms/Form/types.js.map +1 -1
  753. package/dist/forms/NullifyField/index.js +61 -96
  754. package/dist/forms/NullifyField/index.js.map +1 -1
  755. package/dist/forms/RenderFields/RenderField.js +237 -259
  756. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  757. package/dist/forms/RenderFields/context.js +9 -9
  758. package/dist/forms/RenderFields/context.js.map +1 -1
  759. package/dist/forms/RenderFields/index.js +76 -115
  760. package/dist/forms/RenderFields/index.js.map +1 -1
  761. package/dist/forms/RenderFields/types.js +2 -1
  762. package/dist/forms/RenderFields/types.js.map +1 -1
  763. package/dist/forms/RowLabel/Context/index.js +30 -29
  764. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  765. package/dist/forms/RowLabel/index.js +33 -24
  766. package/dist/forms/RowLabel/index.js.map +1 -1
  767. package/dist/forms/RowLabel/types.js +2 -1
  768. package/dist/forms/RowLabel/types.js.map +1 -1
  769. package/dist/forms/Submit/index.js +32 -35
  770. package/dist/forms/Submit/index.js.map +1 -1
  771. package/dist/forms/WatchChildErrors/buildPathSegments.js +29 -29
  772. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  773. package/dist/forms/WatchChildErrors/index.js +41 -66
  774. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  775. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +654 -683
  776. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  777. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +14 -22
  778. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  779. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +17 -26
  780. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  781. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +186 -198
  782. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  783. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +67 -60
  784. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -1
  785. package/dist/forms/fieldSchemasToFormState/index.js +90 -79
  786. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  787. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js +12 -16
  788. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js.map +1 -1
  789. package/dist/forms/fieldSchemasToFormState/iterateFields.js +95 -116
  790. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  791. package/dist/forms/fieldSchemasToFormState/renderField.js +273 -274
  792. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  793. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +90 -75
  794. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
  795. package/dist/forms/fieldSchemasToFormState/types.js +6 -1
  796. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  797. package/dist/forms/useField/index.js +180 -292
  798. package/dist/forms/useField/index.js.map +1 -1
  799. package/dist/forms/useField/types.js +20 -1
  800. package/dist/forms/useField/types.js.map +1 -1
  801. package/dist/forms/withCondition/WatchCondition.js +9 -27
  802. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  803. package/dist/forms/withCondition/index.js +21 -15
  804. package/dist/forms/withCondition/index.js.map +1 -1
  805. package/dist/graphics/Account/Default/index.js +46 -22
  806. package/dist/graphics/Account/Default/index.js.map +1 -1
  807. package/dist/graphics/Account/Gravatar/index.js +25 -34
  808. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  809. package/dist/graphics/Account/index.js +24 -51
  810. package/dist/graphics/Account/index.js.map +1 -1
  811. package/dist/graphics/DefaultBlockImage/index.js +117 -62
  812. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  813. package/dist/graphics/File/index.js +33 -17
  814. package/dist/graphics/File/index.js.map +1 -1
  815. package/dist/graphics/Icon/index.js +33 -19
  816. package/dist/graphics/Icon/index.js.map +1 -1
  817. package/dist/graphics/Logo/index.js +112 -39
  818. package/dist/graphics/Logo/index.js.map +1 -1
  819. package/dist/hooks/useClickOutside.js +19 -15
  820. package/dist/hooks/useClickOutside.js.map +1 -1
  821. package/dist/hooks/useControllableState.js +25 -35
  822. package/dist/hooks/useControllableState.js.map +1 -1
  823. package/dist/hooks/useDebounce.js +15 -26
  824. package/dist/hooks/useDebounce.js.map +1 -1
  825. package/dist/hooks/useDebouncedCallback.js +15 -23
  826. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  827. package/dist/hooks/useDebouncedEffect.js +18 -53
  828. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  829. package/dist/hooks/useDelay.js +27 -52
  830. package/dist/hooks/useDelay.js.map +1 -1
  831. package/dist/hooks/useDelayedRender.js +42 -76
  832. package/dist/hooks/useDelayedRender.js.map +1 -1
  833. package/dist/hooks/useEffectEvent.js +12 -33
  834. package/dist/hooks/useEffectEvent.js.map +1 -1
  835. package/dist/hooks/useHotkey.js +96 -110
  836. package/dist/hooks/useHotkey.js.map +1 -1
  837. package/dist/hooks/useIntersect.js +28 -59
  838. package/dist/hooks/useIntersect.js.map +1 -1
  839. package/dist/hooks/usePayloadAPI.js +78 -172
  840. package/dist/hooks/usePayloadAPI.js.map +1 -1
  841. package/dist/hooks/usePopupWindow.js +91 -133
  842. package/dist/hooks/usePopupWindow.js.map +1 -1
  843. package/dist/hooks/useQueue.js +48 -38
  844. package/dist/hooks/useQueue.js.map +1 -1
  845. package/dist/hooks/useRelatedCollections.js +15 -27
  846. package/dist/hooks/useRelatedCollections.js.map +1 -1
  847. package/dist/hooks/useResize.js +42 -70
  848. package/dist/hooks/useResize.js.map +1 -1
  849. package/dist/hooks/useThrottledEffect.js +17 -51
  850. package/dist/hooks/useThrottledEffect.js.map +1 -1
  851. package/dist/hooks/useThrottledValue.js +16 -13
  852. package/dist/hooks/useThrottledValue.js.map +1 -1
  853. package/dist/hooks/useUseAsTitle.js +7 -27
  854. package/dist/hooks/useUseAsTitle.js.map +1 -1
  855. package/dist/icons/Calendar/index.js +20 -11
  856. package/dist/icons/Calendar/index.js.map +1 -1
  857. package/dist/icons/Check/index.js +20 -11
  858. package/dist/icons/Check/index.js.map +1 -1
  859. package/dist/icons/Chevron/index.js +30 -22
  860. package/dist/icons/Chevron/index.js.map +1 -1
  861. package/dist/icons/CloseMenu/index.js +20 -11
  862. package/dist/icons/CloseMenu/index.js.map +1 -1
  863. package/dist/icons/CodeBlock/index.js +22 -13
  864. package/dist/icons/CodeBlock/index.js.map +1 -1
  865. package/dist/icons/Copy/index.js +24 -17
  866. package/dist/icons/Copy/index.js.map +1 -1
  867. package/dist/icons/Document/index.js +25 -16
  868. package/dist/icons/Document/index.js.map +1 -1
  869. package/dist/icons/Dots/index.js +32 -11
  870. package/dist/icons/Dots/index.js.map +1 -1
  871. package/dist/icons/DragHandle/index.js +70 -33
  872. package/dist/icons/DragHandle/index.js.map +1 -1
  873. package/dist/icons/Edit/index.js +23 -13
  874. package/dist/icons/Edit/index.js.map +1 -1
  875. package/dist/icons/ExternalLink/index.js +25 -15
  876. package/dist/icons/ExternalLink/index.js.map +1 -1
  877. package/dist/icons/Eye/index.js +53 -25
  878. package/dist/icons/Eye/index.js.map +1 -1
  879. package/dist/icons/Folder/index.js +26 -16
  880. package/dist/icons/Folder/index.js.map +1 -1
  881. package/dist/icons/Gear/index.js +34 -21
  882. package/dist/icons/Gear/index.js.map +1 -1
  883. package/dist/icons/GridView/index.js +57 -31
  884. package/dist/icons/GridView/index.js.map +1 -1
  885. package/dist/icons/Line/index.js +23 -14
  886. package/dist/icons/Line/index.js.map +1 -1
  887. package/dist/icons/Link/index.js +25 -16
  888. package/dist/icons/Link/index.js.map +1 -1
  889. package/dist/icons/ListView/index.js +25 -16
  890. package/dist/icons/ListView/index.js.map +1 -1
  891. package/dist/icons/Lock/index.js +41 -24
  892. package/dist/icons/Lock/index.js.map +1 -1
  893. package/dist/icons/LogOut/index.js +23 -14
  894. package/dist/icons/LogOut/index.js.map +1 -1
  895. package/dist/icons/Menu/index.js +23 -14
  896. package/dist/icons/Menu/index.js.map +1 -1
  897. package/dist/icons/MinimizeMaximize/index.js +33 -19
  898. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  899. package/dist/icons/More/index.js +43 -21
  900. package/dist/icons/More/index.js.map +1 -1
  901. package/dist/icons/MoveFolder/index.js +62 -34
  902. package/dist/icons/MoveFolder/index.js.map +1 -1
  903. package/dist/icons/People/index.js +28 -17
  904. package/dist/icons/People/index.js.map +1 -1
  905. package/dist/icons/Plus/index.js +22 -13
  906. package/dist/icons/Plus/index.js.map +1 -1
  907. package/dist/icons/Search/index.js +21 -12
  908. package/dist/icons/Search/index.js.map +1 -1
  909. package/dist/icons/Sort/index.js +48 -35
  910. package/dist/icons/Sort/index.js.map +1 -1
  911. package/dist/icons/Swap/index.js +20 -11
  912. package/dist/icons/Swap/index.js.map +1 -1
  913. package/dist/icons/ThreeDots/index.js +27 -8
  914. package/dist/icons/ThreeDots/index.js.map +1 -1
  915. package/dist/icons/Trash/index.js +28 -18
  916. package/dist/icons/Trash/index.js.map +1 -1
  917. package/dist/icons/X/index.js +25 -15
  918. package/dist/icons/X/index.js.map +1 -1
  919. package/dist/providers/Actions/index.js +21 -33
  920. package/dist/providers/Actions/index.js.map +1 -1
  921. package/dist/providers/Auth/index.js +293 -243
  922. package/dist/providers/Auth/index.js.map +1 -1
  923. package/dist/providers/ClickOutside/index.js +35 -35
  924. package/dist/providers/ClickOutside/index.js.map +1 -1
  925. package/dist/providers/ClientFunction/index.js +63 -104
  926. package/dist/providers/ClientFunction/index.js.map +1 -1
  927. package/dist/providers/Config/index.js +91 -91
  928. package/dist/providers/Config/index.js.map +1 -1
  929. package/dist/providers/DocumentEvents/index.js +19 -30
  930. package/dist/providers/DocumentEvents/index.js.map +1 -1
  931. package/dist/providers/DocumentInfo/index.js +331 -325
  932. package/dist/providers/DocumentInfo/index.js.map +1 -1
  933. package/dist/providers/DocumentInfo/types.js +26 -1
  934. package/dist/providers/DocumentInfo/types.js.map +1 -1
  935. package/dist/providers/DocumentInfo/useGetDocPermissions.js +81 -79
  936. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
  937. package/dist/providers/DocumentTitle/context.js.map +1 -1
  938. package/dist/providers/DocumentTitle/index.js +51 -55
  939. package/dist/providers/DocumentTitle/index.js.map +1 -1
  940. package/dist/providers/EditDepth/index.js +15 -25
  941. package/dist/providers/EditDepth/index.js.map +1 -1
  942. package/dist/providers/EntityVisibility/index.js +26 -48
  943. package/dist/providers/EntityVisibility/index.js.map +1 -1
  944. package/dist/providers/Folders/groupItemIDsByRelation.js +8 -7
  945. package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -1
  946. package/dist/providers/Folders/index.js +698 -600
  947. package/dist/providers/Folders/index.js.map +1 -1
  948. package/dist/providers/ListQuery/context.js +3 -2
  949. package/dist/providers/ListQuery/context.js.map +1 -1
  950. package/dist/providers/ListQuery/index.js +156 -140
  951. package/dist/providers/ListQuery/index.js.map +1 -1
  952. package/dist/providers/ListQuery/mergeQuery.js +49 -31
  953. package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
  954. package/dist/providers/ListQuery/sanitizeQuery.js +24 -23
  955. package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
  956. package/dist/providers/ListQuery/types.js +6 -1
  957. package/dist/providers/ListQuery/types.js.map +1 -1
  958. package/dist/providers/LivePreview/collisionDetection.js +21 -24
  959. package/dist/providers/LivePreview/collisionDetection.js.map +1 -1
  960. package/dist/providers/LivePreview/context.js +60 -55
  961. package/dist/providers/LivePreview/context.js.map +1 -1
  962. package/dist/providers/LivePreview/index.js +225 -205
  963. package/dist/providers/LivePreview/index.js.map +1 -1
  964. package/dist/providers/LivePreview/index.scss +1 -1
  965. package/dist/providers/LivePreview/sizeReducer.js +19 -18
  966. package/dist/providers/LivePreview/sizeReducer.js.map +1 -1
  967. package/dist/providers/Locale/index.js +87 -154
  968. package/dist/providers/Locale/index.js.map +1 -1
  969. package/dist/providers/Operation/index.js +12 -11
  970. package/dist/providers/Operation/index.js.map +1 -1
  971. package/dist/providers/Params/index.js +14 -26
  972. package/dist/providers/Params/index.js.map +1 -1
  973. package/dist/providers/Preferences/index.js +130 -122
  974. package/dist/providers/Preferences/index.js.map +1 -1
  975. package/dist/providers/Root/index.js +190 -116
  976. package/dist/providers/Root/index.js.map +1 -1
  977. package/dist/providers/RouteCache/index.js +53 -103
  978. package/dist/providers/RouteCache/index.js.map +1 -1
  979. package/dist/providers/RouteTransition/ProgressBar/index.js +61 -80
  980. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  981. package/dist/providers/RouteTransition/index.js +69 -94
  982. package/dist/providers/RouteTransition/index.js.map +1 -1
  983. package/dist/providers/ScrollInfo/index.js +1 -1
  984. package/dist/providers/ScrollInfo/index.js.map +1 -1
  985. package/dist/providers/SearchParams/index.js +36 -35
  986. package/dist/providers/SearchParams/index.js.map +1 -1
  987. package/dist/providers/Selection/index.js +203 -183
  988. package/dist/providers/Selection/index.js.map +1 -1
  989. package/dist/providers/ServerFunctions/index.js +199 -189
  990. package/dist/providers/ServerFunctions/index.js.map +1 -1
  991. package/dist/providers/TableColumns/RenderDefaultCell/index.js +33 -62
  992. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  993. package/dist/providers/TableColumns/buildColumnState/filterFields.js +32 -32
  994. package/dist/providers/TableColumns/buildColumnState/filterFields.js.map +1 -1
  995. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js +50 -52
  996. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js.map +1 -1
  997. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js +3 -2
  998. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js.map +1 -1
  999. package/dist/providers/TableColumns/buildColumnState/index.js +132 -143
  1000. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  1001. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js +10 -14
  1002. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js.map +1 -1
  1003. package/dist/providers/TableColumns/buildColumnState/renderCell.js +150 -151
  1004. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  1005. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js +16 -15
  1006. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js.map +1 -1
  1007. package/dist/providers/TableColumns/context.js +2 -1
  1008. package/dist/providers/TableColumns/context.js.map +1 -1
  1009. package/dist/providers/TableColumns/getInitialColumns.js +42 -28
  1010. package/dist/providers/TableColumns/getInitialColumns.js.map +1 -1
  1011. package/dist/providers/TableColumns/index.js +88 -85
  1012. package/dist/providers/TableColumns/index.js.map +1 -1
  1013. package/dist/providers/TableColumns/types.js +18 -1
  1014. package/dist/providers/TableColumns/types.js.map +1 -1
  1015. package/dist/providers/Theme/index.js +69 -104
  1016. package/dist/providers/Theme/index.js.map +1 -1
  1017. package/dist/providers/ToastContainer/icons/Error.js +34 -19
  1018. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  1019. package/dist/providers/ToastContainer/icons/Info.js +34 -19
  1020. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  1021. package/dist/providers/ToastContainer/icons/Success.js +34 -19
  1022. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  1023. package/dist/providers/ToastContainer/icons/Warning.js +34 -19
  1024. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  1025. package/dist/providers/ToastContainer/index.js +56 -47
  1026. package/dist/providers/ToastContainer/index.js.map +1 -1
  1027. package/dist/providers/Translation/index.js +66 -112
  1028. package/dist/providers/Translation/index.js.map +1 -1
  1029. package/dist/providers/UploadControls/index.js +28 -40
  1030. package/dist/providers/UploadControls/index.js.map +1 -1
  1031. package/dist/providers/UploadEdits/index.js +31 -73
  1032. package/dist/providers/UploadEdits/index.js.map +1 -1
  1033. package/dist/providers/UploadHandlers/index.js +30 -65
  1034. package/dist/providers/UploadHandlers/index.js.map +1 -1
  1035. package/dist/providers/WindowInfo/index.js +5 -9
  1036. package/dist/providers/WindowInfo/index.js.map +1 -1
  1037. package/dist/styles.css +0 -1
  1038. package/dist/utilities/abortAndIgnore.js +15 -17
  1039. package/dist/utilities/abortAndIgnore.js.map +1 -1
  1040. package/dist/utilities/api.js +78 -77
  1041. package/dist/utilities/api.js.map +1 -1
  1042. package/dist/utilities/buildClientFieldSchemaMap/index.js +61 -65
  1043. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  1044. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +142 -154
  1045. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  1046. package/dist/utilities/buildFieldSchemaMap/index.js +59 -61
  1047. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  1048. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +110 -122
  1049. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  1050. package/dist/utilities/buildFormState.js +151 -186
  1051. package/dist/utilities/buildFormState.js.map +1 -1
  1052. package/dist/utilities/buildTableState.js +145 -168
  1053. package/dist/utilities/buildTableState.js.map +1 -1
  1054. package/dist/utilities/canUseDOM.js +1 -0
  1055. package/dist/utilities/canUseDOM.js.map +1 -1
  1056. package/dist/utilities/combineFieldLabel.js +53 -26
  1057. package/dist/utilities/combineFieldLabel.js.map +1 -1
  1058. package/dist/utilities/copyDataFromLocale.js +202 -210
  1059. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  1060. package/dist/utilities/dateLocales.js +28 -27
  1061. package/dist/utilities/dateLocales.js.map +1 -1
  1062. package/dist/utilities/deepMerge.js +14 -13
  1063. package/dist/utilities/deepMerge.js.map +1 -1
  1064. package/dist/utilities/fetchPreferences.js.map +1 -1
  1065. package/dist/utilities/filterOutUploadFields.js +17 -4
  1066. package/dist/utilities/filterOutUploadFields.js.map +1 -1
  1067. package/dist/utilities/findLocaleFromCode.js +6 -5
  1068. package/dist/utilities/findLocaleFromCode.js.map +1 -1
  1069. package/dist/utilities/formatAbsoluteURL.js +8 -8
  1070. package/dist/utilities/formatAbsoluteURL.js.map +1 -1
  1071. package/dist/utilities/formatAdminURL.js +2 -1
  1072. package/dist/utilities/formatAdminURL.js.map +1 -1
  1073. package/dist/utilities/formatDocTitle/formatDateTitle.js +20 -27
  1074. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  1075. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js +14 -13
  1076. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -1
  1077. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js +14 -13
  1078. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js.map +1 -1
  1079. package/dist/utilities/formatDocTitle/index.js +38 -44
  1080. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  1081. package/dist/utilities/formatFields.js +2 -1
  1082. package/dist/utilities/formatFields.js.map +1 -1
  1083. package/dist/utilities/generateFieldID.js +6 -5
  1084. package/dist/utilities/generateFieldID.js.map +1 -1
  1085. package/dist/utilities/getClientConfig.js +25 -29
  1086. package/dist/utilities/getClientConfig.js.map +1 -1
  1087. package/dist/utilities/getClientSchemaMap.js +24 -32
  1088. package/dist/utilities/getClientSchemaMap.js.map +1 -1
  1089. package/dist/utilities/getColumns.js +29 -35
  1090. package/dist/utilities/getColumns.js.map +1 -1
  1091. package/dist/utilities/getDisplayedFieldValue.js +16 -16
  1092. package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
  1093. package/dist/utilities/getFolderResultsComponentAndData.js +134 -121
  1094. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
  1095. package/dist/utilities/getGlobalData.js +41 -45
  1096. package/dist/utilities/getGlobalData.js.map +1 -1
  1097. package/dist/utilities/getNavGroups.js +21 -18
  1098. package/dist/utilities/getNavGroups.js.map +1 -1
  1099. package/dist/utilities/getOffsetTop.js +14 -13
  1100. package/dist/utilities/getOffsetTop.js.map +1 -1
  1101. package/dist/utilities/getRequestLanguage.js +5 -8
  1102. package/dist/utilities/getRequestLanguage.js.map +1 -1
  1103. package/dist/utilities/getSchemaMap.js +22 -28
  1104. package/dist/utilities/getSchemaMap.js.map +1 -1
  1105. package/dist/utilities/getSupportedMonacoLocale.js +14 -13
  1106. package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
  1107. package/dist/utilities/getVisibleEntities.js +15 -26
  1108. package/dist/utilities/getVisibleEntities.js.map +1 -1
  1109. package/dist/utilities/groupNavItems.js +53 -50
  1110. package/dist/utilities/groupNavItems.js.map +1 -1
  1111. package/dist/utilities/handleBackToDashboard.js +8 -11
  1112. package/dist/utilities/handleBackToDashboard.js.map +1 -1
  1113. package/dist/utilities/handleFormStateLocking.js +127 -121
  1114. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  1115. package/dist/utilities/handleGoBack.js +7 -11
  1116. package/dist/utilities/handleGoBack.js.map +1 -1
  1117. package/dist/utilities/handleLivePreview.js +59 -76
  1118. package/dist/utilities/handleLivePreview.js.map +1 -1
  1119. package/dist/utilities/handlePreview.js +41 -52
  1120. package/dist/utilities/handlePreview.js.map +1 -1
  1121. package/dist/utilities/handleTakeOver.js +28 -39
  1122. package/dist/utilities/handleTakeOver.js.map +1 -1
  1123. package/dist/utilities/hasOptionLabelJSXElement.js +9 -11
  1124. package/dist/utilities/hasOptionLabelJSXElement.js.map +1 -1
  1125. package/dist/utilities/hasSavePermission.js +14 -14
  1126. package/dist/utilities/hasSavePermission.js.map +1 -1
  1127. package/dist/utilities/isClientUserObject.js +3 -2
  1128. package/dist/utilities/isClientUserObject.js.map +1 -1
  1129. package/dist/utilities/isEditing.js +2 -5
  1130. package/dist/utilities/isEditing.js.map +1 -1
  1131. package/dist/utilities/isURLAllowed.js +31 -30
  1132. package/dist/utilities/isURLAllowed.js.map +1 -1
  1133. package/dist/utilities/isValidReactElement.js +3 -3
  1134. package/dist/utilities/isValidReactElement.js.map +1 -1
  1135. package/dist/utilities/normalizeRelationshipValue.js +29 -28
  1136. package/dist/utilities/normalizeRelationshipValue.js.map +1 -1
  1137. package/dist/utilities/normalizeRelationshipValue.spec.js +407 -368
  1138. package/dist/utilities/normalizeRelationshipValue.spec.js.map +1 -1
  1139. package/dist/utilities/parseSearchParams.js +7 -7
  1140. package/dist/utilities/parseSearchParams.js.map +1 -1
  1141. package/dist/utilities/reduceFieldsToOptions.js +145 -154
  1142. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  1143. package/dist/utilities/reduceFieldsToValuesWithValidation.js +20 -20
  1144. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  1145. package/dist/utilities/removeUndefined.js +2 -1
  1146. package/dist/utilities/removeUndefined.js.map +1 -1
  1147. package/dist/utilities/renderTable.js +239 -195
  1148. package/dist/utilities/renderTable.js.map +1 -1
  1149. package/dist/utilities/resolveFilterOptions.js +27 -26
  1150. package/dist/utilities/resolveFilterOptions.js.map +1 -1
  1151. package/dist/utilities/sanitizeFilterOptionsQuery.js +16 -15
  1152. package/dist/utilities/sanitizeFilterOptionsQuery.js.map +1 -1
  1153. package/dist/utilities/sanitizeID.js +8 -7
  1154. package/dist/utilities/sanitizeID.js.map +1 -1
  1155. package/dist/utilities/schedulePublishHandler.js +47 -57
  1156. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  1157. package/dist/utilities/scrollToID.js +10 -9
  1158. package/dist/utilities/scrollToID.js.map +1 -1
  1159. package/dist/utilities/setsAreEqual.js +3 -2
  1160. package/dist/utilities/setsAreEqual.js.map +1 -1
  1161. package/dist/utilities/traverseForLocalizedFields.js +36 -35
  1162. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  1163. package/dist/utilities/upsertPreferences.js +75 -75
  1164. package/dist/utilities/upsertPreferences.js.map +1 -1
  1165. package/dist/views/BrowseByFolder/index.js +365 -324
  1166. package/dist/views/BrowseByFolder/index.js.map +1 -1
  1167. package/dist/views/CollectionFolder/ListSelection/index.js +161 -158
  1168. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  1169. package/dist/views/CollectionFolder/index.js +360 -282
  1170. package/dist/views/CollectionFolder/index.js.map +1 -1
  1171. package/dist/views/Edit/Auth/APIKey.js +185 -124
  1172. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  1173. package/dist/views/Edit/Auth/index.js +309 -321
  1174. package/dist/views/Edit/Auth/index.js.map +1 -1
  1175. package/dist/views/Edit/Auth/types.js +2 -1
  1176. package/dist/views/Edit/Auth/types.js.map +1 -1
  1177. package/dist/views/Edit/SetDocumentStepNav/index.js +84 -150
  1178. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  1179. package/dist/views/Edit/SetDocumentTitle/index.js +30 -77
  1180. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  1181. package/dist/views/Edit/index.js +579 -501
  1182. package/dist/views/Edit/index.js.map +1 -1
  1183. package/dist/views/Edit/types.js +2 -1
  1184. package/dist/views/Edit/types.js.map +1 -1
  1185. package/dist/views/List/GroupByHeader/index.js +35 -24
  1186. package/dist/views/List/GroupByHeader/index.js.map +1 -1
  1187. package/dist/views/List/ListHeader/index.js +115 -80
  1188. package/dist/views/List/ListHeader/index.js.map +1 -1
  1189. package/dist/views/List/ListSelection/index.js +103 -111
  1190. package/dist/views/List/ListSelection/index.js.map +1 -1
  1191. package/dist/views/List/index.js +321 -213
  1192. package/dist/views/List/index.js.map +1 -1
  1193. package/dist/views/List/types.js +2 -1
  1194. package/dist/views/List/types.js.map +1 -1
  1195. package/dist/widgets/CollectionCards/index.js +149 -119
  1196. package/dist/widgets/CollectionCards/index.js.map +1 -1
  1197. package/dist/widgets/CollectionCards/index.scss +1 -1
  1198. package/package.json +7 -7
  1199. package/dist/exports/client/CodeEditor-QOURTFMT.js +0 -14
  1200. package/dist/exports/client/CodeEditor-QOURTFMT.js.map +0 -7
  1201. package/dist/exports/client/DatePicker-VMLA35FO.js +0 -14
  1202. package/dist/exports/client/DatePicker-VMLA35FO.js.map +0 -7
  1203. package/dist/exports/client/chunk-53XJ3K67.js +0 -27
  1204. package/dist/exports/client/chunk-53XJ3K67.js.map +0 -7
  1205. package/dist/exports/client/chunk-5LKBKI4T.js +0 -14
  1206. package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -7
  1207. package/dist/exports/client/chunk-7V3NHDV6.js +0 -29
  1208. package/dist/exports/client/chunk-7V3NHDV6.js.map +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["useModal","formatAdminURL","qs","React","useCallback","useEffect","useMemo","useBulkUpload","Button","useDocumentDrawer","Dropzone","useListDrawer","RenderCustomComponent","ShimmerEffect","FieldDescription","FieldError","FieldLabel","useAuth","useLocale","useTranslation","normalizeRelationshipValue","fieldBaseClass","UploadComponentHasMany","UploadComponentHasOne","baseClass","UploadInput","props","AfterInput","allowCreate","api","BeforeInput","className","Description","description","displayPreview","Error","filterOptions","filterOptionsFromProps","hasMany","isSortable","Label","label","localized","maxRows","onChange","onChangeFromProps","path","readOnly","relationTo","required","serverURL","showError","style","value","populatedDocs","setPopulatedDocs","useState","activeRelationTo","Array","isArray","openModal","drawerSlug","setCollectionSlug","setInitialFiles","setMaxFiles","setOnSuccess","setSelectableCollections","permissions","code","i18n","t","collectionSlugsWithCreatePermission","filter","relation","collections","create","isPoly","existingIdsByRelation","values","val","push","collection","id","newFilterOptions","relations","forEach","existingIds","not_in","concat","ListDrawer","closeDrawer","closeListDrawer","openDrawer","openListDrawer","collectionSlugs","CreateDocDrawer","closeCreateDocDrawer","openCreateDocDrawer","collectionSlug","loadedValueRef","useRef","canCreate","newValue","populateDocs","items","length","grouped","idValue","fetches","Object","entries","map","ids","query","depth","draft","limit","locale","where","and","in","response","fetch","apiRoute","body","stringify","credentials","headers","language","method","docs","ok","data","json","docsById","reduce","acc","doc","results","Promise","all","lookup","sortedDocs","filename","isPlaceholder","normalizeValue","onUploadSuccess","uploadedForms","newValues","form","normalizedExisting","mergedValue","currentDocs","firstDoc","onLocalFileSelection","fileList","fileListToUse","dataTransfer","DataTransfer","add","files","collectionToUse","onListBulkSelect","selectedDocIDs","isSelected","itemsToLoad","loadedDocs","onDocCreate","onListSelect","selectedDoc","valueToUse","reloadDoc","docID","updatedDocsToPropogate","existingDocIndex","findIndex","hasExisting","updatedDocs","onReorder","newValueToSave","rel","onRemove","loadInitialDocs","v","current","valueChanged","showDropzone","_jsxs","Boolean","join","replace","_jsx","CustomComponent","Fallback","_Fragment","fileDocs","readonly","showCollectionSlug","height","fileDoc","disabled","multipleFiles","buttonStyle","onClick","size","onSave","enableRowSelections","onBulkSelect","onSelect"],"sources":["../../../src/fields/Upload/Input.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientCollectionConfig,\n FieldLabelClientProps,\n FilterOptionsResult,\n JsonObject,\n StaticDescription,\n StaticLabel,\n UploadFieldClient,\n UploadField as UploadFieldType,\n ValueWithRelation,\n} from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\nimport type { ReloadDoc, ValueAsDataWithRelation } from './types.js'\n\nimport { type BulkUploadContext, useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { Dropzone } from '../../elements/Dropzone/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { normalizeRelationshipValue } from '../../utilities/normalizeRelationshipValue.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { UploadComponentHasMany } from './HasMany/index.js'\nimport './index.scss'\nimport { UploadComponentHasOne } from './HasOne/index.js'\n\nexport const baseClass = 'upload'\n\ntype PopulatedDocs = { relationTo: string; value: JsonObject }[]\n\nexport type UploadInputProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n /**\n * Controls the visibility of the \"Create new collection\" button\n */\n readonly api?: string\n readonly BeforeInput?: React.ReactNode\n readonly className?: string\n readonly collection?: ClientCollectionConfig\n readonly customUploadActions?: React.ReactNode[]\n readonly Description?: React.ReactNode\n readonly description?: StaticDescription\n readonly displayPreview?: boolean\n readonly Error?: React.ReactNode\n readonly filterOptions?: FilterOptionsResult\n readonly hasMany?: boolean\n readonly hideRemoveFile?: boolean\n readonly isSortable?: boolean\n readonly Label?: React.ReactNode\n readonly label?: StaticLabel\n readonly labelProps?: FieldLabelClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly localized?: boolean\n readonly maxRows?: number\n readonly onChange?: (e) => void\n readonly path: string\n readonly readOnly?: boolean\n readonly relationTo: UploadFieldType['relationTo']\n readonly required?: boolean\n readonly serverURL?: string\n readonly showError?: boolean\n readonly style?: React.CSSProperties\n readonly value?: (number | string)[] | number | string | ValueWithRelation | ValueWithRelation[]\n}\n\nexport function UploadInput(props: UploadInputProps) {\n const {\n AfterInput,\n allowCreate,\n api,\n BeforeInput,\n className,\n Description,\n description,\n displayPreview,\n Error,\n filterOptions: filterOptionsFromProps,\n hasMany,\n isSortable,\n Label,\n label,\n localized,\n maxRows,\n onChange: onChangeFromProps,\n path,\n readOnly,\n relationTo,\n required,\n serverURL,\n showError,\n style,\n value,\n } = props\n\n const [populatedDocs, setPopulatedDocs] = React.useState<\n {\n relationTo: string\n value: JsonObject\n }[]\n >()\n\n const [activeRelationTo] = React.useState<string>(\n Array.isArray(relationTo) ? relationTo[0] : relationTo,\n )\n\n const { openModal } = useModal()\n const {\n drawerSlug,\n setCollectionSlug,\n setInitialFiles,\n setMaxFiles,\n setOnSuccess,\n setSelectableCollections,\n } = useBulkUpload()\n const { permissions } = useAuth()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n // This will be used by the bulk upload to allow you to select only collections you have create permissions for\n const collectionSlugsWithCreatePermission = useMemo(() => {\n if (Array.isArray(relationTo)) {\n return relationTo.filter(\n (relation) => permissions?.collections && permissions.collections?.[relation]?.create,\n )\n }\n return []\n }, [relationTo, permissions])\n\n const filterOptions: FilterOptionsResult = useMemo(() => {\n const isPoly = Array.isArray(relationTo)\n\n if (!value) {\n return filterOptionsFromProps\n }\n\n // Group existing IDs by relation\n const existingIdsByRelation: Record<string, (number | string)[]> = {}\n\n const values = Array.isArray(value) ? value : [value]\n\n for (const val of values) {\n if (isPoly && typeof val === 'object' && 'relationTo' in val) {\n // Poly upload - group by relationTo\n if (!existingIdsByRelation[val.relationTo]) {\n existingIdsByRelation[val.relationTo] = []\n }\n existingIdsByRelation[val.relationTo].push(val.value)\n } else if (!isPoly) {\n // Non-poly upload - all IDs belong to the single collection\n const collection = relationTo\n if (!existingIdsByRelation[collection]) {\n existingIdsByRelation[collection] = []\n }\n const id = typeof val === 'object' && 'value' in val ? val.value : val\n if (typeof id === 'string' || typeof id === 'number') {\n existingIdsByRelation[collection].push(id)\n }\n }\n }\n\n // Build filter options for each collection\n const newFilterOptions = { ...filterOptionsFromProps }\n const relations = isPoly ? relationTo : [relationTo]\n\n relations.forEach((relation) => {\n const existingIds = existingIdsByRelation[relation] || []\n\n newFilterOptions[relation] = {\n ...((filterOptionsFromProps?.[relation] as any) || {}),\n id: {\n ...((filterOptionsFromProps?.[relation] as any)?.id || {}),\n not_in: ((filterOptionsFromProps?.[relation] as any)?.id?.not_in || []).concat(\n existingIds,\n ),\n },\n }\n })\n\n return newFilterOptions\n }, [value, filterOptionsFromProps, relationTo])\n\n const [ListDrawer, , { closeDrawer: closeListDrawer, openDrawer: openListDrawer }] =\n useListDrawer({\n collectionSlugs: typeof relationTo === 'string' ? [relationTo] : relationTo,\n filterOptions,\n })\n\n const [\n CreateDocDrawer,\n ,\n { closeDrawer: closeCreateDocDrawer, openDrawer: openCreateDocDrawer },\n ] = useDocumentDrawer({\n collectionSlug: activeRelationTo,\n })\n\n /**\n * Track the last loaded value to prevent unnecessary reloads\n */\n const loadedValueRef = React.useRef<\n (number | string)[] | null | number | string | ValueWithRelation | ValueWithRelation[]\n >(null)\n\n const canCreate = useMemo(() => {\n if (!allowCreate) {\n return false\n }\n\n if (typeof activeRelationTo === 'string') {\n if (permissions?.collections && permissions.collections?.[activeRelationTo]?.create) {\n return true\n }\n }\n\n return false\n }, [activeRelationTo, permissions, allowCreate])\n\n const onChange = React.useCallback(\n (newValue) => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newValue)\n }\n },\n [onChangeFromProps],\n )\n\n const populateDocs = React.useCallback(\n async (items: ValueWithRelation[]): Promise<ValueAsDataWithRelation[]> => {\n if (!items?.length) {\n return []\n }\n\n // 1. Group IDs by collection\n const grouped: Record<string, (number | string)[]> = {}\n items.forEach(({ relationTo, value }) => {\n if (!grouped[relationTo]) {\n grouped[relationTo] = []\n }\n // Ensure we extract the actual ID value, not an object\n let idValue: number | string = value\n\n if (value && typeof value === 'object' && 'value' in (value as any)) {\n idValue = (value as any).value\n }\n\n grouped[relationTo].push(idValue)\n })\n\n // 2. Fetch per collection\n const fetches = Object.entries(grouped).map(async ([collection, ids]) => {\n const query = {\n depth: 0,\n draft: true,\n limit: ids.length,\n locale: code,\n where: {\n and: [\n {\n id: {\n in: ids,\n },\n },\n ],\n },\n }\n const response = await fetch(\n formatAdminURL({\n apiRoute: api,\n path: `/${collection}`,\n }),\n {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-Payload-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n },\n )\n let docs: any[] = []\n if (response.ok) {\n const data = await response.json()\n docs = data.docs\n }\n // Map docs by ID for fast lookup\n const docsById = docs.reduce((acc, doc) => {\n acc[doc.id] = doc\n return acc\n }, {})\n return { collection, docsById }\n })\n\n const results = await Promise.all(fetches)\n\n // 3. Build lookup\n const lookup: Record<string, Record<string, any>> = {}\n results.forEach(({ collection, docsById }) => {\n lookup[collection] = docsById\n })\n\n // 4. Reconstruct in input order, add placeholders if missing\n const sortedDocs = items.map(({ relationTo, value }) => {\n const doc = lookup[relationTo]?.[value] || {\n id: value,\n filename: `${t('general:untitled')} - ID: ${value}`,\n isPlaceholder: true,\n }\n return { relationTo, value: doc }\n })\n\n return sortedDocs\n },\n [api, code, i18n.language, t],\n )\n\n const normalizeValue = useCallback(\n (value: any): any => normalizeRelationshipValue(value, relationTo),\n [relationTo],\n )\n\n const onUploadSuccess: BulkUploadContext['onSuccess'] = useCallback(\n (uploadedForms) => {\n const isPoly = Array.isArray(relationTo)\n\n if (hasMany) {\n const newValues = uploadedForms.map((form) =>\n isPoly ? { relationTo: form.collectionSlug, value: form.doc.id } : form.doc.id,\n )\n // Normalize existing values before merging\n const normalizedExisting = Array.isArray(value) ? value.map(normalizeValue) : []\n const mergedValue = [...normalizedExisting, ...newValues]\n onChange(mergedValue)\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...uploadedForms.map((form) => ({\n relationTo: form.collectionSlug,\n value: form.doc,\n })),\n ])\n } else {\n const firstDoc = uploadedForms[0]\n const newValue = isPoly\n ? { relationTo: firstDoc.collectionSlug, value: firstDoc.doc.id }\n : firstDoc.doc.id\n onChange(newValue)\n setPopulatedDocs([\n {\n relationTo: firstDoc.collectionSlug,\n value: firstDoc.doc,\n },\n ])\n }\n },\n [value, onChange, hasMany, relationTo, normalizeValue],\n )\n\n const onLocalFileSelection = React.useCallback(\n (fileList?: FileList) => {\n let fileListToUse = fileList\n if (!hasMany && fileList && fileList.length > 1) {\n const dataTransfer = new DataTransfer()\n dataTransfer.items.add(fileList[0])\n fileListToUse = dataTransfer.files\n }\n if (fileListToUse) {\n setInitialFiles(fileListToUse)\n }\n // Use activeRelationTo for poly uploads, or relationTo as string for single collection\n const collectionToUse = Array.isArray(relationTo) ? activeRelationTo : relationTo\n\n setCollectionSlug(collectionToUse)\n if (Array.isArray(collectionSlugsWithCreatePermission)) {\n setSelectableCollections(collectionSlugsWithCreatePermission)\n }\n\n if (typeof maxRows === 'number') {\n setMaxFiles(maxRows)\n }\n\n openModal(drawerSlug)\n },\n [\n hasMany,\n relationTo,\n activeRelationTo,\n setCollectionSlug,\n collectionSlugsWithCreatePermission,\n maxRows,\n openModal,\n drawerSlug,\n setInitialFiles,\n setSelectableCollections,\n setMaxFiles,\n ],\n )\n\n // only hasMany can bulk select\n const onListBulkSelect = React.useCallback<NonNullable<ListDrawerProps['onBulkSelect']>>(\n async (docs) => {\n const isPoly = Array.isArray(relationTo)\n const selectedDocIDs = []\n\n for (const [id, isSelected] of docs) {\n if (isSelected) {\n selectedDocIDs.push(id)\n }\n }\n\n const itemsToLoad = selectedDocIDs.map((id) => ({\n relationTo: activeRelationTo,\n value: id,\n }))\n\n const loadedDocs = await populateDocs(itemsToLoad)\n if (loadedDocs) {\n setPopulatedDocs((currentDocs) => [...(currentDocs || []), ...loadedDocs])\n }\n\n const newValues = selectedDocIDs.map((id) =>\n isPoly ? { relationTo: activeRelationTo, value: id } : id,\n )\n // Normalize existing values before merging\n const normalizedExisting = Array.isArray(value) ? value.map(normalizeValue) : []\n onChange([...normalizedExisting, ...newValues])\n closeListDrawer()\n },\n [activeRelationTo, closeListDrawer, onChange, populateDocs, value, relationTo, normalizeValue],\n )\n\n const onDocCreate = React.useCallback(\n (data) => {\n const isPoly = Array.isArray(relationTo)\n if (data.doc) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: data.doc,\n },\n ])\n\n const newValue = isPoly ? { relationTo: activeRelationTo, value: data.doc.id } : data.doc.id\n onChange(newValue)\n }\n closeCreateDocDrawer()\n },\n [closeCreateDocDrawer, activeRelationTo, onChange, relationTo],\n )\n\n const onListSelect = useCallback<NonNullable<ListDrawerProps['onSelect']>>(\n async ({ collectionSlug, doc }) => {\n const isPoly = Array.isArray(relationTo)\n\n const loadedDocs = await populateDocs([{ relationTo: collectionSlug, value: doc.id }])\n const selectedDoc = loadedDocs?.[0] || null\n\n setPopulatedDocs((currentDocs) => {\n if (selectedDoc) {\n if (hasMany) {\n return [...(currentDocs || []), selectedDoc]\n }\n return [selectedDoc]\n }\n return currentDocs\n })\n\n if (hasMany) {\n const newValue = isPoly ? { relationTo: collectionSlug, value: doc.id } : doc.id\n // Normalize existing values before merging\n const normalizedExisting = Array.isArray(value) ? value.map(normalizeValue) : []\n const valueToUse = [...normalizedExisting, newValue]\n onChange(valueToUse)\n } else {\n const valueToUse = isPoly ? { relationTo: collectionSlug, value: doc.id } : doc.id\n onChange(valueToUse)\n }\n closeListDrawer()\n },\n [closeListDrawer, hasMany, populateDocs, onChange, value, relationTo, normalizeValue],\n )\n\n const reloadDoc = React.useCallback<ReloadDoc>(\n async (docID, collectionSlug) => {\n const docs = await populateDocs([{ relationTo: collectionSlug, value: docID }])\n\n if (docs[0]) {\n let updatedDocsToPropogate = []\n setPopulatedDocs((currentDocs) => {\n const existingDocIndex = currentDocs?.findIndex((doc) => {\n const hasExisting = doc.value?.id === docs[0].value.id || doc.value?.isPlaceholder\n return hasExisting && doc.relationTo === collectionSlug\n })\n if (existingDocIndex > -1) {\n const updatedDocs = [...currentDocs]\n updatedDocs[existingDocIndex] = docs[0]\n updatedDocsToPropogate = updatedDocs\n return updatedDocs\n }\n return currentDocs\n })\n\n if (updatedDocsToPropogate.length && hasMany) {\n onChange(updatedDocsToPropogate.map((doc) => doc.value?.id))\n }\n }\n },\n [populateDocs, onChange, hasMany],\n )\n\n // only hasMany can reorder\n const onReorder = React.useCallback(\n (newValue) => {\n const isPoly = Array.isArray(relationTo)\n const newValueToSave = newValue.map(({ relationTo: rel, value }) =>\n isPoly ? { relationTo: rel, value: value.id } : value.id,\n )\n onChange(newValueToSave)\n setPopulatedDocs(newValue)\n },\n [onChange, relationTo],\n )\n\n const onRemove = React.useCallback(\n (newValue?: PopulatedDocs) => {\n const isPoly = Array.isArray(relationTo)\n\n if (!newValue || newValue.length === 0) {\n onChange(hasMany ? [] : null)\n setPopulatedDocs(hasMany ? [] : null)\n return\n }\n\n const newValueToSave = newValue.map(({ relationTo: rel, value }) =>\n isPoly ? { relationTo: rel, value: value.id } : value.id,\n )\n\n onChange(hasMany ? newValueToSave : newValueToSave[0])\n setPopulatedDocs(newValue)\n },\n [onChange, hasMany, relationTo],\n )\n\n useEffect(() => {\n async function loadInitialDocs() {\n if (value) {\n let itemsToLoad: ValueWithRelation[] = []\n if (\n Array.isArray(relationTo) &&\n ((typeof value === 'object' && 'relationTo' in value) ||\n (Array.isArray(value) &&\n value.length > 0 &&\n typeof value[0] === 'object' &&\n 'relationTo' in value[0]))\n ) {\n // For poly uploads, value should already be in the format { relationTo, value }\n const values = Array.isArray(value) ? value : [value]\n itemsToLoad = values\n .filter((v): v is ValueWithRelation => typeof v === 'object' && 'relationTo' in v)\n .map((v) => {\n // Ensure the value property is a simple ID, not nested\n let idValue: any = v.value\n while (\n idValue &&\n typeof idValue === 'object' &&\n idValue !== null &&\n 'value' in idValue\n ) {\n idValue = idValue.value\n }\n return {\n relationTo: v.relationTo,\n value: idValue as number | string,\n }\n })\n } else {\n // This check is here to satisfy TypeScript that relationTo is a string\n if (!Array.isArray(relationTo)) {\n // For single collection uploads, we need to wrap the IDs\n const ids = Array.isArray(value) ? value : [value]\n itemsToLoad = ids.map((id): ValueWithRelation => {\n // Extract the actual ID, handling nested objects\n let idValue: any = id\n while (\n idValue &&\n typeof idValue === 'object' &&\n idValue !== null &&\n 'value' in idValue\n ) {\n idValue = idValue.value\n }\n return {\n relationTo,\n value: idValue as number | string,\n }\n })\n }\n }\n\n if (itemsToLoad.length > 0) {\n const loadedDocs = await populateDocs(itemsToLoad)\n\n if (loadedDocs) {\n setPopulatedDocs(loadedDocs)\n loadedValueRef.current = value\n }\n }\n } else {\n // Clear populated docs when value is cleared\n setPopulatedDocs([])\n loadedValueRef.current = null\n }\n }\n\n // Only load if value has changed from what we last loaded\n const valueChanged = loadedValueRef.current !== value\n if (valueChanged) {\n void loadInitialDocs()\n }\n }, [populateDocs, value, relationTo])\n\n useEffect(() => {\n setOnSuccess(onUploadSuccess)\n }, [value, path, onUploadSuccess, setOnSuccess])\n\n const showDropzone =\n !value ||\n (hasMany && Array.isArray(value) && (typeof maxRows !== 'number' || value.length < maxRows)) ||\n (!hasMany && populatedDocs?.[0] && typeof populatedDocs[0].value === 'undefined')\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n style={style}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${baseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n </div>\n {BeforeInput}\n <div className={`${baseClass}__dropzoneAndUpload`}>\n {hasMany && Array.isArray(value) && value.length > 0 ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 ? (\n <UploadComponentHasMany\n displayPreview={displayPreview}\n fileDocs={populatedDocs}\n isSortable={isSortable && !readOnly}\n onRemove={onRemove}\n onReorder={onReorder}\n readonly={readOnly}\n reloadDoc={reloadDoc}\n serverURL={serverURL}\n showCollectionSlug={Array.isArray(relationTo)}\n />\n ) : (\n <div className={`${baseClass}__loadingRows`}>\n {value.map((id) => (\n <ShimmerEffect height=\"40px\" key={typeof id === 'object' ? id.value : id} />\n ))}\n </div>\n )}\n </>\n ) : null}\n {!hasMany && value ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 && populatedDocs[0].value ? (\n <UploadComponentHasOne\n displayPreview={displayPreview}\n fileDoc={populatedDocs[0]}\n onRemove={onRemove}\n readonly={readOnly}\n reloadDoc={reloadDoc}\n serverURL={serverURL}\n showCollectionSlug={Array.isArray(relationTo)}\n />\n ) : populatedDocs && value && !populatedDocs?.[0]?.value ? (\n <>\n {t('general:untitled')} - ID: {value}\n </>\n ) : (\n <ShimmerEffect height=\"62px\" />\n )}\n </>\n ) : null}\n {showDropzone ? (\n <Dropzone\n disabled={readOnly || !canCreate}\n multipleFiles={hasMany}\n onChange={onLocalFileSelection}\n >\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneContent__buttons`}>\n {canCreate && (\n <>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__createNewToggler`}\n disabled={readOnly || !canCreate}\n onClick={() => {\n if (!readOnly) {\n if (hasMany) {\n onLocalFileSelection()\n } else {\n openCreateDocDrawer()\n }\n }\n }}\n size=\"small\"\n >\n {t('general:createNew')}\n </Button>\n <span className={`${baseClass}__dropzoneContent__orText`}>\n {t('general:or')}\n </span>\n </>\n )}\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__listToggler`}\n disabled={readOnly}\n onClick={openListDrawer}\n size=\"small\"\n >\n {t('fields:chooseFromExisting')}\n </Button>\n <CreateDocDrawer onSave={onDocCreate} />\n <ListDrawer\n allowCreate={canCreate}\n enableRowSelections={hasMany}\n onBulkSelect={onListBulkSelect}\n onSelect={onListSelect}\n />\n </div>\n\n {canCreate && !readOnly && (\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n )}\n </div>\n </Dropzone>\n ) : (\n <>\n {!readOnly &&\n !populatedDocs &&\n (!value ||\n typeof maxRows !== 'number' ||\n (Array.isArray(value) && value.length < maxRows)) ? (\n <ShimmerEffect height=\"40px\" />\n ) : null}\n </>\n )}\n </div>\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["../../../src/fields/Upload/Input.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientCollectionConfig,\n FieldLabelClientProps,\n FilterOptionsResult,\n JsonObject,\n StaticDescription,\n StaticLabel,\n UploadFieldClient,\n UploadField as UploadFieldType,\n ValueWithRelation,\n} from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\nimport type { ReloadDoc, ValueAsDataWithRelation } from './types.js'\n\nimport { type BulkUploadContext, useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { Dropzone } from '../../elements/Dropzone/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { normalizeRelationshipValue } from '../../utilities/normalizeRelationshipValue.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { UploadComponentHasMany } from './HasMany/index.js'\nimport './index.scss'\nimport { UploadComponentHasOne } from './HasOne/index.js'\n\nexport const baseClass = 'upload'\n\ntype PopulatedDocs = { relationTo: string; value: JsonObject }[]\n\nexport type UploadInputProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n /**\n * Controls the visibility of the \"Create new collection\" button\n */\n readonly api?: string\n readonly BeforeInput?: React.ReactNode\n readonly className?: string\n readonly collection?: ClientCollectionConfig\n readonly customUploadActions?: React.ReactNode[]\n readonly Description?: React.ReactNode\n readonly description?: StaticDescription\n readonly displayPreview?: boolean\n readonly Error?: React.ReactNode\n readonly filterOptions?: FilterOptionsResult\n readonly hasMany?: boolean\n readonly hideRemoveFile?: boolean\n readonly isSortable?: boolean\n readonly Label?: React.ReactNode\n readonly label?: StaticLabel\n readonly labelProps?: FieldLabelClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly localized?: boolean\n readonly maxRows?: number\n readonly onChange?: (e) => void\n readonly path: string\n readonly readOnly?: boolean\n readonly relationTo: UploadFieldType['relationTo']\n readonly required?: boolean\n readonly serverURL?: string\n readonly showError?: boolean\n readonly style?: React.CSSProperties\n readonly value?: (number | string)[] | number | string | ValueWithRelation | ValueWithRelation[]\n}\n\nexport function UploadInput(props: UploadInputProps) {\n const {\n AfterInput,\n allowCreate,\n api,\n BeforeInput,\n className,\n Description,\n description,\n displayPreview,\n Error,\n filterOptions: filterOptionsFromProps,\n hasMany,\n isSortable,\n Label,\n label,\n localized,\n maxRows,\n onChange: onChangeFromProps,\n path,\n readOnly,\n relationTo,\n required,\n serverURL,\n showError,\n style,\n value,\n } = props\n\n const [populatedDocs, setPopulatedDocs] = React.useState<\n {\n relationTo: string\n value: JsonObject\n }[]\n >()\n\n const [activeRelationTo] = React.useState<string>(\n Array.isArray(relationTo) ? relationTo[0] : relationTo,\n )\n\n const { openModal } = useModal()\n const {\n drawerSlug,\n setCollectionSlug,\n setInitialFiles,\n setMaxFiles,\n setOnSuccess,\n setSelectableCollections,\n } = useBulkUpload()\n const { permissions } = useAuth()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n // This will be used by the bulk upload to allow you to select only collections you have create permissions for\n const collectionSlugsWithCreatePermission = useMemo(() => {\n if (Array.isArray(relationTo)) {\n return relationTo.filter(\n (relation) => permissions?.collections && permissions.collections?.[relation]?.create,\n )\n }\n return []\n }, [relationTo, permissions])\n\n const filterOptions: FilterOptionsResult = useMemo(() => {\n const isPoly = Array.isArray(relationTo)\n\n if (!value) {\n return filterOptionsFromProps\n }\n\n // Group existing IDs by relation\n const existingIdsByRelation: Record<string, (number | string)[]> = {}\n\n const values = Array.isArray(value) ? value : [value]\n\n for (const val of values) {\n if (isPoly && typeof val === 'object' && 'relationTo' in val) {\n // Poly upload - group by relationTo\n if (!existingIdsByRelation[val.relationTo]) {\n existingIdsByRelation[val.relationTo] = []\n }\n existingIdsByRelation[val.relationTo].push(val.value)\n } else if (!isPoly) {\n // Non-poly upload - all IDs belong to the single collection\n const collection = relationTo\n if (!existingIdsByRelation[collection]) {\n existingIdsByRelation[collection] = []\n }\n const id = typeof val === 'object' && 'value' in val ? val.value : val\n if (typeof id === 'string' || typeof id === 'number') {\n existingIdsByRelation[collection].push(id)\n }\n }\n }\n\n // Build filter options for each collection\n const newFilterOptions = { ...filterOptionsFromProps }\n const relations = isPoly ? relationTo : [relationTo]\n\n relations.forEach((relation) => {\n const existingIds = existingIdsByRelation[relation] || []\n\n newFilterOptions[relation] = {\n ...((filterOptionsFromProps?.[relation] as any) || {}),\n id: {\n ...((filterOptionsFromProps?.[relation] as any)?.id || {}),\n not_in: ((filterOptionsFromProps?.[relation] as any)?.id?.not_in || []).concat(\n existingIds,\n ),\n },\n }\n })\n\n return newFilterOptions\n }, [value, filterOptionsFromProps, relationTo])\n\n const [ListDrawer, , { closeDrawer: closeListDrawer, openDrawer: openListDrawer }] =\n useListDrawer({\n collectionSlugs: typeof relationTo === 'string' ? [relationTo] : relationTo,\n filterOptions,\n })\n\n const [\n CreateDocDrawer,\n ,\n { closeDrawer: closeCreateDocDrawer, openDrawer: openCreateDocDrawer },\n ] = useDocumentDrawer({\n collectionSlug: activeRelationTo,\n })\n\n /**\n * Track the last loaded value to prevent unnecessary reloads\n */\n const loadedValueRef = React.useRef<\n (number | string)[] | null | number | string | ValueWithRelation | ValueWithRelation[]\n >(null)\n\n const canCreate = useMemo(() => {\n if (!allowCreate) {\n return false\n }\n\n if (typeof activeRelationTo === 'string') {\n if (permissions?.collections && permissions.collections?.[activeRelationTo]?.create) {\n return true\n }\n }\n\n return false\n }, [activeRelationTo, permissions, allowCreate])\n\n const onChange = React.useCallback(\n (newValue) => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newValue)\n }\n },\n [onChangeFromProps],\n )\n\n const populateDocs = React.useCallback(\n async (items: ValueWithRelation[]): Promise<ValueAsDataWithRelation[]> => {\n if (!items?.length) {\n return []\n }\n\n // 1. Group IDs by collection\n const grouped: Record<string, (number | string)[]> = {}\n items.forEach(({ relationTo, value }) => {\n if (!grouped[relationTo]) {\n grouped[relationTo] = []\n }\n // Ensure we extract the actual ID value, not an object\n let idValue: number | string = value\n\n if (value && typeof value === 'object' && 'value' in (value as any)) {\n idValue = (value as any).value\n }\n\n grouped[relationTo].push(idValue)\n })\n\n // 2. Fetch per collection\n const fetches = Object.entries(grouped).map(async ([collection, ids]) => {\n const query = {\n depth: 0,\n draft: true,\n limit: ids.length,\n locale: code,\n where: {\n and: [\n {\n id: {\n in: ids,\n },\n },\n ],\n },\n }\n const response = await fetch(\n formatAdminURL({\n apiRoute: api,\n path: `/${collection}`,\n }),\n {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-Payload-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n },\n )\n let docs: any[] = []\n if (response.ok) {\n const data = await response.json()\n docs = data.docs\n }\n // Map docs by ID for fast lookup\n const docsById = docs.reduce((acc, doc) => {\n acc[doc.id] = doc\n return acc\n }, {})\n return { collection, docsById }\n })\n\n const results = await Promise.all(fetches)\n\n // 3. Build lookup\n const lookup: Record<string, Record<string, any>> = {}\n results.forEach(({ collection, docsById }) => {\n lookup[collection] = docsById\n })\n\n // 4. Reconstruct in input order, add placeholders if missing\n const sortedDocs = items.map(({ relationTo, value }) => {\n const doc = lookup[relationTo]?.[value] || {\n id: value,\n filename: `${t('general:untitled')} - ID: ${value}`,\n isPlaceholder: true,\n }\n return { relationTo, value: doc }\n })\n\n return sortedDocs\n },\n [api, code, i18n.language, t],\n )\n\n const normalizeValue = useCallback(\n (value: any): any => normalizeRelationshipValue(value, relationTo),\n [relationTo],\n )\n\n const onUploadSuccess: BulkUploadContext['onSuccess'] = useCallback(\n (uploadedForms) => {\n const isPoly = Array.isArray(relationTo)\n\n if (hasMany) {\n const newValues = uploadedForms.map((form) =>\n isPoly ? { relationTo: form.collectionSlug, value: form.doc.id } : form.doc.id,\n )\n // Normalize existing values before merging\n const normalizedExisting = Array.isArray(value) ? value.map(normalizeValue) : []\n const mergedValue = [...normalizedExisting, ...newValues]\n onChange(mergedValue)\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...uploadedForms.map((form) => ({\n relationTo: form.collectionSlug,\n value: form.doc,\n })),\n ])\n } else {\n const firstDoc = uploadedForms[0]\n const newValue = isPoly\n ? { relationTo: firstDoc.collectionSlug, value: firstDoc.doc.id }\n : firstDoc.doc.id\n onChange(newValue)\n setPopulatedDocs([\n {\n relationTo: firstDoc.collectionSlug,\n value: firstDoc.doc,\n },\n ])\n }\n },\n [value, onChange, hasMany, relationTo, normalizeValue],\n )\n\n const onLocalFileSelection = React.useCallback(\n (fileList?: FileList) => {\n let fileListToUse = fileList\n if (!hasMany && fileList && fileList.length > 1) {\n const dataTransfer = new DataTransfer()\n dataTransfer.items.add(fileList[0])\n fileListToUse = dataTransfer.files\n }\n if (fileListToUse) {\n setInitialFiles(fileListToUse)\n }\n // Use activeRelationTo for poly uploads, or relationTo as string for single collection\n const collectionToUse = Array.isArray(relationTo) ? activeRelationTo : relationTo\n\n setCollectionSlug(collectionToUse)\n if (Array.isArray(collectionSlugsWithCreatePermission)) {\n setSelectableCollections(collectionSlugsWithCreatePermission)\n }\n\n if (typeof maxRows === 'number') {\n setMaxFiles(maxRows)\n }\n\n openModal(drawerSlug)\n },\n [\n hasMany,\n relationTo,\n activeRelationTo,\n setCollectionSlug,\n collectionSlugsWithCreatePermission,\n maxRows,\n openModal,\n drawerSlug,\n setInitialFiles,\n setSelectableCollections,\n setMaxFiles,\n ],\n )\n\n // only hasMany can bulk select\n const onListBulkSelect = React.useCallback<NonNullable<ListDrawerProps['onBulkSelect']>>(\n async (docs) => {\n const isPoly = Array.isArray(relationTo)\n const selectedDocIDs = []\n\n for (const [id, isSelected] of docs) {\n if (isSelected) {\n selectedDocIDs.push(id)\n }\n }\n\n const itemsToLoad = selectedDocIDs.map((id) => ({\n relationTo: activeRelationTo,\n value: id,\n }))\n\n const loadedDocs = await populateDocs(itemsToLoad)\n if (loadedDocs) {\n setPopulatedDocs((currentDocs) => [...(currentDocs || []), ...loadedDocs])\n }\n\n const newValues = selectedDocIDs.map((id) =>\n isPoly ? { relationTo: activeRelationTo, value: id } : id,\n )\n // Normalize existing values before merging\n const normalizedExisting = Array.isArray(value) ? value.map(normalizeValue) : []\n onChange([...normalizedExisting, ...newValues])\n closeListDrawer()\n },\n [activeRelationTo, closeListDrawer, onChange, populateDocs, value, relationTo, normalizeValue],\n )\n\n const onDocCreate = React.useCallback(\n (data) => {\n const isPoly = Array.isArray(relationTo)\n if (data.doc) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: data.doc,\n },\n ])\n\n const newValue = isPoly ? { relationTo: activeRelationTo, value: data.doc.id } : data.doc.id\n onChange(newValue)\n }\n closeCreateDocDrawer()\n },\n [closeCreateDocDrawer, activeRelationTo, onChange, relationTo],\n )\n\n const onListSelect = useCallback<NonNullable<ListDrawerProps['onSelect']>>(\n async ({ collectionSlug, doc }) => {\n const isPoly = Array.isArray(relationTo)\n\n const loadedDocs = await populateDocs([{ relationTo: collectionSlug, value: doc.id }])\n const selectedDoc = loadedDocs?.[0] || null\n\n setPopulatedDocs((currentDocs) => {\n if (selectedDoc) {\n if (hasMany) {\n return [...(currentDocs || []), selectedDoc]\n }\n return [selectedDoc]\n }\n return currentDocs\n })\n\n if (hasMany) {\n const newValue = isPoly ? { relationTo: collectionSlug, value: doc.id } : doc.id\n // Normalize existing values before merging\n const normalizedExisting = Array.isArray(value) ? value.map(normalizeValue) : []\n const valueToUse = [...normalizedExisting, newValue]\n onChange(valueToUse)\n } else {\n const valueToUse = isPoly ? { relationTo: collectionSlug, value: doc.id } : doc.id\n onChange(valueToUse)\n }\n closeListDrawer()\n },\n [closeListDrawer, hasMany, populateDocs, onChange, value, relationTo, normalizeValue],\n )\n\n const reloadDoc = React.useCallback<ReloadDoc>(\n async (docID, collectionSlug) => {\n const docs = await populateDocs([{ relationTo: collectionSlug, value: docID }])\n\n if (docs[0]) {\n let updatedDocsToPropogate = []\n setPopulatedDocs((currentDocs) => {\n const existingDocIndex = currentDocs?.findIndex((doc) => {\n const hasExisting = doc.value?.id === docs[0].value.id || doc.value?.isPlaceholder\n return hasExisting && doc.relationTo === collectionSlug\n })\n if (existingDocIndex > -1) {\n const updatedDocs = [...currentDocs]\n updatedDocs[existingDocIndex] = docs[0]\n updatedDocsToPropogate = updatedDocs\n return updatedDocs\n }\n return currentDocs\n })\n\n if (updatedDocsToPropogate.length && hasMany) {\n onChange(updatedDocsToPropogate.map((doc) => doc.value?.id))\n }\n }\n },\n [populateDocs, onChange, hasMany],\n )\n\n // only hasMany can reorder\n const onReorder = React.useCallback(\n (newValue) => {\n const isPoly = Array.isArray(relationTo)\n const newValueToSave = newValue.map(({ relationTo: rel, value }) =>\n isPoly ? { relationTo: rel, value: value.id } : value.id,\n )\n onChange(newValueToSave)\n setPopulatedDocs(newValue)\n },\n [onChange, relationTo],\n )\n\n const onRemove = React.useCallback(\n (newValue?: PopulatedDocs) => {\n const isPoly = Array.isArray(relationTo)\n\n if (!newValue || newValue.length === 0) {\n onChange(hasMany ? [] : null)\n setPopulatedDocs(hasMany ? [] : null)\n return\n }\n\n const newValueToSave = newValue.map(({ relationTo: rel, value }) =>\n isPoly ? { relationTo: rel, value: value.id } : value.id,\n )\n\n onChange(hasMany ? newValueToSave : newValueToSave[0])\n setPopulatedDocs(newValue)\n },\n [onChange, hasMany, relationTo],\n )\n\n useEffect(() => {\n async function loadInitialDocs() {\n if (value) {\n let itemsToLoad: ValueWithRelation[] = []\n if (\n Array.isArray(relationTo) &&\n ((typeof value === 'object' && 'relationTo' in value) ||\n (Array.isArray(value) &&\n value.length > 0 &&\n typeof value[0] === 'object' &&\n 'relationTo' in value[0]))\n ) {\n // For poly uploads, value should already be in the format { relationTo, value }\n const values = Array.isArray(value) ? value : [value]\n itemsToLoad = values\n .filter((v): v is ValueWithRelation => typeof v === 'object' && 'relationTo' in v)\n .map((v) => {\n // Ensure the value property is a simple ID, not nested\n let idValue: any = v.value\n while (\n idValue &&\n typeof idValue === 'object' &&\n idValue !== null &&\n 'value' in idValue\n ) {\n idValue = idValue.value\n }\n return {\n relationTo: v.relationTo,\n value: idValue as number | string,\n }\n })\n } else {\n // This check is here to satisfy TypeScript that relationTo is a string\n if (!Array.isArray(relationTo)) {\n // For single collection uploads, we need to wrap the IDs\n const ids = Array.isArray(value) ? value : [value]\n itemsToLoad = ids.map((id): ValueWithRelation => {\n // Extract the actual ID, handling nested objects\n let idValue: any = id\n while (\n idValue &&\n typeof idValue === 'object' &&\n idValue !== null &&\n 'value' in idValue\n ) {\n idValue = idValue.value\n }\n return {\n relationTo,\n value: idValue as number | string,\n }\n })\n }\n }\n\n if (itemsToLoad.length > 0) {\n const loadedDocs = await populateDocs(itemsToLoad)\n\n if (loadedDocs) {\n setPopulatedDocs(loadedDocs)\n loadedValueRef.current = value\n }\n }\n } else {\n // Clear populated docs when value is cleared\n setPopulatedDocs([])\n loadedValueRef.current = null\n }\n }\n\n // Only load if value has changed from what we last loaded\n const valueChanged = loadedValueRef.current !== value\n if (valueChanged) {\n void loadInitialDocs()\n }\n }, [populateDocs, value, relationTo])\n\n useEffect(() => {\n setOnSuccess(onUploadSuccess)\n }, [value, path, onUploadSuccess, setOnSuccess])\n\n const showDropzone =\n !value ||\n (hasMany && Array.isArray(value) && (typeof maxRows !== 'number' || value.length < maxRows)) ||\n (!hasMany && populatedDocs?.[0] && typeof populatedDocs[0].value === 'undefined')\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n style={style}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${baseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n </div>\n {BeforeInput}\n <div className={`${baseClass}__dropzoneAndUpload`}>\n {hasMany && Array.isArray(value) && value.length > 0 ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 ? (\n <UploadComponentHasMany\n displayPreview={displayPreview}\n fileDocs={populatedDocs}\n isSortable={isSortable && !readOnly}\n onRemove={onRemove}\n onReorder={onReorder}\n readonly={readOnly}\n reloadDoc={reloadDoc}\n serverURL={serverURL}\n showCollectionSlug={Array.isArray(relationTo)}\n />\n ) : (\n <div className={`${baseClass}__loadingRows`}>\n {value.map((id) => (\n <ShimmerEffect height=\"40px\" key={typeof id === 'object' ? id.value : id} />\n ))}\n </div>\n )}\n </>\n ) : null}\n {!hasMany && value ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 && populatedDocs[0].value ? (\n <UploadComponentHasOne\n displayPreview={displayPreview}\n fileDoc={populatedDocs[0]}\n onRemove={onRemove}\n readonly={readOnly}\n reloadDoc={reloadDoc}\n serverURL={serverURL}\n showCollectionSlug={Array.isArray(relationTo)}\n />\n ) : populatedDocs && value && !populatedDocs?.[0]?.value ? (\n <>\n {t('general:untitled')} - ID: {value}\n </>\n ) : (\n <ShimmerEffect height=\"62px\" />\n )}\n </>\n ) : null}\n {showDropzone ? (\n <Dropzone\n disabled={readOnly || !canCreate}\n multipleFiles={hasMany}\n onChange={onLocalFileSelection}\n >\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneContent__buttons`}>\n {canCreate && (\n <>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__createNewToggler`}\n disabled={readOnly || !canCreate}\n onClick={() => {\n if (!readOnly) {\n if (hasMany) {\n onLocalFileSelection()\n } else {\n openCreateDocDrawer()\n }\n }\n }}\n size=\"small\"\n >\n {t('general:createNew')}\n </Button>\n <span className={`${baseClass}__dropzoneContent__orText`}>\n {t('general:or')}\n </span>\n </>\n )}\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__listToggler`}\n disabled={readOnly}\n onClick={openListDrawer}\n size=\"small\"\n >\n {t('fields:chooseFromExisting')}\n </Button>\n <CreateDocDrawer onSave={onDocCreate} />\n <ListDrawer\n allowCreate={canCreate}\n enableRowSelections={hasMany}\n onBulkSelect={onListBulkSelect}\n onSelect={onListSelect}\n />\n </div>\n\n {canCreate && !readOnly && (\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n )}\n </div>\n </Dropzone>\n ) : (\n <>\n {!readOnly &&\n !populatedDocs &&\n (!value ||\n typeof maxRows !== 'number' ||\n (Array.isArray(value) && value.length < maxRows)) ? (\n <ShimmerEffect height=\"40px\" />\n ) : null}\n </>\n )}\n </div>\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n"],"names":["useModal","formatAdminURL","qs","React","useCallback","useEffect","useMemo","useBulkUpload","Button","useDocumentDrawer","Dropzone","useListDrawer","RenderCustomComponent","ShimmerEffect","FieldDescription","FieldError","FieldLabel","useAuth","useLocale","useTranslation","normalizeRelationshipValue","fieldBaseClass","UploadComponentHasMany","UploadComponentHasOne","baseClass","UploadInput","props","AfterInput","allowCreate","api","BeforeInput","className","Description","description","displayPreview","Error","filterOptions","filterOptionsFromProps","hasMany","isSortable","Label","label","localized","maxRows","onChange","onChangeFromProps","path","readOnly","relationTo","required","serverURL","showError","style","value","populatedDocs","setPopulatedDocs","useState","activeRelationTo","Array","isArray","openModal","drawerSlug","setCollectionSlug","setInitialFiles","setMaxFiles","setOnSuccess","setSelectableCollections","permissions","code","i18n","t","collectionSlugsWithCreatePermission","filter","relation","collections","create","isPoly","existingIdsByRelation","values","val","push","collection","id","newFilterOptions","relations","forEach","existingIds","not_in","concat","ListDrawer","closeDrawer","closeListDrawer","openDrawer","openListDrawer","collectionSlugs","CreateDocDrawer","closeCreateDocDrawer","openCreateDocDrawer","collectionSlug","loadedValueRef","useRef","canCreate","newValue","populateDocs","items","length","grouped","idValue","fetches","Object","entries","map","ids","query","depth","draft","limit","locale","where","and","in","response","fetch","apiRoute","body","stringify","credentials","headers","language","method","docs","ok","data","json","docsById","reduce","acc","doc","results","Promise","all","lookup","sortedDocs","filename","isPlaceholder","normalizeValue","onUploadSuccess","uploadedForms","newValues","form","normalizedExisting","mergedValue","currentDocs","firstDoc","onLocalFileSelection","fileList","fileListToUse","dataTransfer","DataTransfer","add","files","collectionToUse","onListBulkSelect","selectedDocIDs","isSelected","itemsToLoad","loadedDocs","onDocCreate","onListSelect","selectedDoc","valueToUse","reloadDoc","docID","updatedDocsToPropogate","existingDocIndex","findIndex","hasExisting","updatedDocs","onReorder","newValueToSave","rel","onRemove","loadInitialDocs","v","current","valueChanged","showDropzone","div","Boolean","join","replace","CustomComponent","Fallback","fileDocs","readonly","showCollectionSlug","height","fileDoc","disabled","multipleFiles","buttonStyle","onClick","size","span","onSave","enableRowSelections","onBulkSelect","onSelect","p"],"mappings":"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"}
@@ -1,7 +1,5 @@
1
1
  'use client';
2
-
3
- import { c as _c } from "react/compiler-runtime";
4
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
5
3
  import { getTranslation } from '@payloadcms/translations';
6
4
  import { formatFilesize } from 'payload/shared';
7
5
  import React from 'react';
@@ -14,145 +12,144 @@ import { useConfig } from '../../../providers/Config/index.js';
14
12
  import { useTranslation } from '../../../providers/Translation/index.js';
15
13
  const baseClass = 'upload-relationship-details';
16
14
  export function RelationshipContent(props) {
17
- const $ = _c(11);
18
- const {
19
- id,
20
- allowEdit,
21
- allowRemove,
22
- alt,
23
- byteSize,
24
- className,
25
- collectionSlug,
26
- displayPreview,
27
- filename,
28
- mimeType,
29
- onRemove,
30
- reloadDoc,
31
- showCollectionSlug: t0,
32
- src,
33
- thumbnailSrc,
34
- withMeta: t1,
35
- x,
36
- y
37
- } = props;
38
- const showCollectionSlug = t0 === undefined ? false : t0;
39
- const withMeta = t1 === undefined ? true : t1;
40
- const {
41
- config
42
- } = useConfig();
43
- const {
44
- i18n
45
- } = useTranslation();
46
- const collectionConfig = "collections" in config ? config.collections.find(collection => collection.slug === collectionSlug) : undefined;
47
- const t2 = src ? id : undefined;
48
- let t3;
49
- if ($[0] !== collectionSlug || $[1] !== t2) {
50
- t3 = {
51
- id: t2,
52
- collectionSlug
53
- };
54
- $[0] = collectionSlug;
55
- $[1] = t2;
56
- $[2] = t3;
57
- } else {
58
- t3 = $[2];
59
- }
60
- const [DocumentDrawer,, t4] = useDocumentDrawer(t3);
61
- const {
62
- openDrawer
63
- } = t4;
64
- let t5;
65
- if ($[3] !== collectionSlug || $[4] !== reloadDoc) {
66
- t5 = async t6 => {
67
- const {
68
- doc
69
- } = t6;
70
- return reloadDoc(doc.id, collectionSlug);
71
- };
72
- $[3] = collectionSlug;
73
- $[4] = reloadDoc;
74
- $[5] = t5;
75
- } else {
76
- t5 = $[5];
77
- }
78
- const onSave = t5;
79
- let t6;
80
- if ($[6] !== x || $[7] !== y) {
81
- t6 = function generateMetaText(mimeType_0, size) {
82
- const sections = [];
83
- if (size) {
84
- sections.push(formatFilesize(size));
85
- }
86
- if (x && y) {
87
- sections.push(`${x}x${y}`);
88
- }
89
- if (mimeType_0) {
90
- sections.push(mimeType_0);
91
- }
92
- return sections.join(" \u2014 ");
93
- };
94
- $[6] = x;
95
- $[7] = y;
96
- $[8] = t6;
97
- } else {
98
- t6 = $[8];
99
- }
100
- const generateMetaText = t6;
101
- const metaText = withMeta ? generateMetaText(mimeType, byteSize) : "";
102
- const previewAllowed = displayPreview ?? collectionConfig?.upload?.displayPreview ?? true;
103
- let t7;
104
- if ($[9] !== className) {
105
- t7 = [baseClass, className].filter(Boolean);
106
- $[9] = className;
107
- $[10] = t7;
108
- } else {
109
- t7 = $[10];
110
- }
111
- return _jsxs("div", {
112
- className: t7.join(" "),
113
- children: [_jsxs("div", {
114
- className: `${baseClass}__imageAndDetails`,
115
- children: [previewAllowed && _jsx(ThumbnailComponent, {
116
- alt,
117
- className: `${baseClass}__thumbnail`,
118
- filename,
119
- fileSrc: thumbnailSrc,
120
- size: "small"
121
- }), showCollectionSlug && collectionConfig ? _jsx(Pill, {
122
- size: "small",
123
- children: getTranslation(collectionConfig.labels.singular, i18n)
124
- }) : null, _jsxs("div", {
125
- className: `${baseClass}__details`,
126
- children: [_jsx("p", {
127
- className: `${baseClass}__filename`,
128
- children: src ? _jsx("a", {
129
- href: src,
130
- target: "_blank",
131
- children: filename
132
- }) : filename
133
- }), withMeta ? _jsx("p", {
134
- className: `${baseClass}__meta`,
135
- children: metaText
136
- }) : null]
137
- })]
138
- }), allowEdit !== false || allowRemove !== false ? _jsxs("div", {
139
- className: `${baseClass}__actions`,
140
- children: [allowEdit !== false ? _jsx(Button, {
141
- buttonStyle: "icon-label",
142
- className: `${baseClass}__edit`,
143
- icon: "edit",
144
- iconStyle: "none",
145
- onClick: openDrawer
146
- }) : null, allowRemove !== false ? _jsx(Button, {
147
- buttonStyle: "icon-label",
148
- className: `${baseClass}__remove`,
149
- icon: "x",
150
- iconStyle: "none",
151
- onClick: () => onRemove()
152
- }) : null, _jsx(DocumentDrawer, {
153
- onSave
154
- })]
155
- }) : null]
156
- });
15
+ const { id, allowEdit, allowRemove, alt, byteSize, className, collectionSlug, displayPreview, filename, mimeType, onRemove, reloadDoc, showCollectionSlug = false, src, thumbnailSrc, withMeta = true, x, y } = props;
16
+ const { config } = useConfig();
17
+ const { i18n } = useTranslation();
18
+ const collectionConfig = 'collections' in config ? config.collections.find((collection)=>collection.slug === collectionSlug) : undefined;
19
+ const [DocumentDrawer, _, { openDrawer }] = useDocumentDrawer({
20
+ id: id ?? undefined,
21
+ collectionSlug
22
+ });
23
+ const onSave = React.useCallback(async ({ doc })=>reloadDoc(doc.id, collectionSlug), [
24
+ reloadDoc,
25
+ collectionSlug
26
+ ]);
27
+ function generateMetaText(mimeType, size) {
28
+ const sections = [];
29
+ if (size) {
30
+ sections.push(formatFilesize(size));
31
+ }
32
+ if (x && y) {
33
+ sections.push(`${x}x${y}`);
34
+ }
35
+ if (mimeType) {
36
+ sections.push(mimeType);
37
+ }
38
+ return sections.join(' — ');
39
+ }
40
+ const metaText = withMeta ? generateMetaText(mimeType, byteSize) : '';
41
+ const previewAllowed = displayPreview ?? collectionConfig?.upload?.displayPreview ?? true;
42
+ return /*#__PURE__*/ _jsxDEV("div", {
43
+ className: [
44
+ baseClass,
45
+ className
46
+ ].filter(Boolean).join(' '),
47
+ children: [
48
+ /*#__PURE__*/ _jsxDEV("div", {
49
+ className: `${baseClass}__imageAndDetails`,
50
+ children: [
51
+ previewAllowed && /*#__PURE__*/ _jsxDEV(ThumbnailComponent, {
52
+ alt: alt,
53
+ className: `${baseClass}__thumbnail`,
54
+ filename: filename,
55
+ fileSrc: thumbnailSrc,
56
+ size: "small"
57
+ }, void 0, false, {
58
+ fileName: "src/fields/Upload/RelationshipContent/index.tsx",
59
+ lineNumber: 104,
60
+ columnNumber: 11
61
+ }, this),
62
+ showCollectionSlug && collectionConfig ? /*#__PURE__*/ _jsxDEV(Pill, {
63
+ size: "small",
64
+ children: getTranslation(collectionConfig.labels.singular, i18n)
65
+ }, void 0, false, {
66
+ fileName: "src/fields/Upload/RelationshipContent/index.tsx",
67
+ lineNumber: 113,
68
+ columnNumber: 11
69
+ }, this) : null,
70
+ /*#__PURE__*/ _jsxDEV("div", {
71
+ className: `${baseClass}__details`,
72
+ children: [
73
+ /*#__PURE__*/ _jsxDEV("p", {
74
+ className: `${baseClass}__filename`,
75
+ children: src ? /*#__PURE__*/ _jsxDEV("a", {
76
+ href: src,
77
+ target: "_blank",
78
+ children: filename
79
+ }, void 0, false, {
80
+ fileName: "src/fields/Upload/RelationshipContent/index.tsx",
81
+ lineNumber: 118,
82
+ columnNumber: 15
83
+ }, this) : filename
84
+ }, void 0, false, {
85
+ fileName: "src/fields/Upload/RelationshipContent/index.tsx",
86
+ lineNumber: 116,
87
+ columnNumber: 11
88
+ }, this),
89
+ withMeta ? /*#__PURE__*/ _jsxDEV("p", {
90
+ className: `${baseClass}__meta`,
91
+ children: metaText
92
+ }, void 0, false, {
93
+ fileName: "src/fields/Upload/RelationshipContent/index.tsx",
94
+ lineNumber: 125,
95
+ columnNumber: 23
96
+ }, this) : null
97
+ ]
98
+ }, void 0, true, {
99
+ fileName: "src/fields/Upload/RelationshipContent/index.tsx",
100
+ lineNumber: 115,
101
+ columnNumber: 9
102
+ }, this)
103
+ ]
104
+ }, void 0, true, {
105
+ fileName: "src/fields/Upload/RelationshipContent/index.tsx",
106
+ lineNumber: 102,
107
+ columnNumber: 7
108
+ }, this),
109
+ allowEdit !== false || allowRemove !== false ? /*#__PURE__*/ _jsxDEV("div", {
110
+ className: `${baseClass}__actions`,
111
+ children: [
112
+ allowEdit !== false ? /*#__PURE__*/ _jsxDEV(Button, {
113
+ buttonStyle: "icon-label",
114
+ className: `${baseClass}__edit`,
115
+ icon: "edit",
116
+ iconStyle: "none",
117
+ onClick: openDrawer
118
+ }, void 0, false, {
119
+ fileName: "src/fields/Upload/RelationshipContent/index.tsx",
120
+ lineNumber: 132,
121
+ columnNumber: 13
122
+ }, this) : null,
123
+ allowRemove !== false ? /*#__PURE__*/ _jsxDEV(Button, {
124
+ buttonStyle: "icon-label",
125
+ className: `${baseClass}__remove`,
126
+ icon: "x",
127
+ iconStyle: "none",
128
+ onClick: ()=>onRemove()
129
+ }, void 0, false, {
130
+ fileName: "src/fields/Upload/RelationshipContent/index.tsx",
131
+ lineNumber: 141,
132
+ columnNumber: 13
133
+ }, this) : null,
134
+ /*#__PURE__*/ _jsxDEV(DocumentDrawer, {
135
+ onSave: onSave
136
+ }, void 0, false, {
137
+ fileName: "src/fields/Upload/RelationshipContent/index.tsx",
138
+ lineNumber: 149,
139
+ columnNumber: 11
140
+ }, this)
141
+ ]
142
+ }, void 0, true, {
143
+ fileName: "src/fields/Upload/RelationshipContent/index.tsx",
144
+ lineNumber: 130,
145
+ columnNumber: 9
146
+ }, this) : null
147
+ ]
148
+ }, void 0, true, {
149
+ fileName: "src/fields/Upload/RelationshipContent/index.tsx",
150
+ lineNumber: 101,
151
+ columnNumber: 5
152
+ }, this);
157
153
  }
154
+
158
155
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","formatFilesize","React","Button","useDocumentDrawer","Pill","ThumbnailComponent","useConfig","useTranslation","baseClass","RelationshipContent","props","$","id","allowEdit","allowRemove","alt","byteSize","className","collectionSlug","displayPreview","filename","mimeType","onRemove","reloadDoc","showCollectionSlug","t0","src","thumbnailSrc","withMeta","t1","x","y","undefined","config","i18n","collectionConfig","collections","find","collection","slug","t2","t3","DocumentDrawer","t4","openDrawer","t5","t6","doc","onSave","generateMetaText","mimeType_0","size","sections","push","join","metaText","previewAllowed","upload","t7","filter","Boolean","_jsxs","children","_jsx","fileSrc","labels","singular","href","target","buttonStyle","icon","iconStyle","onClick"],"sources":["../../../../src/fields/Upload/RelationshipContent/index.tsx"],"sourcesContent":["'use client'\n\nimport type { TypeWithID } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatFilesize } from 'payload/shared'\nimport React from 'react'\n\nimport type { ReloadDoc } from '../types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../../elements/DocumentDrawer/index.js'\nimport { Pill } from '../../../elements/Pill/index.js'\nimport { ThumbnailComponent } from '../../../elements/Thumbnail/index.js'\nimport './index.scss'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nconst baseClass = 'upload-relationship-details'\n\ntype Props = {\n readonly allowEdit?: boolean\n readonly allowRemove?: boolean\n readonly alt: string\n readonly byteSize: number\n readonly className?: string\n readonly collectionSlug: string\n readonly displayPreview?: boolean\n readonly filename: string\n readonly id?: number | string\n readonly mimeType: string\n readonly onRemove: () => void\n readonly reloadDoc: ReloadDoc\n readonly showCollectionSlug?: boolean\n readonly src: string\n readonly thumbnailSrc: string\n readonly withMeta?: boolean\n readonly x?: number\n readonly y?: number\n}\nexport function RelationshipContent(props: Props) {\n const {\n id,\n allowEdit,\n allowRemove,\n alt,\n byteSize,\n className,\n collectionSlug,\n displayPreview,\n filename,\n mimeType,\n onRemove,\n reloadDoc,\n showCollectionSlug = false,\n src,\n thumbnailSrc,\n withMeta = true,\n x,\n y,\n } = props\n\n const { config } = useConfig()\n const { i18n } = useTranslation()\n const collectionConfig =\n 'collections' in config\n ? config.collections.find((collection) => collection.slug === collectionSlug)\n : undefined\n\n const [DocumentDrawer, _, { openDrawer }] = useDocumentDrawer({\n id: src ? id : undefined,\n collectionSlug,\n })\n\n const onSave = React.useCallback(\n async ({ doc }: { doc: TypeWithID }) => reloadDoc(doc.id, collectionSlug),\n [reloadDoc, collectionSlug],\n )\n\n function generateMetaText(mimeType: string, size: number): string {\n const sections: string[] = []\n if (size) {\n sections.push(formatFilesize(size))\n }\n\n if (x && y) {\n sections.push(`${x}x${y}`)\n }\n\n if (mimeType) {\n sections.push(mimeType)\n }\n\n return sections.join(' — ')\n }\n\n const metaText = withMeta ? generateMetaText(mimeType, byteSize) : ''\n const previewAllowed = displayPreview ?? collectionConfig?.upload?.displayPreview ?? true\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__imageAndDetails`}>\n {previewAllowed && (\n <ThumbnailComponent\n alt={alt}\n className={`${baseClass}__thumbnail`}\n filename={filename}\n fileSrc={thumbnailSrc}\n size=\"small\"\n />\n )}\n {showCollectionSlug && collectionConfig ? (\n <Pill size=\"small\">{getTranslation(collectionConfig.labels.singular, i18n)}</Pill>\n ) : null}\n <div className={`${baseClass}__details`}>\n <p className={`${baseClass}__filename`}>\n {src ? (\n <a href={src} target=\"_blank\">\n {filename}\n </a>\n ) : (\n filename\n )}\n </p>\n {withMeta ? <p className={`${baseClass}__meta`}>{metaText}</p> : null}\n </div>\n </div>\n\n {allowEdit !== false || allowRemove !== false ? (\n <div className={`${baseClass}__actions`}>\n {allowEdit !== false ? (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__edit`}\n icon=\"edit\"\n iconStyle=\"none\"\n onClick={openDrawer}\n />\n ) : null}\n {allowRemove !== false ? (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"none\"\n onClick={() => onRemove()}\n />\n ) : null}\n <DocumentDrawer onSave={onSave} />\n </div>\n ) : null}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["../../../../src/fields/Upload/RelationshipContent/index.tsx"],"sourcesContent":["'use client'\n\nimport type { TypeWithID } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatFilesize } from 'payload/shared'\nimport React from 'react'\n\nimport type { ReloadDoc } from '../types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../../elements/DocumentDrawer/index.js'\nimport { Pill } from '../../../elements/Pill/index.js'\nimport { ThumbnailComponent } from '../../../elements/Thumbnail/index.js'\nimport './index.scss'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nconst baseClass = 'upload-relationship-details'\n\ntype Props = {\n readonly allowEdit?: boolean\n readonly allowRemove?: boolean\n readonly alt: string\n readonly byteSize: number\n readonly className?: string\n readonly collectionSlug: string\n readonly displayPreview?: boolean\n readonly filename: string\n readonly id?: number | string\n readonly mimeType: string\n readonly onRemove: () => void\n readonly reloadDoc: ReloadDoc\n readonly showCollectionSlug?: boolean\n readonly src: string\n readonly thumbnailSrc: string\n readonly withMeta?: boolean\n readonly x?: number\n readonly y?: number\n}\nexport function RelationshipContent(props: Props) {\n const {\n id,\n allowEdit,\n allowRemove,\n alt,\n byteSize,\n className,\n collectionSlug,\n displayPreview,\n filename,\n mimeType,\n onRemove,\n reloadDoc,\n showCollectionSlug = false,\n src,\n thumbnailSrc,\n withMeta = true,\n x,\n y,\n } = props\n\n const { config } = useConfig()\n const { i18n } = useTranslation()\n const collectionConfig =\n 'collections' in config\n ? config.collections.find((collection) => collection.slug === collectionSlug)\n : undefined\n\n const [DocumentDrawer, _, { openDrawer }] = useDocumentDrawer({\n id: id ?? undefined,\n collectionSlug,\n })\n\n const onSave = React.useCallback(\n async ({ doc }: { doc: TypeWithID }) => reloadDoc(doc.id, collectionSlug),\n [reloadDoc, collectionSlug],\n )\n\n function generateMetaText(mimeType: string, size: number): string {\n const sections: string[] = []\n if (size) {\n sections.push(formatFilesize(size))\n }\n\n if (x && y) {\n sections.push(`${x}x${y}`)\n }\n\n if (mimeType) {\n sections.push(mimeType)\n }\n\n return sections.join(' — ')\n }\n\n const metaText = withMeta ? generateMetaText(mimeType, byteSize) : ''\n const previewAllowed = displayPreview ?? collectionConfig?.upload?.displayPreview ?? true\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__imageAndDetails`}>\n {previewAllowed && (\n <ThumbnailComponent\n alt={alt}\n className={`${baseClass}__thumbnail`}\n filename={filename}\n fileSrc={thumbnailSrc}\n size=\"small\"\n />\n )}\n {showCollectionSlug && collectionConfig ? (\n <Pill size=\"small\">{getTranslation(collectionConfig.labels.singular, i18n)}</Pill>\n ) : null}\n <div className={`${baseClass}__details`}>\n <p className={`${baseClass}__filename`}>\n {src ? (\n <a href={src} target=\"_blank\">\n {filename}\n </a>\n ) : (\n filename\n )}\n </p>\n {withMeta ? <p className={`${baseClass}__meta`}>{metaText}</p> : null}\n </div>\n </div>\n\n {allowEdit !== false || allowRemove !== false ? (\n <div className={`${baseClass}__actions`}>\n {allowEdit !== false ? (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__edit`}\n icon=\"edit\"\n iconStyle=\"none\"\n onClick={openDrawer}\n />\n ) : null}\n {allowRemove !== false ? (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"none\"\n onClick={() => onRemove()}\n />\n ) : null}\n <DocumentDrawer onSave={onSave} />\n </div>\n ) : null}\n </div>\n )\n}\n"],"names":["getTranslation","formatFilesize","React","Button","useDocumentDrawer","Pill","ThumbnailComponent","useConfig","useTranslation","baseClass","RelationshipContent","props","id","allowEdit","allowRemove","alt","byteSize","className","collectionSlug","displayPreview","filename","mimeType","onRemove","reloadDoc","showCollectionSlug","src","thumbnailSrc","withMeta","x","y","config","i18n","collectionConfig","collections","find","collection","slug","undefined","DocumentDrawer","_","openDrawer","onSave","useCallback","doc","generateMetaText","size","sections","push","join","metaText","previewAllowed","upload","div","filter","Boolean","fileSrc","labels","singular","p","a","href","target","buttonStyle","icon","iconStyle","onClick"],"mappings":"AAAA;;AAIA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,cAAc,QAAQ,iBAAgB;AAC/C,OAAOC,WAAW,QAAO;AAIzB,SAASC,MAAM,QAAQ,oCAAmC;AAC1D,SAASC,iBAAiB,QAAQ,4CAA2C;AAC7E,SAASC,IAAI,QAAQ,kCAAiC;AACtD,SAASC,kBAAkB,QAAQ,uCAAsC;AACzE,OAAO,eAAc;AACrB,SAASC,SAAS,QAAQ,qCAAoC;AAC9D,SAASC,cAAc,QAAQ,0CAAyC;AAExE,MAAMC,YAAY;AAsBlB,OAAO,SAASC,oBAAoBC,KAAY;IAC9C,MAAM,EACJC,EAAE,EACFC,SAAS,EACTC,WAAW,EACXC,GAAG,EACHC,QAAQ,EACRC,SAAS,EACTC,cAAc,EACdC,cAAc,EACdC,QAAQ,EACRC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,qBAAqB,KAAK,EAC1BC,GAAG,EACHC,YAAY,EACZC,WAAW,IAAI,EACfC,CAAC,EACDC,CAAC,EACF,GAAGlB;IAEJ,MAAM,EAAEmB,MAAM,EAAE,GAAGvB;IACnB,MAAM,EAAEwB,IAAI,EAAE,GAAGvB;IACjB,MAAMwB,mBACJ,iBAAiBF,SACbA,OAAOG,WAAW,CAACC,IAAI,CAAC,CAACC,aAAeA,WAAWC,IAAI,KAAKlB,kBAC5DmB;IAEN,MAAM,CAACC,gBAAgBC,GAAG,EAAEC,UAAU,EAAE,CAAC,GAAGpC,kBAAkB;QAC5DQ,IAAIA,MAAMyB;QACVnB;IACF;IAEA,MAAMuB,SAASvC,MAAMwC,WAAW,CAC9B,OAAO,EAAEC,GAAG,EAAuB,GAAKpB,UAAUoB,IAAI/B,EAAE,EAAEM,iBAC1D;QAACK;QAAWL;KAAe;IAG7B,SAAS0B,iBAAiBvB,QAAgB,EAAEwB,IAAY;QACtD,MAAMC,WAAqB,EAAE;QAC7B,IAAID,MAAM;YACRC,SAASC,IAAI,CAAC9C,eAAe4C;QAC/B;QAEA,IAAIjB,KAAKC,GAAG;YACViB,SAASC,IAAI,CAAC,GAAGnB,EAAE,CAAC,EAAEC,GAAG;QAC3B;QAEA,IAAIR,UAAU;YACZyB,SAASC,IAAI,CAAC1B;QAChB;QAEA,OAAOyB,SAASE,IAAI,CAAC;IACvB;IAEA,MAAMC,WAAWtB,WAAWiB,iBAAiBvB,UAAUL,YAAY;IACnE,MAAMkC,iBAAiB/B,kBAAkBa,kBAAkBmB,QAAQhC,kBAAkB;IAErF,qBACE,QAACiC;QAAInC,WAAW;YAACR;YAAWQ;SAAU,CAACoC,MAAM,CAACC,SAASN,IAAI,CAAC;;0BAC1D,QAACI;gBAAInC,WAAW,GAAGR,UAAU,iBAAiB,CAAC;;oBAC5CyC,gCACC,QAAC5C;wBACCS,KAAKA;wBACLE,WAAW,GAAGR,UAAU,WAAW,CAAC;wBACpCW,UAAUA;wBACVmC,SAAS7B;wBACTmB,MAAK;;;;;;oBAGRrB,sBAAsBQ,iCACrB,QAAC3B;wBAAKwC,MAAK;kCAAS7C,eAAegC,iBAAiBwB,MAAM,CAACC,QAAQ,EAAE1B;;;;;+BACnE;kCACJ,QAACqB;wBAAInC,WAAW,GAAGR,UAAU,SAAS,CAAC;;0CACrC,QAACiD;gCAAEzC,WAAW,GAAGR,UAAU,UAAU,CAAC;0CACnCgB,oBACC,QAACkC;oCAAEC,MAAMnC;oCAAKoC,QAAO;8CAClBzC;;;;;2CAGHA;;;;;;4BAGHO,yBAAW,QAAC+B;gCAAEzC,WAAW,GAAGR,UAAU,MAAM,CAAC;0CAAGwC;;;;;uCAAgB;;;;;;;;;;;;;YAIpEpC,cAAc,SAASC,gBAAgB,sBACtC,QAACsC;gBAAInC,WAAW,GAAGR,UAAU,SAAS,CAAC;;oBACpCI,cAAc,sBACb,QAACV;wBACC2D,aAAY;wBACZ7C,WAAW,GAAGR,UAAU,MAAM,CAAC;wBAC/BsD,MAAK;wBACLC,WAAU;wBACVC,SAASzB;;;;;+BAET;oBACH1B,gBAAgB,sBACf,QAACX;wBACC2D,aAAY;wBACZ7C,WAAW,GAAGR,UAAU,QAAQ,CAAC;wBACjCsD,MAAK;wBACLC,WAAU;wBACVC,SAAS,IAAM3C;;;;;+BAEf;kCACJ,QAACgB;wBAAeG,QAAQA;;;;;;;;;;;uBAExB;;;;;;;AAGV"}