@payloadcms/ui 4.0.0-internal.40de3ec → 4.0.0-internal.4804abd

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 (901) hide show
  1. package/dist/css/colors.css +6 -0
  2. package/dist/css/design-tokens.css +5 -0
  3. package/dist/css/elevations.css +4 -0
  4. package/dist/css/forms.css +6 -3
  5. package/dist/css/radius.css +1 -3
  6. package/dist/css/theme.css +6 -1
  7. package/dist/css/utilities.css +7 -1
  8. package/dist/elements/APIKeyInput/index.css +92 -0
  9. package/dist/elements/APIKeyInput/index.d.ts +14 -0
  10. package/dist/elements/APIKeyInput/index.d.ts.map +1 -0
  11. package/dist/elements/APIKeyInput/index.js +86 -0
  12. package/dist/elements/APIKeyInput/index.js.map +1 -0
  13. package/dist/elements/AddNewRelation/index.css +1 -1
  14. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  15. package/dist/elements/AddNewRelation/index.js +85 -103
  16. package/dist/elements/AddNewRelation/index.js.map +1 -1
  17. package/dist/elements/AppHeader/index.d.ts +3 -1
  18. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  19. package/dist/elements/AppHeader/index.js +14 -27
  20. package/dist/elements/AppHeader/index.js.map +1 -1
  21. package/dist/elements/ArrayAction/index.js +2 -2
  22. package/dist/elements/ArrayAction/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/ActionsBar/index.css +13 -11
  24. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +1 -5
  25. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  26. package/dist/elements/BulkUpload/ActionsBar/index.js +57 -61
  27. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/AddFilesView/index.css +14 -8
  29. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -2
  30. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  31. package/dist/elements/BulkUpload/AddFilesView/index.js +41 -36
  32. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  33. package/dist/elements/BulkUpload/AddingFilesView/index.css +177 -0
  34. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +6 -2
  35. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  36. package/dist/elements/BulkUpload/AddingFilesView/index.js +135 -66
  37. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  38. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
  39. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  40. package/dist/elements/BulkUpload/EditForm/index.css +9 -0
  41. package/dist/elements/BulkUpload/EditForm/index.d.ts +2 -2
  42. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  43. package/dist/elements/BulkUpload/EditForm/index.js +17 -18
  44. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  45. package/dist/elements/BulkUpload/EditForm/types.d.ts +2 -3
  46. package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -1
  47. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  48. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts +1 -1
  49. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  50. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +77 -59
  51. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  52. package/dist/elements/BulkUpload/EditMany/index.css +71 -0
  53. package/dist/elements/BulkUpload/EditMany/index.d.ts +1 -1
  54. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  55. package/dist/elements/BulkUpload/EditMany/index.js +29 -11
  56. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  57. package/dist/elements/BulkUpload/FileSidebar/index.css +79 -180
  58. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  59. package/dist/elements/BulkUpload/FileSidebar/index.js +42 -165
  60. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  61. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  62. package/dist/elements/BulkUpload/FormsManager/index.js +14 -1
  63. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  64. package/dist/elements/BulkUpload/index.css +48 -0
  65. package/dist/elements/BulkUpload/index.d.ts +6 -5
  66. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  67. package/dist/elements/BulkUpload/index.js +42 -41
  68. package/dist/elements/BulkUpload/index.js.map +1 -1
  69. package/dist/elements/Button/index.css +8 -0
  70. package/dist/elements/Button/index.d.ts.map +1 -1
  71. package/dist/elements/Button/index.js +5 -0
  72. package/dist/elements/Button/index.js.map +1 -1
  73. package/dist/elements/Card/index.css +1 -1
  74. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  75. package/dist/elements/ClipboardAction/index.js +1 -0
  76. package/dist/elements/ClipboardAction/index.js.map +1 -1
  77. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  78. package/dist/elements/CodeEditor/CodeEditor.js +19 -0
  79. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  80. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  81. package/dist/elements/Collapsible/index.js +2 -0
  82. package/dist/elements/Collapsible/index.js.map +1 -1
  83. package/dist/elements/ColumnSelection/Popup.d.ts +12 -0
  84. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -0
  85. package/dist/elements/{ColumnSelector/index.js → ColumnSelection/Popup.js} +24 -13
  86. package/dist/elements/ColumnSelection/Popup.js.map +1 -0
  87. package/dist/elements/ColumnSelection/index.d.ts +10 -0
  88. package/dist/elements/ColumnSelection/index.d.ts.map +1 -0
  89. package/dist/elements/{ColumnsButton → ColumnSelection}/index.js +23 -17
  90. package/dist/elements/ColumnSelection/index.js.map +1 -0
  91. package/dist/elements/Combobox/index.css +1 -0
  92. package/dist/elements/ConfirmationModal/index.css +7 -0
  93. package/dist/elements/ConfirmationModal/index.d.ts +1 -0
  94. package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
  95. package/dist/elements/ConfirmationModal/index.js +7 -3
  96. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  97. package/dist/elements/CopyLocaleData/index.js +1 -1
  98. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  99. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  100. package/dist/elements/CreateDocumentButton/index.js +0 -1
  101. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  102. package/dist/elements/DatePicker/index.css +9 -9
  103. package/dist/elements/DatePicker/index.js +1 -1
  104. package/dist/elements/DatePicker/index.js.map +1 -1
  105. package/dist/elements/DeleteMany/index.d.ts +3 -26
  106. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  107. package/dist/elements/DeleteMany/index.js +1 -95
  108. package/dist/elements/DeleteMany/index.js.map +1 -1
  109. package/dist/elements/Dialog/DialogHeader/index.d.ts +4 -0
  110. package/dist/elements/Dialog/DialogHeader/index.d.ts.map +1 -1
  111. package/dist/elements/Dialog/DialogHeader/index.js +45 -30
  112. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
  113. package/dist/elements/Dialog/DialogModal/index.d.ts +6 -1
  114. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  115. package/dist/elements/Dialog/DialogModal/index.js +58 -31
  116. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  117. package/dist/elements/Dialog/DialogTitle/index.css +9 -0
  118. package/dist/elements/Dialog/DialogTitle/index.d.ts +5 -0
  119. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -0
  120. package/dist/elements/Dialog/DialogTitle/index.js +10 -0
  121. package/dist/elements/Dialog/DialogTitle/index.js.map +1 -0
  122. package/dist/elements/Dialog/index.css +10 -0
  123. package/dist/elements/DocumentControls/index.css +18 -2
  124. package/dist/elements/DocumentControls/index.d.ts +6 -0
  125. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  126. package/dist/elements/DocumentControls/index.js +20 -9
  127. package/dist/elements/DocumentControls/index.js.map +1 -1
  128. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  129. package/dist/elements/DocumentDrawer/DrawerContent.js +10 -6
  130. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  131. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +76 -4
  132. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +7 -1
  133. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  134. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +150 -87
  135. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  136. package/dist/elements/DocumentDrawer/types.d.ts +1 -0
  137. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  138. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  139. package/dist/elements/DocumentFields/index.css +67 -4
  140. package/dist/elements/DocumentFields/index.d.ts +5 -0
  141. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  142. package/dist/elements/DocumentFields/index.js +9 -1
  143. package/dist/elements/DocumentFields/index.js.map +1 -1
  144. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts +12 -0
  145. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts.map +1 -0
  146. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +28 -0
  147. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -0
  148. package/dist/elements/DocumentHeader/index.js +2 -3
  149. package/dist/elements/DocumentHeader/index.js.map +1 -1
  150. package/dist/elements/DraggableSortable/DragOverlayPreview/index.css +1 -1
  151. package/dist/elements/DraggableSortable/index.js.map +1 -1
  152. package/dist/elements/Drawer/index.css +57 -26
  153. package/dist/elements/Drawer/index.d.ts +25 -0
  154. package/dist/elements/Drawer/index.d.ts.map +1 -1
  155. package/dist/elements/Drawer/index.js +133 -54
  156. package/dist/elements/Drawer/index.js.map +1 -1
  157. package/dist/elements/Drawer/types.d.ts +1 -0
  158. package/dist/elements/Drawer/types.d.ts.map +1 -1
  159. package/dist/elements/Drawer/types.js.map +1 -1
  160. package/dist/elements/DrawerActionHeader/index.css +1 -1
  161. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.css +7 -1
  162. package/dist/elements/DrawerHeader/index.d.ts +10 -0
  163. package/dist/elements/DrawerHeader/index.d.ts.map +1 -0
  164. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.js +16 -11
  165. package/dist/elements/DrawerHeader/index.js.map +1 -0
  166. package/dist/elements/Dropzone/index.css +5 -13
  167. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +1 -1
  168. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  169. package/dist/elements/EditMany/DrawerContent.d.ts +1 -1
  170. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  171. package/dist/elements/EditMany/DrawerContent.js +76 -71
  172. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  173. package/dist/elements/EditMany/index.css +71 -0
  174. package/dist/elements/EditMany/index.d.ts +9 -11
  175. package/dist/elements/EditMany/index.d.ts.map +1 -1
  176. package/dist/elements/EditMany/index.js +2 -40
  177. package/dist/elements/EditMany/index.js.map +1 -1
  178. package/dist/elements/EditUpload/index.css +97 -158
  179. package/dist/elements/EditUpload/index.d.ts +2 -1
  180. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  181. package/dist/elements/EditUpload/index.js +209 -231
  182. package/dist/elements/EditUpload/index.js.map +1 -1
  183. package/dist/elements/EditUpload/{library.scss → library.css} +108 -46
  184. package/dist/elements/FieldSelect/index.css +3 -0
  185. package/dist/elements/FileDetails/DraggableFileDetails/index.css +32 -0
  186. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +2 -2
  187. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  188. package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -18
  189. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  190. package/dist/elements/FileDetails/FileMeta/index.css +27 -0
  191. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  192. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  193. package/dist/elements/FileDetails/FileMeta/index.js +1 -1
  194. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  195. package/dist/elements/FileDetails/StaticFileDetails/index.css +140 -0
  196. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +2 -2
  197. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  198. package/dist/elements/FileDetails/StaticFileDetails/index.js +1 -1
  199. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  200. package/dist/elements/FileDetails/index.d.ts +1 -1
  201. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  202. package/dist/elements/FileDetails/index.js.map +1 -1
  203. package/dist/elements/FileManager/FilePreview/AudioPreview/index.css +8 -0
  204. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts +10 -0
  205. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts.map +1 -0
  206. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js +24 -0
  207. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js.map +1 -0
  208. package/dist/elements/FileManager/FilePreview/PdfPreview/index.css +9 -0
  209. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts +12 -0
  210. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts.map +1 -0
  211. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js +27 -0
  212. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js.map +1 -0
  213. package/dist/elements/FileManager/FilePreview/VideoPreview/index.css +8 -0
  214. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts +10 -0
  215. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts.map +1 -0
  216. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js +24 -0
  217. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js.map +1 -0
  218. package/dist/elements/FileManager/FilePreview/index.css +83 -0
  219. package/dist/elements/FileManager/FilePreview/index.d.ts +13 -0
  220. package/dist/elements/FileManager/FilePreview/index.d.ts.map +1 -0
  221. package/dist/elements/FileManager/FilePreview/index.js +140 -0
  222. package/dist/elements/FileManager/FilePreview/index.js.map +1 -0
  223. package/dist/elements/FileManager/FileToolbar/index.css +91 -0
  224. package/dist/elements/FileManager/FileToolbar/index.d.ts +14 -0
  225. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -0
  226. package/dist/elements/FileManager/FileToolbar/index.js +106 -0
  227. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -0
  228. package/dist/elements/FileManager/index.css +154 -0
  229. package/dist/elements/FileManager/index.d.ts +19 -0
  230. package/dist/elements/FileManager/index.d.ts.map +1 -0
  231. package/dist/elements/FileManager/index.js +424 -0
  232. package/dist/elements/FileManager/index.js.map +1 -0
  233. package/dist/elements/GroupBy/Popup.d.ts +21 -0
  234. package/dist/elements/GroupBy/Popup.d.ts.map +1 -0
  235. package/dist/elements/GroupBy/Popup.js +268 -0
  236. package/dist/elements/GroupBy/Popup.js.map +1 -0
  237. package/dist/elements/GroupBy/index.d.ts +12 -0
  238. package/dist/elements/GroupBy/index.d.ts.map +1 -0
  239. package/dist/elements/GroupBy/index.js +91 -0
  240. package/dist/elements/GroupBy/index.js.map +1 -0
  241. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +5 -3
  242. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +1 -0
  243. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +1 -1
  244. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  245. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  246. package/dist/elements/Hierarchy/DocHeaderButton/index.js +12 -12
  247. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  248. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +36 -0
  249. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +1 -1
  250. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
  251. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +1 -1
  252. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
  253. package/dist/elements/Hierarchy/Field/index.client.d.ts +1 -1
  254. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  255. package/dist/elements/Hierarchy/Field/index.client.js +19 -16
  256. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  257. package/dist/elements/Hierarchy/Field/index.css +37 -0
  258. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -0
  259. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -0
  260. package/dist/elements/Hierarchy/Modal/index.css +88 -0
  261. package/dist/elements/Hierarchy/Modal/index.d.ts +20 -0
  262. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -0
  263. package/dist/elements/Hierarchy/{Drawer → Modal}/index.js +109 -83
  264. package/dist/elements/Hierarchy/Modal/index.js.map +1 -0
  265. package/dist/elements/Hierarchy/{Drawer → Modal}/types.d.ts +22 -18
  266. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -0
  267. package/dist/elements/Hierarchy/Modal/types.js.map +1 -0
  268. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts +30 -0
  269. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -0
  270. package/dist/elements/Hierarchy/{Drawer/useHierarchyDrawer.js → Modal/useHierarchyModal.js} +51 -50
  271. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -0
  272. package/dist/elements/Hierarchy/MoveMany/index.d.ts +2 -3
  273. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  274. package/dist/elements/Hierarchy/MoveMany/index.js +9 -10
  275. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  276. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +27 -0
  277. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +1 -1
  278. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +1 -1
  279. package/dist/elements/Hierarchy/Tree/LoadMore/index.js +1 -1
  280. package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +1 -1
  281. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  282. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +36 -16
  283. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  284. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  285. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +20 -15
  286. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  287. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  288. package/dist/elements/ListColumnSelectionButton/index.d.ts +11 -0
  289. package/dist/elements/ListColumnSelectionButton/index.d.ts.map +1 -0
  290. package/dist/elements/ListColumnSelectionButton/index.js +37 -0
  291. package/dist/elements/ListColumnSelectionButton/index.js.map +1 -0
  292. package/dist/elements/ListControls/index.css +5 -0
  293. package/dist/elements/ListControls/index.d.ts.map +1 -1
  294. package/dist/elements/ListControls/index.js +7 -8
  295. package/dist/elements/ListControls/index.js.map +1 -1
  296. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  297. package/dist/elements/ListDrawer/DrawerContent.js +13 -7
  298. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  299. package/dist/elements/ListDrawer/Provider.d.ts +1 -1
  300. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  301. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  302. package/dist/elements/ListGroupByButton/index.d.ts +12 -0
  303. package/dist/elements/ListGroupByButton/index.d.ts.map +1 -0
  304. package/dist/elements/ListGroupByButton/index.js +55 -0
  305. package/dist/elements/ListGroupByButton/index.js.map +1 -0
  306. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  307. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +2 -0
  308. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  309. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +4 -4
  310. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  311. package/dist/elements/ListWhereBuilder/index.d.ts +16 -0
  312. package/dist/elements/ListWhereBuilder/index.d.ts.map +1 -0
  313. package/dist/elements/ListWhereBuilder/index.js +62 -0
  314. package/dist/elements/ListWhereBuilder/index.js.map +1 -0
  315. package/dist/elements/LivePreview/Toolbar/Controls/index.js +2 -2
  316. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  317. package/dist/elements/LivePreview/Toolbar/SizeInput/index.css +5 -44
  318. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  319. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +26 -43
  320. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  321. package/dist/elements/LivePreview/Window/index.css +6 -0
  322. package/dist/elements/LoadMoreRow/index.css +34 -0
  323. package/dist/elements/LoadMoreRow/index.d.ts +1 -1
  324. package/dist/elements/LoadMoreRow/index.d.ts.map +1 -1
  325. package/dist/elements/LoadMoreRow/index.js +4 -8
  326. package/dist/elements/LoadMoreRow/index.js.map +1 -1
  327. package/dist/elements/Loading/index.css +28 -74
  328. package/dist/elements/Loading/index.d.ts.map +1 -1
  329. package/dist/elements/Loading/index.js +16 -60
  330. package/dist/elements/Loading/index.js.map +1 -1
  331. package/dist/elements/Localizer/index.d.ts.map +1 -1
  332. package/dist/elements/Localizer/index.js +3 -4
  333. package/dist/elements/Localizer/index.js.map +1 -1
  334. package/dist/elements/MenuSeparator/index.d.ts +4 -0
  335. package/dist/elements/MenuSeparator/index.d.ts.map +1 -0
  336. package/dist/elements/MenuSeparator/index.js +10 -0
  337. package/dist/elements/MenuSeparator/index.js.map +1 -0
  338. package/dist/elements/MiniCarousel/index.css +94 -0
  339. package/dist/elements/MiniCarousel/index.d.ts +15 -0
  340. package/dist/elements/MiniCarousel/index.d.ts.map +1 -0
  341. package/dist/elements/MiniCarousel/index.js +84 -0
  342. package/dist/elements/MiniCarousel/index.js.map +1 -0
  343. package/dist/elements/Nav/SettingsMenuButton/index.css +5 -0
  344. package/dist/elements/Nav/SettingsMenuButton/index.d.ts +1 -1
  345. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  346. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -1
  347. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  348. package/dist/elements/Nav/index.css +2 -2
  349. package/dist/elements/Nav/index.d.ts.map +1 -1
  350. package/dist/elements/Nav/index.js +4 -23
  351. package/dist/elements/Nav/index.js.map +1 -1
  352. package/dist/elements/NavGroup/index.css +1 -1
  353. package/dist/elements/Popup/PopupButtonList/index.css +48 -4
  354. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  355. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  356. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  357. package/dist/elements/Popup/PopupGroupLabel/index.css +19 -4
  358. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  359. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  360. package/dist/elements/Popup/PopupTrigger/index.js +3 -0
  361. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  362. package/dist/elements/Popup/index.d.ts +14 -1
  363. package/dist/elements/Popup/index.d.ts.map +1 -1
  364. package/dist/elements/Popup/index.js +146 -64
  365. package/dist/elements/Popup/index.js.map +1 -1
  366. package/dist/elements/PreviewSizes/index.css +149 -0
  367. package/dist/elements/PreviewSizes/index.d.ts +2 -2
  368. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  369. package/dist/elements/PreviewSizes/index.js +1 -1
  370. package/dist/elements/PreviewSizes/index.js.map +1 -1
  371. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts +13 -0
  372. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -0
  373. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js +41 -0
  374. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js.map +1 -0
  375. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +1 -0
  376. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  377. package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
  378. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  379. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  380. package/dist/elements/PublishButton/index.js +4 -5
  381. package/dist/elements/PublishButton/index.js.map +1 -1
  382. package/dist/elements/PublishMany/DrawerContent.d.ts +2 -1
  383. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  384. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  385. package/dist/elements/PublishMany/index.d.ts +2 -6
  386. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  387. package/dist/elements/PublishMany/index.js +0 -38
  388. package/dist/elements/PublishMany/index.js.map +1 -1
  389. package/dist/elements/QueryPresets/cells/ColumnsCell/{index.scss → index.css} +1 -3
  390. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +1 -1
  391. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +1 -1
  392. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +1 -1
  393. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  394. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +1 -1
  395. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  396. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +77 -48
  397. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  398. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +1 -1
  399. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
  400. package/dist/elements/QueryPresets/fields/GroupByField/index.js +12 -21
  401. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  402. package/dist/elements/QueryPresets/fields/Heading/index.css +52 -0
  403. package/dist/elements/QueryPresets/fields/Heading/index.d.ts +7 -0
  404. package/dist/elements/QueryPresets/fields/Heading/index.d.ts.map +1 -0
  405. package/dist/elements/QueryPresets/fields/Heading/index.js +31 -0
  406. package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -0
  407. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +1 -1
  408. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  409. package/dist/elements/QueryPresets/fields/WhereField/index.js +24 -23
  410. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  411. package/dist/elements/QueryPresets/fields/fields.css +23 -0
  412. package/dist/elements/ReactSelect/DropdownIndicator/index.css +1 -1
  413. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  414. package/dist/elements/ReactSelect/DropdownIndicator/index.js +19 -12
  415. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  416. package/dist/elements/ReactSelect/MultiValue/index.css +1 -1
  417. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts +5 -0
  418. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -0
  419. package/dist/elements/ReactSelect/getCaptureMenuScroll.js +10 -0
  420. package/dist/elements/ReactSelect/getCaptureMenuScroll.js.map +1 -0
  421. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +6 -0
  422. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -0
  423. package/dist/elements/ReactSelect/getMenuListStyles.js +7 -0
  424. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -0
  425. package/dist/elements/ReactSelect/index.css +2 -3
  426. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  427. package/dist/elements/ReactSelect/index.js +177 -140
  428. package/dist/elements/ReactSelect/index.js.map +1 -1
  429. package/dist/elements/ReactSelect/types.d.ts +2 -0
  430. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  431. package/dist/elements/ReactSelect/types.js.map +1 -1
  432. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  433. package/dist/elements/RelationshipTable/AddNewButton.js +1 -2
  434. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  435. package/dist/elements/RelationshipTable/index.css +1 -2
  436. package/dist/elements/RelationshipTable/index.js +2 -2
  437. package/dist/elements/RelationshipTable/index.js.map +1 -1
  438. package/dist/elements/RenderTitle/index.css +10 -0
  439. package/dist/elements/RenderTitle/index.d.ts +5 -0
  440. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  441. package/dist/elements/RenderTitle/index.js +52 -27
  442. package/dist/elements/RenderTitle/index.js.map +1 -1
  443. package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
  444. package/dist/elements/SchedulePublishButton/index.js +6 -1
  445. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  446. package/dist/elements/Search/SearchInput/index.js +1 -1
  447. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  448. package/dist/elements/SelectMany/index.js +1 -1
  449. package/dist/elements/SelectMany/index.js.map +1 -1
  450. package/dist/elements/SortColumn/index.css +1 -1
  451. package/dist/elements/Spinner/index.css +16 -0
  452. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  453. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  454. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  455. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +32 -13
  456. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  457. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  458. package/dist/elements/Table/OrderableRow.js +1 -1
  459. package/dist/elements/Table/OrderableRow.js.map +1 -1
  460. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  461. package/dist/elements/Table/RelationshipProvider/index.js +1 -0
  462. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  463. package/dist/elements/Table/index.css +44 -10
  464. package/dist/elements/Tabs/index.css +100 -0
  465. package/dist/elements/Tabs/index.d.ts +32 -0
  466. package/dist/elements/Tabs/index.d.ts.map +1 -0
  467. package/dist/elements/Tabs/index.js +62 -0
  468. package/dist/elements/Tabs/index.js.map +1 -0
  469. package/dist/elements/Thumbnail/index.css +41 -0
  470. package/dist/elements/Thumbnail/index.d.ts +3 -3
  471. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  472. package/dist/elements/Thumbnail/index.js +1 -1
  473. package/dist/elements/Thumbnail/index.js.map +1 -1
  474. package/dist/elements/TimezonePicker/index.css +1 -16
  475. package/dist/elements/Toasts/fieldErrors.d.ts +1 -0
  476. package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
  477. package/dist/elements/Toasts/fieldErrors.js +25 -9
  478. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  479. package/dist/elements/Toasts/index.css +5 -0
  480. package/dist/elements/Tooltip/index.css +20 -4
  481. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  482. package/dist/elements/Tooltip/index.js +71 -3
  483. package/dist/elements/Tooltip/index.js.map +1 -1
  484. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  485. package/dist/elements/UnpublishButton/index.js +5 -13
  486. package/dist/elements/UnpublishButton/index.js.map +1 -1
  487. package/dist/elements/UnpublishMany/DrawerContent.d.ts +2 -1
  488. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  489. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  490. package/dist/elements/UnpublishMany/index.d.ts +2 -4
  491. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  492. package/dist/elements/UnpublishMany/index.js +0 -38
  493. package/dist/elements/UnpublishMany/index.js.map +1 -1
  494. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +11 -0
  495. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -0
  496. package/dist/elements/Upload/UploadFromURLModal/index.js +88 -0
  497. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -0
  498. package/dist/elements/Upload/index.css +134 -45
  499. package/dist/elements/Upload/index.d.ts +3 -8
  500. package/dist/elements/Upload/index.d.ts.map +1 -1
  501. package/dist/elements/Upload/index.js +71 -92
  502. package/dist/elements/Upload/index.js.map +1 -1
  503. package/dist/elements/UserMenu/LanguageMenu/index.d.ts +6 -0
  504. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -0
  505. package/dist/elements/UserMenu/LanguageMenu/index.js +133 -0
  506. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -0
  507. package/dist/elements/UserMenu/SettingsMenu/index.d.ts +15 -0
  508. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -0
  509. package/dist/elements/UserMenu/SettingsMenu/index.js +119 -0
  510. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -0
  511. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts +6 -0
  512. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -0
  513. package/dist/elements/UserMenu/SubMenuHeader/index.js +34 -0
  514. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -0
  515. package/dist/elements/UserMenu/ThemeMenu/index.d.ts +6 -0
  516. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -0
  517. package/dist/elements/UserMenu/ThemeMenu/index.js +145 -0
  518. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -0
  519. package/dist/elements/UserMenu/index.css +80 -0
  520. package/dist/elements/UserMenu/index.d.ts +10 -0
  521. package/dist/elements/UserMenu/index.d.ts.map +1 -0
  522. package/dist/elements/UserMenu/index.js +204 -0
  523. package/dist/elements/UserMenu/index.js.map +1 -0
  524. package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
  525. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  526. package/dist/elements/WhereBuilder/Condition/index.js +17 -2
  527. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  528. package/dist/elements/WhereBuilder/index.d.ts +4 -3
  529. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  530. package/dist/elements/WhereBuilder/index.js +71 -62
  531. package/dist/elements/WhereBuilder/index.js.map +1 -1
  532. package/dist/elements/WhereBuilder/types.d.ts +6 -5
  533. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  534. package/dist/elements/WhereBuilder/types.js.map +1 -1
  535. package/dist/exports/client/index.d.ts +20 -4
  536. package/dist/exports/client/index.d.ts.map +1 -1
  537. package/dist/exports/client/index.js +1 -2
  538. package/dist/exports/client/index.js.map +4 -4
  539. package/dist/exports/rsc/index.d.ts +1 -0
  540. package/dist/exports/rsc/index.d.ts.map +1 -1
  541. package/dist/exports/rsc/index.js +1 -0
  542. package/dist/exports/rsc/index.js.map +1 -1
  543. package/dist/exports/shared/index.js +2 -2
  544. package/dist/exports/shared/index.js.map +2 -2
  545. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +2 -50
  546. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.d.ts.map +1 -1
  547. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +27 -20
  548. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  549. package/dist/fields/Blocks/BlockSelector/index.css +15 -4
  550. package/dist/fields/Blocks/BlockSelector/index.js +1 -1
  551. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  552. package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  553. package/dist/fields/Blocks/SectionTitle/index.js +1 -0
  554. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  555. package/dist/fields/Checkbox/index.css +2 -2
  556. package/dist/fields/ConfirmPassword/index.d.ts +4 -0
  557. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  558. package/dist/fields/ConfirmPassword/index.js +37 -33
  559. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  560. package/dist/fields/Group/index.css +3 -3
  561. package/dist/fields/Number/Input.d.ts.map +1 -1
  562. package/dist/fields/Number/Input.js +62 -46
  563. package/dist/fields/Number/Input.js.map +1 -1
  564. package/dist/fields/Number/index.css +19 -0
  565. package/dist/fields/Number/types.d.ts +10 -0
  566. package/dist/fields/Number/types.d.ts.map +1 -1
  567. package/dist/fields/Number/types.js.map +1 -1
  568. package/dist/fields/Password/input.d.ts.map +1 -1
  569. package/dist/fields/Password/input.js +33 -29
  570. package/dist/fields/Password/input.js.map +1 -1
  571. package/dist/fields/Password/types.d.ts +4 -0
  572. package/dist/fields/Password/types.d.ts.map +1 -1
  573. package/dist/fields/Password/types.js.map +1 -1
  574. package/dist/fields/RadioGroup/index.css +6 -0
  575. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  576. package/dist/fields/Relationship/Input.js +4 -0
  577. package/dist/fields/Relationship/Input.js.map +1 -1
  578. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  579. package/dist/fields/Relationship/types.d.ts +4 -0
  580. package/dist/fields/Relationship/types.d.ts.map +1 -1
  581. package/dist/fields/Relationship/types.js.map +1 -1
  582. package/dist/fields/Row/index.d.ts +1 -1
  583. package/dist/fields/Select/Input.d.ts +4 -0
  584. package/dist/fields/Select/Input.d.ts.map +1 -1
  585. package/dist/fields/Select/Input.js +45 -40
  586. package/dist/fields/Select/Input.js.map +1 -1
  587. package/dist/fields/Tabs/Tab/index.d.ts +0 -1
  588. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  589. package/dist/fields/Tabs/Tab/index.js +12 -23
  590. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  591. package/dist/fields/Tabs/index.d.ts.map +1 -1
  592. package/dist/fields/Tabs/index.js +37 -37
  593. package/dist/fields/Tabs/index.js.map +1 -1
  594. package/dist/fields/Text/Input.d.ts.map +1 -1
  595. package/dist/fields/Text/Input.js +44 -37
  596. package/dist/fields/Text/Input.js.map +1 -1
  597. package/dist/fields/Text/types.d.ts +9 -0
  598. package/dist/fields/Text/types.d.ts.map +1 -1
  599. package/dist/fields/Text/types.js.map +1 -1
  600. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  601. package/dist/fields/Textarea/Input.js +27 -23
  602. package/dist/fields/Textarea/Input.js.map +1 -1
  603. package/dist/fields/Textarea/index.css +1 -1
  604. package/dist/fields/Textarea/types.d.ts +4 -0
  605. package/dist/fields/Textarea/types.d.ts.map +1 -1
  606. package/dist/fields/Textarea/types.js.map +1 -1
  607. package/dist/fields/Upload/HasMany/index.css +4 -0
  608. package/dist/fields/Upload/Input.d.ts.map +1 -1
  609. package/dist/fields/Upload/Input.js +12 -11
  610. package/dist/fields/Upload/Input.js.map +1 -1
  611. package/dist/fields/Upload/index.js +1 -1
  612. package/dist/fields/Upload/index.js.map +1 -1
  613. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  614. package/dist/forms/RenderFields/RenderField.js +2 -1
  615. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  616. package/dist/forms/useField/index.js.map +1 -1
  617. package/dist/graphics/Icon/index.js +1 -1
  618. package/dist/graphics/Icon/index.js.map +1 -1
  619. package/dist/hooks/useElementHeightVariable.d.ts +15 -0
  620. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -0
  621. package/dist/hooks/useElementHeightVariable.js +53 -0
  622. package/dist/hooks/useElementHeightVariable.js.map +1 -0
  623. package/dist/icons/Check/index.css +1 -2
  624. package/dist/icons/Check/index.js +1 -1
  625. package/dist/icons/Check/index.js.map +1 -1
  626. package/dist/icons/Crop/index.css +5 -0
  627. package/dist/icons/Crop/index.d.ts +7 -0
  628. package/dist/icons/Crop/index.d.ts.map +1 -0
  629. package/dist/icons/Crop/index.js +24 -0
  630. package/dist/icons/Crop/index.js.map +1 -0
  631. package/dist/icons/Download/index.css +5 -0
  632. package/dist/icons/{ExternalLink → Download}/index.d.ts +1 -1
  633. package/dist/icons/Download/index.d.ts.map +1 -0
  634. package/dist/icons/Download/index.js +27 -0
  635. package/dist/icons/Download/index.js.map +1 -0
  636. package/dist/icons/Gear/index.d.ts.map +1 -1
  637. package/dist/icons/Gear/index.js +8 -1
  638. package/dist/icons/Gear/index.js.map +1 -1
  639. package/dist/icons/InteractionEnter/index.css +5 -0
  640. package/dist/icons/InteractionEnter/index.d.ts +11 -0
  641. package/dist/icons/InteractionEnter/index.d.ts.map +1 -0
  642. package/dist/icons/InteractionEnter/index.js +25 -0
  643. package/dist/icons/InteractionEnter/index.js.map +1 -0
  644. package/dist/icons/{Write → Key}/index.css +1 -1
  645. package/dist/icons/Key/index.d.ts +7 -0
  646. package/dist/icons/Key/index.d.ts.map +1 -0
  647. package/dist/icons/Key/index.js +24 -0
  648. package/dist/icons/Key/index.js.map +1 -0
  649. package/dist/icons/LogOut/index.js +2 -2
  650. package/dist/icons/LogOut/index.js.map +1 -1
  651. package/dist/icons/{ExternalLink → NewTab}/index.css +1 -1
  652. package/dist/icons/NewTab/index.d.ts +7 -0
  653. package/dist/icons/NewTab/index.d.ts.map +1 -0
  654. package/dist/icons/NewTab/index.js +25 -0
  655. package/dist/icons/NewTab/index.js.map +1 -0
  656. package/dist/icons/Replace/index.css +5 -0
  657. package/dist/icons/Replace/index.d.ts +6 -0
  658. package/dist/icons/Replace/index.d.ts.map +1 -0
  659. package/dist/icons/Replace/index.js +20 -0
  660. package/dist/icons/Replace/index.js.map +1 -0
  661. package/dist/icons/Reset/index.css +5 -0
  662. package/dist/icons/Reset/index.d.ts +7 -0
  663. package/dist/icons/Reset/index.d.ts.map +1 -0
  664. package/dist/icons/Reset/index.js +25 -0
  665. package/dist/icons/Reset/index.js.map +1 -0
  666. package/dist/icons/Schedule/index.d.ts.map +1 -1
  667. package/dist/icons/Schedule/index.js +38 -39
  668. package/dist/icons/Schedule/index.js.map +1 -1
  669. package/dist/icons/Swap/index.js +1 -1
  670. package/dist/icons/Swap/index.js.map +1 -1
  671. package/dist/icons/VariableColor/index.css +5 -0
  672. package/dist/icons/VariableColor/index.d.ts +7 -0
  673. package/dist/icons/VariableColor/index.d.ts.map +1 -0
  674. package/dist/icons/VariableColor/index.js +23 -0
  675. package/dist/icons/VariableColor/index.js.map +1 -0
  676. package/dist/icons/Warning/index.css +1 -7
  677. package/dist/icons/Warning/index.d.ts +1 -1
  678. package/dist/icons/Warning/index.d.ts.map +1 -1
  679. package/dist/icons/Warning/index.js +11 -16
  680. package/dist/icons/Warning/index.js.map +1 -1
  681. package/dist/icons/WarningTriangle/index.css +5 -0
  682. package/dist/icons/WarningTriangle/index.d.ts +6 -0
  683. package/dist/icons/WarningTriangle/index.d.ts.map +1 -0
  684. package/dist/icons/WarningTriangle/index.js +21 -0
  685. package/dist/icons/WarningTriangle/index.js.map +1 -0
  686. package/dist/icons/Write/index.d.ts +0 -1
  687. package/dist/icons/Write/index.d.ts.map +1 -1
  688. package/dist/icons/Write/index.js +1 -2
  689. package/dist/icons/Write/index.js.map +1 -1
  690. package/dist/providers/Auth/index.d.ts +3 -1
  691. package/dist/providers/Auth/index.d.ts.map +1 -1
  692. package/dist/providers/Auth/index.js +8 -3
  693. package/dist/providers/Auth/index.js.map +1 -1
  694. package/dist/providers/Config/index.js.map +1 -1
  695. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  696. package/dist/providers/DocumentInfo/index.js +4 -0
  697. package/dist/providers/DocumentInfo/index.js.map +1 -1
  698. package/dist/providers/DocumentInfo/types.d.ts +4 -0
  699. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  700. package/dist/providers/DocumentInfo/types.js.map +1 -1
  701. package/dist/providers/Root/index.d.ts.map +1 -1
  702. package/dist/providers/Root/index.js +27 -24
  703. package/dist/providers/Root/index.js.map +1 -1
  704. package/dist/providers/TableColumns/RenderDefaultCell/index.css +1 -0
  705. package/dist/providers/Theme/index.d.ts.map +1 -1
  706. package/dist/providers/Theme/index.js +16 -14
  707. package/dist/providers/Theme/index.js.map +1 -1
  708. package/dist/providers/ToastContainer/index.css +208 -0
  709. package/dist/providers/ToastContainer/index.d.ts +1 -0
  710. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  711. package/dist/providers/ToastContainer/index.js +19 -6
  712. package/dist/providers/ToastContainer/index.js.map +1 -1
  713. package/dist/scss/app.scss +10 -4
  714. package/dist/styles.css +1369 -1
  715. package/dist/templates/Default/index.d.ts.map +1 -1
  716. package/dist/templates/Default/index.js +53 -3
  717. package/dist/templates/Default/index.js.map +1 -1
  718. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +0 -1
  719. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  720. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +0 -1
  721. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  722. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  723. package/dist/utilities/formatDocTitle/formatDateTitle.js +1 -1
  724. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  725. package/dist/utilities/getHasScheduledPublish.d.ts +12 -0
  726. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -0
  727. package/dist/utilities/getHasScheduledPublish.js +38 -0
  728. package/dist/utilities/getHasScheduledPublish.js.map +1 -0
  729. package/dist/utilities/getVersions.d.ts.map +1 -1
  730. package/dist/utilities/getVersions.js +1 -21
  731. package/dist/utilities/getVersions.js.map +1 -1
  732. package/dist/utilities/reduceFieldsToOptions.js +1 -1
  733. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  734. package/dist/views/API/index.client.js +2 -2
  735. package/dist/views/API/index.client.js.map +1 -1
  736. package/dist/views/Account/ResetPreferences/index.js +1 -0
  737. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  738. package/dist/views/Account/Settings/index.css +30 -13
  739. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  740. package/dist/views/Account/ToggleTheme/index.js +31 -47
  741. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  742. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
  743. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +27 -23
  744. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  745. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  746. package/dist/views/Dashboard/Default/ModularDashboard/index.css +2 -0
  747. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +2 -2
  748. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  749. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +2 -2
  750. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  751. package/dist/views/Document/index.d.ts.map +1 -1
  752. package/dist/views/Document/index.js +18 -1
  753. package/dist/views/Document/index.js.map +1 -1
  754. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  755. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  756. package/dist/views/Document/renderDocumentSlots.js +47 -1
  757. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  758. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  759. package/dist/views/Edit/Auth/APIKey.js +10 -32
  760. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  761. package/dist/views/Edit/Auth/index.css +0 -67
  762. package/dist/views/Edit/index.css +143 -6
  763. package/dist/views/Edit/index.d.ts +1 -1
  764. package/dist/views/Edit/index.d.ts.map +1 -1
  765. package/dist/views/Edit/index.js +96 -79
  766. package/dist/views/Edit/index.js.map +1 -1
  767. package/dist/views/HierarchyList/DocumentListSelection/index.js +8 -8
  768. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  769. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +2 -2
  770. package/dist/views/List/ListHeader/index.css +28 -1
  771. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  772. package/dist/views/List/ListHeader/index.js +0 -1
  773. package/dist/views/List/ListHeader/index.js.map +1 -1
  774. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  775. package/dist/views/List/ListSelection/index.js +84 -33
  776. package/dist/views/List/ListSelection/index.js.map +1 -1
  777. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  778. package/dist/views/List/handleGroupBy.js +9 -0
  779. package/dist/views/List/handleGroupBy.js.map +1 -1
  780. package/dist/views/List/index.client.d.ts.map +1 -1
  781. package/dist/views/List/index.client.js +10 -9
  782. package/dist/views/List/index.client.js.map +1 -1
  783. package/dist/views/List/index.css +15 -0
  784. package/dist/views/List/index.d.ts.map +1 -1
  785. package/dist/views/List/index.js +9 -2
  786. package/dist/views/List/index.js.map +1 -1
  787. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  788. package/dist/views/List/renderListViewSlots.js +11 -0
  789. package/dist/views/List/renderListViewSlots.js.map +1 -1
  790. package/dist/views/Logout/LogoutClient.d.ts +14 -0
  791. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  792. package/dist/views/Logout/LogoutClient.js +39 -33
  793. package/dist/views/Logout/LogoutClient.js.map +1 -1
  794. package/dist/views/Logout/index.d.ts.map +1 -1
  795. package/dist/views/Logout/index.js +7 -2
  796. package/dist/views/Logout/index.js.map +1 -1
  797. package/dist/views/Version/Default/index.css +3 -5
  798. package/dist/views/Version/Default/index.d.ts.map +1 -1
  799. package/dist/views/Version/Default/index.js +7 -28
  800. package/dist/views/Version/Default/index.js.map +1 -1
  801. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  802. package/dist/views/Version/Restore/index.css +2 -2
  803. package/dist/views/Version/SelectComparison/VersionDrawer/index.css +5 -0
  804. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts +1 -1
  805. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  806. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +1 -2
  807. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  808. package/dist/views/Version/SelectComparison/index.css +5 -0
  809. package/dist/views/Version/SelectComparison/index.d.ts +1 -1
  810. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  811. package/dist/views/Version/SelectComparison/index.js +2 -1
  812. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  813. package/dist/views/Version/SelectLocales/index.d.ts +1 -2
  814. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  815. package/dist/views/Version/SelectLocales/index.js +83 -32
  816. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  817. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  818. package/dist/views/Versions/index.css +19 -16
  819. package/dist/views/Versions/index.d.ts +1 -1
  820. package/dist/views/Versions/index.d.ts.map +1 -1
  821. package/dist/views/Versions/index.js +3 -26
  822. package/dist/views/Versions/index.js.map +1 -1
  823. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  824. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -0
  825. package/dist/widgets/CollectionQuery/SortField/index.js +118 -0
  826. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -0
  827. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts +18 -0
  828. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts.map +1 -0
  829. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js +91 -0
  830. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js.map +1 -0
  831. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +100 -0
  832. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +1 -0
  833. package/dist/widgets/CollectionQuery/index.css +206 -0
  834. package/dist/widgets/CollectionQuery/index.d.ts +17 -0
  835. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -0
  836. package/dist/widgets/CollectionQuery/index.js +399 -0
  837. package/dist/widgets/CollectionQuery/index.js.map +1 -0
  838. package/package.json +5 -5
  839. package/dist/elements/BulkUpload/AddingFilesView/index.scss +0 -25
  840. package/dist/elements/BulkUpload/EditForm/index.scss +0 -11
  841. package/dist/elements/BulkUpload/EditMany/index.scss +0 -171
  842. package/dist/elements/BulkUpload/Header/index.d.ts +0 -9
  843. package/dist/elements/BulkUpload/Header/index.d.ts.map +0 -1
  844. package/dist/elements/BulkUpload/Header/index.js.map +0 -1
  845. package/dist/elements/ColumnSelector/index.d.ts +0 -9
  846. package/dist/elements/ColumnSelector/index.d.ts.map +0 -1
  847. package/dist/elements/ColumnSelector/index.js.map +0 -1
  848. package/dist/elements/ColumnsButton/index.d.ts +0 -7
  849. package/dist/elements/ColumnsButton/index.d.ts.map +0 -1
  850. package/dist/elements/ColumnsButton/index.js.map +0 -1
  851. package/dist/elements/EditMany/index.scss +0 -182
  852. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +0 -35
  853. package/dist/elements/FileDetails/FileMeta/index.scss +0 -31
  854. package/dist/elements/FileDetails/StaticFileDetails/index.scss +0 -134
  855. package/dist/elements/GroupByBuilder/index.d.ts +0 -12
  856. package/dist/elements/GroupByBuilder/index.d.ts.map +0 -1
  857. package/dist/elements/GroupByBuilder/index.js +0 -164
  858. package/dist/elements/GroupByBuilder/index.js.map +0 -1
  859. package/dist/elements/GroupByBuilder/index.scss +0 -39
  860. package/dist/elements/GroupByControl/index.d.ts +0 -9
  861. package/dist/elements/GroupByControl/index.d.ts.map +0 -1
  862. package/dist/elements/GroupByControl/index.js +0 -258
  863. package/dist/elements/GroupByControl/index.js.map +0 -1
  864. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +0 -1
  865. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +0 -1
  866. package/dist/elements/Hierarchy/Drawer/index.css +0 -108
  867. package/dist/elements/Hierarchy/Drawer/index.d.ts +0 -20
  868. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +0 -1
  869. package/dist/elements/Hierarchy/Drawer/index.js.map +0 -1
  870. package/dist/elements/Hierarchy/Drawer/types.d.ts.map +0 -1
  871. package/dist/elements/Hierarchy/Drawer/types.js.map +0 -1
  872. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +0 -30
  873. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +0 -1
  874. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +0 -1
  875. package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +0 -78
  876. package/dist/elements/Hierarchy/Field/index.scss +0 -41
  877. package/dist/elements/Hierarchy/MoveMany/index.scss +0 -7
  878. package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +0 -26
  879. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +0 -7
  880. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +0 -1
  881. package/dist/elements/Hierarchy/Tree/TreeConnector.js +0 -23
  882. package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +0 -1
  883. package/dist/elements/LoadMoreRow/index.scss +0 -45
  884. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  885. package/dist/elements/PreviewSizes/index.scss +0 -147
  886. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -17
  887. package/dist/elements/QueryPresets/fields/GroupByField/index.scss +0 -17
  888. package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
  889. package/dist/elements/Thumbnail/index.scss +0 -53
  890. package/dist/fields/Tabs/Tab/index.css +0 -82
  891. package/dist/icons/ExternalLink/index.d.ts.map +0 -1
  892. package/dist/icons/ExternalLink/index.js +0 -26
  893. package/dist/icons/ExternalLink/index.js.map +0 -1
  894. package/dist/scss/toasts.scss +0 -146
  895. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +0 -18
  896. package/dist/views/Version/SelectComparison/index.scss +0 -9
  897. /package/dist/elements/{ColumnSelector/index.css → ColumnSelection/Popup.css} +0 -0
  898. /package/dist/elements/{GroupByControl/index.css → GroupBy/Popup.css} +0 -0
  899. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.d.ts +0 -0
  900. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.js +0 -0
  901. /package/dist/elements/Hierarchy/{Drawer → Modal}/types.js +0 -0
