@payloadcms/ui 3.68.0-internal-debug.185cc5f → 3.68.0-internal-debug.dafc24d

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 (767) hide show
  1. package/dist/elements/AddNewRelation/index.js +83 -27
  2. package/dist/elements/AddNewRelation/index.js.map +1 -1
  3. package/dist/elements/AnimateHeight/index.js +13 -5
  4. package/dist/elements/AnimateHeight/index.js.map +1 -1
  5. package/dist/elements/AppHeader/index.js +107 -35
  6. package/dist/elements/AppHeader/index.js.map +1 -1
  7. package/dist/elements/ArrayAction/index.js +116 -36
  8. package/dist/elements/ArrayAction/index.js.map +1 -1
  9. package/dist/elements/Autosave/index.js +18 -6
  10. package/dist/elements/Autosave/index.js.map +1 -1
  11. package/dist/elements/Banner/index.js +25 -9
  12. package/dist/elements/Banner/index.js.map +1 -1
  13. package/dist/elements/BulkUpload/ActionsBar/index.js +97 -33
  14. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  15. package/dist/elements/BulkUpload/AddFilesView/index.js +43 -15
  16. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  17. package/dist/elements/BulkUpload/AddingFilesView/index.js +47 -15
  18. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  19. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +7 -3
  20. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +12 -4
  22. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/EditForm/index.js +53 -17
  24. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  25. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +90 -30
  26. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  27. package/dist/elements/BulkUpload/EditMany/index.js +31 -11
  28. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  29. package/dist/elements/BulkUpload/FileSidebar/index.js +214 -70
  30. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  31. package/dist/elements/BulkUpload/FormsManager/index.js +13 -5
  32. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  33. package/dist/elements/BulkUpload/Header/index.js +19 -7
  34. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  35. package/dist/elements/BulkUpload/index.js +58 -18
  36. package/dist/elements/BulkUpload/index.js.map +1 -1
  37. package/dist/elements/Button/index.js +101 -33
  38. package/dist/elements/Button/index.js.map +1 -1
  39. package/dist/elements/Card/index.js +25 -9
  40. package/dist/elements/Card/index.js.map +1 -1
  41. package/dist/elements/CheckboxPopup/index.js +19 -7
  42. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  43. package/dist/elements/ClipboardAction/ClipboardActionLabel.js +16 -4
  44. package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
  45. package/dist/elements/ClipboardAction/index.js +42 -14
  46. package/dist/elements/ClipboardAction/index.js.map +1 -1
  47. package/dist/elements/CloseModalButton/index.js +12 -4
  48. package/dist/elements/CloseModalButton/index.js.map +1 -1
  49. package/dist/elements/CodeEditor/CodeEditor.js +13 -5
  50. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  51. package/dist/elements/CodeEditor/index.js +18 -6
  52. package/dist/elements/CodeEditor/index.js.map +1 -1
  53. package/dist/elements/Collapsible/index.js +84 -28
  54. package/dist/elements/Collapsible/index.js.map +1 -1
  55. package/dist/elements/Collapsible/provider.js +7 -3
  56. package/dist/elements/Collapsible/provider.js.map +1 -1
  57. package/dist/elements/ColumnSelector/index.js +13 -5
  58. package/dist/elements/ColumnSelector/index.js.map +1 -1
  59. package/dist/elements/Combobox/index.js +37 -13
  60. package/dist/elements/Combobox/index.js.map +1 -1
  61. package/dist/elements/ConfirmationModal/index.js +49 -17
  62. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  63. package/dist/elements/CopyLocaleData/index.js +73 -25
  64. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  65. package/dist/elements/CopyToClipboard/index.js +18 -6
  66. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  67. package/dist/elements/DatePicker/DatePicker.js +41 -13
  68. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  69. package/dist/elements/DatePicker/index.js +19 -7
  70. package/dist/elements/DatePicker/index.js.map +1 -1
  71. package/dist/elements/DefaultListViewTabs/index.js +25 -9
  72. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  73. package/dist/elements/DeleteDocument/index.js +49 -17
  74. package/dist/elements/DeleteDocument/index.js.map +1 -1
  75. package/dist/elements/DeleteMany/index.js +73 -25
  76. package/dist/elements/DeleteMany/index.js.map +1 -1
  77. package/dist/elements/DocumentControls/index.js +303 -95
  78. package/dist/elements/DocumentControls/index.js.map +1 -1
  79. package/dist/elements/DocumentDrawer/DrawerContent.js +12 -4
  80. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  81. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +59 -19
  82. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  83. package/dist/elements/DocumentDrawer/Provider.js +7 -3
  84. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  85. package/dist/elements/DocumentDrawer/index.js +32 -10
  86. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  87. package/dist/elements/DocumentFields/index.js +54 -18
  88. package/dist/elements/DocumentFields/index.js.map +1 -1
  89. package/dist/elements/DocumentLocked/index.js +73 -25
  90. package/dist/elements/DocumentLocked/index.js.map +1 -1
  91. package/dist/elements/DocumentTakeOver/index.js +49 -17
  92. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  93. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +7 -3
  94. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  95. package/dist/elements/DraggableSortable/index.js +19 -7
  96. package/dist/elements/DraggableSortable/index.js.map +1 -1
  97. package/dist/elements/Drawer/index.js +78 -26
  98. package/dist/elements/Drawer/index.js.map +1 -1
  99. package/dist/elements/DrawerActionHeader/index.js +37 -13
  100. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  101. package/dist/elements/DrawerContentContainer/index.js +7 -3
  102. package/dist/elements/DrawerContentContainer/index.js.map +1 -1
  103. package/dist/elements/Dropzone/index.js +7 -3
  104. package/dist/elements/Dropzone/index.js.map +1 -1
  105. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +61 -21
  106. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  107. package/dist/elements/DuplicateDocument/index.js +25 -9
  108. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  109. package/dist/elements/EditMany/DrawerContent.js +131 -43
  110. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  111. package/dist/elements/EditMany/index.js +37 -13
  112. package/dist/elements/EditMany/index.js.map +1 -1
  113. package/dist/elements/EditUpload/index.js +232 -76
  114. package/dist/elements/EditUpload/index.js.map +1 -1
  115. package/dist/elements/EmailAndUsername/index.js +31 -11
  116. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  117. package/dist/elements/ErrorPill/index.js +19 -7
  118. package/dist/elements/ErrorPill/index.js.map +1 -1
  119. package/dist/elements/FieldDiffContainer/index.js +25 -9
  120. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  121. package/dist/elements/FieldDiffLabel/index.js +7 -3
  122. package/dist/elements/FieldDiffLabel/index.js.map +1 -1
  123. package/dist/elements/FieldSelect/index.js +19 -7
  124. package/dist/elements/FieldSelect/index.js.map +1 -1
  125. package/dist/elements/FileDetails/DraggableFileDetails/index.js +70 -22
  126. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  127. package/dist/elements/FileDetails/FileMeta/index.js +43 -15
  128. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  129. package/dist/elements/FileDetails/StaticFileDetails/index.js +43 -15
  130. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  131. package/dist/elements/FileDetails/index.js +13 -5
  132. package/dist/elements/FileDetails/index.js.map +1 -1
  133. package/dist/elements/FolderView/Breadcrumbs/index.js +31 -11
  134. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
  135. package/dist/elements/FolderView/BrowseByFolderButton/index.js +12 -4
  136. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
  137. package/dist/elements/FolderView/Cell/index.client.js +7 -3
  138. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  139. package/dist/elements/FolderView/Cell/index.server.js +7 -3
  140. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  141. package/dist/elements/FolderView/ColoredFolderIcon/index.js +7 -3
  142. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
  143. package/dist/elements/FolderView/CurrentFolderActions/index.js +68 -24
  144. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  145. package/dist/elements/FolderView/DragOverlaySelection/index.js +31 -11
  146. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
  147. package/dist/elements/FolderView/DraggableTableRow/index.js +25 -9
  148. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
  149. package/dist/elements/FolderView/DraggableWithClick/index.js +7 -3
  150. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
  151. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +15 -7
  152. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
  153. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +181 -61
  154. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  155. package/dist/elements/FolderView/FilterFolderTypePill/index.js +19 -7
  156. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
  157. package/dist/elements/FolderView/FolderField/index.server.js +7 -3
  158. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
  159. package/dist/elements/FolderView/FolderFileCard/index.js +103 -31
  160. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  161. package/dist/elements/FolderView/FolderFileTable/index.js +49 -17
  162. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
  163. package/dist/elements/FolderView/FolderTypeField/index.js +7 -3
  164. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
  165. package/dist/elements/FolderView/ItemCardGrid/index.js +21 -9
  166. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
  167. package/dist/elements/FolderView/MoveDocToFolder/index.js +26 -10
  168. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  169. package/dist/elements/FolderView/SimpleTable/index.js +67 -23
  170. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
  171. package/dist/elements/FolderView/SortByPill/index.js +86 -30
  172. package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
  173. package/dist/elements/FolderView/ToggleViewButtons/index.js +25 -9
  174. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
  175. package/dist/elements/FullscreenModal/index.js +7 -3
  176. package/dist/elements/FullscreenModal/index.js.map +1 -1
  177. package/dist/elements/GenerateConfirmation/index.js +31 -11
  178. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  179. package/dist/elements/GroupByBuilder/index.js +43 -15
  180. package/dist/elements/GroupByBuilder/index.js.map +1 -1
  181. package/dist/elements/Gutter/index.js +7 -3
  182. package/dist/elements/Gutter/index.js.map +1 -1
  183. package/dist/elements/HTMLDiff/index.js +13 -5
  184. package/dist/elements/HTMLDiff/index.js.map +1 -1
  185. package/dist/elements/Hamburger/index.js +35 -11
  186. package/dist/elements/Hamburger/index.js.map +1 -1
  187. package/dist/elements/IDLabel/index.js +13 -5
  188. package/dist/elements/IDLabel/index.js.map +1 -1
  189. package/dist/elements/LeaveWithoutSaving/index.js +13 -5
  190. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  191. package/dist/elements/Link/index.js +7 -3
  192. package/dist/elements/Link/index.js.map +1 -1
  193. package/dist/elements/ListControls/index.js +126 -42
  194. package/dist/elements/ListControls/index.js.map +1 -1
  195. package/dist/elements/ListDrawer/DrawerContent.js +18 -6
  196. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  197. package/dist/elements/ListDrawer/Provider.js +7 -3
  198. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  199. package/dist/elements/ListDrawer/index.js +32 -10
  200. package/dist/elements/ListDrawer/index.js.map +1 -1
  201. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +19 -7
  202. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  203. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +13 -5
  204. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  205. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +7 -3
  206. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  207. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +7 -3
  208. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
  209. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +48 -16
  210. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  211. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +37 -13
  212. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  213. package/dist/elements/ListHeader/index.js +43 -15
  214. package/dist/elements/ListHeader/index.js.map +1 -1
  215. package/dist/elements/ListSelection/index.js +55 -19
  216. package/dist/elements/ListSelection/index.js.map +1 -1
  217. package/dist/elements/LivePreview/Device/index.js +13 -5
  218. package/dist/elements/LivePreview/Device/index.js.map +1 -1
  219. package/dist/elements/LivePreview/DeviceContainer/index.js +7 -3
  220. package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
  221. package/dist/elements/LivePreview/IFrame/index.js +7 -3
  222. package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
  223. package/dist/elements/LivePreview/Toggler/index.js +13 -5
  224. package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
  225. package/dist/elements/LivePreview/Toolbar/Controls/index.js +137 -45
  226. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  227. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +7 -3
  228. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  229. package/dist/elements/LivePreview/Toolbar/index.js +48 -16
  230. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  231. package/dist/elements/LivePreview/ToolbarArea/index.js +7 -3
  232. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  233. package/dist/elements/LivePreview/Window/index.js +41 -13
  234. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  235. package/dist/elements/Loading/index.js +55 -19
  236. package/dist/elements/Loading/index.js.map +1 -1
  237. package/dist/elements/LoadingOverlay/index.js +13 -5
  238. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  239. package/dist/elements/Localizer/LocalizerLabel/index.js +31 -11
  240. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  241. package/dist/elements/Localizer/index.js +47 -15
  242. package/dist/elements/Localizer/index.js.map +1 -1
  243. package/dist/elements/Locked/index.js +18 -6
  244. package/dist/elements/Locked/index.js.map +1 -1
  245. package/dist/elements/Logout/index.js +12 -4
  246. package/dist/elements/Logout/index.js.map +1 -1
  247. package/dist/elements/Nav/NavToggler/index.js +7 -3
  248. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  249. package/dist/elements/Nav/context.js +7 -3
  250. package/dist/elements/Nav/context.js.map +1 -1
  251. package/dist/elements/NavGroup/index.js +49 -17
  252. package/dist/elements/NavGroup/index.js.map +1 -1
  253. package/dist/elements/NoListResults/index.js +19 -7
  254. package/dist/elements/NoListResults/index.js.map +1 -1
  255. package/dist/elements/PageControls/GroupByPageControls.js +7 -3
  256. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  257. package/dist/elements/PageControls/index.js +37 -13
  258. package/dist/elements/PageControls/index.js.map +1 -1
  259. package/dist/elements/Pagination/ClickableArrow/index.js +12 -4
  260. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  261. package/dist/elements/Pagination/Page/index.js +7 -3
  262. package/dist/elements/Pagination/Page/index.js.map +1 -1
  263. package/dist/elements/Pagination/Separator/index.js +7 -3
  264. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  265. package/dist/elements/Pagination/index.js +19 -7
  266. package/dist/elements/Pagination/index.js.map +1 -1
  267. package/dist/elements/PerPage/index.js +61 -21
  268. package/dist/elements/PerPage/index.js.map +1 -1
  269. package/dist/elements/PermanentlyDeleteButton/index.js +31 -11
  270. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  271. package/dist/elements/Pill/index.js +37 -13
  272. package/dist/elements/Pill/index.js.map +1 -1
  273. package/dist/elements/PillSelector/index.js +34 -10
  274. package/dist/elements/PillSelector/index.js.map +1 -1
  275. package/dist/elements/Popup/PopupButtonList/index.js +25 -9
  276. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  277. package/dist/elements/Popup/PopupDivider/index.js +7 -3
  278. package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
  279. package/dist/elements/Popup/PopupGroupLabel/index.js +7 -3
  280. package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
  281. package/dist/elements/Popup/PopupTrigger/index.js +13 -5
  282. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  283. package/dist/elements/Popup/index.js +60 -20
  284. package/dist/elements/Popup/index.js.map +1 -1
  285. package/dist/elements/PreviewButton/index.js +12 -4
  286. package/dist/elements/PreviewButton/index.js.map +1 -1
  287. package/dist/elements/PreviewSizes/index.js +97 -33
  288. package/dist/elements/PreviewSizes/index.js.map +1 -1
  289. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +67 -23
  290. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  291. package/dist/elements/PublishButton/ScheduleDrawer/index.js +165 -53
  292. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  293. package/dist/elements/PublishButton/index.js +49 -17
  294. package/dist/elements/PublishButton/index.js.map +1 -1
  295. package/dist/elements/PublishMany/DrawerContent.js +7 -3
  296. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  297. package/dist/elements/PublishMany/index.js +25 -9
  298. package/dist/elements/PublishMany/index.js.map +1 -1
  299. package/dist/elements/QueryPresets/QueryPresetBar/index.js +108 -36
  300. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  301. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +42 -14
  302. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  303. package/dist/elements/QueryPresets/cells/AccessCell/index.js +25 -9
  304. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
  305. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +13 -5
  306. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  307. package/dist/elements/QueryPresets/cells/GroupByCell/index.js +13 -5
  308. package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
  309. package/dist/elements/QueryPresets/cells/WhereCell/index.js +7 -3
  310. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
  311. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +25 -9
  312. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  313. package/dist/elements/QueryPresets/fields/GroupByField/index.js +31 -11
  314. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  315. package/dist/elements/QueryPresets/fields/WhereField/index.js +79 -27
  316. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  317. package/dist/elements/ReactSelect/ClearIndicator/index.js +13 -5
  318. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  319. package/dist/elements/ReactSelect/Control/index.js +13 -5
  320. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  321. package/dist/elements/ReactSelect/DropdownIndicator/index.js +13 -5
  322. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  323. package/dist/elements/ReactSelect/Input/index.js +13 -5
  324. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  325. package/dist/elements/ReactSelect/MultiValue/index.js +13 -5
  326. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  327. package/dist/elements/ReactSelect/MultiValueLabel/index.js +13 -5
  328. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  329. package/dist/elements/ReactSelect/MultiValueRemove/index.js +19 -7
  330. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  331. package/dist/elements/ReactSelect/SingleValue/index.js +13 -5
  332. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  333. package/dist/elements/ReactSelect/ValueContainer/index.js +19 -7
  334. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  335. package/dist/elements/ReactSelect/index.js +43 -15
  336. package/dist/elements/ReactSelect/index.js.map +1 -1
  337. package/dist/elements/RelationshipTable/AddNewButton.js +37 -13
  338. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  339. package/dist/elements/RelationshipTable/Pagination.js +7 -3
  340. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  341. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +24 -8
  342. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  343. package/dist/elements/RelationshipTable/index.js +119 -39
  344. package/dist/elements/RelationshipTable/index.js.map +1 -1
  345. package/dist/elements/RenderComponent/index.js +19 -7
  346. package/dist/elements/RenderComponent/index.js.map +1 -1
  347. package/dist/elements/RenderIfInViewport/index.js +7 -3
  348. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  349. package/dist/elements/RenderServerComponent/index.js +13 -5
  350. package/dist/elements/RenderServerComponent/index.js.map +1 -1
  351. package/dist/elements/RenderTitle/index.js +25 -9
  352. package/dist/elements/RenderTitle/index.js.map +1 -1
  353. package/dist/elements/RestoreButton/index.js +49 -17
  354. package/dist/elements/RestoreButton/index.js.map +1 -1
  355. package/dist/elements/RestoreMany/index.js +37 -13
  356. package/dist/elements/RestoreMany/index.js.map +1 -1
  357. package/dist/elements/SaveButton/index.js +7 -3
  358. package/dist/elements/SaveButton/index.js.map +1 -1
  359. package/dist/elements/SaveDraftButton/index.js +7 -3
  360. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  361. package/dist/elements/SearchBar/index.js +24 -8
  362. package/dist/elements/SearchBar/index.js.map +1 -1
  363. package/dist/elements/SearchFilter/index.js +13 -5
  364. package/dist/elements/SearchFilter/index.js.map +1 -1
  365. package/dist/elements/SelectAll/index.js +7 -3
  366. package/dist/elements/SelectAll/index.js.map +1 -1
  367. package/dist/elements/SelectMany/index.js +7 -3
  368. package/dist/elements/SelectMany/index.js.map +1 -1
  369. package/dist/elements/SelectRow/index.js +13 -5
  370. package/dist/elements/SelectRow/index.js.map +1 -1
  371. package/dist/elements/ShimmerEffect/index.js +31 -11
  372. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  373. package/dist/elements/SortColumn/index.js +48 -16
  374. package/dist/elements/SortColumn/index.js.map +1 -1
  375. package/dist/elements/SortComplex/index.js +55 -19
  376. package/dist/elements/SortComplex/index.js.map +1 -1
  377. package/dist/elements/SortHeader/index.js +24 -8
  378. package/dist/elements/SortHeader/index.js.map +1 -1
  379. package/dist/elements/SortRow/index.js +13 -5
  380. package/dist/elements/SortRow/index.js.map +1 -1
  381. package/dist/elements/Status/index.js +61 -21
  382. package/dist/elements/Status/index.js.map +1 -1
  383. package/dist/elements/StayLoggedIn/index.js +7 -3
  384. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  385. package/dist/elements/StepNav/context.js +7 -3
  386. package/dist/elements/StepNav/context.js.map +1 -1
  387. package/dist/elements/StepNav/index.js +104 -32
  388. package/dist/elements/StepNav/index.js.map +1 -1
  389. package/dist/elements/StickyToolbar/index.js +7 -3
  390. package/dist/elements/StickyToolbar/index.js.map +1 -1
  391. package/dist/elements/Table/DefaultCell/fields/Array/index.js +7 -3
  392. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  393. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +7 -3
  394. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  395. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +13 -5
  396. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  397. package/dist/elements/Table/DefaultCell/fields/Code/index.js +13 -5
  398. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  399. package/dist/elements/Table/DefaultCell/fields/Date/index.js +7 -3
  400. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  401. package/dist/elements/Table/DefaultCell/fields/File/index.js +21 -9
  402. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  403. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +13 -5
  404. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  405. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +19 -7
  406. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  407. package/dist/elements/Table/DefaultCell/fields/Select/index.js +7 -3
  408. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  409. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +7 -3
  410. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  411. package/dist/elements/Table/DefaultCell/index.js +43 -15
  412. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  413. package/dist/elements/Table/OrderableRow.js +25 -9
  414. package/dist/elements/Table/OrderableRow.js.map +1 -1
  415. package/dist/elements/Table/OrderableRowDragPreview.js +19 -7
  416. package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
  417. package/dist/elements/Table/OrderableTable.js +79 -27
  418. package/dist/elements/Table/OrderableTable.js.map +1 -1
  419. package/dist/elements/Table/RelationshipProvider/index.js +7 -3
  420. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  421. package/dist/elements/Table/index.js +55 -19
  422. package/dist/elements/Table/index.js.map +1 -1
  423. package/dist/elements/Thumbnail/index.js +47 -15
  424. package/dist/elements/Thumbnail/index.js.map +1 -1
  425. package/dist/elements/ThumbnailCard/index.js +19 -7
  426. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  427. package/dist/elements/TimezonePicker/index.js +19 -7
  428. package/dist/elements/TimezonePicker/index.js.map +1 -1
  429. package/dist/elements/Toasts/fieldErrors.js +24 -8
  430. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  431. package/dist/elements/Tooltip/index.js +31 -11
  432. package/dist/elements/Tooltip/index.js.map +1 -1
  433. package/dist/elements/Translation/index.js +25 -9
  434. package/dist/elements/Translation/index.js.map +1 -1
  435. package/dist/elements/TrashBanner/index.js +18 -6
  436. package/dist/elements/TrashBanner/index.js.map +1 -1
  437. package/dist/elements/UnpublishMany/DrawerContent.js +7 -3
  438. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  439. package/dist/elements/UnpublishMany/index.js +25 -9
  440. package/dist/elements/UnpublishMany/index.js.map +1 -1
  441. package/dist/elements/Upload/index.js +229 -77
  442. package/dist/elements/Upload/index.js.map +1 -1
  443. package/dist/elements/ViewDescription/index.js +7 -3
  444. package/dist/elements/ViewDescription/index.js.map +1 -1
  445. package/dist/elements/WhereBuilder/Condition/Date/index.js +13 -5
  446. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  447. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +37 -13
  448. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  449. package/dist/elements/WhereBuilder/Condition/Number/index.js +12 -4
  450. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  451. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +18 -6
  452. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  453. package/dist/elements/WhereBuilder/Condition/Select/index.js +7 -3
  454. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  455. package/dist/elements/WhereBuilder/Condition/Text/index.js +12 -4
  456. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  457. package/dist/elements/WhereBuilder/Condition/index.js +73 -25
  458. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  459. package/dist/elements/WhereBuilder/index.js +85 -29
  460. package/dist/elements/WhereBuilder/index.js.map +1 -1
  461. package/dist/elements/WithServerSideProps/index.js +7 -3
  462. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  463. package/dist/elements/withMergedProps/index.js +7 -3
  464. package/dist/elements/withMergedProps/index.js.map +1 -1
  465. package/dist/fields/Array/ArrayRow.js +52 -16
  466. package/dist/fields/Array/ArrayRow.js.map +1 -1
  467. package/dist/fields/Array/index.js +169 -57
  468. package/dist/fields/Array/index.js.map +1 -1
  469. package/dist/fields/Blocks/BlockRow.js +72 -24
  470. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  471. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +18 -6
  472. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  473. package/dist/fields/Blocks/BlockSelector/index.js +71 -23
  474. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  475. package/dist/fields/Blocks/BlocksDrawer/index.js +13 -5
  476. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  477. package/dist/fields/Blocks/RowActions.js +19 -7
  478. package/dist/fields/Blocks/RowActions.js.map +1 -1
  479. package/dist/fields/Blocks/SectionTitle/index.js +13 -5
  480. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  481. package/dist/fields/Blocks/index.js +187 -63
  482. package/dist/fields/Blocks/index.js.map +1 -1
  483. package/dist/fields/Checkbox/Input.js +47 -15
  484. package/dist/fields/Checkbox/Input.js.map +1 -1
  485. package/dist/fields/Checkbox/index.js +37 -13
  486. package/dist/fields/Checkbox/index.js.map +1 -1
  487. package/dist/fields/Code/index.js +55 -19
  488. package/dist/fields/Code/index.js.map +1 -1
  489. package/dist/fields/Collapsible/index.js +61 -21
  490. package/dist/fields/Collapsible/index.js.map +1 -1
  491. package/dist/fields/ConfirmPassword/index.js +31 -11
  492. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  493. package/dist/fields/DateTime/index.js +61 -21
  494. package/dist/fields/DateTime/index.js.map +1 -1
  495. package/dist/fields/Email/index.js +55 -19
  496. package/dist/fields/Email/index.js.map +1 -1
  497. package/dist/fields/FieldDescription/index.js +7 -3
  498. package/dist/fields/FieldDescription/index.js.map +1 -1
  499. package/dist/fields/FieldError/index.js +7 -3
  500. package/dist/fields/FieldError/index.js.map +1 -1
  501. package/dist/fields/FieldLabel/index.js +19 -7
  502. package/dist/fields/FieldLabel/index.js.map +1 -1
  503. package/dist/fields/Group/index.js +78 -26
  504. package/dist/fields/Group/index.js.map +1 -1
  505. package/dist/fields/Group/provider.js +7 -3
  506. package/dist/fields/Group/provider.js.map +1 -1
  507. package/dist/fields/Hidden/index.js +7 -3
  508. package/dist/fields/Hidden/index.js.map +1 -1
  509. package/dist/fields/JSON/index.js +55 -19
  510. package/dist/fields/JSON/index.js.map +1 -1
  511. package/dist/fields/Join/index.js +49 -17
  512. package/dist/fields/Join/index.js.map +1 -1
  513. package/dist/fields/Number/index.js +66 -22
  514. package/dist/fields/Number/index.js.map +1 -1
  515. package/dist/fields/Password/index.js +7 -3
  516. package/dist/fields/Password/index.js.map +1 -1
  517. package/dist/fields/Password/input.js +61 -21
  518. package/dist/fields/Password/input.js.map +1 -1
  519. package/dist/fields/Point/index.js +97 -33
  520. package/dist/fields/Point/index.js.map +1 -1
  521. package/dist/fields/RadioGroup/Radio/index.js +31 -11
  522. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  523. package/dist/fields/RadioGroup/index.js +67 -23
  524. package/dist/fields/RadioGroup/index.js.map +1 -1
  525. package/dist/fields/Relationship/Input.js +84 -28
  526. package/dist/fields/Relationship/Input.js.map +1 -1
  527. package/dist/fields/Relationship/index.js +7 -3
  528. package/dist/fields/Relationship/index.js.map +1 -1
  529. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +43 -15
  530. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  531. package/dist/fields/Relationship/select-components/SingleValue/index.js +48 -16
  532. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  533. package/dist/fields/Row/index.js +19 -7
  534. package/dist/fields/Row/index.js.map +1 -1
  535. package/dist/fields/Row/provider.js +7 -3
  536. package/dist/fields/Row/provider.js.map +1 -1
  537. package/dist/fields/Select/Input.js +55 -19
  538. package/dist/fields/Select/Input.js.map +1 -1
  539. package/dist/fields/Select/index.js +7 -3
  540. package/dist/fields/Select/index.js.map +1 -1
  541. package/dist/fields/Slug/index.js +37 -13
  542. package/dist/fields/Slug/index.js.map +1 -1
  543. package/dist/fields/Tabs/Tab/index.js +25 -9
  544. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  545. package/dist/fields/Tabs/index.js +67 -23
  546. package/dist/fields/Tabs/index.js.map +1 -1
  547. package/dist/fields/Tabs/provider.js +7 -3
  548. package/dist/fields/Tabs/provider.js.map +1 -1
  549. package/dist/fields/Text/Input.js +60 -20
  550. package/dist/fields/Text/Input.js.map +1 -1
  551. package/dist/fields/Text/index.js +7 -3
  552. package/dist/fields/Text/index.js.map +1 -1
  553. package/dist/fields/Textarea/Input.js +61 -21
  554. package/dist/fields/Textarea/Input.js.map +1 -1
  555. package/dist/fields/Textarea/index.js +7 -3
  556. package/dist/fields/Textarea/index.js.map +1 -1
  557. package/dist/fields/Upload/HasMany/index.js +48 -16
  558. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  559. package/dist/fields/Upload/HasOne/index.js +13 -5
  560. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  561. package/dist/fields/Upload/Input.js +151 -55
  562. package/dist/fields/Upload/Input.js.map +1 -1
  563. package/dist/fields/Upload/RelationshipContent/index.js +73 -25
  564. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  565. package/dist/fields/Upload/UploadCard/index.js +7 -3
  566. package/dist/fields/Upload/UploadCard/index.js.map +1 -1
  567. package/dist/fields/Upload/index.js +13 -5
  568. package/dist/fields/Upload/index.js.map +1 -1
  569. package/dist/forms/Form/index.js +67 -23
  570. package/dist/forms/Form/index.js.map +1 -1
  571. package/dist/forms/NullifyField/index.js +13 -5
  572. package/dist/forms/NullifyField/index.js.map +1 -1
  573. package/dist/forms/RenderFields/RenderField.js +138 -46
  574. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  575. package/dist/forms/RenderFields/index.js +19 -7
  576. package/dist/forms/RenderFields/index.js.map +1 -1
  577. package/dist/forms/RowLabel/Context/index.js +7 -3
  578. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  579. package/dist/forms/RowLabel/index.js +19 -7
  580. package/dist/forms/RowLabel/index.js.map +1 -1
  581. package/dist/forms/Submit/index.js +13 -5
  582. package/dist/forms/Submit/index.js.map +1 -1
  583. package/dist/forms/fieldSchemasToFormState/renderField.js +19 -7
  584. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  585. package/dist/forms/withCondition/index.js +13 -5
  586. package/dist/forms/withCondition/index.js.map +1 -1
  587. package/dist/graphics/Account/Default/index.js +25 -9
  588. package/dist/graphics/Account/Default/index.js.map +1 -1
  589. package/dist/graphics/Account/Gravatar/index.js +7 -3
  590. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  591. package/dist/graphics/Account/index.js +12 -4
  592. package/dist/graphics/Account/index.js.map +1 -1
  593. package/dist/graphics/DefaultBlockImage/index.js +67 -23
  594. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  595. package/dist/graphics/File/index.js +19 -7
  596. package/dist/graphics/File/index.js.map +1 -1
  597. package/dist/graphics/Icon/index.js +19 -7
  598. package/dist/graphics/Icon/index.js.map +1 -1
  599. package/dist/graphics/Logo/index.js +85 -29
  600. package/dist/graphics/Logo/index.js.map +1 -1
  601. package/dist/icons/Calendar/index.js +13 -5
  602. package/dist/icons/Calendar/index.js.map +1 -1
  603. package/dist/icons/Check/index.js +13 -5
  604. package/dist/icons/Check/index.js.map +1 -1
  605. package/dist/icons/Chevron/index.js +13 -5
  606. package/dist/icons/Chevron/index.js.map +1 -1
  607. package/dist/icons/CloseMenu/index.js +13 -5
  608. package/dist/icons/CloseMenu/index.js.map +1 -1
  609. package/dist/icons/CodeBlock/index.js +13 -5
  610. package/dist/icons/CodeBlock/index.js.map +1 -1
  611. package/dist/icons/Copy/index.js +13 -5
  612. package/dist/icons/Copy/index.js.map +1 -1
  613. package/dist/icons/Document/index.js +13 -5
  614. package/dist/icons/Document/index.js.map +1 -1
  615. package/dist/icons/Dots/index.js +22 -6
  616. package/dist/icons/Dots/index.js.map +1 -1
  617. package/dist/icons/DragHandle/index.js +43 -15
  618. package/dist/icons/DragHandle/index.js.map +1 -1
  619. package/dist/icons/Edit/index.js +13 -5
  620. package/dist/icons/Edit/index.js.map +1 -1
  621. package/dist/icons/ExternalLink/index.js +13 -5
  622. package/dist/icons/ExternalLink/index.js.map +1 -1
  623. package/dist/icons/Eye/index.js +36 -12
  624. package/dist/icons/Eye/index.js.map +1 -1
  625. package/dist/icons/Folder/index.js +13 -5
  626. package/dist/icons/Folder/index.js.map +1 -1
  627. package/dist/icons/Gear/index.js +19 -7
  628. package/dist/icons/Gear/index.js.map +1 -1
  629. package/dist/icons/GridView/index.js +31 -11
  630. package/dist/icons/GridView/index.js.map +1 -1
  631. package/dist/icons/Line/index.js +13 -5
  632. package/dist/icons/Line/index.js.map +1 -1
  633. package/dist/icons/Link/index.js +13 -5
  634. package/dist/icons/Link/index.js.map +1 -1
  635. package/dist/icons/ListView/index.js +13 -5
  636. package/dist/icons/ListView/index.js.map +1 -1
  637. package/dist/icons/Lock/index.js +19 -7
  638. package/dist/icons/Lock/index.js.map +1 -1
  639. package/dist/icons/LogOut/index.js +13 -5
  640. package/dist/icons/LogOut/index.js.map +1 -1
  641. package/dist/icons/Menu/index.js +13 -5
  642. package/dist/icons/Menu/index.js.map +1 -1
  643. package/dist/icons/MinimizeMaximize/index.js +18 -6
  644. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  645. package/dist/icons/More/index.js +25 -9
  646. package/dist/icons/More/index.js.map +1 -1
  647. package/dist/icons/MoveFolder/index.js +37 -13
  648. package/dist/icons/MoveFolder/index.js.map +1 -1
  649. package/dist/icons/People/index.js +13 -5
  650. package/dist/icons/People/index.js.map +1 -1
  651. package/dist/icons/Plus/index.js +13 -5
  652. package/dist/icons/Plus/index.js.map +1 -1
  653. package/dist/icons/Search/index.js +13 -5
  654. package/dist/icons/Search/index.js.map +1 -1
  655. package/dist/icons/Sort/index.js +25 -9
  656. package/dist/icons/Sort/index.js.map +1 -1
  657. package/dist/icons/Swap/index.js +13 -5
  658. package/dist/icons/Swap/index.js.map +1 -1
  659. package/dist/icons/ThreeDots/index.js +22 -6
  660. package/dist/icons/ThreeDots/index.js.map +1 -1
  661. package/dist/icons/Trash/index.js +13 -5
  662. package/dist/icons/Trash/index.js.map +1 -1
  663. package/dist/icons/X/index.js +13 -5
  664. package/dist/icons/X/index.js.map +1 -1
  665. package/dist/providers/Actions/index.js +7 -3
  666. package/dist/providers/Actions/index.js.map +1 -1
  667. package/dist/providers/Auth/index.js +7 -3
  668. package/dist/providers/Auth/index.js.map +1 -1
  669. package/dist/providers/ClickOutside/index.js +7 -3
  670. package/dist/providers/ClickOutside/index.js.map +1 -1
  671. package/dist/providers/ClientFunction/index.js +13 -5
  672. package/dist/providers/ClientFunction/index.js.map +1 -1
  673. package/dist/providers/Config/index.js +13 -5
  674. package/dist/providers/Config/index.js.map +1 -1
  675. package/dist/providers/DocumentEvents/index.js +7 -3
  676. package/dist/providers/DocumentEvents/index.js.map +1 -1
  677. package/dist/providers/DocumentInfo/index.js +25 -9
  678. package/dist/providers/DocumentInfo/index.js.map +1 -1
  679. package/dist/providers/DocumentTitle/index.js +7 -3
  680. package/dist/providers/DocumentTitle/index.js.map +1 -1
  681. package/dist/providers/EditDepth/index.js +7 -3
  682. package/dist/providers/EditDepth/index.js.map +1 -1
  683. package/dist/providers/EntityVisibility/index.js +7 -3
  684. package/dist/providers/EntityVisibility/index.js.map +1 -1
  685. package/dist/providers/Folders/index.js +7 -3
  686. package/dist/providers/Folders/index.js.map +1 -1
  687. package/dist/providers/ListQuery/index.js +13 -5
  688. package/dist/providers/ListQuery/index.js.map +1 -1
  689. package/dist/providers/LivePreview/index.js +13 -5
  690. package/dist/providers/LivePreview/index.js.map +1 -1
  691. package/dist/providers/Locale/index.js +13 -5
  692. package/dist/providers/Locale/index.js.map +1 -1
  693. package/dist/providers/Operation/index.js +7 -3
  694. package/dist/providers/Operation/index.js.map +1 -1
  695. package/dist/providers/Params/index.js +7 -3
  696. package/dist/providers/Params/index.js.map +1 -1
  697. package/dist/providers/Preferences/index.js +7 -3
  698. package/dist/providers/Preferences/index.js.map +1 -1
  699. package/dist/providers/Root/index.js +154 -50
  700. package/dist/providers/Root/index.js.map +1 -1
  701. package/dist/providers/RouteCache/index.js +7 -3
  702. package/dist/providers/RouteCache/index.js.map +1 -1
  703. package/dist/providers/RouteTransition/ProgressBar/index.js +13 -5
  704. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  705. package/dist/providers/RouteTransition/index.js +7 -3
  706. package/dist/providers/RouteTransition/index.js.map +1 -1
  707. package/dist/providers/SearchParams/index.js +7 -3
  708. package/dist/providers/SearchParams/index.js.map +1 -1
  709. package/dist/providers/Selection/index.js +7 -3
  710. package/dist/providers/Selection/index.js.map +1 -1
  711. package/dist/providers/ServerFunctions/index.js +7 -3
  712. package/dist/providers/ServerFunctions/index.js.map +1 -1
  713. package/dist/providers/TableColumns/RenderDefaultCell/index.js +13 -5
  714. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  715. package/dist/providers/TableColumns/buildColumnState/index.js +7 -3
  716. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  717. package/dist/providers/TableColumns/buildColumnState/renderCell.js +13 -5
  718. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  719. package/dist/providers/TableColumns/index.js +7 -3
  720. package/dist/providers/TableColumns/index.js.map +1 -1
  721. package/dist/providers/Theme/index.js +7 -3
  722. package/dist/providers/Theme/index.js.map +1 -1
  723. package/dist/providers/ToastContainer/icons/Error.js +19 -7
  724. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  725. package/dist/providers/ToastContainer/icons/Info.js +19 -7
  726. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  727. package/dist/providers/ToastContainer/icons/Success.js +19 -7
  728. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  729. package/dist/providers/ToastContainer/icons/Warning.js +19 -7
  730. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  731. package/dist/providers/ToastContainer/index.js +27 -7
  732. package/dist/providers/ToastContainer/index.js.map +1 -1
  733. package/dist/providers/Translation/index.js +7 -3
  734. package/dist/providers/Translation/index.js.map +1 -1
  735. package/dist/providers/UploadControls/index.js +7 -3
  736. package/dist/providers/UploadControls/index.js.map +1 -1
  737. package/dist/providers/UploadEdits/index.js +7 -3
  738. package/dist/providers/UploadEdits/index.js.map +1 -1
  739. package/dist/providers/UploadHandlers/index.js +7 -3
  740. package/dist/providers/UploadHandlers/index.js.map +1 -1
  741. package/dist/utilities/combineFieldLabel.js +37 -13
  742. package/dist/utilities/combineFieldLabel.js.map +1 -1
  743. package/dist/utilities/getFolderResultsComponentAndData.js +29 -13
  744. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
  745. package/dist/utilities/renderTable.js +82 -26
  746. package/dist/utilities/renderTable.js.map +1 -1
  747. package/dist/views/BrowseByFolder/index.js +168 -56
  748. package/dist/views/BrowseByFolder/index.js.map +1 -1
  749. package/dist/views/CollectionFolder/ListSelection/index.js +67 -23
  750. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  751. package/dist/views/CollectionFolder/index.js +147 -47
  752. package/dist/views/CollectionFolder/index.js.map +1 -1
  753. package/dist/views/Edit/Auth/APIKey.js +67 -23
  754. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  755. package/dist/views/Edit/Auth/index.js +91 -31
  756. package/dist/views/Edit/Auth/index.js.map +1 -1
  757. package/dist/views/Edit/index.js +117 -41
  758. package/dist/views/Edit/index.js.map +1 -1
  759. package/dist/views/List/GroupByHeader/index.js +19 -7
  760. package/dist/views/List/GroupByHeader/index.js.map +1 -1
  761. package/dist/views/List/ListHeader/index.js +62 -22
  762. package/dist/views/List/ListHeader/index.js.map +1 -1
  763. package/dist/views/List/ListSelection/index.js +49 -17
  764. package/dist/views/List/ListSelection/index.js.map +1 -1
  765. package/dist/views/List/index.js +162 -54
  766. package/dist/views/List/index.js.map +1 -1
  767. package/package.json +5 -5
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { jsxDEV as _jsxDEV, Fragment as _Fragment } from "react/jsx-dev-runtime";
3
3
  import { useModal } from '@faceless-ui/modal';