@@ -8,6 +8,7 @@ import React, { Fragment, useCallback, useEffect, useRef, useState } from 'react
8
8
  import { toast } from 'sonner';
9
9
  import { FieldError } from '../../fields/FieldError/index.js';
10
10
  import { fieldBaseClass } from '../../fields/shared/index.js';
11
+ import { TextInput } from '../../fields/Text/Input.js';
11
12
  import { useForm, useFormProcessing } from '../../forms/Form/index.js';
12
13
  import { useField } from '../../forms/useField/index.js';
13
14
  import { useConfig } from '../../providers/Config/index.js';
@@ -24,6 +25,8 @@ import './index.css';
24
25
  import { FileDetails } from '../FileDetails/index.js';
25
26
  import { PreviewSizes } from '../PreviewSizes/index.js';
26
27
  import { Thumbnail } from '../Thumbnail/index.js';
28
+ import { pasteURLDrawerSlug, UploadFromURLModal } from './UploadFromURLModal/index.js';
29
+ export { pasteURLDrawerSlug };
27
30
  const baseClass = 'file-field';
28
31
  export const editDrawerSlug = 'edit-upload';
29
32
  export const sizePreviewSlug = 'preview-sizes';
@@ -73,7 +76,7 @@ export const UploadActions = t0 => {
73
76
  size: "medium",
74
77
  children: t("upload:previewSizes")
75
78
  }), enableAdjustments && _jsx(Button, {
76
- buttonStyle: "pill",
79
+ buttonStyle: "secondary",
77
80
  className: `${baseClass}__edit`,
78
81
  margin: false,
79
82
  onClick: () => {
@@ -112,7 +115,7 @@ export const Upload = props => {
112
115
  let t0;
113
116
  if ($[0] !== props || $[1] !== resetUploadEdits || $[2] !== updateUploadEdits || $[3] !== uploadEdits) {
114
117
  t0 = _jsx(UploadControlsProvider, {
115
- children: _jsx(Upload_v4, {
118
+ children: _jsx(UploadComponent, {
116
119
  ...props,
117
120
  resetUploadEdits,
118
121
  updateUploadEdits,
@@ -129,7 +132,7 @@ export const Upload = props => {
129
132
  }
130
133
  return t0;
131
134
  };
132
- export const Upload_v4 = props => {
135
+ const UploadComponent = props => {
133
136
  const {
134
137
  collectionSlug,
135
138
  customActions,
@@ -159,6 +162,10 @@ export const Upload_v4 = props => {
159
162
  const {
160
163
  t
161
164
  } = useTranslation();
165
+ const {
166
+ closeModal,
167
+ openModal
168
+ } = useModal();
162
169
  const {
163
170
  setModified
164
171
  } = useForm();
@@ -181,9 +188,7 @@ export const Upload_v4 = props => {
181
188
  const [fileSrc, setFileSrc] = useState(null);
182
189
  const [removedFile, setRemovedFile] = useState(false);
183
190
  const [filename, setFilename] = useState(value?.name || '');
184
- const [showUrlInput, setShowUrlInput] = useState(false);
185
191
  const [fileUrl, setFileUrl] = useState('');
186
- const urlInputRef = useRef(null);
187
192
  const inputRef = useRef(null);
188
193
  const useServerSideFetch = typeof uploadConfig?.pasteURL === 'object' && uploadConfig.pasteURL.allowList?.length > 0;
189
194
  const handleFileChange = useCallback(({
@@ -194,7 +199,6 @@ export const Upload_v4 = props => {
194
199
  setFileSrc(URL.createObjectURL(file));
195
200
  }
196
201
  setValue(file);
197
- setShowUrlInput(false);
198
202
  setUploadControlFileUrl('');
199
203
  setUploadControlFileName(null);
200
204
  setUploadControlFile(null);
@@ -234,7 +238,6 @@ export const Upload_v4 = props => {
234
238
  setFileSrc('');
235
239
  setFileUrl('');
236
240
  resetUploadEdits();
237
- setShowUrlInput(false);
238
241
  setUploadControlFileUrl('');
239
242
  setUploadControlFileName(null);
240
243
  setUploadControlFile(null);
@@ -243,8 +246,9 @@ export const Upload_v4 = props => {
243
246
  setModified(true);
244
247
  updateUploadEdits(args);
245
248
  }, [setModified, updateUploadEdits]);
249
+ const isValidUrl = Boolean(fileUrl && URL.canParse(fileUrl));
246
250
  const handleUrlSubmit = useCallback(async () => {
247
- if (!fileUrl || uploadConfig?.pasteURL === false) {
251
+ if (!fileUrl || !URL.canParse(fileUrl) || uploadConfig?.pasteURL === false) {
248
252
  return;
249
253
  }
250
254
  setUploadStatus('uploading');
@@ -255,7 +259,8 @@ export const Upload_v4 = props => {
255
259
  throw new Error(`Fetch failed with status: ${clientResponse.status}`);
256
260
  }
257
261
  const blob = await clientResponse.blob();
258
- const fileName = uploadControlFileName || decodeURIComponent(fileUrl.split('/').pop() || '');
262
+ const rawSegment = fileUrl.split('/').pop() || '';
263
+ const fileName = uploadControlFileName || decodeURIComponent(rawSegment.split('?')[0]);
259
264
  const file_0 = new File([blob], fileName, {
260
265
  type: blob.type
261
266
  });
@@ -263,6 +268,8 @@ export const Upload_v4 = props => {
263
268
  file: file_0
264
269
  });
265
270
  setUploadStatus('idle');
271
+ closeModal(pasteURLDrawerSlug);
272
+ setFileUrl('');
266
273
  return; // Exit if client-side fetch succeeds
267
274
  } catch (_clientError) {
268
275
  if (!useServerSideFetch) {
@@ -283,7 +290,8 @@ export const Upload_v4 = props => {
283
290
  throw new Error(`Fetch failed with status: ${serverResponse.status}`);
284
291
  }
285
292
  const blob_0 = await serverResponse.blob();
286
- const fileName_0 = decodeURIComponent(fileUrl.split('/').pop() || '');
293
+ const rawSegment_0 = fileUrl.split('/').pop() || '';
294
+ const fileName_0 = decodeURIComponent(rawSegment_0.split('?')[0]);
287
295
  const file_1 = new File([blob_0], fileName_0, {
288
296
  type: blob_0.type
289
297
  });
@@ -291,11 +299,13 @@ export const Upload_v4 = props => {
291
299
  file: file_1
292
300
  });
293
301
  setUploadStatus('idle');
302
+ closeModal(pasteURLDrawerSlug);
303
+ setFileUrl('');
294
304
  } catch (_serverError) {
295
305
  toast.error('The provided URL is not allowed.');
296
306
  setUploadStatus('failed');
297
307
  }
298
- }, [api, collectionSlug, fileUrl, handleFileChange, id, setUploadStatus, uploadConfig, uploadControlFileName, useServerSideFetch]);
308
+ }, [api, closeModal, collectionSlug, fileUrl, handleFileChange, id, setUploadStatus, uploadConfig, uploadControlFileName, useServerSideFetch]);
299
309
  useEffect(() => {
300
310
  if (initialState?.file?.value instanceof File) {
301
311
  setFileSrc(URL.createObjectURL(initialState.file.value));
@@ -303,10 +313,12 @@ export const Upload_v4 = props => {
303
313
  }
304
314
  }, [initialState]);
305
315
  useEffect(() => {
306
- if (showUrlInput && urlInputRef.current) {
307
- // urlInputRef.current.focus() // Focus on the remote-url input field when showUrlInput is true
308
- }
309
- }, [showUrlInput]);
316
+ return () => {
317
+ if (fileSrc?.startsWith('blob:')) {
318
+ URL.revokeObjectURL(fileSrc);
319
+ }
320
+ };
321
+ }, [fileSrc]);
310
322
  useEffect(() => {
311
323
  if (isFormSubmitting) {
312
324
  setRemovedFile(false);
@@ -343,6 +355,40 @@ export const Upload_v4 = props => {
343
355
  };
344
356
  void handleControlFile();
345
357
  }, [uploadControlFile, handleFileChange]);
358
+ const drawers = /*#__PURE__*/_jsxs(React.Fragment, {
359
+ children: [(value || data?.filename) && /*#__PURE__*/_jsx(EditDepthProvider, {
360
+ children: /*#__PURE__*/_jsx(EditUpload, {
361
+ fileName: value?.name || data?.filename,
362
+ fileSrc: data?.url || fileSrc,
363
+ imageCacheTag: imageCacheTag,
364
+ initialCrop: uploadEdits?.crop ?? undefined,
365
+ initialFocalPoint: {
366
+ x: uploadEdits?.focalPoint?.x || data?.focalX || 50,
367
+ y: uploadEdits?.focalPoint?.y || data?.focalY || 50
368
+ },
369
+ onSave: onEditsSave,
370
+ showCrop: showCrop,
371
+ showFocalPoint: showFocalPoint
372
+ })
373
+ }), data && hasImageSizes && /*#__PURE__*/_jsx(Drawer, {
374
+ className: `${baseClass}__previewDrawer`,
375
+ hoverTitle: true,
376
+ slug: sizePreviewSlug,
377
+ title: t('upload:sizesFor', {
378
+ label: data.filename
379
+ }),
380
+ children: /*#__PURE__*/_jsx(PreviewSizes, {
381
+ doc: data,
382
+ imageCacheTag: imageCacheTag,
383
+ uploadConfig: uploadConfig
384
+ })
385
+ }), uploadConfig?.pasteURL !== false && /*#__PURE__*/_jsx(UploadFromURLModal, {
386
+ fileUrl: fileUrl,
387
+ handleUrlSubmit: handleUrlSubmit,
388
+ isValidUrl: isValidUrl,
389
+ setFileUrl: setFileUrl
390
+ })]
391
+ });
346
392
  return /*#__PURE__*/_jsxs("div", {
347
393
  className: [fieldBaseClass, baseClass].filter(Boolean).join(' '),
348
394
  children: [/*#__PURE__*/_jsx(FieldError, {
@@ -360,7 +406,7 @@ export const Upload_v4 = props => {
360
406
  uploadConfig: uploadConfig
361
407
  }), (!uploadConfig.hideFileInputOnCreate && !data?.filename || removedFile) && /*#__PURE__*/_jsxs("div", {
362
408
  className: `${baseClass}__upload`,
363
- children: [!value && !showUrlInput && /*#__PURE__*/_jsx(Dropzone, {
409
+ children: [!value && /*#__PURE__*/_jsx(Dropzone, {
364
410
  onChange: handleFileSelection,
365
411
  children: /*#__PURE__*/_jsxs("div", {
366
412
  className: `${baseClass}__dropzoneContent`,
@@ -394,7 +440,7 @@ export const Upload_v4 = props => {
394
440
  }), /*#__PURE__*/_jsx(Button, {
395
441
  buttonStyle: "pill",
396
442
  onClick: () => {
397
- setShowUrlInput(true);
443
+ openModal(pasteURLDrawerSlug);
398
444
  setUploadControlFileUrl('');
399
445
  setUploadControlFile(null);
400
446
  setUploadControlFileName(null);
@@ -408,44 +454,15 @@ export const Upload_v4 = props => {
408
454
  children: [t('general:or'), " ", t('upload:dragAndDrop')]
409
455
  })]
410
456
  })
411
- }), showUrlInput && /*#__PURE__*/_jsxs(React.Fragment, {
412
- children: [/*#__PURE__*/_jsxs("div", {
413
- className: `${baseClass}__remote-file-wrap`,
414
- children: [/*#__PURE__*/_jsx("input", {
415
- className: `${baseClass}__remote-file`,
416
- onChange: e_1 => {
417
- setFileUrl(e_1.target.value);
418
- },
419
- ref: urlInputRef,
420
- title: fileUrl,
421
- type: "text",
422
- value: fileUrl
423
- }), /*#__PURE__*/_jsx("div", {
424
- className: `${baseClass}__add-file-wrap`,
425
- children: /*#__PURE__*/_jsx("button", {
426
- className: `${baseClass}__add-file`,
427
- onClick: () => {
428
- void handleUrlSubmit();
429
- },
430
- type: "button",
431
- children: t('upload:addFile')
432
- })
433
- })]
434
- }), /*#__PURE__*/_jsx(Button, {
457
+ }), value && fileSrc && /*#__PURE__*/_jsxs(React.Fragment, {
458
+ children: [/*#__PURE__*/_jsx(Button, {
435
459
  buttonStyle: "ghost",
436
460
  className: `${baseClass}__remove`,
437
461
  icon: "x",
438
- onClick: () => {
439
- setShowUrlInput(false);
440
- setUploadControlFileUrl('');
441
- setUploadControlFile(null);
442
- setUploadControlFileName(null);
443
- },
462
+ onClick: handleFileRemoval,
444
463
  round: true,
445
464
  tooltip: t('general:cancel')
446
- })]
447
- }), value && fileSrc && /*#__PURE__*/_jsxs(React.Fragment, {
448
- children: [/*#__PURE__*/_jsx("div", {
465
+ }), /*#__PURE__*/_jsx("div", {
449
466
  className: `${baseClass}__thumbnail-wrap`,
450
467
  children: /*#__PURE__*/_jsx(Thumbnail, {
451
468
  collectionSlug: collectionSlug,
@@ -453,11 +470,10 @@ export const Upload_v4 = props => {
453
470
  })
454
471
  }), /*#__PURE__*/_jsxs("div", {
455
472
  className: `${baseClass}__file-adjustments`,
456
- children: [/*#__PURE__*/_jsx("input", {
457
- className: `${baseClass}__filename`,
473
+ children: [/*#__PURE__*/_jsx(TextInput, {
474
+ label: t('upload:fileName'),
458
475
  onChange: handleFileNameChange,
459
- title: filename || value.name,
460
- type: "text",
476
+ path: "filename",
461
477
  value: filename || value.name
462
478
  }), /*#__PURE__*/_jsx(UploadActions, {
463
479
  customActions: customActions,
@@ -465,46 +481,9 @@ export const Upload_v4 = props => {
465
481
  enablePreviewSizes: hasImageSizes && data?.filename && !removedFile,
466
482
  mimeType: value.type
467
483
  })]
468
- }), /*#__PURE__*/_jsx(Button, {
469
- buttonStyle: "ghost",
470
- className: `${baseClass}__remove`,
471
- icon: "x",
472
- onClick: handleFileRemoval,
473
- round: true,
474
- tooltip: t('general:cancel')
475
484
  })]
476
485
  })]
477
- }), (value || data?.filename) && /*#__PURE__*/_jsx(EditDepthProvider, {
478
- children: /*#__PURE__*/_jsx(Drawer, {
479
- Header: null,
480
- slug: editDrawerSlug,
481
- children: /*#__PURE__*/_jsx(EditUpload, {
482
- fileName: value?.name || data?.filename,
483
- fileSrc: data?.url || fileSrc,
484
- imageCacheTag: imageCacheTag,
485
- initialCrop: uploadEdits?.crop ?? undefined,
486
- initialFocalPoint: {
487
- x: uploadEdits?.focalPoint?.x || data?.focalX || 50,
488
- y: uploadEdits?.focalPoint?.y || data?.focalY || 50
489
- },
490
- onSave: onEditsSave,
491
- showCrop: showCrop,
492
- showFocalPoint: showFocalPoint
493
- })
494
- })
495
- }), data && hasImageSizes && /*#__PURE__*/_jsx(Drawer, {
496
- className: `${baseClass}__previewDrawer`,
497
- hoverTitle: true,
498
- slug: sizePreviewSlug,
499
- title: t('upload:sizesFor', {
500
- label: data.filename
501
- }),
502
- children: /*#__PURE__*/_jsx(PreviewSizes, {
503
- doc: data,
504
- imageCacheTag: imageCacheTag,
505
- uploadConfig: uploadConfig
506
- })
507
- })]
486
+ }), drawers]
508
487
  });
509
488
  };
510
489
  function _temp(CustomAction, i) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","formatAdminURL","isImage","React","Fragment","useCallback","useEffect","useRef","useState","toast","FieldError","fieldBaseClass","useForm","useFormProcessing","useField","useConfig","useDocumentInfo","EditDepthProvider","useTranslation","UploadControlsProvider","useUploadControls","useUploadEdits","Button","Drawer","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","name","UploadActions","t0","$","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","openModal","t1","t2","Symbol","for","bb0","fileTypeIsAdjustable","length","_jsxs","className","children","_jsx","buttonStyle","margin","onClick","size","map","_temp","Upload","props","resetUploadEdits","updateUploadEdits","uploadEdits","Upload_v4","collectionSlug","initialState","onChange","uploadConfig","UploadControls","setUploadControlFile","setUploadControlFileName","setUploadControlFileUrl","uploadControlFile","uploadControlFileName","uploadControlFileUrl","config","routes","api","setModified","id","data","docPermissions","setUploadStatus","isFormSubmitting","errorMessage","setValue","showError","path","fileSrc","setFileSrc","removedFile","setRemovedFile","filename","setFilename","showUrlInput","setShowUrlInput","fileUrl","setFileUrl","urlInputRef","inputRef","useServerSideFetch","pasteURL","allowList","handleFileChange","file","isNewFile","File","URL","createObjectURL","renameFile","fileToChange","newName","newFile","type","lastModified","handleFileNameChange","e","updatedFileName","target","handleFileSelection","files","fileToUpload","handleFileRemoval","onEditsSave","args","handleUrlSubmit","clientResponse","fetch","ok","Error","status","blob","fileName","decodeURIComponent","split","pop","_clientError","error","encodeURIComponent","serverResponse","apiRoute","_serverError","current","canRemoveUpload","update","hasImageSizes","imageSizes","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","focalPoint","crop","showCrop","showFocalPoint","acceptMimeTypes","mimeTypes","join","imageCacheTag","cacheTags","updatedAt","handleControlFileUrl","handleControlFile","filter","message","customUploadActions","doc","handleRemove","hideRemoveFile","hideFileInputOnCreate","click","accept","hidden","ref","title","icon","round","tooltip","Header","slug","url","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","label","CustomAction","i"],"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { formatAdminURL, isImage } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { useForm, useFormProcessing } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { UploadControlsProvider, useUploadControls } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport './index.css'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n if (value && (!value.name || value.name === '')) {\n return 'A file name is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n readonly customActions?: React.ReactNode[]\n readonly enableAdjustments: boolean\n readonly enablePreviewSizes: boolean\n readonly mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n const { openModal } = useModal()\n\n const fileTypeIsAdjustable =\n isImage(mimeType) && mimeType !== 'image/svg+xml' && mimeType !== 'image/jxl'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) {\n return null\n }\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__previewSizes`}\n margin={false}\n onClick={() => {\n openModal(sizePreviewSlug)\n }}\n size=\"medium\"\n >\n {t('upload:previewSizes')}\n </Button>\n )}\n {enableAdjustments && (\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__edit`}\n margin={false}\n onClick={() => {\n openModal(editDrawerSlug)\n }}\n size=\"medium\"\n >\n {t('upload:editImage')}\n </Button>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n readonly collectionSlug: string\n readonly customActions?: React.ReactNode[]\n readonly initialState?: FormState\n readonly onChange?: (file?: File) => void\n readonly uploadConfig: SanitizedCollectionConfig['upload']\n readonly UploadControls?: React.ReactNode\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n return (\n <UploadControlsProvider>\n <Upload_v4\n {...props}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadEdits={uploadEdits}\n />\n </UploadControlsProvider>\n )\n}\n\nexport type UploadProps_v4 = {\n readonly resetUploadEdits?: () => void\n readonly updateUploadEdits?: (args: UploadEdits) => void\n readonly uploadEdits?: UploadEdits\n} & UploadProps\n\nexport const Upload_v4: React.FC<UploadProps_v4> = (props) => {\n const {\n collectionSlug,\n customActions,\n initialState,\n onChange,\n resetUploadEdits,\n updateUploadEdits,\n uploadConfig,\n UploadControls,\n uploadEdits,\n } = props\n\n const {\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n uploadControlFile,\n uploadControlFileName,\n uploadControlFileUrl,\n } = useUploadControls()\n\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { id, data, docPermissions, setUploadStatus } = useDocumentInfo()\n const isFormSubmitting = useFormProcessing()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const [removedFile, setRemovedFile] = useState(false)\n const [filename, setFilename] = useState<string>(value?.name || '')\n const [showUrlInput, setShowUrlInput] = useState(false)\n const [fileUrl, setFileUrl] = useState<string>('')\n\n const urlInputRef = useRef<HTMLInputElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n\n const useServerSideFetch =\n typeof uploadConfig?.pasteURL === 'object' && uploadConfig.pasteURL.allowList?.length > 0\n\n const handleFileChange = useCallback(\n ({ file, isNewFile = true }: { file: File | null; isNewFile?: boolean }) => {\n if (isNewFile && file instanceof File) {\n setFileSrc(URL.createObjectURL(file))\n }\n\n setValue(file)\n setShowUrlInput(false)\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n\n if (typeof onChange === 'function') {\n onChange(file)\n }\n },\n [onChange, setValue, setUploadControlFile, setUploadControlFileName, setUploadControlFileUrl],\n )\n\n const renameFile = (fileToChange: File, newName: string): File => {\n // Creating a new File object with updated properties\n const newFile = new File([fileToChange], newName, {\n type: fileToChange.type,\n lastModified: fileToChange.lastModified,\n })\n return newFile\n }\n\n const handleFileNameChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n\n if (value) {\n handleFileChange({ file: renameFile(value, updatedFileName), isNewFile: false })\n setFilename(updatedFileName)\n }\n },\n [handleFileChange, value],\n )\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange({ file: fileToUpload })\n },\n [handleFileChange],\n )\n\n const handleFileRemoval = useCallback(() => {\n setRemovedFile(true)\n handleFileChange({ file: null })\n setFileSrc('')\n setFileUrl('')\n resetUploadEdits()\n setShowUrlInput(false)\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n }, [\n handleFileChange,\n resetUploadEdits,\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n ])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n const handleUrlSubmit = useCallback(async () => {\n if (!fileUrl || uploadConfig?.pasteURL === false) {\n return\n }\n\n setUploadStatus('uploading')\n try {\n // Attempt client-side fetch\n const clientResponse = await fetch(fileUrl)\n\n if (!clientResponse.ok) {\n throw new Error(`Fetch failed with status: ${clientResponse.status}`)\n }\n\n const blob = await clientResponse.blob()\n const fileName = uploadControlFileName || decodeURIComponent(fileUrl.split('/').pop() || '')\n const file = new File([blob], fileName, { type: blob.type })\n\n handleFileChange({ file })\n setUploadStatus('idle')\n return // Exit if client-side fetch succeeds\n } catch (_clientError) {\n if (!useServerSideFetch) {\n // If server-side fetch is not enabled, show client-side error\n toast.error('Failed to fetch the file.')\n setUploadStatus('failed')\n return\n }\n }\n\n // Attempt server-side fetch if client-side fetch fails and useServerSideFetch is true\n try {\n const pasteURL: `/${string}` = `/${collectionSlug}/paste-url${id ? `/${id}?` : '?'}src=${encodeURIComponent(fileUrl)}`\n const serverResponse = await fetch(\n formatAdminURL({\n apiRoute: api,\n path: pasteURL,\n }),\n )\n\n if (!serverResponse.ok) {\n throw new Error(`Fetch failed with status: ${serverResponse.status}`)\n }\n\n const blob = await serverResponse.blob()\n const fileName = decodeURIComponent(fileUrl.split('/').pop() || '')\n const file = new File([blob], fileName, { type: blob.type })\n\n handleFileChange({ file })\n setUploadStatus('idle')\n } catch (_serverError) {\n toast.error('The provided URL is not allowed.')\n setUploadStatus('failed')\n }\n }, [\n api,\n collectionSlug,\n fileUrl,\n handleFileChange,\n id,\n setUploadStatus,\n uploadConfig,\n uploadControlFileName,\n useServerSideFetch,\n ])\n\n useEffect(() => {\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n setRemovedFile(false)\n }\n }, [initialState])\n\n useEffect(() => {\n if (showUrlInput && urlInputRef.current) {\n // urlInputRef.current.focus() // Focus on the remote-url input field when showUrlInput is true\n }\n }, [showUrlInput])\n\n useEffect(() => {\n if (isFormSubmitting) {\n setRemovedFile(false)\n }\n }, [isFormSubmitting])\n\n const canRemoveUpload = docPermissions?.update\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ')\n\n const imageCacheTag = uploadConfig?.cacheTags && data?.updatedAt\n\n useEffect(() => {\n const handleControlFileUrl = async () => {\n if (uploadControlFileUrl) {\n setFileUrl(uploadControlFileUrl)\n await handleUrlSubmit()\n }\n }\n\n void handleControlFileUrl()\n }, [uploadControlFileUrl, handleUrlSubmit])\n\n useEffect(() => {\n const handleControlFile = () => {\n if (uploadControlFile) {\n handleFileChange({ file: uploadControlFile })\n }\n }\n\n void handleControlFile()\n }, [uploadControlFile, handleFileChange])\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {data && data.filename && !removedFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={data}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasImageSizes}\n hideRemoveFile={uploadConfig.hideRemoveFile}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n )}\n {((!uploadConfig.hideFileInputOnCreate && !data?.filename) || removedFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && !showUrlInput && (\n <Dropzone onChange={handleFileSelection}>\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneButtons`}>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n if (inputRef.current) {\n inputRef.current.click()\n }\n }}\n size=\"medium\"\n >\n {t('upload:selectFile')}\n </Button>\n <input\n accept={acceptMimeTypes}\n aria-hidden=\"true\"\n className={`${baseClass}__hidden-input`}\n hidden\n onChange={(e) => {\n if (e.target.files && e.target.files.length > 0) {\n handleFileSelection(e.target.files)\n }\n }}\n ref={inputRef}\n type=\"file\"\n />\n {uploadConfig?.pasteURL !== false && (\n <Fragment>\n <span className={`${baseClass}__orText`}>{t('general:or')}</span>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n setShowUrlInput(true)\n setUploadControlFileUrl('')\n setUploadControlFile(null)\n setUploadControlFileName(null)\n }}\n size=\"medium\"\n >\n {t('upload:pasteURL')}\n </Button>\n </Fragment>\n )}\n\n {UploadControls ? UploadControls : null}\n </div>\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n </Dropzone>\n )}\n {showUrlInput && (\n <React.Fragment>\n <div className={`${baseClass}__remote-file-wrap`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__remote-file`}\n onChange={(e) => {\n setFileUrl(e.target.value)\n }}\n ref={urlInputRef}\n title={fileUrl}\n type=\"text\"\n value={fileUrl}\n />\n <div className={`${baseClass}__add-file-wrap`}>\n <button\n className={`${baseClass}__add-file`}\n onClick={() => {\n void handleUrlSubmit()\n }}\n type=\"button\"\n >\n {t('upload:addFile')}\n </button>\n </div>\n </div>\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n onClick={() => {\n setShowUrlInput(false)\n setUploadControlFileUrl('')\n setUploadControlFile(null)\n setUploadControlFileName(null)\n }}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__filename`}\n onChange={handleFileNameChange}\n title={filename || value.name}\n type=\"text\"\n value={filename || value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasImageSizes && data?.filename && !removedFile}\n mimeType={value.type}\n />\n </div>\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n </div>\n )}\n {(value || data?.filename) && (\n <EditDepthProvider>\n <Drawer Header={null} slug={editDrawerSlug}>\n <EditUpload\n fileName={value?.name || data?.filename}\n fileSrc={data?.url || fileSrc}\n imageCacheTag={imageCacheTag}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || data?.focalX || 50,\n y: uploadEdits?.focalPoint?.y || data?.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </Drawer>\n </EditDepthProvider>\n )}\n {data && hasImageSizes && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: data.filename })}\n >\n <PreviewSizes doc={data} imageCacheTag={imageCacheTag} uploadConfig={uploadConfig} />\n </Drawer>\n )}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,EAAEC,OAAO,QAAQ;AACxC,OAAOC,KAAA,IAASC,QAAQ,EAAEC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAC1E,SAASC,KAAK,QAAQ;AAEtB,SAASC,UAAU,QAAQ;AAC3B,SAASC,cAAc,QAAQ;AAC/B,SAASC,OAAO,EAAEC,iBAAiB,QAAQ;AAC3C,SAASC,QAAQ,QAAQ;AACzB,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,cAAc,QAAQ;AAC/B,SAASC,sBAAsB,EAAEC,iBAAiB,QAAQ;AAC1D,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,MAAM,QAAQ;AACvB,SAASC,QAAQ,QAAQ;AACzB,SAASC,UAAU,QAAQ;AAC3B,OAAO;AACP,SAASC,WAAW,QAAQ;AAC5B,SAASC,YAAY,QAAQ;AAC7B,SAASC,SAAS,QAAQ;AAE1B,MAAMC,SAAA,GAAY;AAClB,OAAO,MAAMC,cAAA,GAAiB;AAC9B,OAAO,MAAMC,eAAA,GAAkB;AAE/B,MAAMC,QAAA,GAAYC,KAAA;EAChB,IAAI,CAACA,KAAA,IAASA,KAAA,KAAUC,SAAA,EAAW;IACjC,OAAO;EACT;EAEA,IAAID,KAAA,KAAU,CAACA,KAAA,CAAME,IAAI,IAAIF,KAAA,CAAME,IAAI,KAAK,EAAC,GAAI;IAC/C,OAAO;EACT;EAEA,OAAO;AACT;AASA,OAAO,MAAMC,aAAA,GAAgBC,EAAA;EAAA,MAAAC,CAAA,GAAAvC,EAAA;EAAC;IAAAwC,aAAA;IAAAC,iBAAA;IAAAC,kBAAA;IAAAC;EAAA,IAAAL,EAKV;EAClB;IAAAM;EAAA,IAAczB,cAAA;EACd;IAAA0B;EAAA,IAAsB5C,QAAA;EAAA,IAAA6C,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAR,CAAA,QAAAC,aAAA,IAAAD,CAAA,QAAAE,iBAAA,IAAAF,CAAA,QAAAG,kBAAA,IAAAH,CAAA,QAAAI,QAAA,IAAAJ,CAAA,QAAAM,SAAA,IAAAN,CAAA,QAAAK,CAAA;IAMbG,EAAA,GAAAC,MAAA,CAAAC,GAAA;IAAAC,GAAA;MAJT,MAAAC,oBAAA,GACEhD,OAAA,CAAQwC,QAAA,KAAaA,QAAA,KAAa,mBAAmBA,QAAA,KAAa;MAAA,IAEhE,CAACQ,oBAAA,KAAyB,CAACX,aAAA,IAAiBA,aAAA,CAAAY,MAAA,MAAyB;QAChEL,EAAA;QAAA,MAAAG,GAAA;MAAA;MAIPJ,EAAA,GAAAO,KAAA,CAAC;QAAAC,SAAA,EAAe,GAAAxB,SAAA,kBAA8B;QAAAyB,QAAA,GAC3CJ,oBAAA,IACCE,KAAA,CAAAjD,KAAA,CAAAC,QAAA;UAAAkD,QAAA,GACGb,kBAAA,IACCc,IAAA,CAAAjC,MAAA;YAAAkC,WAAA,EACc;YAAAH,SAAA,EACD,GAAAxB,SAAA,gBAA4B;YAAA4B,MAAA;YAAAC,OAAA,EAAAA,CAAA;cAGrCd,SAAA,CAAAb,eAAU;YAAA;YAAA4B,IAAA,EAEP;YAAAL,QAAA,EAEJX,CAAA,CAAE;UAAA,C,GAGNH,iBAAA,IACCe,IAAA,CAAAjC,MAAA;YAAAkC,WAAA,EACc;YAAAH,SAAA,EACD,GAAAxB,SAAA,QAAoB;YAAA4B,MAAA;YAAAC,OAAA,EAAAA,CAAA;cAG7Bd,SAAA,CAAAd,cAAU;YAAA;YAAA6B,IAAA,EAEP;YAAAL,QAAA,EAEJX,CAAA,CAAE;UAAA,C;YAMVJ,aAAA,IACCA,aAAA,CAAAqB,GAAA,CAAAC,KAEA;MAAA,C;;;;;;;;;;;;;;;;;SAnCJhB,E;CAsCJ;AAWA,OAAO,MAAMiB,MAAA,GAAgCC,KAAA;EAAA,MAAAzB,CAAA,GAAAvC,EAAA;EAC3C;IAAAiE,gBAAA;IAAAC,iBAAA;IAAAC;EAAA,IAA6D7C,cAAA;EAAA,IAAAgB,EAAA;EAAA,IAAAC,CAAA,QAAAyB,KAAA,IAAAzB,CAAA,QAAA0B,gBAAA,IAAA1B,CAAA,QAAA2B,iBAAA,IAAA3B,CAAA,QAAA4B,WAAA;IAE3D7B,EAAA,GAAAkB,IAAA,CAAApC,sBAAA;MAAAmC,QAAA,EACEC,IAAA,CAAAY,SAAA;QAAA,GACMJ,KAAK;QAAAC,gBAAA;QAAAC,iBAAA;QAAAC;MAAA,C;;;;;;;;;;SAFb7B,E;CASJ;AAQA,OAAO,MAAM8B,SAAA,GAAuCJ,KAAA;EAClD,MAAM;IACJK,cAAc;IACd7B,aAAa;IACb8B,YAAY;IACZC,QAAQ;IACRN,gBAAgB;IAChBC,iBAAiB;IACjBM,YAAY;IACZC,cAAc;IACdN;EAAW,CACZ,GAAGH,KAAA;EAEJ,MAAM;IACJU,oBAAoB;IACpBC,wBAAwB;IACxBC,uBAAuB;IACvBC,iBAAiB;IACjBC,qBAAqB;IACrBC;EAAoB,CACrB,GAAG1D,iBAAA;EAEJ,MAAM;IACJ2D,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC;MAAG;IAAE;EAChB,CACF,GAAGlE,SAAA;EAEJ,MAAM;IAAE4B;EAAC,CAAE,GAAGzB,cAAA;EACd,MAAM;IAAEgE;EAAW,CAAE,GAAGtE,OAAA;EACxB,MAAM;IAAEuE,EAAE;IAAEC,IAAI;IAAEC,cAAc;IAAEC;EAAe,CAAE,GAAGtE,eAAA;EACtD,MAAMuE,gBAAA,GAAmB1E,iBAAA;EACzB,MAAM;IAAE2E,YAAY;IAAEC,QAAQ;IAAEC,SAAS;IAAEzD;EAAK,CAAE,GAAGnB,QAAA,CAAe;IAClE6E,IAAA,EAAM;IACN3D;EACF;EAEA,MAAM,CAAC4D,OAAA,EAASC,UAAA,CAAW,GAAGrF,QAAA,CAAwB;EACtD,MAAM,CAACsF,WAAA,EAAaC,cAAA,CAAe,GAAGvF,QAAA,CAAS;EAC/C,MAAM,CAACwF,QAAA,EAAUC,WAAA,CAAY,GAAGzF,QAAA,CAAiByB,KAAA,EAAOE,IAAA,IAAQ;EAChE,MAAM,CAAC+D,YAAA,EAAcC,eAAA,CAAgB,GAAG3F,QAAA,CAAS;EACjD,MAAM,CAAC4F,OAAA,EAASC,UAAA,CAAW,GAAG7F,QAAA,CAAiB;EAE/C,MAAM8F,WAAA,GAAc/F,MAAA,CAAyB;EAC7C,MAAMgG,QAAA,GAAWhG,MAAA,CAAyB;EAE1C,MAAMiG,kBAAA,GACJ,OAAOjC,YAAA,EAAckC,QAAA,KAAa,YAAYlC,YAAA,CAAakC,QAAQ,CAACC,SAAS,EAAEvD,MAAA,GAAS;EAE1F,MAAMwD,gBAAA,GAAmBtG,WAAA,CACvB,CAAC;IAAEuG,IAAI;IAAEC,SAAA,GAAY;EAAI,CAA8C;IACrE,IAAIA,SAAA,IAAaD,IAAA,YAAgBE,IAAA,EAAM;MACrCjB,UAAA,CAAWkB,GAAA,CAAIC,eAAe,CAACJ,IAAA;IACjC;IAEAnB,QAAA,CAASmB,IAAA;IACTT,eAAA,CAAgB;IAChBxB,uBAAA,CAAwB;IACxBD,wBAAA,CAAyB;IACzBD,oBAAA,CAAqB;IAErB,IAAI,OAAOH,QAAA,KAAa,YAAY;MAClCA,QAAA,CAASsC,IAAA;IACX;EACF,GACA,CAACtC,QAAA,EAAUmB,QAAA,EAAUhB,oBAAA,EAAsBC,wBAAA,EAA0BC,uBAAA,CAAwB;EAG/F,MAAMsC,UAAA,GAAaA,CAACC,YAAA,EAAoBC,OAAA;IACtC;IACA,MAAMC,OAAA,GAAU,IAAIN,IAAA,CAAK,CAACI,YAAA,CAAa,EAAEC,OAAA,EAAS;MAChDE,IAAA,EAAMH,YAAA,CAAaG,IAAI;MACvBC,YAAA,EAAcJ,YAAA,CAAaI;IAC7B;IACA,OAAOF,OAAA;EACT;EAEA,MAAMG,oBAAA,GAAuBpH,KAAA,CAAME,WAAW,CAC3CmH,CAAA;IACC,MAAMC,eAAA,GAAkBD,CAAA,CAAEE,MAAM,CAACzF,KAAK;IAEtC,IAAIA,KAAA,EAAO;MACT0E,gBAAA,CAAiB;QAAEC,IAAA,EAAMK,UAAA,CAAWhF,KAAA,EAAOwF,eAAA;QAAkBZ,SAAA,EAAW;MAAM;MAC9EZ,WAAA,CAAYwB,eAAA;IACd;EACF,GACA,CAACd,gBAAA,EAAkB1E,KAAA,CAAM;EAG3B,MAAM0F,mBAAA,GAAsBtH,WAAA,CACzBuH,KAAA;IACC,MAAMC,YAAA,GAAeD,KAAA,GAAQ,EAAE;IAC/BjB,gBAAA,CAAiB;MAAEC,IAAA,EAAMiB;IAAa;EACxC,GACA,CAAClB,gBAAA,CAAiB;EAGpB,MAAMmB,iBAAA,GAAoBzH,WAAA,CAAY;IACpC0F,cAAA,CAAe;IACfY,gBAAA,CAAiB;MAAEC,IAAA,EAAM;IAAK;IAC9Bf,UAAA,CAAW;IACXQ,UAAA,CAAW;IACXrC,gBAAA;IACAmC,eAAA,CAAgB;IAChBxB,uBAAA,CAAwB;IACxBD,wBAAA,CAAyB;IACzBD,oBAAA,CAAqB;EACvB,GAAG,CACDkC,gBAAA,EACA3C,gBAAA,EACAS,oBAAA,EACAC,wBAAA,EACAC,uBAAA,CACD;EAED,MAAMoD,WAAA,GAAc1H,WAAA,CACjB2H,IAAA;IACC9C,WAAA,CAAY;IACZjB,iBAAA,CAAkB+D,IAAA;EACpB,GACA,CAAC9C,WAAA,EAAajB,iBAAA,CAAkB;EAGlC,MAAMgE,eAAA,GAAkB5H,WAAA,CAAY;IAClC,IAAI,CAAC+F,OAAA,IAAW7B,YAAA,EAAckC,QAAA,KAAa,OAAO;MAChD;IACF;IAEAnB,eAAA,CAAgB;IAChB,IAAI;MACF;MACA,MAAM4C,cAAA,GAAiB,MAAMC,KAAA,CAAM/B,OAAA;MAEnC,IAAI,CAAC8B,cAAA,CAAeE,EAAE,EAAE;QACtB,MAAM,IAAIC,KAAA,CAAM,6BAA6BH,cAAA,CAAeI,MAAM,EAAE;MACtE;MAEA,MAAMC,IAAA,GAAO,MAAML,cAAA,CAAeK,IAAI;MACtC,MAAMC,QAAA,GAAW3D,qBAAA,IAAyB4D,kBAAA,CAAmBrC,OAAA,CAAQsC,KAAK,CAAC,KAAKC,GAAG,MAAM;MACzF,MAAM/B,MAAA,GAAO,IAAIE,IAAA,CAAK,CAACyB,IAAA,CAAK,EAAEC,QAAA,EAAU;QAAEnB,IAAA,EAAMkB,IAAA,CAAKlB;MAAK;MAE1DV,gBAAA,CAAiB;QAAEC,IAAA,EAAAA;MAAK;MACxBtB,eAAA,CAAgB;MAChB,QAAO;IACT,EAAE,OAAOsD,YAAA,EAAc;MACrB,IAAI,CAACpC,kBAAA,EAAoB;QACvB;QACA/F,KAAA,CAAMoI,KAAK,CAAC;QACZvD,eAAA,CAAgB;QAChB;MACF;IACF;IAEA;IACA,IAAI;MACF,MAAMmB,QAAA,GAAyB,IAAIrC,cAAA,aAA2Be,EAAA,GAAK,IAAIA,EAAA,GAAK,GAAG,UAAU2D,kBAAA,CAAmB1C,OAAA,GAAU;MACtH,MAAM2C,cAAA,GAAiB,MAAMZ,KAAA,CAC3BlI,cAAA,CAAe;QACb+I,QAAA,EAAU/D,GAAA;QACVU,IAAA,EAAMc;MACR;MAGF,IAAI,CAACsC,cAAA,CAAeX,EAAE,EAAE;QACtB,MAAM,IAAIC,KAAA,CAAM,6BAA6BU,cAAA,CAAeT,MAAM,EAAE;MACtE;MAEA,MAAMC,MAAA,GAAO,MAAMQ,cAAA,CAAeR,IAAI;MACtC,MAAMC,UAAA,GAAWC,kBAAA,CAAmBrC,OAAA,CAAQsC,KAAK,CAAC,KAAKC,GAAG,MAAM;MAChE,MAAM/B,MAAA,GAAO,IAAIE,IAAA,CAAK,CAACyB,MAAA,CAAK,EAAEC,UAAA,EAAU;QAAEnB,IAAA,EAAMkB,MAAA,CAAKlB;MAAK;MAE1DV,gBAAA,CAAiB;QAAEC,IAAA,EAAAA;MAAK;MACxBtB,eAAA,CAAgB;IAClB,EAAE,OAAO2D,YAAA,EAAc;MACrBxI,KAAA,CAAMoI,KAAK,CAAC;MACZvD,eAAA,CAAgB;IAClB;EACF,GAAG,CACDL,GAAA,EACAb,cAAA,EACAgC,OAAA,EACAO,gBAAA,EACAxB,EAAA,EACAG,eAAA,EACAf,YAAA,EACAM,qBAAA,EACA2B,kBAAA,CACD;EAEDlG,SAAA,CAAU;IACR,IAAI+D,YAAA,EAAcuC,IAAA,EAAM3E,KAAA,YAAiB6E,IAAA,EAAM;MAC7CjB,UAAA,CAAWkB,GAAA,CAAIC,eAAe,CAAC3C,YAAA,CAAauC,IAAI,CAAC3E,KAAK;MACtD8D,cAAA,CAAe;IACjB;EACF,GAAG,CAAC1B,YAAA,CAAa;EAEjB/D,SAAA,CAAU;IACR,IAAI4F,YAAA,IAAgBI,WAAA,CAAY4C,OAAO,EAAE;MACvC;IAAA;EAEJ,GAAG,CAAChD,YAAA,CAAa;EAEjB5F,SAAA,CAAU;IACR,IAAIiF,gBAAA,EAAkB;MACpBQ,cAAA,CAAe;IACjB;EACF,GAAG,CAACR,gBAAA,CAAiB;EAErB,MAAM4D,eAAA,GAAkB9D,cAAA,EAAgB+D,MAAA;EAExC,MAAMC,aAAA,GAAgB9E,YAAA,EAAc+E,UAAA,EAAYnG,MAAA,GAAS;EACzD,MAAMoG,gBAAA,GAAmBC,OAAA,CAAQjF,YAAA,EAAckF,aAAA;EAC/C;EACA,MAAMC,iBAAA,GAAoBnF,YAAA,EAAcoF,UAAA,KAAe;EAEvD,MAAM;IAAEC,IAAA,EAAMC,QAAA,GAAW,IAAI;IAAEF,UAAA,GAAa;EAAI,CAAE,GAAGpF,YAAA;EAErD,MAAMuF,cAAA,GAAiBH,UAAA,KAAeN,aAAA,IAAiBE,gBAAA,IAAoBG,iBAAgB;EAE3F,MAAMK,eAAA,GAAkBxF,YAAA,CAAayF,SAAS,EAAEC,IAAA,CAAK;EAErD,MAAMC,aAAA,GAAgB3F,YAAA,EAAc4F,SAAA,IAAa/E,IAAA,EAAMgF,SAAA;EAEvD9J,SAAA,CAAU;IACR,MAAM+J,oBAAA,GAAuB,MAAAA,CAAA;MAC3B,IAAIvF,oBAAA,EAAsB;QACxBuB,UAAA,CAAWvB,oBAAA;QACX,MAAMmD,eAAA;MACR;IACF;IAEA,KAAKoC,oBAAA;EACP,GAAG,CAACvF,oBAAA,EAAsBmD,eAAA,CAAgB;EAE1C3H,SAAA,CAAU;IACR,MAAMgK,iBAAA,GAAoBA,CAAA;MACxB,IAAI1F,iBAAA,EAAmB;QACrB+B,gBAAA,CAAiB;UAAEC,IAAA,EAAMhC;QAAkB;MAC7C;IACF;IAEA,KAAK0F,iBAAA;EACP,GAAG,CAAC1F,iBAAA,EAAmB+B,gBAAA,CAAiB;EAExC,oBACEvD,KAAA,CAAC;IAAIC,SAAA,EAAW,CAAC1C,cAAA,EAAgBkB,SAAA,CAAU,CAAC0I,MAAM,CAACf,OAAA,EAASS,IAAI,CAAC;4BAC/D1G,IAAA,CAAC7C,UAAA;MAAW8J,OAAA,EAAShF,YAAA;MAAcE,SAAA,EAAWA;QAC7CN,IAAA,IAAQA,IAAA,CAAKY,QAAQ,IAAI,CAACF,WAAA,iBACzBvC,IAAA,CAAC7B,WAAA;MACC0C,cAAA,EAAgBA,cAAA;MAChBqG,mBAAA,EAAqBlI,aAAA;MACrBmI,GAAA,EAAKtF,IAAA;MACL5C,iBAAA,EAAmBqH,QAAA,IAAYC,cAAA;MAC/Ba,YAAA,EAAcxB,eAAA,GAAkBrB,iBAAA,GAAoB5F,SAAA;MACpDmH,aAAA,EAAeA,aAAA;MACfuB,cAAA,EAAgBrG,YAAA,CAAaqG,cAAc;MAC3CV,aAAA,EAAeA,aAAA;MACf3F,YAAA,EAAcA;QAGhB,EAAEA,YAAA,CAAasG,qBAAqB,IAAI,CAACzF,IAAA,EAAMY,QAAA,IAAaF,WAAU,kBACtE1C,KAAA,CAAC;MAAIC,SAAA,EAAW,GAAGxB,SAAA,UAAmB;iBACnC,CAACI,KAAA,IAAS,CAACiE,YAAA,iBACV3C,IAAA,CAAC/B,QAAA;QAAS8C,QAAA,EAAUqD,mBAAA;kBAClB,aAAAvE,KAAA,CAAC;UAAIC,SAAA,EAAW,GAAGxB,SAAA,mBAA4B;kCAC7CuB,KAAA,CAAC;YAAIC,SAAA,EAAW,GAAGxB,SAAA,mBAA4B;oCAC7C0B,IAAA,CAACjC,MAAA;cACCkC,WAAA,EAAY;cACZE,OAAA,EAASA,CAAA;gBACP,IAAI6C,QAAA,CAAS2C,OAAO,EAAE;kBACpB3C,QAAA,CAAS2C,OAAO,CAAC4B,KAAK;gBACxB;cACF;cACAnH,IAAA,EAAK;wBAEJhB,CAAA,CAAE;6BAELY,IAAA,CAAC;cACCwH,MAAA,EAAQhB,eAAA;cACR,eAAY;cACZ1G,SAAA,EAAW,GAAGxB,SAAA,gBAAyB;cACvCmJ,MAAM;cACN1G,QAAA,EAAWkD,GAAA;gBACT,IAAIA,GAAA,CAAEE,MAAM,CAACE,KAAK,IAAIJ,GAAA,CAAEE,MAAM,CAACE,KAAK,CAACzE,MAAM,GAAG,GAAG;kBAC/CwE,mBAAA,CAAoBH,GAAA,CAAEE,MAAM,CAACE,KAAK;gBACpC;cACF;cACAqD,GAAA,EAAK1E,QAAA;cACLc,IAAA,EAAK;gBAEN9C,YAAA,EAAckC,QAAA,KAAa,sBAC1BrD,KAAA,CAAChD,QAAA;sCACCmD,IAAA,CAAC;gBAAKF,SAAA,EAAW,GAAGxB,SAAA,UAAmB;0BAAGc,CAAA,CAAE;+BAC5CY,IAAA,CAACjC,MAAA;gBACCkC,WAAA,EAAY;gBACZE,OAAA,EAASA,CAAA;kBACPyC,eAAA,CAAgB;kBAChBxB,uBAAA,CAAwB;kBACxBF,oBAAA,CAAqB;kBACrBC,wBAAA,CAAyB;gBAC3B;gBACAf,IAAA,EAAK;0BAEJhB,CAAA,CAAE;;gBAKR6B,cAAA,GAAiBA,cAAA,GAAiB;2BAErCpB,KAAA,CAAC;YAAEC,SAAA,EAAW,GAAGxB,SAAA,mBAA4B;uBAC1Cc,CAAA,CAAE,eAAc,KAAEA,CAAA,CAAE;;;UAK5BuD,YAAA,iBACC9C,KAAA,CAACjD,KAAA,CAAMC,QAAQ;gCACbgD,KAAA,CAAC;UAAIC,SAAA,EAAW,GAAGxB,SAAA,oBAA6B;kCAE9C0B,IAAA,CAAC;YACCF,SAAA,EAAW,GAAGxB,SAAA,eAAwB;YACtCyC,QAAA,EAAWkD,GAAA;cACTnB,UAAA,CAAWmB,GAAA,CAAEE,MAAM,CAACzF,KAAK;YAC3B;YACAgJ,GAAA,EAAK3E,WAAA;YACL4E,KAAA,EAAO9E,OAAA;YACPiB,IAAA,EAAK;YACLpF,KAAA,EAAOmE;2BAET7C,IAAA,CAAC;YAAIF,SAAA,EAAW,GAAGxB,SAAA,iBAA0B;sBAC3C,aAAA0B,IAAA,CAAC;cACCF,SAAA,EAAW,GAAGxB,SAAA,YAAqB;cACnC6B,OAAA,EAASA,CAAA;gBACP,KAAKuE,eAAA;cACP;cACAZ,IAAA,EAAK;wBAEJ1E,CAAA,CAAE;;;yBAITY,IAAA,CAACjC,MAAA;UACCkC,WAAA,EAAY;UACZH,SAAA,EAAW,GAAGxB,SAAA,UAAmB;UACjCsJ,IAAA,EAAK;UACLzH,OAAA,EAASA,CAAA;YACPyC,eAAA,CAAgB;YAChBxB,uBAAA,CAAwB;YACxBF,oBAAA,CAAqB;YACrBC,wBAAA,CAAyB;UAC3B;UACA0G,KAAK;UACLC,OAAA,EAAS1I,CAAA,CAAE;;UAIhBV,KAAA,IAAS2D,OAAA,iBACRxC,KAAA,CAACjD,KAAA,CAAMC,QAAQ;gCACbmD,IAAA,CAAC;UAAIF,SAAA,EAAW,GAAGxB,SAAA,kBAA2B;oBAC5C,aAAA0B,IAAA,CAAC3B,SAAA;YACCwC,cAAA,EAAgBA,cAAA;YAChBwB,OAAA,EAAS1F,OAAA,CAAQ+B,KAAA,CAAMoF,IAAI,IAAIzB,OAAA,GAAU;;yBAG7CxC,KAAA,CAAC;UAAIC,SAAA,EAAW,GAAGxB,SAAA,oBAA6B;kCAE9C0B,IAAA,CAAC;YACCF,SAAA,EAAW,GAAGxB,SAAA,YAAqB;YACnCyC,QAAA,EAAUiD,oBAAA;YACV2D,KAAA,EAAOlF,QAAA,IAAY/D,KAAA,CAAME,IAAI;YAC7BkF,IAAA,EAAK;YACLpF,KAAA,EAAO+D,QAAA,IAAY/D,KAAA,CAAME;2BAE3BoB,IAAA,CAACnB,aAAA;YACCG,aAAA,EAAeA,aAAA;YACfC,iBAAA,EAAmBqH,QAAA,IAAYC,cAAA;YAC/BrH,kBAAA,EAAoB4G,aAAA,IAAiBjE,IAAA,EAAMY,QAAA,IAAY,CAACF,WAAA;YACxDpD,QAAA,EAAUT,KAAA,CAAMoF;;yBAGpB9D,IAAA,CAACjC,MAAA;UACCkC,WAAA,EAAY;UACZH,SAAA,EAAW,GAAGxB,SAAA,UAAmB;UACjCsJ,IAAA,EAAK;UACLzH,OAAA,EAASoE,iBAAA;UACTsD,KAAK;UACLC,OAAA,EAAS1I,CAAA,CAAE;;;QAMnB,CAAAV,KAAA,IAASmD,IAAA,EAAMY,QAAO,kBACtBzC,IAAA,CAACtC,iBAAA;gBACC,aAAAsC,IAAA,CAAChC,MAAA;QAAO+J,MAAA,EAAQ;QAAMC,IAAA,EAAMzJ,cAAA;kBAC1B,aAAAyB,IAAA,CAAC9B,UAAA;UACC+G,QAAA,EAAUvG,KAAA,EAAOE,IAAA,IAAQiD,IAAA,EAAMY,QAAA;UAC/BJ,OAAA,EAASR,IAAA,EAAMoG,GAAA,IAAO5F,OAAA;UACtBsE,aAAA,EAAeA,aAAA;UACfuB,WAAA,EAAavH,WAAA,EAAa0F,IAAA,IAAQ1H,SAAA;UAClCwJ,iBAAA,EAAmB;YACjBC,CAAA,EAAGzH,WAAA,EAAayF,UAAA,EAAYgC,CAAA,IAAKvG,IAAA,EAAMwG,MAAA,IAAU;YACjDC,CAAA,EAAG3H,WAAA,EAAayF,UAAA,EAAYkC,CAAA,IAAKzG,IAAA,EAAM0G,MAAA,IAAU;UACnD;UACAC,MAAA,EAAQhE,WAAA;UACR8B,QAAA,EAAUA,QAAA;UACVC,cAAA,EAAgBA;;;QAKvB1E,IAAA,IAAQiE,aAAA,iBACP9F,IAAA,CAAChC,MAAA;MACC8B,SAAA,EAAW,GAAGxB,SAAA,iBAA0B;MACxCmK,UAAU;MACVT,IAAA,EAAMxJ,eAAA;MACNmJ,KAAA,EAAOvI,CAAA,CAAE,mBAAmB;QAAEsJ,KAAA,EAAO7G,IAAA,CAAKY;MAAS;gBAEnD,aAAAzC,IAAA,CAAC5B,YAAA;QAAa+I,GAAA,EAAKtF,IAAA;QAAM8E,aAAA,EAAeA,aAAA;QAAe3F,YAAA,EAAcA;;;;AAK/E;AA9f6B,SAAAV,MAAAqI,YAAA,EAAAC,CAAA;EAAA,OAmDZ5I,IAAA,CAAApD,KAAA,CAAAC,QAAA;IAAAkD,QAAA,EAAyB4I;EAAA,GAAJC,CAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","formatAdminURL","isImage","React","Fragment","useCallback","useEffect","useRef","useState","toast","FieldError","fieldBaseClass","TextInput","useForm","useFormProcessing","useField","useConfig","useDocumentInfo","EditDepthProvider","useTranslation","UploadControlsProvider","useUploadControls","useUploadEdits","Button","Drawer","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","pasteURLDrawerSlug","UploadFromURLModal","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","name","UploadActions","t0","$","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","openModal","t1","t2","Symbol","for","bb0","fileTypeIsAdjustable","length","_jsxs","className","children","_jsx","buttonStyle","margin","onClick","size","map","_temp","Upload","props","resetUploadEdits","updateUploadEdits","uploadEdits","UploadComponent","collectionSlug","initialState","onChange","uploadConfig","UploadControls","setUploadControlFile","setUploadControlFileName","setUploadControlFileUrl","uploadControlFile","uploadControlFileName","uploadControlFileUrl","config","routes","api","closeModal","setModified","id","data","docPermissions","setUploadStatus","isFormSubmitting","errorMessage","setValue","showError","path","fileSrc","setFileSrc","removedFile","setRemovedFile","filename","setFilename","fileUrl","setFileUrl","inputRef","useServerSideFetch","pasteURL","allowList","handleFileChange","file","isNewFile","File","URL","createObjectURL","renameFile","fileToChange","newName","newFile","type","lastModified","handleFileNameChange","e","updatedFileName","target","handleFileSelection","files","fileToUpload","handleFileRemoval","onEditsSave","args","isValidUrl","Boolean","canParse","handleUrlSubmit","clientResponse","fetch","ok","Error","status","blob","rawSegment","split","pop","fileName","decodeURIComponent","_clientError","error","encodeURIComponent","serverResponse","apiRoute","_serverError","startsWith","revokeObjectURL","canRemoveUpload","update","hasImageSizes","imageSizes","hasResizeOptions","resizeOptions","focalPointEnabled","focalPoint","crop","showCrop","showFocalPoint","acceptMimeTypes","mimeTypes","join","imageCacheTag","cacheTags","updatedAt","handleControlFileUrl","handleControlFile","drawers","url","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","slug","title","label","doc","filter","message","customUploadActions","handleRemove","hideRemoveFile","hideFileInputOnCreate","current","click","accept","hidden","ref","icon","round","tooltip","CustomAction","i"],"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { formatAdminURL, isImage } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { TextInput } from '../../fields/Text/Input.js'\nimport { useForm, useFormProcessing } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { UploadControlsProvider, useUploadControls } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport './index.css'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport { pasteURLDrawerSlug, UploadFromURLModal } from './UploadFromURLModal/index.js'\n\nexport { pasteURLDrawerSlug }\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n if (value && (!value.name || value.name === '')) {\n return 'A file name is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n readonly customActions?: React.ReactNode[]\n readonly enableAdjustments: boolean\n readonly enablePreviewSizes: boolean\n readonly mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n const { openModal } = useModal()\n\n const fileTypeIsAdjustable =\n isImage(mimeType) && mimeType !== 'image/svg+xml' && mimeType !== 'image/jxl'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) {\n return null\n }\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__previewSizes`}\n margin={false}\n onClick={() => {\n openModal(sizePreviewSlug)\n }}\n size=\"medium\"\n >\n {t('upload:previewSizes')}\n </Button>\n )}\n {enableAdjustments && (\n <Button\n buttonStyle=\"secondary\"\n className={`${baseClass}__edit`}\n margin={false}\n onClick={() => {\n openModal(editDrawerSlug)\n }}\n size=\"medium\"\n >\n {t('upload:editImage')}\n </Button>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n readonly collectionSlug: string\n readonly customActions?: React.ReactNode[]\n readonly initialState?: FormState\n readonly onChange?: (file?: File) => void\n readonly uploadConfig: SanitizedCollectionConfig['upload']\n readonly UploadControls?: React.ReactNode\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n return (\n <UploadControlsProvider>\n <UploadComponent\n {...props}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadEdits={uploadEdits}\n />\n </UploadControlsProvider>\n )\n}\n\ntype UploadComponentProps = {\n readonly resetUploadEdits?: () => void\n readonly updateUploadEdits?: (args: UploadEdits) => void\n readonly uploadEdits?: UploadEdits\n} & UploadProps\n\nconst UploadComponent: React.FC<UploadComponentProps> = (props) => {\n const {\n collectionSlug,\n customActions,\n initialState,\n onChange,\n resetUploadEdits,\n updateUploadEdits,\n uploadConfig,\n UploadControls,\n uploadEdits,\n } = props\n\n const {\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n uploadControlFile,\n uploadControlFileName,\n uploadControlFileUrl,\n } = useUploadControls()\n\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n\n const { t } = useTranslation()\n const { closeModal, openModal } = useModal()\n const { setModified } = useForm()\n const { id, data, docPermissions, setUploadStatus } = useDocumentInfo()\n const isFormSubmitting = useFormProcessing()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const [removedFile, setRemovedFile] = useState(false)\n const [filename, setFilename] = useState<string>(value?.name || '')\n const [fileUrl, setFileUrl] = useState<string>('')\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n const useServerSideFetch =\n typeof uploadConfig?.pasteURL === 'object' && uploadConfig.pasteURL.allowList?.length > 0\n\n const handleFileChange = useCallback(\n ({ file, isNewFile = true }: { file: File | null; isNewFile?: boolean }) => {\n if (isNewFile && file instanceof File) {\n setFileSrc(URL.createObjectURL(file))\n }\n\n setValue(file)\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n\n if (typeof onChange === 'function') {\n onChange(file)\n }\n },\n [onChange, setValue, setUploadControlFile, setUploadControlFileName, setUploadControlFileUrl],\n )\n\n const renameFile = (fileToChange: File, newName: string): File => {\n // Creating a new File object with updated properties\n const newFile = new File([fileToChange], newName, {\n type: fileToChange.type,\n lastModified: fileToChange.lastModified,\n })\n return newFile\n }\n\n const handleFileNameChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n\n if (value) {\n handleFileChange({ file: renameFile(value, updatedFileName), isNewFile: false })\n setFilename(updatedFileName)\n }\n },\n [handleFileChange, value],\n )\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange({ file: fileToUpload })\n },\n [handleFileChange],\n )\n\n const handleFileRemoval = useCallback(() => {\n setRemovedFile(true)\n handleFileChange({ file: null })\n setFileSrc('')\n setFileUrl('')\n resetUploadEdits()\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n }, [\n handleFileChange,\n resetUploadEdits,\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n ])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n const isValidUrl = Boolean(fileUrl && URL.canParse(fileUrl))\n\n const handleUrlSubmit = useCallback(async () => {\n if (!fileUrl || !URL.canParse(fileUrl) || uploadConfig?.pasteURL === false) {\n return\n }\n\n setUploadStatus('uploading')\n try {\n // Attempt client-side fetch\n const clientResponse = await fetch(fileUrl)\n\n if (!clientResponse.ok) {\n throw new Error(`Fetch failed with status: ${clientResponse.status}`)\n }\n\n const blob = await clientResponse.blob()\n const rawSegment = fileUrl.split('/').pop() || ''\n const fileName = uploadControlFileName || decodeURIComponent(rawSegment.split('?')[0])\n const file = new File([blob], fileName, { type: blob.type })\n\n handleFileChange({ file })\n setUploadStatus('idle')\n closeModal(pasteURLDrawerSlug)\n setFileUrl('')\n return // Exit if client-side fetch succeeds\n } catch (_clientError) {\n if (!useServerSideFetch) {\n // If server-side fetch is not enabled, show client-side error\n toast.error('Failed to fetch the file.')\n setUploadStatus('failed')\n return\n }\n }\n\n // Attempt server-side fetch if client-side fetch fails and useServerSideFetch is true\n try {\n const pasteURL: `/${string}` = `/${collectionSlug}/paste-url${id ? `/${id}?` : '?'}src=${encodeURIComponent(fileUrl)}`\n const serverResponse = await fetch(\n formatAdminURL({\n apiRoute: api,\n path: pasteURL,\n }),\n )\n\n if (!serverResponse.ok) {\n throw new Error(`Fetch failed with status: ${serverResponse.status}`)\n }\n\n const blob = await serverResponse.blob()\n const rawSegment = fileUrl.split('/').pop() || ''\n const fileName = decodeURIComponent(rawSegment.split('?')[0])\n const file = new File([blob], fileName, { type: blob.type })\n\n handleFileChange({ file })\n setUploadStatus('idle')\n closeModal(pasteURLDrawerSlug)\n setFileUrl('')\n } catch (_serverError) {\n toast.error('The provided URL is not allowed.')\n setUploadStatus('failed')\n }\n }, [\n api,\n closeModal,\n collectionSlug,\n fileUrl,\n handleFileChange,\n id,\n setUploadStatus,\n uploadConfig,\n uploadControlFileName,\n useServerSideFetch,\n ])\n\n useEffect(() => {\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n setRemovedFile(false)\n }\n }, [initialState])\n\n useEffect(() => {\n return () => {\n if (fileSrc?.startsWith('blob:')) {\n URL.revokeObjectURL(fileSrc)\n }\n }\n }, [fileSrc])\n\n useEffect(() => {\n if (isFormSubmitting) {\n setRemovedFile(false)\n }\n }, [isFormSubmitting])\n\n const canRemoveUpload = docPermissions?.update\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ')\n\n const imageCacheTag = uploadConfig?.cacheTags && data?.updatedAt\n\n useEffect(() => {\n const handleControlFileUrl = async () => {\n if (uploadControlFileUrl) {\n setFileUrl(uploadControlFileUrl)\n await handleUrlSubmit()\n }\n }\n\n void handleControlFileUrl()\n }, [uploadControlFileUrl, handleUrlSubmit])\n\n useEffect(() => {\n const handleControlFile = () => {\n if (uploadControlFile) {\n handleFileChange({ file: uploadControlFile })\n }\n }\n\n void handleControlFile()\n }, [uploadControlFile, handleFileChange])\n\n const drawers = (\n <React.Fragment>\n {(value || data?.filename) && (\n <EditDepthProvider>\n <EditUpload\n fileName={value?.name || data?.filename}\n fileSrc={data?.url || fileSrc}\n imageCacheTag={imageCacheTag}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || data?.focalX || 50,\n y: uploadEdits?.focalPoint?.y || data?.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </EditDepthProvider>\n )}\n {data && hasImageSizes && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: data.filename })}\n >\n <PreviewSizes doc={data} imageCacheTag={imageCacheTag} uploadConfig={uploadConfig} />\n </Drawer>\n )}\n {uploadConfig?.pasteURL !== false && (\n <UploadFromURLModal\n fileUrl={fileUrl}\n handleUrlSubmit={handleUrlSubmit}\n isValidUrl={isValidUrl}\n setFileUrl={setFileUrl}\n />\n )}\n </React.Fragment>\n )\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {data && data.filename && !removedFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={data}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasImageSizes}\n hideRemoveFile={uploadConfig.hideRemoveFile}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n )}\n {((!uploadConfig.hideFileInputOnCreate && !data?.filename) || removedFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && (\n <Dropzone onChange={handleFileSelection}>\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneButtons`}>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n if (inputRef.current) {\n inputRef.current.click()\n }\n }}\n size=\"medium\"\n >\n {t('upload:selectFile')}\n </Button>\n <input\n accept={acceptMimeTypes}\n aria-hidden=\"true\"\n className={`${baseClass}__hidden-input`}\n hidden\n onChange={(e) => {\n if (e.target.files && e.target.files.length > 0) {\n handleFileSelection(e.target.files)\n }\n }}\n ref={inputRef}\n type=\"file\"\n />\n {uploadConfig?.pasteURL !== false && (\n <Fragment>\n <span className={`${baseClass}__orText`}>{t('general:or')}</span>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n openModal(pasteURLDrawerSlug)\n setUploadControlFileUrl('')\n setUploadControlFile(null)\n setUploadControlFileName(null)\n }}\n size=\"medium\"\n >\n {t('upload:pasteURL')}\n </Button>\n </Fragment>\n )}\n\n {UploadControls ? UploadControls : null}\n </div>\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n </Dropzone>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n <TextInput\n label={t('upload:fileName')}\n onChange={handleFileNameChange}\n path=\"filename\"\n value={filename || value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasImageSizes && data?.filename && !removedFile}\n mimeType={value.type}\n />\n </div>\n </React.Fragment>\n )}\n </div>\n )}\n {drawers}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export declare const LanguageMenuContent: React.FC;
3
+ export declare const LanguageMenu: React.FC<{
4
+ readonly onMobileOpen?: () => void;
5
+ }>;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/UserMenu/LanguageMenu/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAsBvC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;CACnC,CAsDA,CAAA"}
@@ -0,0 +1,133 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ import React from 'react';
6
+ import { ChevronIcon } from '../../../icons/Chevron/index.js';
7
+ import { LanguageIcon } from '../../../icons/Language/index.js';
8
+ import { useTranslation } from '../../../providers/Translation/index.js';
9
+ import { Popup, PopupList } from '../../Popup/index.js';
10
+ export const LanguageMenuContent = () => {
11
+ const $ = _c(4);
12
+ const {
13
+ i18n,
14
+ languageOptions,
15
+ switchLanguage
16
+ } = useTranslation();
17
+ let t0;
18
+ if ($[0] !== i18n || $[1] !== languageOptions || $[2] !== switchLanguage) {
19
+ t0 = _jsx("div", {
20
+ "data-popup-prevent-close": true,
21
+ children: _jsx(PopupList.RadioGroup, {
22
+ children: languageOptions?.map(t1 => {
23
+ const {
24
+ label,
25
+ value
26
+ } = t1;
27
+ return _jsx(PopupList.RadioGroupItem, {
28
+ active: i18n.language === value,
29
+ onClick: () => {
30
+ if (switchLanguage) {
31
+ switchLanguage(value);
32
+ }
33
+ },
34
+ children: label
35
+ }, value);
36
+ })
37
+ })
38
+ });
39
+ $[0] = i18n;
40
+ $[1] = languageOptions;
41
+ $[2] = switchLanguage;
42
+ $[3] = t0;
43
+ } else {
44
+ t0 = $[3];
45
+ }
46
+ return t0;
47
+ };
48
+ export const LanguageMenu = t0 => {
49
+ const $ = _c(5);
50
+ const {
51
+ onMobileOpen
52
+ } = t0;
53
+ const {
54
+ t
55
+ } = useTranslation();
56
+ if (onMobileOpen) {
57
+ let t1;
58
+ if ($[0] !== onMobileOpen || $[1] !== t) {
59
+ t1 = _jsxs("button", {
60
+ className: "popup-button-list__button popup-button-list__button--submenu-trigger",
61
+ "data-popup-prevent-close": true,
62
+ onClick: onMobileOpen,
63
+ type: "button",
64
+ children: [_jsx("span", {
65
+ className: "popup-button-list__submenu-icon",
66
+ children: _jsx(LanguageIcon, {
67
+ size: 24
68
+ })
69
+ }), _jsx("span", {
70
+ className: "popup-button-list__label",
71
+ children: t("general:language")
72
+ }), _jsx("span", {
73
+ className: "popup-button-list__chevron",
74
+ children: _jsx(ChevronIcon, {
75
+ direction: "right",
76
+ size: 24
77
+ })
78
+ })]
79
+ });
80
+ $[0] = onMobileOpen;
81
+ $[1] = t;
82
+ $[2] = t1;
83
+ } else {
84
+ t1 = $[2];
85
+ }
86
+ return t1;
87
+ }
88
+ let t1;
89
+ if ($[3] !== t) {
90
+ t1 = _jsx(Popup, {
91
+ renderButton: t2 => {
92
+ const {
93
+ active,
94
+ onClick,
95
+ onKeyDown,
96
+ ...aria
97
+ } = t2;
98
+ return _jsxs("button", {
99
+ ...aria,
100
+ className: ["popup-button-list__button", "popup-button-list__button--submenu-trigger", active && "popup-button-list__button--selected"].filter(Boolean).join(" "),
101
+ onClick,
102
+ onKeyDown,
103
+ type: "button",
104
+ children: [_jsx("span", {
105
+ className: "popup-button-list__submenu-icon",
106
+ children: _jsx(LanguageIcon, {
107
+ size: 24
108
+ })
109
+ }), _jsx("span", {
110
+ className: "popup-button-list__label",
111
+ children: t("general:language")
112
+ }), _jsx("span", {
113
+ className: "popup-button-list__chevron",
114
+ children: _jsx(ChevronIcon, {
115
+ direction: "right",
116
+ size: 16
117
+ })
118
+ })]
119
+ });
120
+ },
121
+ side: "left",
122
+ size: "large",
123
+ theme: "dark",
124
+ children: _jsx(LanguageMenuContent, {})
125
+ });
126
+ $[3] = t;
127
+ $[4] = t1;
128
+ } else {
129
+ t1 = $[4];
130
+ }
131
+ return t1;
132
+ };
133
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","React","ChevronIcon","LanguageIcon","useTranslation","Popup","PopupList","LanguageMenuContent","$","i18n","languageOptions","switchLanguage","t0","_jsx","children","RadioGroup","map","t1","label","value","RadioGroupItem","active","language","onClick","LanguageMenu","onMobileOpen","t","_jsxs","className","type","size","direction","renderButton","t2","onKeyDown","aria","filter","Boolean","join","theme"],"sources":["../../../../src/elements/UserMenu/LanguageMenu/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { LanguageIcon } from '../../../icons/Language/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Popup, PopupList } from '../../Popup/index.js'\n\nexport const LanguageMenuContent: React.FC = () => {\n const { i18n, languageOptions, switchLanguage } = useTranslation()\n\n return (\n <div data-popup-prevent-close>\n <PopupList.RadioGroup>\n {languageOptions?.map(({ label, value }) => (\n <PopupList.RadioGroupItem\n active={i18n.language === value}\n key={value}\n onClick={() => {\n if (switchLanguage) {\n void switchLanguage(value)\n }\n }}\n >\n {label}\n </PopupList.RadioGroupItem>\n ))}\n </PopupList.RadioGroup>\n </div>\n )\n}\n\nexport const LanguageMenu: React.FC<{\n readonly onMobileOpen?: () => void\n}> = ({ onMobileOpen }) => {\n const { t } = useTranslation()\n\n if (onMobileOpen) {\n return (\n <button\n className=\"popup-button-list__button popup-button-list__button--submenu-trigger\"\n data-popup-prevent-close\n onClick={onMobileOpen}\n type=\"button\"\n >\n <span className=\"popup-button-list__submenu-icon\">\n <LanguageIcon size={24} />\n </span>\n <span className=\"popup-button-list__label\">{t('general:language')}</span>\n <span className=\"popup-button-list__chevron\">\n <ChevronIcon direction=\"right\" size={24} />\n </span>\n </button>\n )\n }\n\n return (\n <Popup\n renderButton={({ active, onClick, onKeyDown, ...aria }) => (\n <button\n {...aria}\n className={[\n 'popup-button-list__button',\n 'popup-button-list__button--submenu-trigger',\n active && 'popup-button-list__button--selected',\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={onClick}\n onKeyDown={onKeyDown}\n type=\"button\"\n >\n <span className=\"popup-button-list__submenu-icon\">\n <LanguageIcon size={24} />\n </span>\n <span className=\"popup-button-list__label\">{t('general:language')}</span>\n <span className=\"popup-button-list__chevron\">\n <ChevronIcon direction=\"right\" size={16} />\n </span>\n </button>\n )}\n side=\"left\"\n size=\"large\"\n theme=\"dark\"\n >\n <LanguageMenuContent />\n </Popup>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAElB,SAASC,WAAW,QAAQ;AAC5B,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAC/B,SAASC,KAAK,EAAEC,SAAS,QAAQ;AAEjC,OAAO,MAAMC,mBAAA,GAAgCA,CAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EAC3C;IAAAS,IAAA;IAAAC,eAAA;IAAAC;EAAA,IAAkDP,cAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAJ,CAAA,QAAAC,IAAA,IAAAD,CAAA,QAAAE,eAAA,IAAAF,CAAA,QAAAG,cAAA;IAGhDC,EAAA,GAAAC,IAAA,CAAC;MAAA;MAAAC,QAAA,EACCD,IAAA,CAAAP,SAAA,CAAAS,UAAA;QAAAD,QAAA,EACGJ,eAAA,EAAAM,GAAA,CAAAC,EAAA;UAAsB;YAAAC,KAAA;YAAAC;UAAA,IAAAF,EAAgB;UAAA,OACrCJ,IAAA,CAAAP,SAAA,CAAAc,cAAA;YAAAC,MAAA,EACUZ,IAAA,CAAAa,QAAA,KAAkBH,KAAA;YAAAI,OAAA,EAAAA,CAAA;cAAA,IAGpBZ,cAAA;gBACGA,cAAA,CAAeQ,KAAA;cAAA;YAAA;YAAAL,QAAA,EAIvBI;UAAA,GAPIC,KAAA;QAAA;MAAA,C;;;;;;;;;SALbP,E;CAkBJ;AAEA,OAAO,MAAMY,YAAA,GAERZ,EAAA;EAAA,MAAAJ,CAAA,GAAAR,EAAA;EAAC;IAAAyB;EAAA,IAAAb,EAAgB;EACpB;IAAAc;EAAA,IAActB,cAAA;EAAA,IAEVqB,YAAA;IAAA,IAAAR,EAAA;IAAA,IAAAT,CAAA,QAAAiB,YAAA,IAAAjB,CAAA,QAAAkB,CAAA;MAEAT,EAAA,GAAAU,KAAA,CAAC;QAAAC,SAAA,EACW;QAAA;QAAAL,OAAA,EAEDE,YAAA;QAAAI,IAAA,EACJ;QAAAf,QAAA,GAELD,IAAA,CAAC;UAAAe,SAAA,EAAe;UAAAd,QAAA,EACdD,IAAA,CAAAV,YAAA;YAAA2B,IAAA;UAAA,C;YAEFjB,IAAA,CAAC;UAAAe,SAAA,EAAe;UAAAd,QAAA,EAA4BY,CAAA,CAAE;QAAA,C,GAC9Cb,IAAA,CAAC;UAAAe,SAAA,EAAe;UAAAd,QAAA,EACdD,IAAA,CAAAX,WAAA;YAAA6B,SAAA,EAAuB;YAAAD,IAAA;UAAA,C;;;;;;;;;WAX3Bb,E;;;;IAkBFA,EAAA,GAAAJ,IAAA,CAAAR,KAAA;MAAA2B,YAAA,EAAAC,EAAA;QACiB;UAAAZ,MAAA;UAAAE,OAAA;UAAAW,SAAA;UAAA,GAAAC;QAAA,IAAAF,EAAuC;QAAA,OACpDN,KAAA,CAAC;UAAA,GACKQ,IAAI;UAAAP,SAAA,EACG,CACT,6BACA,8CACAP,MAAA,IAAU,uCAAAe,MAAA,CAAAC,OAEF,EAAAC,IAAA,CACF;UAAAf,OAAA;UAAAW,SAAA;UAAAL,IAAA,EAGH;UAAAf,QAAA,GAELD,IAAA,CAAC;YAAAe,SAAA,EAAe;YAAAd,QAAA,EACdD,IAAA,CAAAV,YAAA;cAAA2B,IAAA;YAAA,C;cAEFjB,IAAA,CAAC;YAAAe,SAAA,EAAe;YAAAd,QAAA,EAA4BY,CAAA,CAAE;UAAA,C,GAC9Cb,IAAA,CAAC;YAAAe,SAAA,EAAe;YAAAd,QAAA,EACdD,IAAA,CAAAX,WAAA;cAAA6B,SAAA,EAAuB;cAAAD,IAAA;YAAA,C;;;;YAIxB;MAAAA,IAAA,EACA;MAAAS,KAAA,EACC;MAAAzB,QAAA,EAEND,IAAA,CAAAN,mBAAA,IAAC;IAAA,C;;;;;;SA5BHU,E;CA+BJ","ignoreList":[]}