4
4
  import * as qs from 'qs-esm';
5
5
  import React, { useCallback, useEffect, useMemo } from 'react';
@@ -543,7 +543,7 @@ export const baseClass = 'upload';
543
543
  setOnSuccess
544
544
  ]);
545
545
  const showDropzone = !value || hasMany && Array.isArray(value) && (typeof maxRows !== 'number' || value.length < maxRows) || !hasMany && populatedDocs?.[0] && typeof populatedDocs[0].value === 'undefined';
546
- return /*#__PURE__*/ _jsxs("div", {
546
+ return /*#__PURE__*/ _jsxDEV("div", {
547
547
  className: [
548
548
  fieldBaseClass,
549
549
  baseClass,
@@ -554,31 +554,51 @@ export const baseClass = 'upload';
554
554
  id: `field-${path?.replace(/\./g, '__')}`,
555
555
  style: style,
556
556
  children: [
557
- /*#__PURE__*/ _jsx(RenderCustomComponent, {
557
+ /*#__PURE__*/ _jsxDEV(RenderCustomComponent, {
558
558
  CustomComponent: Label,
559
- Fallback: /*#__PURE__*/ _jsx(FieldLabel, {
559
+ Fallback: /*#__PURE__*/ _jsxDEV(FieldLabel, {
560
560
  label: label,
561
561
  localized: localized,
562
562
  path: path,
563
563
  required: required
564
- })
565
- }),
566
- /*#__PURE__*/ _jsx("div", {
564
+ }, void 0, false, {
565
+ fileName: "src/fields/Upload/Input.tsx",
566
+ lineNumber: 657,
567
+ columnNumber: 11
568
+ }, void 0)
569
+ }, void 0, false, {
570
+ fileName: "src/fields/Upload/Input.tsx",
571
+ lineNumber: 654,
572
+ columnNumber: 7
573
+ }, this),
574
+ /*#__PURE__*/ _jsxDEV("div", {
567
575
  className: `${baseClass}__wrap`,
568
- children: /*#__PURE__*/ _jsx(RenderCustomComponent, {
576
+ children: /*#__PURE__*/ _jsxDEV(RenderCustomComponent, {
569
577
  CustomComponent: Error,
570
- Fallback: /*#__PURE__*/ _jsx(FieldError, {
578
+ Fallback: /*#__PURE__*/ _jsxDEV(FieldError, {
571
579
  path: path,
572
580
  showError: showError
573
- })
574
- })
575
- }),
581
+ }, void 0, false, {
582
+ fileName: "src/fields/Upload/Input.tsx",
583
+ lineNumber: 663,
584
+ columnNumber: 21
585
+ }, void 0)
586
+ }, void 0, false, {
587
+ fileName: "src/fields/Upload/Input.tsx",
588
+ lineNumber: 661,
589
+ columnNumber: 9
590
+ }, this)
591
+ }, void 0, false, {
592
+ fileName: "src/fields/Upload/Input.tsx",
593
+ lineNumber: 660,
594
+ columnNumber: 7
595
+ }, this),
576
596
  BeforeInput,
577
- /*#__PURE__*/ _jsxs("div", {
597
+ /*#__PURE__*/ _jsxDEV("div", {
578
598
  className: `${baseClass}__dropzoneAndUpload`,
579
599
  children: [
580
- hasMany && Array.isArray(value) && value.length > 0 ? /*#__PURE__*/ _jsx(_Fragment, {
581
- children: populatedDocs && populatedDocs?.length > 0 ? /*#__PURE__*/ _jsx(UploadComponentHasMany, {
600
+ hasMany && Array.isArray(value) && value.length > 0 ? /*#__PURE__*/ _jsxDEV(_Fragment, {
601
+ children: populatedDocs && populatedDocs?.length > 0 ? /*#__PURE__*/ _jsxDEV(UploadComponentHasMany, {
582
602
  displayPreview: displayPreview,
583
603
  fileDocs: populatedDocs,
584
604
  isSortable: isSortable && !readOnly,
@@ -588,15 +608,27 @@ export const baseClass = 'upload';
588
608
  reloadDoc: reloadDoc,
589
609
  serverURL: serverURL,
590
610
  showCollectionSlug: Array.isArray(relationTo)
591
- }) : /*#__PURE__*/ _jsx("div", {
611
+ }, void 0, false, {
612
+ fileName: "src/fields/Upload/Input.tsx",
613
+ lineNumber: 671,
614
+ columnNumber: 15
615
+ }, this) : /*#__PURE__*/ _jsxDEV("div", {
592
616
  className: `${baseClass}__loadingRows`,
593
- children: value.map((id)=>/*#__PURE__*/ _jsx(ShimmerEffect, {
617
+ children: value.map((id)=>/*#__PURE__*/ _jsxDEV(ShimmerEffect, {
594
618
  height: "40px"
595
- }, typeof id === 'object' ? id.value : id))
596
- })
597
- }) : null,
598
- !hasMany && value ? /*#__PURE__*/ _jsx(_Fragment, {
599
- children: populatedDocs && populatedDocs?.length > 0 && populatedDocs[0].value ? /*#__PURE__*/ _jsx(UploadComponentHasOne, {
619
+ }, typeof id === 'object' ? id.value : id, false, {
620
+ fileName: "src/fields/Upload/Input.tsx",
621
+ lineNumber: 685,
622
+ columnNumber: 19
623
+ }, this))
624
+ }, void 0, false, {
625
+ fileName: "src/fields/Upload/Input.tsx",
626
+ lineNumber: 683,
627
+ columnNumber: 15
628
+ }, this)
629
+ }, void 0, false) : null,
630
+ !hasMany && value ? /*#__PURE__*/ _jsxDEV(_Fragment, {
631
+ children: populatedDocs && populatedDocs?.length > 0 && populatedDocs[0].value ? /*#__PURE__*/ _jsxDEV(UploadComponentHasOne, {
600
632
  displayPreview: displayPreview,
601
633
  fileDoc: populatedDocs[0],
602
634
  onRemove: onRemove,
@@ -604,29 +636,37 @@ export const baseClass = 'upload';
604
636
  reloadDoc: reloadDoc,
605
637
  serverURL: serverURL,
606
638
  showCollectionSlug: Array.isArray(relationTo)
607
- }) : populatedDocs && value && !populatedDocs?.[0]?.value ? /*#__PURE__*/ _jsxs(_Fragment, {
639
+ }, void 0, false, {
640
+ fileName: "src/fields/Upload/Input.tsx",
641
+ lineNumber: 694,
642
+ columnNumber: 15
643
+ }, this) : populatedDocs && value && !populatedDocs?.[0]?.value ? /*#__PURE__*/ _jsxDEV(_Fragment, {
608
644
  children: [
609
645
  t('general:untitled'),
610
646
  " - ID: ",
611
647
  value
612
648
  ]
613
- }) : /*#__PURE__*/ _jsx(ShimmerEffect, {
649
+ }, void 0, true) : /*#__PURE__*/ _jsxDEV(ShimmerEffect, {
614
650
  height: "62px"
615
- })
616
- }) : null,
617
- showDropzone ? /*#__PURE__*/ _jsx(Dropzone, {
651
+ }, void 0, false, {
652
+ fileName: "src/fields/Upload/Input.tsx",
653
+ lineNumber: 708,
654
+ columnNumber: 15
655
+ }, this)
656
+ }, void 0, false) : null,
657
+ showDropzone ? /*#__PURE__*/ _jsxDEV(Dropzone, {
618
658
  disabled: readOnly || !canCreate,
619
659
  multipleFiles: hasMany,
620
660
  onChange: onLocalFileSelection,
621
- children: /*#__PURE__*/ _jsxs("div", {
661
+ children: /*#__PURE__*/ _jsxDEV("div", {
622
662
  className: `${baseClass}__dropzoneContent`,
623
663
  children: [
624
- /*#__PURE__*/ _jsxs("div", {
664
+ /*#__PURE__*/ _jsxDEV("div", {
625
665
  className: `${baseClass}__dropzoneContent__buttons`,
626
666
  children: [
627
- canCreate && /*#__PURE__*/ _jsxs(_Fragment, {
667
+ canCreate && /*#__PURE__*/ _jsxDEV(_Fragment, {
628
668
  children: [
629
- /*#__PURE__*/ _jsx(Button, {
669
+ /*#__PURE__*/ _jsxDEV(Button, {
630
670
  buttonStyle: "pill",
631
671
  className: `${baseClass}__createNewToggler`,
632
672
  disabled: readOnly || !canCreate,
@@ -641,59 +681,115 @@ export const baseClass = 'upload';
641
681
  },
642
682
  size: "small",
643
683
  children: t('general:createNew')
644
- }),
645
- /*#__PURE__*/ _jsx("span", {
684
+ }, void 0, false, {
685
+ fileName: "src/fields/Upload/Input.tsx",
686
+ lineNumber: 722,
687
+ columnNumber: 21
688
+ }, this),
689
+ /*#__PURE__*/ _jsxDEV("span", {
646
690
  className: `${baseClass}__dropzoneContent__orText`,
647
691
  children: t('general:or')
648
- })
692
+ }, void 0, false, {
693
+ fileName: "src/fields/Upload/Input.tsx",
694
+ lineNumber: 739,
695
+ columnNumber: 21
696
+ }, this)
649
697
  ]
650
- }),
651
- /*#__PURE__*/ _jsx(Button, {
698
+ }, void 0, true),
699
+ /*#__PURE__*/ _jsxDEV(Button, {
652
700
  buttonStyle: "pill",
653
701
  className: `${baseClass}__listToggler`,
654
702
  disabled: readOnly,
655
703
  onClick: openListDrawer,
656
704
  size: "small",
657
705
  children: t('fields:chooseFromExisting')
658
- }),
659
- /*#__PURE__*/ _jsx(CreateDocDrawer, {
706
+ }, void 0, false, {
707
+ fileName: "src/fields/Upload/Input.tsx",
708
+ lineNumber: 744,
709
+ columnNumber: 17
710
+ }, this),
711
+ /*#__PURE__*/ _jsxDEV(CreateDocDrawer, {
660
712
  onSave: onDocCreate
661
- }),
662
- /*#__PURE__*/ _jsx(ListDrawer, {
713
+ }, void 0, false, {
714
+ fileName: "src/fields/Upload/Input.tsx",
715
+ lineNumber: 753,
716
+ columnNumber: 17
717
+ }, this),
718
+ /*#__PURE__*/ _jsxDEV(ListDrawer, {
663
719
  allowCreate: canCreate,
664
720
  enableRowSelections: hasMany,
665
721
  onBulkSelect: onListBulkSelect,
666
722
  onSelect: onListSelect
667
- })
723
+ }, void 0, false, {
724
+ fileName: "src/fields/Upload/Input.tsx",
725
+ lineNumber: 754,
726
+ columnNumber: 17
727
+ }, this)
668
728
  ]
669
- }),
670
- canCreate && !readOnly && /*#__PURE__*/ _jsxs("p", {
729
+ }, void 0, true, {
730
+ fileName: "src/fields/Upload/Input.tsx",
731
+ lineNumber: 719,
732
+ columnNumber: 15
733
+ }, this),
734
+ canCreate && !readOnly && /*#__PURE__*/ _jsxDEV("p", {
671
735
  className: `${baseClass}__dragAndDropText`,
672
736
  children: [
673
737
  t('general:or'),
674
738
  " ",
675
739
  t('upload:dragAndDrop')
676
740
  ]
677
- })
741
+ }, void 0, true, {
742
+ fileName: "src/fields/Upload/Input.tsx",
743
+ lineNumber: 763,
744
+ columnNumber: 17
745
+ }, this)
678
746
  ]
679
- })
680
- }) : /*#__PURE__*/ _jsx(_Fragment, {
681
- children: !readOnly && !populatedDocs && (!value || typeof maxRows !== 'number' || Array.isArray(value) && value.length < maxRows) ? /*#__PURE__*/ _jsx(ShimmerEffect, {
747
+ }, void 0, true, {
748
+ fileName: "src/fields/Upload/Input.tsx",
749
+ lineNumber: 718,
750
+ columnNumber: 13
751
+ }, this)
752
+ }, void 0, false, {
753
+ fileName: "src/fields/Upload/Input.tsx",
754
+ lineNumber: 713,
755
+ columnNumber: 11
756
+ }, this) : /*#__PURE__*/ _jsxDEV(_Fragment, {
757
+ children: !readOnly && !populatedDocs && (!value || typeof maxRows !== 'number' || Array.isArray(value) && value.length < maxRows) ? /*#__PURE__*/ _jsxDEV(ShimmerEffect, {
682
758
  height: "40px"
683
- }) : null
684
- })
759
+ }, void 0, false, {
760
+ fileName: "src/fields/Upload/Input.tsx",
761
+ lineNumber: 776,
762
+ columnNumber: 15
763
+ }, this) : null
764
+ }, void 0, false)
685
765
  ]
686
- }),
766
+ }, void 0, true, {
767
+ fileName: "src/fields/Upload/Input.tsx",
768
+ lineNumber: 667,
769
+ columnNumber: 7
770
+ }, this),
687
771
  AfterInput,
688
- /*#__PURE__*/ _jsx(RenderCustomComponent, {
772
+ /*#__PURE__*/ _jsxDEV(RenderCustomComponent, {
689
773
  CustomComponent: Description,
690
- Fallback: /*#__PURE__*/ _jsx(FieldDescription, {
774
+ Fallback: /*#__PURE__*/ _jsxDEV(FieldDescription, {
691
775
  description: description,
692
776
  path: path
693
- })
694
- })
777
+ }, void 0, false, {
778
+ fileName: "src/fields/Upload/Input.tsx",
779
+ lineNumber: 784,
780
+ columnNumber: 19
781
+ }, void 0)
782
+ }, void 0, false, {
783
+ fileName: "src/fields/Upload/Input.tsx",
784
+ lineNumber: 782,
785
+ columnNumber: 7
786
+ }, this)
695
787
  ]
696
- });
788
+ }, void 0, true, {
789
+ fileName: "src/fields/Upload/Input.tsx",
790
+ lineNumber: 641,
791
+ columnNumber: 5
792
+ }, this);
697
793
  }
698
794
 
699
795
  //# sourceMappingURL=Input.js.map
@@ -1 +1 @@
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 * 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 { UploadComponentHasOne } from './HasOne/index.js'\nimport './index.scss'\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(`${serverURL}${api}/${collection}`, {\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 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 [serverURL, 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","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","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
+ {"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 * 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 { UploadComponentHasOne } from './HasOne/index.js'\nimport './index.scss'\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(`${serverURL}${api}/${collection}`, {\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 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 [serverURL, 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","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","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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"}