@payloadcms/ui 4.0.0-internal.f15737c → 4.0.0-internal.f2a04f7

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 (330) hide show
  1. package/dist/css/preflight.css +21 -2
  2. package/dist/elements/AppHeader/index.css +1 -1
  3. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  4. package/dist/elements/AppHeader/index.js +5 -1
  5. package/dist/elements/AppHeader/index.js.map +1 -1
  6. package/dist/elements/Autosave/index.d.ts.map +1 -1
  7. package/dist/elements/Autosave/index.js +10 -3
  8. package/dist/elements/Autosave/index.js.map +1 -1
  9. package/dist/elements/Button/index.css +24 -0
  10. package/dist/elements/Button/types.d.ts +1 -1
  11. package/dist/elements/Button/types.d.ts.map +1 -1
  12. package/dist/elements/Button/types.js.map +1 -1
  13. package/dist/elements/CloseModalOnRouteChange/index.d.ts.map +1 -1
  14. package/dist/elements/CloseModalOnRouteChange/index.js +27 -19
  15. package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
  16. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  17. package/dist/elements/CodeEditor/CodeEditor.js +5 -0
  18. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  19. package/dist/elements/DatePicker/DatePicker.js +6 -2
  20. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  21. package/dist/elements/DatePicker/index.css +35 -25
  22. package/dist/elements/DocumentControls/index.css +13 -10
  23. package/dist/elements/DocumentControls/index.d.ts +4 -2
  24. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  25. package/dist/elements/DocumentControls/index.js.map +1 -1
  26. package/dist/elements/DocumentDrawer/types.d.ts +1 -5
  27. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  28. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  29. package/dist/elements/DocumentFields/index.css +7 -7
  30. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  31. package/dist/elements/DocumentFields/index.js +1 -2
  32. package/dist/elements/DocumentFields/index.js.map +1 -1
  33. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  34. package/dist/elements/Drawer/types.d.ts +2 -2
  35. package/dist/elements/Drawer/types.d.ts.map +1 -1
  36. package/dist/elements/Drawer/types.js.map +1 -1
  37. package/dist/elements/EditUpload/library.css +6 -13
  38. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  39. package/dist/elements/FileManager/index.d.ts.map +1 -1
  40. package/dist/elements/FileManager/index.js +6 -1
  41. package/dist/elements/FileManager/index.js.map +1 -1
  42. package/dist/elements/Hierarchy/ActionsMenu/index.css +18 -0
  43. package/dist/elements/Hierarchy/ActionsMenu/index.d.ts +35 -0
  44. package/dist/elements/Hierarchy/ActionsMenu/index.d.ts.map +1 -0
  45. package/dist/elements/Hierarchy/ActionsMenu/index.js +99 -0
  46. package/dist/elements/Hierarchy/ActionsMenu/index.js.map +1 -0
  47. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +18 -16
  48. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  49. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +2 -0
  50. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  51. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  52. package/dist/elements/Hierarchy/DocHeaderButton/index.css +12 -0
  53. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  54. package/dist/elements/Hierarchy/DocHeaderButton/index.js +61 -14
  55. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  56. package/dist/elements/Hierarchy/Modal/Footer/index.css +33 -0
  57. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +21 -0
  58. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
  59. package/dist/elements/Hierarchy/Modal/Footer/index.js +122 -0
  60. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
  61. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +8 -3
  62. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  63. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +38 -12
  64. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  65. package/dist/elements/Hierarchy/Modal/index.css +0 -56
  66. package/dist/elements/Hierarchy/Modal/index.d.ts +5 -3
  67. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  68. package/dist/elements/Hierarchy/Modal/index.js +64 -65
  69. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  70. package/dist/elements/Hierarchy/Modal/types.d.ts +2 -0
  71. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
  72. package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
  73. package/dist/elements/Hierarchy/MoveMany/index.d.ts +1 -3
  74. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  75. package/dist/elements/Hierarchy/MoveMany/index.js +62 -84
  76. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  77. package/dist/elements/ListControls/types.d.ts +0 -10
  78. package/dist/elements/ListControls/types.d.ts.map +1 -1
  79. package/dist/elements/ListControls/types.js.map +1 -1
  80. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  81. package/dist/elements/ListDrawer/DrawerContent.js +1 -2
  82. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  83. package/dist/elements/ListDrawer/Provider.d.ts +0 -6
  84. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  85. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  86. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  87. package/dist/elements/ListDrawer/index.js +1 -1
  88. package/dist/elements/ListDrawer/index.js.map +1 -1
  89. package/dist/elements/ListDrawer/types.d.ts +1 -0
  90. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  91. package/dist/elements/ListDrawer/types.js.map +1 -1
  92. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  93. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +24 -20
  94. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  95. package/dist/elements/LivePreview/Window/index.css +7 -1
  96. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  97. package/dist/elements/Nav/NavWrapper/index.js +19 -14
  98. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  99. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  100. package/dist/elements/PublishButton/index.js +71 -8
  101. package/dist/elements/PublishButton/index.js.map +1 -1
  102. package/dist/elements/PublishButton/validateAllLocales.d.ts +11 -0
  103. package/dist/elements/PublishButton/validateAllLocales.d.ts.map +1 -0
  104. package/dist/elements/PublishButton/validateAllLocales.js +263 -0
  105. package/dist/elements/PublishButton/validateAllLocales.js.map +1 -0
  106. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  107. package/dist/elements/RelationshipTable/AddNewButton.js +3 -0
  108. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  109. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  110. package/dist/elements/SaveDraftButton/index.js +15 -2
  111. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  112. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  113. package/dist/elements/SegmentedControl/index.css +50 -7
  114. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  115. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  116. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +0 -9
  117. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  118. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +63 -40
  119. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  120. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  121. package/dist/elements/Table/DefaultCell/index.js +6 -1
  122. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  123. package/dist/elements/Table/index.js.map +1 -1
  124. package/dist/elements/Tabs/index.css +4 -3
  125. package/dist/elements/Upload/getEditorFileSrc.d.ts +11 -0
  126. package/dist/elements/Upload/getEditorFileSrc.d.ts.map +1 -0
  127. package/dist/elements/Upload/getEditorFileSrc.js +6 -0
  128. package/dist/elements/Upload/getEditorFileSrc.js.map +1 -0
  129. package/dist/elements/Upload/index.d.ts.map +1 -1
  130. package/dist/elements/Upload/index.js +6 -1
  131. package/dist/elements/Upload/index.js.map +1 -1
  132. package/dist/exports/client/{CodeEditor-UKD3EPUY.js → CodeEditor-I6PL55BF.js} +2 -2
  133. package/dist/exports/client/{DatePicker-POZJVQP4.js → DatePicker-XAKGIULG.js} +2 -2
  134. package/dist/exports/client/{chunk-2AY67NFV.js → chunk-36JJSMEB.js} +2 -2
  135. package/dist/exports/client/chunk-36JJSMEB.js.map +7 -0
  136. package/dist/exports/client/chunk-R7M6BG75.js +27 -0
  137. package/dist/exports/client/chunk-R7M6BG75.js.map +7 -0
  138. package/dist/exports/client/index.d.ts +3 -0
  139. package/dist/exports/client/index.d.ts.map +1 -1
  140. package/dist/exports/client/index.js +27 -27
  141. package/dist/exports/client/index.js.map +4 -4
  142. package/dist/exports/shared/index.js +2 -2
  143. package/dist/exports/shared/index.js.map +3 -3
  144. package/dist/fields/Group/index.css +3 -5
  145. package/dist/fields/Tabs/index.css +14 -14
  146. package/dist/fields/Upload/Input.d.ts.map +1 -1
  147. package/dist/fields/Upload/Input.js +3 -1
  148. package/dist/fields/Upload/Input.js.map +1 -1
  149. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  150. package/dist/forms/Form/fieldReducer.js +6 -9
  151. package/dist/forms/Form/fieldReducer.js.map +1 -1
  152. package/dist/forms/Form/index.d.ts.map +1 -1
  153. package/dist/forms/Form/index.js +0 -1
  154. package/dist/forms/Form/index.js.map +1 -1
  155. package/dist/forms/Form/types.d.ts +0 -5
  156. package/dist/forms/Form/types.d.ts.map +1 -1
  157. package/dist/forms/Form/types.js.map +1 -1
  158. package/dist/forms/RenderFields/index.css +2 -2
  159. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +2 -2
  160. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  161. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  162. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -2
  163. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  164. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  165. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -2
  166. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  167. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  168. package/dist/forms/fieldSchemasToFormState/types.d.ts +2 -2
  169. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  170. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  171. package/dist/forms/useField/types.d.ts +0 -4
  172. package/dist/forms/useField/types.d.ts.map +1 -1
  173. package/dist/forms/useField/types.js.map +1 -1
  174. package/dist/icons/Arrow/index.d.ts +1 -1
  175. package/dist/icons/Arrow/index.d.ts.map +1 -1
  176. package/dist/icons/Arrow/index.js +7 -1
  177. package/dist/icons/Arrow/index.js.map +1 -1
  178. package/dist/icons/Clock/index.d.ts +6 -0
  179. package/dist/icons/Clock/index.d.ts.map +1 -0
  180. package/dist/icons/Clock/index.js +18 -0
  181. package/dist/icons/Clock/index.js.map +1 -0
  182. package/dist/icons/Pin/index.d.ts +7 -0
  183. package/dist/icons/Pin/index.d.ts.map +1 -0
  184. package/dist/icons/Pin/index.js +23 -0
  185. package/dist/icons/Pin/index.js.map +1 -0
  186. package/dist/icons/Sidebar/index.d.ts.map +1 -1
  187. package/dist/icons/Sidebar/index.js +2 -0
  188. package/dist/icons/Sidebar/index.js.map +1 -1
  189. package/dist/icons/Table/index.css +5 -1
  190. package/dist/layouts/Root/getRootLayoutData.d.ts +2 -2
  191. package/dist/layouts/Root/getRootLayoutData.d.ts.map +1 -1
  192. package/dist/layouts/Root/getRootLayoutData.js +8 -4
  193. package/dist/layouts/Root/getRootLayoutData.js.map +1 -1
  194. package/dist/layouts/Root/index.d.ts +1 -1
  195. package/dist/layouts/Root/index.d.ts.map +1 -1
  196. package/dist/layouts/Root/index.js +5 -20
  197. package/dist/layouts/Root/index.js.map +1 -1
  198. package/dist/providers/ListQuery/types.d.ts +0 -4
  199. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  200. package/dist/providers/ListQuery/types.js.map +1 -1
  201. package/dist/providers/RouteCache/index.d.ts.map +1 -1
  202. package/dist/providers/RouteCache/index.js +37 -25
  203. package/dist/providers/RouteCache/index.js.map +1 -1
  204. package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
  205. package/dist/providers/TableColumns/RenderDefaultCell/index.js +1 -2
  206. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  207. package/dist/providers/TableColumns/types.d.ts +1 -34
  208. package/dist/providers/TableColumns/types.d.ts.map +1 -1
  209. package/dist/providers/TableColumns/types.js.map +1 -1
  210. package/dist/styles.css +22 -3
  211. package/dist/templates/Default/index.css +0 -1
  212. package/dist/utilities/appendCacheTag.d.ts +1 -0
  213. package/dist/utilities/appendCacheTag.d.ts.map +1 -1
  214. package/dist/utilities/appendCacheTag.js +2 -1
  215. package/dist/utilities/appendCacheTag.js.map +1 -1
  216. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
  217. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +32 -6
  218. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  219. package/dist/utilities/getDisplayedFieldValue.d.ts +8 -2
  220. package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
  221. package/dist/utilities/getDisplayedFieldValue.js +11 -1
  222. package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
  223. package/dist/utilities/getDocumentThumbnail.d.ts +6 -0
  224. package/dist/utilities/getDocumentThumbnail.d.ts.map +1 -0
  225. package/dist/utilities/getDocumentThumbnail.js +27 -0
  226. package/dist/utilities/getDocumentThumbnail.js.map +1 -0
  227. package/dist/utilities/getDocumentThumbnailPopulate.d.ts +7 -0
  228. package/dist/utilities/getDocumentThumbnailPopulate.d.ts.map +1 -0
  229. package/dist/utilities/getDocumentThumbnailPopulate.js +23 -0
  230. package/dist/utilities/getDocumentThumbnailPopulate.js.map +1 -0
  231. package/dist/utilities/getDocumentThumbnailSelect.d.ts +7 -0
  232. package/dist/utilities/getDocumentThumbnailSelect.d.ts.map +1 -0
  233. package/dist/utilities/getDocumentThumbnailSelect.js +24 -0
  234. package/dist/utilities/getDocumentThumbnailSelect.js.map +1 -0
  235. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  236. package/dist/utilities/handleLivePreview.js.map +1 -1
  237. package/dist/utilities/hasSavePermission.js.map +1 -1
  238. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  239. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  240. package/dist/utilities/serverFunctionRegistry.js +2 -0
  241. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  242. package/dist/utilities/traverseForLocalizedFields.d.ts +7 -2
  243. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  244. package/dist/utilities/traverseForLocalizedFields.js +22 -8
  245. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  246. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  247. package/dist/views/CreateFirstUser/index.js +4 -2
  248. package/dist/views/CreateFirstUser/index.js.map +1 -1
  249. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  250. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +30 -21
  251. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  252. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts +1 -1
  253. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
  254. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +16 -4
  255. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  256. package/dist/views/Edit/index.css +26 -0
  257. package/dist/views/Edit/index.d.ts.map +1 -1
  258. package/dist/views/Edit/index.js +1 -1
  259. package/dist/views/Edit/index.js.map +1 -1
  260. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  261. package/dist/views/HierarchyList/DocumentListSelection/index.js +0 -1
  262. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  263. package/dist/views/List/DocumentGrid/index.d.ts.map +1 -1
  264. package/dist/views/List/DocumentGrid/index.js +2 -37
  265. package/dist/views/List/DocumentGrid/index.js.map +1 -1
  266. package/dist/views/List/enrichDocsWithVersionStatus.d.ts.map +1 -1
  267. package/dist/views/List/enrichDocsWithVersionStatus.js +3 -1
  268. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  269. package/dist/views/List/index.d.ts.map +1 -1
  270. package/dist/views/List/index.js +11 -24
  271. package/dist/views/List/index.js.map +1 -1
  272. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +2 -12
  273. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  274. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +2 -2
  275. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  276. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +2 -2
  277. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  278. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +2 -2
  279. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  280. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +2 -2
  281. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  282. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +2 -2
  283. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  284. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +2 -2
  285. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  286. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  287. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +2 -2
  288. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  289. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +8 -8
  290. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  291. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +2 -2
  292. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  293. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -1
  294. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +2 -2
  295. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  296. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -1
  297. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +31 -5
  298. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -1
  299. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.css +41 -0
  300. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts +19 -0
  301. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts.map +1 -0
  302. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js +121 -0
  303. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js.map +1 -0
  304. package/dist/widgets/RecentlyViewed/getDocuments.d.ts +20 -0
  305. package/dist/widgets/RecentlyViewed/getDocuments.d.ts.map +1 -0
  306. package/dist/widgets/RecentlyViewed/getDocuments.js +254 -0
  307. package/dist/widgets/RecentlyViewed/getDocuments.js.map +1 -0
  308. package/dist/widgets/RecentlyViewed/index.client.d.ts +41 -0
  309. package/dist/widgets/RecentlyViewed/index.client.d.ts.map +1 -0
  310. package/dist/widgets/RecentlyViewed/index.client.js +409 -0
  311. package/dist/widgets/RecentlyViewed/index.client.js.map +1 -0
  312. package/dist/widgets/RecentlyViewed/index.css +352 -0
  313. package/dist/widgets/RecentlyViewed/index.d.ts +1 -1
  314. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -1
  315. package/dist/widgets/RecentlyViewed/index.js +33 -134
  316. package/dist/widgets/RecentlyViewed/index.js.map +1 -1
  317. package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts +18 -0
  318. package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts.map +1 -0
  319. package/dist/widgets/RecentlyViewed/pinnedPreferences.js +81 -0
  320. package/dist/widgets/RecentlyViewed/pinnedPreferences.js.map +1 -0
  321. package/dist/widgets/RecentlyViewed/recents.d.ts +8 -0
  322. package/dist/widgets/RecentlyViewed/recents.d.ts.map +1 -0
  323. package/dist/widgets/RecentlyViewed/recents.js +19 -0
  324. package/dist/widgets/RecentlyViewed/recents.js.map +1 -0
  325. package/package.json +16 -16
  326. package/dist/exports/client/chunk-2AY67NFV.js.map +0 -7
  327. package/dist/exports/client/chunk-6XCSN54Q.js +0 -27
  328. package/dist/exports/client/chunk-6XCSN54Q.js.map +0 -7
  329. /package/dist/exports/client/{CodeEditor-UKD3EPUY.js.map → CodeEditor-I6PL55BF.js.map} +0 -0
  330. /package/dist/exports/client/{DatePicker-POZJVQP4.js.map → DatePicker-XAKGIULG.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["VersionsPill","documentViewKeys","getTabs","collectionConfig","globalConfig","customViews","admin","components","views","edit","tab","href","label","t","order","viewPath","condition","permissions","Boolean","versions","collections","slug","readVersions","globals","Pill_Component","concat","Object","entries","reduce","acc","key","value","includes","push","path","sort","a","b","undefined"],"sources":["../../../../../src/elements/DocumentHeader/Tabs/tabs/index.tsx"],"sourcesContent":["import type { DocumentTabConfig, SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary\nimport { VersionsPill } from '../../../../exports/client/index.js'\n\nexport const documentViewKeys = ['api', 'default', 'livePreview', 'versions']\n\nexport type DocumentViewKey = (typeof documentViewKeys)[number]\n\nexport const getTabs = ({\n collectionConfig,\n globalConfig,\n}: {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n}): { tab: DocumentTabConfig; viewPath: string }[] => {\n const customViews =\n collectionConfig?.admin?.components?.views?.edit ||\n globalConfig?.admin?.components?.views?.edit ||\n {}\n\n return [\n {\n tab: {\n href: '',\n label: ({ t }) => t('general:edit'),\n order: 100,\n ...(customViews?.['default']?.tab || {}),\n },\n viewPath: '/',\n },\n {\n tab: {\n condition: ({ collectionConfig, globalConfig, permissions }) =>\n Boolean(\n (collectionConfig?.versions &&\n permissions?.collections?.[collectionConfig?.slug]?.readVersions) ||\n (globalConfig?.versions && permissions?.globals?.[globalConfig?.slug]?.readVersions),\n ),\n href: '/versions',\n label: ({ t }) => t('version:versions'),\n order: 300,\n Pill_Component: VersionsPill,\n ...(customViews?.['versions']?.tab || {}),\n },\n viewPath: '/versions',\n },\n {\n tab: {\n href: '/api',\n label: 'API',\n order: 400,\n ...(customViews?.['api']?.tab || {}),\n },\n viewPath: '/api',\n },\n ]\n .concat(\n Object.entries(customViews).reduce((acc, [key, value]) => {\n if (documentViewKeys.includes(key)) {\n return acc\n }\n\n if (value?.tab) {\n acc.push({\n tab: value.tab,\n viewPath: 'path' in value ? value.path : '',\n })\n }\n\n return acc\n }, []),\n )\n ?.sort(({ tab: a }, { tab: b }) => {\n if (a.order === undefined && b.order === undefined) {\n return 0\n } else if (a.order === undefined) {\n return 1\n } else if (b.order === undefined) {\n return -1\n }\n\n return a.order - b.order\n })\n}\n"],"mappings":"AAEA;AACA,SAASA,YAAY,QAAQ;AAE7B,OAAO,MAAMC,gBAAA,GAAmB,CAAC,OAAO,WAAW,eAAe,WAAW;AAI7E,OAAO,MAAMC,OAAA,GAAUA,CAAC;EACtBC,gBAAgB;EAChBC;AAAY,CAIb;EACC,MAAMC,WAAA,GACJF,gBAAA,EAAkBG,KAAA,EAAOC,UAAA,EAAYC,KAAA,EAAOC,IAAA,IAC5CL,YAAA,EAAcE,KAAA,EAAOC,UAAA,EAAYC,KAAA,EAAOC,IAAA,IACxC,CAAC;EAEH,OAAO,CACL;IACEC,GAAA,EAAK;MACHC,IAAA,EAAM;MACNC,KAAA,EAAOA,CAAC;QAAEC;MAAC,CAAE,KAAKA,CAAA,CAAE;MACpBC,KAAA,EAAO;MACP,IAAIT,WAAA,GAAc,UAAU,EAAEK,GAAA,IAAO,CAAC,CAAC;IACzC;IACAK,QAAA,EAAU;EACZ,GACA;IACEL,GAAA,EAAK;MACHM,SAAA,EAAWA,CAAC;QAAEb,gBAAgB;QAAEC,YAAY;QAAEa;MAAW,CAAE,KACzDC,OAAA,CACEf,gBAAC,EAAkBgB,QAAA,IACjBF,WAAA,EAAaG,WAAA,GAAcjB,gBAAA,EAAkBkB,IAAA,CAAK,EAAEC,YAAA,IACnDlB,YAAA,EAAce,QAAA,IAAYF,WAAA,EAAaM,OAAA,GAAUnB,YAAA,EAAciB,IAAA,CAAK,EAAEC,YAAA;MAE7EX,IAAA,EAAM;MACNC,KAAA,EAAOA,CAAC;QAAEC;MAAC,CAAE,KAAKA,CAAA,CAAE;MACpBC,KAAA,EAAO;MACPU,cAAA,EAAgBxB,YAAA;MAChB,IAAIK,WAAA,GAAc,WAAW,EAAEK,GAAA,IAAO,CAAC,CAAC;IAC1C;IACAK,QAAA,EAAU;EACZ,GACA;IACEL,GAAA,EAAK;MACHC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPE,KAAA,EAAO;MACP,IAAIT,WAAA,GAAc,MAAM,EAAEK,GAAA,IAAO,CAAC,CAAC;IACrC;IACAK,QAAA,EAAU;EACZ,EACD,CACEU,MAAM,CACLC,MAAA,CAAOC,OAAO,CAACtB,WAAA,EAAauB,MAAM,CAAC,CAACC,GAAA,EAAK,CAACC,GAAA,EAAKC,KAAA,CAAM;IACnD,IAAI9B,gBAAA,CAAiB+B,QAAQ,CAACF,GAAA,GAAM;MAClC,OAAOD,GAAA;IACT;IAEA,IAAIE,KAAA,EAAOrB,GAAA,EAAK;MACdmB,GAAA,CAAII,IAAI,CAAC;QACPvB,GAAA,EAAKqB,KAAA,CAAMrB,GAAG;QACdK,QAAA,EAAU,UAAUgB,KAAA,GAAQA,KAAA,CAAMG,IAAI,GAAG;MAC3C;IACF;IAEA,OAAOL,GAAA;EACT,GAAG,EAAE,IAELM,IAAA,CAAK,CAAC;IAAEzB,GAAA,EAAK0B;EAAC,CAAE,EAAE;IAAE1B,GAAA,EAAK2B;EAAC,CAAE;IAC5B,IAAID,CAAA,CAAEtB,KAAK,KAAKwB,SAAA,IAAaD,CAAA,CAAEvB,KAAK,KAAKwB,SAAA,EAAW;MAClD,OAAO;IACT,OAAO,IAAIF,CAAA,CAAEtB,KAAK,KAAKwB,SAAA,EAAW;MAChC,OAAO;IACT,OAAO,IAAID,CAAA,CAAEvB,KAAK,KAAKwB,SAAA,EAAW;MAChC,OAAO,CAAC;IACV;IAEA,OAAOF,CAAA,CAAEtB,KAAK,GAAGuB,CAAA,CAAEvB,KAAK;EAC1B;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["VersionsPill","documentViewKeys","getTabs","collectionConfig","globalConfig","customViews","admin","components","views","edit","tab","href","label","t","order","viewPath","condition","permissions","Boolean","versions","collections","slug","readVersions","globals","Pill_Component","concat","Object","entries","reduce","acc","key","value","includes","push","path","sort","a","b","undefined"],"sources":["../../../../../src/elements/DocumentHeader/Tabs/tabs/index.tsx"],"sourcesContent":["import type { DocumentTabConfig, SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary\nimport { VersionsPill } from '../../../../exports/client/index.js'\n\nexport const documentViewKeys = ['api', 'default', 'livePreview', 'versions']\n\nexport type DocumentViewKey = (typeof documentViewKeys)[number]\n\nexport const getTabs = ({\n collectionConfig,\n globalConfig,\n}: {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n}): { tab: DocumentTabConfig; viewPath: string }[] => {\n const customViews =\n collectionConfig?.admin?.components?.views?.edit ||\n globalConfig?.admin?.components?.views?.edit ||\n {}\n\n return [\n {\n tab: {\n href: '',\n label: ({ t }) => t('general:edit'),\n order: 100,\n ...(customViews?.['default']?.tab || {}),\n },\n viewPath: '/',\n },\n {\n tab: {\n condition: ({ collectionConfig, globalConfig, permissions }) =>\n Boolean(\n (collectionConfig?.versions &&\n permissions?.collections?.[collectionConfig?.slug]?.readVersions) ||\n (globalConfig?.versions && permissions?.globals?.[globalConfig?.slug]?.readVersions),\n ),\n href: '/versions',\n label: ({ t }) => t('version:versions'),\n order: 300,\n Pill_Component: VersionsPill,\n ...(customViews?.['versions']?.tab || {}),\n },\n viewPath: '/versions',\n },\n {\n tab: {\n href: '/api',\n label: 'API',\n order: 400,\n ...(customViews?.['api']?.tab || {}),\n },\n viewPath: '/api',\n },\n ]\n .concat(\n Object.entries(customViews).reduce((acc, [key, value]) => {\n if (documentViewKeys.includes(key)) {\n return acc\n }\n\n if (value?.tab) {\n acc.push({\n tab: value.tab,\n viewPath: 'path' in value ? value.path : '',\n })\n }\n\n return acc\n }, []),\n )\n ?.sort(({ tab: a }, { tab: b }) => {\n if (a.order === undefined && b.order === undefined) {\n return 0\n } else if (a.order === undefined) {\n return 1\n } else if (b.order === undefined) {\n return -1\n }\n\n return a.order - b.order\n })\n}\n"],"mappings":"AAEA;AACA,SAASA,YAAY,QAAQ;AAE7B,OAAO,MAAMC,gBAAA,GAAmB,CAAC,OAAO,WAAW,eAAe,WAAW;AAI7E,OAAO,MAAMC,OAAA,GAAUA,CAAC;EACtBC,gBAAgB;EAChBC;AAAY,CAIb;EACC,MAAMC,WAAA,GACJF,gBAAA,EAAkBG,KAAA,EAAOC,UAAA,EAAYC,KAAA,EAAOC,IAAA,IAC5CL,YAAA,EAAcE,KAAA,EAAOC,UAAA,EAAYC,KAAA,EAAOC,IAAA,IACxC,CAAC;EAEH,OAAO,CACL;IACEC,GAAA,EAAK;MACHC,IAAA,EAAM;MACNC,KAAA,EAAOA,CAAC;QAAEC;MAAC,CAAE,KAAKA,CAAA,CAAE;MACpBC,KAAA,EAAO;MACP,IAAIT,WAAA,GAAc,UAAU,EAAEK,GAAA,IAAO,CAAC,CAAC;IACzC;IACAK,QAAA,EAAU;EACZ,GACA;IACEL,GAAA,EAAK;MACHM,SAAA,EAAWA,CAAC;QAAEb,gBAAgB;QAAEC,YAAY;QAAEa;MAAW,CAAE,KACzDC,OAAA,CACEf,gBAAC,EAAkBgB,QAAA,IACjBF,WAAA,EAAaG,WAAA,GAAcjB,gBAAA,EAAkBkB,IAAA,CAAK,EAAEC,YAAA,IACrDlB,YAAA,EAAce,QAAA,IAAYF,WAAA,EAAaM,OAAA,GAAUnB,YAAA,EAAciB,IAAA,CAAK,EAAEC,YAAA;MAE3EX,IAAA,EAAM;MACNC,KAAA,EAAOA,CAAC;QAAEC;MAAC,CAAE,KAAKA,CAAA,CAAE;MACpBC,KAAA,EAAO;MACPU,cAAA,EAAgBxB,YAAA;MAChB,IAAIK,WAAA,GAAc,WAAW,EAAEK,GAAA,IAAO,CAAC,CAAC;IAC1C;IACAK,QAAA,EAAU;EACZ,GACA;IACEL,GAAA,EAAK;MACHC,IAAA,EAAM;MACNC,KAAA,EAAO;MACPE,KAAA,EAAO;MACP,IAAIT,WAAA,GAAc,MAAM,EAAEK,GAAA,IAAO,CAAC,CAAC;IACrC;IACAK,QAAA,EAAU;EACZ,EACD,CACEU,MAAM,CACLC,MAAA,CAAOC,OAAO,CAACtB,WAAA,EAAauB,MAAM,CAAC,CAACC,GAAA,EAAK,CAACC,GAAA,EAAKC,KAAA,CAAM;IACnD,IAAI9B,gBAAA,CAAiB+B,QAAQ,CAACF,GAAA,GAAM;MAClC,OAAOD,GAAA;IACT;IAEA,IAAIE,KAAA,EAAOrB,GAAA,EAAK;MACdmB,GAAA,CAAII,IAAI,CAAC;QACPvB,GAAA,EAAKqB,KAAA,CAAMrB,GAAG;QACdK,QAAA,EAAU,UAAUgB,KAAA,GAAQA,KAAA,CAAMG,IAAI,GAAG;MAC3C;IACF;IAEA,OAAOL,GAAA;EACT,GAAG,EAAE,IAELM,IAAA,CAAK,CAAC;IAAEzB,GAAA,EAAK0B;EAAC,CAAE,EAAE;IAAE1B,GAAA,EAAK2B;EAAC,CAAE;IAC5B,IAAID,CAAA,CAAEtB,KAAK,KAAKwB,SAAA,IAAaD,CAAA,CAAEvB,KAAK,KAAKwB,SAAA,EAAW;MAClD,OAAO;IACT,OAAO,IAAIF,CAAA,CAAEtB,KAAK,KAAKwB,SAAA,EAAW;MAChC,OAAO;IACT,OAAO,IAAID,CAAA,CAAEvB,KAAK,KAAKwB,SAAA,EAAW;MAChC,OAAO,CAAC;IACV;IAEA,OAAOF,CAAA,CAAEtB,KAAK,GAAGuB,CAAA,CAAEvB,KAAK;EAC1B;AACJ","ignoreList":[]}
@@ -3,7 +3,7 @@ export type DrawerHeaderAction = {
3
3
  readonly disabled?: boolean;
4
4
  readonly label: string;
5
5
  readonly onClick: () => void;
6
- readonly style?: 'dashed' | 'destructive' | 'ghost' | 'link' | 'pill' | 'primary' | 'secondary';
6
+ readonly style?: 'dashed' | 'destructive' | 'ghost' | 'link' | 'pill' | 'primary' | 'primary-ghost' | 'secondary';
7
7
  };
8
8
  export type Props = {
9
9
  readonly children: React.ReactNode;
@@ -15,7 +15,7 @@ export type Props = {
15
15
  readonly title?: string;
16
16
  };
17
17
  export type TogglerProps = {
18
- buttonStyle?: 'dashed' | 'destructive' | 'ghost' | 'link' | 'pill' | 'primary' | 'secondary';
18
+ buttonStyle?: 'dashed' | 'destructive' | 'ghost' | 'link' | 'pill' | 'primary' | 'primary-ghost' | 'secondary';
19
19
  children: React.ReactNode;
20
20
  className?: string;
21
21
  disabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/Drawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,CAAA;CAChG,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAA;IAC1D,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,CAAA;IAC5F,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/Drawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EACX,QAAQ,GACR,aAAa,GACb,OAAO,GACP,MAAM,GACN,MAAM,GACN,SAAS,GACT,eAAe,GACf,WAAW,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAA;IAC1D,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,CAAC,EACR,QAAQ,GACR,aAAa,GACb,OAAO,GACP,MAAM,GACN,MAAM,GACN,SAAS,GACT,eAAe,GACf,WAAW,CAAA;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/Drawer/types.ts"],"sourcesContent":["import type { HTMLAttributes } from 'react'\n\nexport type DrawerHeaderAction = {\n readonly disabled?: boolean\n readonly label: string\n readonly onClick: () => void\n readonly style?: 'dashed' | 'destructive' | 'ghost' | 'link' | 'pill' | 'primary' | 'secondary'\n}\n\nexport type Props = {\n readonly children: React.ReactNode\n readonly className?: string\n readonly Header?: React.ReactNode\n readonly headerActions?: ReadonlyArray<DrawerHeaderAction>\n readonly hoverTitle?: boolean\n readonly slug: string\n readonly title?: string\n}\n\nexport type TogglerProps = {\n buttonStyle?: 'dashed' | 'destructive' | 'ghost' | 'link' | 'pill' | 'primary' | 'secondary'\n children: React.ReactNode\n className?: string\n disabled?: boolean\n extraButtonProps?: Record<string, any>\n slug: string\n tooltip?: string\n} & HTMLAttributes<HTMLButtonElement>\n"],"mappings":"AAmBA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/Drawer/types.ts"],"sourcesContent":["import type { HTMLAttributes } from 'react'\n\nexport type DrawerHeaderAction = {\n readonly disabled?: boolean\n readonly label: string\n readonly onClick: () => void\n readonly style?:\n | 'dashed'\n | 'destructive'\n | 'ghost'\n | 'link'\n | 'pill'\n | 'primary'\n | 'primary-ghost'\n | 'secondary'\n}\n\nexport type Props = {\n readonly children: React.ReactNode\n readonly className?: string\n readonly Header?: React.ReactNode\n readonly headerActions?: ReadonlyArray<DrawerHeaderAction>\n readonly hoverTitle?: boolean\n readonly slug: string\n readonly title?: string\n}\n\nexport type TogglerProps = {\n buttonStyle?:\n | 'dashed'\n | 'destructive'\n | 'ghost'\n | 'link'\n | 'pill'\n | 'primary'\n | 'primary-ghost'\n | 'secondary'\n children: React.ReactNode\n className?: string\n disabled?: boolean\n extraButtonProps?: Record<string, any>\n slug: string\n tooltip?: string\n} & HTMLAttributes<HTMLButtonElement>\n"],"mappings":"AA2BA","ignoreList":[]}
@@ -88,10 +88,9 @@
88
88
  border-radius: 50%;
89
89
  }
90
90
 
91
- .ReactCrop__crop-selection:focus {
92
- outline: none;
93
- border-color: var(--color-border-selected);
94
- border-style: solid;
91
+ .ReactCrop__crop-selection:focus-visible {
92
+ outline: var(--stroke-width-medium) solid var(--color-border-selected);
93
+ outline-offset: calc(var(--stroke-width-medium) * -1);
95
94
  }
96
95
 
97
96
  .ReactCrop--invisible-crop .ReactCrop__crop-selection {
@@ -148,15 +147,9 @@
148
147
  outline: 1px solid transparent;
149
148
  }
150
149
 
151
- .ReactCrop__drag-handle:focus:after {
152
- border-color: var(--color-border-selected-strong);
153
- }
154
-
155
- .ReactCrop .ord-n:focus:after,
156
- .ReactCrop .ord-e:focus:after,
157
- .ReactCrop .ord-s:focus:after,
158
- .ReactCrop .ord-w:focus:after {
159
- background-color: var(--color-border-selected-strong);
150
+ .ReactCrop .ReactCrop__drag-handle:focus-visible:after {
151
+ outline: var(--stroke-width-medium) solid var(--color-border-selected-strong);
152
+ outline-offset: var(--stroke-width-small);
160
153
  }
161
154
 
162
155
  .ReactCrop .ord-nw {
@@ -1 +1 @@
1
- {"version":3,"file":"reduceFieldOptions.js","names":["getTranslation","fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","getFieldPermissions","isFieldDisabled","toWords","createNestedClientFieldPath","combineFieldLabel","getPlainTextFieldLabel","field","i18n","label","name","ignoreFromBulkEdit","Boolean","type","unique","readOnly","reduceFieldOptions","fields","formState","labelPrefix","parentPath","path","permissions","plainTextLabelPrefix","CustomLabel","customComponents","Label","reduce","fieldsToUse","operation","hasOperationPermission","fieldPermissions","read","hasReadPermission","parentName","includes","split","length","fieldHasLabel","fieldPlainTextLabel","prefix","filter","join","tabs","tabFields","tab","isNamedTab","namedTabPermissions","undefined","tabPermissions","formattedField","plainTextLabel","value"],"sources":["../../../src/elements/FieldSelect/reduceFieldOptions.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ClientField, FormState, SanitizedFieldPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsHiddenOrDisabled,\n getFieldPermissions,\n isFieldDisabled,\n toWords,\n} from 'payload/shared'\n\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { combineFieldLabel } from '../../utilities/combineFieldLabel.js'\n\nexport type SelectedField = {\n field: ClientField\n fieldPermissions: SanitizedFieldPermissions\n path: string\n}\n\nexport type FieldOption = {\n label: React.ReactNode\n plainTextLabel: string\n value: SelectedField\n}\n\nconst getPlainTextFieldLabel = (field: ClientField, i18n?: I18nClient): string => {\n if ('label' in field && field.label) {\n if (typeof field.label === 'string') {\n return field.label\n }\n\n if (i18n) {\n return getTranslation(field.label, i18n)\n }\n }\n\n return 'name' in field && field.name ? toWords(field.name) : ''\n}\n\nexport const ignoreFromBulkEdit = (field: ClientField): boolean =>\n Boolean(\n (fieldAffectsData(field) || field.type === 'ui') &&\n (isFieldDisabled(field, 'bulkEdit') ||\n field.unique ||\n fieldIsHiddenOrDisabled(field) ||\n ('readOnly' in field && field.readOnly)),\n )\n\nexport const reduceFieldOptions = ({\n fields,\n formState,\n i18n,\n labelPrefix = null,\n parentPath = '',\n path = '',\n permissions,\n plainTextLabelPrefix = '',\n}: {\n readonly fields: ClientField[]\n readonly formState?: FormState\n readonly i18n?: I18nClient\n readonly labelPrefix?: React.ReactNode\n readonly parentPath?: string\n readonly path?: string\n readonly permissions:\n | {\n [fieldName: string]: SanitizedFieldPermissions\n }\n | SanitizedFieldPermissions\n readonly plainTextLabelPrefix?: string\n}): FieldOption[] => {\n if (!fields) {\n return []\n }\n\n const CustomLabel = formState?.[path]?.customComponents?.Label\n\n return fields?.reduce((fieldsToUse, field) => {\n const {\n operation: hasOperationPermission,\n permissions: fieldPermissions,\n read: hasReadPermission,\n } = getFieldPermissions({\n field,\n operation: 'update',\n parentName: parentPath?.includes('.')\n ? parentPath.split('.')[parentPath.split('.').length - 1]\n : parentPath,\n permissions,\n })\n\n // escape for a variety of reasons, include ui fields as they have `name`.\n if (\n (fieldAffectsData(field) || field.type === 'ui') &&\n (isFieldDisabled(field, 'bulkEdit') ||\n field.unique ||\n fieldIsHiddenOrDisabled(field) ||\n ('readOnly' in field && field.readOnly) ||\n !hasOperationPermission ||\n !hasReadPermission)\n ) {\n return fieldsToUse\n }\n\n if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {\n const fieldHasLabel = 'label' in field && field.label\n const fieldPlainTextLabel = getPlainTextFieldLabel(field, i18n)\n return [\n ...fieldsToUse,\n ...reduceFieldOptions({\n fields: field.fields,\n i18n,\n labelPrefix: fieldHasLabel\n ? combineFieldLabel({ CustomLabel, field, prefix: labelPrefix })\n : labelPrefix,\n parentPath: path,\n path: createNestedClientFieldPath(path, field),\n permissions: fieldPermissions,\n plainTextLabelPrefix: fieldHasLabel\n ? [plainTextLabelPrefix, fieldPlainTextLabel].filter(Boolean).join(' > ')\n : plainTextLabelPrefix,\n }),\n ]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...fieldsToUse,\n ...field.tabs.reduce((tabFields, tab) => {\n if ('fields' in tab) {\n const isNamedTab = 'name' in tab && tab.name\n\n const namedTabPermissions =\n isNamedTab && fieldPermissions && fieldPermissions !== true\n ? fieldPermissions[tab.name]\n : undefined\n\n const tabPermissions = isNamedTab\n ? namedTabPermissions === true\n ? true\n : (namedTabPermissions?.fields ?? fieldPermissions)\n : fieldPermissions\n\n return [\n ...tabFields,\n ...reduceFieldOptions({\n fields: tab.fields,\n i18n,\n labelPrefix,\n parentPath: path,\n path: isNamedTab ? createNestedClientFieldPath(path, tab as ClientField) : path,\n permissions: tabPermissions,\n plainTextLabelPrefix,\n }),\n ]\n }\n }, []),\n ]\n }\n\n const formattedField: FieldOption = {\n label: combineFieldLabel({ CustomLabel, field, prefix: labelPrefix }),\n plainTextLabel: [plainTextLabelPrefix, getPlainTextFieldLabel(field, i18n)]\n .filter(Boolean)\n .join(' > '),\n value: {\n field,\n fieldPermissions: fieldPermissions as SanitizedFieldPermissions,\n path: createNestedClientFieldPath(path, field),\n },\n }\n\n return [...fieldsToUse, formattedField]\n }, [])\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"reduceFieldOptions.js","names":["getTranslation","fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","getFieldPermissions","isFieldDisabled","toWords","createNestedClientFieldPath","combineFieldLabel","getPlainTextFieldLabel","field","i18n","label","name","ignoreFromBulkEdit","Boolean","type","unique","readOnly","reduceFieldOptions","fields","formState","labelPrefix","parentPath","path","permissions","plainTextLabelPrefix","CustomLabel","customComponents","Label","reduce","fieldsToUse","operation","hasOperationPermission","fieldPermissions","read","hasReadPermission","parentName","includes","split","length","fieldHasLabel","fieldPlainTextLabel","prefix","filter","join","tabs","tabFields","tab","isNamedTab","namedTabPermissions","undefined","tabPermissions","formattedField","plainTextLabel","value"],"sources":["../../../src/elements/FieldSelect/reduceFieldOptions.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ClientField, FormState, SanitizedFieldPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsHiddenOrDisabled,\n getFieldPermissions,\n isFieldDisabled,\n toWords,\n} from 'payload/shared'\n\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { combineFieldLabel } from '../../utilities/combineFieldLabel.js'\n\nexport type SelectedField = {\n field: ClientField\n fieldPermissions: SanitizedFieldPermissions\n path: string\n}\n\nexport type FieldOption = {\n label: React.ReactNode\n plainTextLabel: string\n value: SelectedField\n}\n\nconst getPlainTextFieldLabel = (field: ClientField, i18n?: I18nClient): string => {\n if ('label' in field && field.label) {\n if (typeof field.label === 'string') {\n return field.label\n }\n\n if (i18n) {\n return getTranslation(field.label, i18n)\n }\n }\n\n return 'name' in field && field.name ? toWords(field.name) : ''\n}\n\nexport const ignoreFromBulkEdit = (field: ClientField): boolean =>\n Boolean(\n (fieldAffectsData(field) || field.type === 'ui') &&\n (isFieldDisabled(field, 'bulkEdit') ||\n field.unique ||\n fieldIsHiddenOrDisabled(field) ||\n ('readOnly' in field && field.readOnly)),\n )\n\nexport const reduceFieldOptions = ({\n fields,\n formState,\n i18n,\n labelPrefix = null,\n parentPath = '',\n path = '',\n permissions,\n plainTextLabelPrefix = '',\n}: {\n readonly fields: ClientField[]\n readonly formState?: FormState\n readonly i18n?: I18nClient\n readonly labelPrefix?: React.ReactNode\n readonly parentPath?: string\n readonly path?: string\n readonly permissions:\n | {\n [fieldName: string]: SanitizedFieldPermissions\n }\n | SanitizedFieldPermissions\n readonly plainTextLabelPrefix?: string\n}): FieldOption[] => {\n if (!fields) {\n return []\n }\n\n const CustomLabel = formState?.[path]?.customComponents?.Label\n\n return fields?.reduce((fieldsToUse, field) => {\n const {\n operation: hasOperationPermission,\n permissions: fieldPermissions,\n read: hasReadPermission,\n } = getFieldPermissions({\n field,\n operation: 'update',\n parentName: parentPath?.includes('.')\n ? parentPath.split('.')[parentPath.split('.').length - 1]\n : parentPath,\n permissions,\n })\n\n // escape for a variety of reasons, include ui fields as they have `name`.\n if (\n (fieldAffectsData(field) || field.type === 'ui') &&\n (isFieldDisabled(field, 'bulkEdit') ||\n field.unique ||\n fieldIsHiddenOrDisabled(field) ||\n ('readOnly' in field && field.readOnly) ||\n !hasOperationPermission ||\n !hasReadPermission)\n ) {\n return fieldsToUse\n }\n\n if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {\n const fieldHasLabel = 'label' in field && field.label\n const fieldPlainTextLabel = getPlainTextFieldLabel(field, i18n)\n return [\n ...fieldsToUse,\n ...reduceFieldOptions({\n fields: field.fields,\n i18n,\n labelPrefix: fieldHasLabel\n ? combineFieldLabel({ CustomLabel, field, prefix: labelPrefix })\n : labelPrefix,\n parentPath: path,\n path: createNestedClientFieldPath(path, field),\n permissions: fieldPermissions,\n plainTextLabelPrefix: fieldHasLabel\n ? [plainTextLabelPrefix, fieldPlainTextLabel].filter(Boolean).join(' > ')\n : plainTextLabelPrefix,\n }),\n ]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...fieldsToUse,\n ...field.tabs.reduce((tabFields, tab) => {\n if ('fields' in tab) {\n const isNamedTab = 'name' in tab && tab.name\n\n const namedTabPermissions =\n isNamedTab && fieldPermissions && fieldPermissions !== true\n ? fieldPermissions[tab.name]\n : undefined\n\n const tabPermissions = isNamedTab\n ? namedTabPermissions === true\n ? true\n : (namedTabPermissions?.fields ?? fieldPermissions)\n : fieldPermissions\n\n return [\n ...tabFields,\n ...reduceFieldOptions({\n fields: tab.fields,\n i18n,\n labelPrefix,\n parentPath: path,\n path: isNamedTab ? createNestedClientFieldPath(path, tab as ClientField) : path,\n permissions: tabPermissions,\n plainTextLabelPrefix,\n }),\n ]\n }\n }, []),\n ]\n }\n\n const formattedField: FieldOption = {\n label: combineFieldLabel({ CustomLabel, field, prefix: labelPrefix }),\n plainTextLabel: [plainTextLabelPrefix, getPlainTextFieldLabel(field, i18n)]\n .filter(Boolean)\n .join(' > '),\n value: {\n field,\n fieldPermissions: fieldPermissions as SanitizedFieldPermissions,\n path: createNestedClientFieldPath(path, field),\n },\n }\n\n return [...fieldsToUse, formattedField]\n }, [])\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/FileManager/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAIrE,OAAO,KAAqD,MAAM,OAAO,CAAA;AA6BzE,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,SAAS,EAAE,SAAS,CAAA;IACnD;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IACtC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAA;IACxD,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,oBAAoB,CAAC,CAAA;IACtF,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC7C,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA+XlD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/FileManager/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAIrE,OAAO,KAAqD,MAAM,OAAO,CAAA;AA8BzE,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,SAAS,EAAE,SAAS,CAAA;IACnD;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IACtC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAA;IACxD,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,oBAAoB,CAAC,CAAA;IACtF,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC7C,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA+XlD,CAAA"}
@@ -22,6 +22,7 @@ import { Dropzone } from '../Dropzone/index.js';
22
22
  import { EditUpload } from '../EditUpload/index.js';
23
23
  import { PreviewSizes } from '../PreviewSizes/index.js';
24
24
  import { Thumbnail } from '../Thumbnail/index.js';
25
+ import { getEditorFileSrc } from '../Upload/getEditorFileSrc.js';
25
26
  import { editDrawerSlug, sizePreviewSlug } from '../Upload/index.js';
26
27
  import { UploadFromURLModal } from '../Upload/UploadFromURLModal/index.js';
27
28
  import { usePasteFromClipboard } from '../Upload/usePasteFromClipboard.js';
@@ -427,7 +428,11 @@ export const FileManager = t0 => {
427
428
  children: [(value || data?.filename) && _jsx(EditDepthProvider, {
428
429
  children: _jsx(EditUpload, {
429
430
  fileName: value?.name || data?.filename,
430
- fileSrc: data?.url || fileSrc,
431
+ fileSrc: getEditorFileSrc({
432
+ data,
433
+ fileSrc,
434
+ hasSelectedFile: Boolean(value)
435
+ }),
431
436
  imageCacheTag,
432
437
  initialCrop: uploadEdits?.crop ?? undefined,
433
438
  initialFocalPoint: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","formatFilesize","isImage","validateMimeType","React","Fragment","useCallback","useEffect","useState","toast","FieldError","fieldBaseClass","TextInput","useForm","useField","useDocumentInfo","EditDepthProvider","useTranslation","useUploadControls","useUploadEdits","Button","Drawer","Dropzone","EditUpload","PreviewSizes","Thumbnail","editDrawerSlug","sizePreviewSlug","UploadFromURLModal","usePasteFromClipboard","useUploadFromUrl","UploadDropzoneContent","AudioPreview","FilePreview","PdfPreview","VideoPreview","FileToolbar","baseClass","FileManager","t0","$","collectionSlug","initialState","resetUploadEdits","resetUploadEditsFromProps","updateUploadEdits","updateUploadEditsFromProps","uploadConfig","UploadControls","uploadEdits","uploadEditsFromProps","UploadFilePreview","openModal","t","setModified","data","t1","mimeTypes","file","undefined","name","File","length","type","validate","t2","path","errorMessage","setValue","showError","value","setUploadControlFile","setUploadControlFileName","setUploadControlFileUrl","uploadControlFile","uploadControlFileUrl","uploadEditsContext","fileSrc","setFileSrc","removedFile","setRemovedFile","filename","setFilename","selectedSize","setSelectedSize","acceptMimeTypes","join","imageCacheTag","cacheTags","updatedAt","hasVariants","variants","hasImageAdjustments","Boolean","focalPointEnabled","focalPoint","crop","t3","t4","showCrop","showFocalPoint","selectedSizeData","sidePanelFileSrc","url","thumbnailURL","sidePanelMimeType","mimeType","fileTypeIsAdjustable","renameFile","_temp","t5","t6","file_0","isNewFile","t7","error","URL","createObjectURL","handleFileChange","e","updatedFileName","target","handleFileNameChange","files","handleFileSelection","t8","file_1","handleFileFetchedFromUrl","t9","onFileFetched","fileUrl","handleUrlSubmit","isValidUrl","setFileUrl","t10","handlePasteFromClipboard","t11","handleFileRemoval","t12","args","onEditsSave","t13","Symbol","for","t14","t15","t16","t17","t18","t19","t20","startsWith","revokeObjectURL","t21","t22","handleControlFileUrl","t23","t24","t25","src","fileType","_jsx","className","children","title","size","renderSelectedFilePreview","drawers","_jsxs","fileName","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","slug","label","doc","pasteURL","showUploadInput","hideFileInputOnCreate","t26","filter","message","hideRemoveFile","isAdjustable","onEditImage","onReplace","buttonStyle","icon","onClick","round","tooltip","onChange","extraControls","onFilesSelected","onPasteFromClipboard","pasteButtonClassName","pasteTooltip","id","fileToChange","newName","lastModified"],"sources":["../../../src/elements/FileManager/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { formatFilesize, isImage, validateMimeType } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, 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 } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { 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 { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport { editDrawerSlug, sizePreviewSlug } from '../Upload/index.js'\nimport { UploadFromURLModal } from '../Upload/UploadFromURLModal/index.js'\nimport { usePasteFromClipboard } from '../Upload/usePasteFromClipboard.js'\nimport { useUploadFromUrl } from '../Upload/useUploadFromUrl.js'\nimport { UploadDropzoneContent } from '../UploadDropzoneContent/index.js'\nimport { AudioPreview } from './FilePreview/AudioPreview/index.js'\nimport { FilePreview } from './FilePreview/index.js'\nimport { PdfPreview } from './FilePreview/PdfPreview/index.js'\nimport { VideoPreview } from './FilePreview/VideoPreview/index.js'\nimport { FileToolbar } from './FileToolbar/index.js'\nimport './index.css'\n\nconst baseClass = 'file-manager'\n\nexport type FileManagerProps = {\n readonly collectionSlug: string\n readonly initialState?: import('payload').FormState\n /**\n * When provided, upload edits are sourced from these props instead of the `useUploadEdits`\n * context. The bulk upload drawer uses this to drive per-file edits from its FormsManager.\n */\n readonly resetUploadEdits?: () => void\n readonly updateUploadEdits?: (args: UploadEdits) => void\n readonly uploadConfig: Omit<SanitizedCollectionConfig['upload'], 'uploadInstructions'>\n readonly UploadControls?: React.ReactNode\n readonly uploadEdits?: UploadEdits\n readonly UploadFilePreview?: React.ReactNode\n}\n\nexport const FileManager: React.FC<FileManagerProps> = ({\n collectionSlug,\n initialState,\n resetUploadEdits: resetUploadEditsFromProps,\n updateUploadEdits: updateUploadEditsFromProps,\n uploadConfig,\n UploadControls,\n uploadEdits: uploadEditsFromProps,\n UploadFilePreview,\n}) => {\n const { openModal } = useModal()\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { data } = useDocumentInfo()\n const validate = useCallback(\n (file: File | null | undefined) => {\n if (!file && file !== undefined) {\n return 'A file is required.'\n }\n if (file && (!file.name || file.name === '')) {\n return 'A file name is required.'\n }\n if (\n file instanceof File &&\n uploadConfig.mimeTypes?.length &&\n !validateMimeType(file.type, uploadConfig.mimeTypes)\n ) {\n return t('error:invalidFileType')\n }\n return true\n },\n [t, uploadConfig.mimeTypes],\n )\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n const {\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n uploadControlFile,\n uploadControlFileUrl,\n } = useUploadControls()\n const uploadEditsContext = useUploadEdits()\n const resetUploadEdits = resetUploadEditsFromProps ?? uploadEditsContext.resetUploadEdits\n const updateUploadEdits = updateUploadEditsFromProps ?? uploadEditsContext.updateUploadEdits\n const uploadEdits = uploadEditsFromProps ?? uploadEditsContext.uploadEdits\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 [selectedSize, setSelectedSize] = useState<null | string>(null)\n\n const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ')\n const imageCacheTag = uploadConfig?.cacheTags && data?.updatedAt\n\n const hasVariants = uploadConfig?.variants?.length > 0\n const hasImageAdjustments = Boolean(uploadConfig?.hasImageAdjustments)\n const focalPointEnabled = uploadConfig?.focalPoint === true\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n const showFocalPoint = focalPoint && (hasVariants || hasImageAdjustments || focalPointEnabled)\n\n const selectedSizeData = selectedSize\n ? (data?.variants?.[selectedSize] as Record<string, unknown>)\n : null\n const sidePanelFileSrc = (selectedSizeData?.url ?? data?.thumbnailURL ?? data?.url ?? null) as\n | null\n | string\n const sidePanelMimeType = data?.mimeType as string | undefined\n const fileTypeIsAdjustable =\n !!sidePanelMimeType &&\n isImage(sidePanelMimeType) &&\n sidePanelMimeType !== 'image/svg+xml' &&\n sidePanelMimeType !== 'image/jxl'\n\n const renameFile = (fileToChange: File, newName: string): File =>\n new File([fileToChange], newName, {\n type: fileToChange.type,\n lastModified: fileToChange.lastModified,\n })\n\n const handleFileChange = useCallback(\n ({ file, isNewFile = true }: { file: File | null; isNewFile?: boolean }) => {\n if (\n file instanceof File &&\n uploadConfig.mimeTypes?.length &&\n !validateMimeType(file.type, uploadConfig.mimeTypes)\n ) {\n toast.error(t('error:invalidFileType'))\n return\n }\n if (isNewFile && file instanceof File) {\n setFileSrc(URL.createObjectURL(file))\n }\n setValue(file)\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n },\n [\n setValue,\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n t,\n uploadConfig.mimeTypes,\n ],\n )\n\n const handleFileNameChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\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) => handleFileChange({ file: files?.[0] }),\n [handleFileChange],\n )\n\n const handleFileFetchedFromUrl = useCallback(\n (file: File) => handleFileChange({ file }),\n [handleFileChange],\n )\n\n const { fileUrl, handleUrlSubmit, isValidUrl, setFileUrl } = useUploadFromUrl({\n collectionSlug,\n onFileFetched: handleFileFetchedFromUrl,\n uploadConfig,\n })\n\n const handlePasteFromClipboard = usePasteFromClipboard({\n handleFileSelection,\n handleUrlSubmit,\n setFileUrl,\n uploadConfig,\n })\n\n const handleFileRemoval = useCallback(() => {\n setRemovedFile(true)\n handleFileChange({ file: null })\n setFileSrc('')\n setFileUrl('')\n setSelectedSize(null)\n resetUploadEdits()\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n }, [\n handleFileChange,\n resetUploadEdits,\n setFileUrl,\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 // Reset states for when replacing the file with a new upload\n useEffect(() => {\n setSelectedSize(null)\n setRemovedFile(false)\n setFileSrc('')\n }, [data?.url, data?.filename])\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 const handleControlFileUrl = async () => {\n if (uploadControlFileUrl) {\n setFileUrl(uploadControlFileUrl)\n await handleUrlSubmit()\n }\n }\n void handleControlFileUrl()\n }, [uploadControlFileUrl, handleUrlSubmit, setFileUrl])\n\n useEffect(() => {\n if (uploadControlFile) {\n handleFileChange({ file: uploadControlFile })\n }\n }, [uploadControlFile, handleFileChange])\n\n // Preview a freshly-selected (not-yet-saved) file from its local object URL, so video/audio/PDF\n // are playable/viewable just like images. Sizing is capped in CSS so large files stay contained.\n const renderSelectedFilePreview = (src: string) => {\n const fileType = value?.type ?? ''\n\n if (fileType.startsWith('video/')) {\n return (\n <div className={`${baseClass}__selected-preview`}>\n <VideoPreview fileSrc={src} />\n </div>\n )\n }\n\n if (fileType.startsWith('audio/')) {\n return (\n <div className={`${baseClass}__selected-preview ${baseClass}__selected-preview--audio`}>\n <AudioPreview fileSrc={src} />\n </div>\n )\n }\n\n if (fileType === 'application/pdf') {\n return (\n <div className={`${baseClass}__selected-preview`}>\n <PdfPreview fileSrc={src} title={value?.name} />\n </div>\n )\n }\n\n return (\n <div className={`${baseClass}__selected-preview`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(fileType) ? src : null}\n size=\"expand\"\n />\n </div>\n )\n }\n\n const drawers = (\n <Fragment>\n {(value || data?.filename) && (\n <EditDepthProvider>\n <EditUpload\n fileName={value?.name || (data?.filename as string)}\n fileSrc={(data?.url as string) || fileSrc}\n imageCacheTag={imageCacheTag}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || (data?.focalX as number) || 50,\n y: uploadEdits?.focalPoint?.y || (data?.focalY as number) || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </EditDepthProvider>\n )}\n {data && hasVariants && (\n <Drawer\n className={`${baseClass}__preview-drawer`}\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 </Fragment>\n )\n\n // Hide the create file input when the collection opts out of it (unless the user has explicitly\n // removed an existing file or already selected a new one).\n const showUploadInput = Boolean(value) || removedFile || !uploadConfig?.hideFileInputOnCreate\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} path=\"filename\" showError={showError} />\n <div className={`${baseClass}__panel`}>\n {data?.filename && !removedFile && (\n <FileToolbar\n filename={data.filename as string}\n fileSrc={sidePanelFileSrc}\n fileUrl={data?.url as string}\n hideRemoveFile={uploadConfig?.hideRemoveFile}\n isAdjustable={fileTypeIsAdjustable}\n onEditImage={() => openModal(editDrawerSlug)}\n onReplace={handleFileRemoval}\n />\n )}\n <div className={`${baseClass}__content`}>\n {data?.filename && !removedFile ? (\n <FilePreview\n collectionSlug={collectionSlug}\n data={data as Record<string, unknown>}\n imageCacheTag={imageCacheTag}\n selectedSize={selectedSize}\n selectedSizeData={selectedSizeData}\n setSelectedSize={setSelectedSize}\n uploadConfig={uploadConfig}\n UploadFilePreview={UploadFilePreview}\n />\n ) : showUploadInput ? (\n <div className={`${baseClass}__upload`}>\n {!value && removedFile && data?.filename && (\n <Button\n aria-label={t('general:cancel')}\n buttonStyle=\"secondary\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n onClick={() => setRemovedFile(false)}\n round\n tooltip={t('general:cancel')}\n />\n )}\n {!value && (\n <Dropzone onChange={handleFileSelection}>\n <UploadDropzoneContent\n acceptMimeTypes={acceptMimeTypes}\n extraControls={UploadControls}\n onFilesSelected={handleFileSelection}\n onPasteFromClipboard={handlePasteFromClipboard}\n pasteButtonClassName={`${baseClass}__pasteFromClipboard`}\n pasteTooltip={t('upload:pasteURL')}\n />\n </Dropzone>\n )}\n {value && fileSrc && (\n <Fragment>\n <Button\n aria-label={t('general:cancel')}\n buttonStyle=\"secondary\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n {renderSelectedFilePreview(fileSrc)}\n <div className={`${baseClass}__file-adjustments`}>\n {/* Custom id so this editor doesn't collide with the hidden auto `filename` field. */}\n <TextInput\n id=\"field-filemanager-filename\"\n label={t('upload:fileName')}\n onChange={handleFileNameChange}\n path=\"filename\"\n value={filename || value.name}\n />\n {(value.size || value.type) && (\n <span className={`${baseClass}__selected-meta`}>\n {[value.size ? formatFilesize(value.size) : null, value.type]\n .filter(Boolean)\n .join(' – ')}\n </span>\n )}\n </div>\n </Fragment>\n )}\n </div>\n ) : null}\n </div>\n </div>\n {drawers}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,EAAEC,OAAO,EAAEC,gBAAgB,QAAQ;AAC1D,OAAOC,KAAA,IAASC,QAAQ,EAAEC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ;AAClE,SAASC,KAAK,QAAQ;AAEtB,SAASC,UAAU,QAAQ;AAC3B,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAC1B,SAASC,OAAO,QAAQ;AACxB,SAASC,QAAQ,QAAQ;AACzB,SAASC,eAAe,QAAQ;AAChC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,cAAc,QAAQ;AAC/B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,MAAM,QAAQ;AACvB,SAASC,QAAQ,QAAQ;AACzB,SAASC,UAAU,QAAQ;AAC3B,SAASC,YAAY,QAAQ;AAC7B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,EAAEC,eAAe,QAAQ;AAChD,SAASC,kBAAkB,QAAQ;AACnC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,YAAY,QAAQ;AAC7B,SAASC,WAAW,QAAQ;AAC5B,SAASC,UAAU,QAAQ;AAC3B,SAASC,YAAY,QAAQ;AAC7B,SAASC,WAAW,QAAQ;AAC5B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAiBlB,OAAO,MAAMC,WAAA,GAA0CC,EAAA;EAAA,MAAAC,CAAA,GAAAzC,EAAA;EAAC;IAAA0C,cAAA;IAAAC,YAAA;IAAAC,gBAAA,EAAAC,yBAAA;IAAAC,iBAAA,EAAAC,0BAAA;IAAAC,YAAA;IAAAC,cAAA;IAAAC,WAAA,EAAAC,oBAAA;IAAAC;EAAA,IAAAZ,EASvD;EACC;IAAAa;EAAA,IAAsBpD,QAAA;EACtB;IAAAqD;EAAA,IAAcpC,cAAA;EACd;IAAAqC;EAAA,IAAwBzC,OAAA;EACxB;IAAA0C;EAAA,IAAiBxC,eAAA;EAAA,IAAAyC,EAAA;EAAA,IAAAhB,CAAA,QAAAa,CAAA,IAAAb,CAAA,QAAAO,YAAA,CAAAU,SAAA;IAEfD,EAAA,GAAAE,IAAA;MAAA,IACM,CAACA,IAAA,IAAQA,IAAA,KAAAC,SAAS;QAAA,OACb;MAAA;MAAA,IAELD,IAAA,KAAS,CAACA,IAAA,CAAAE,IAAA,IAAaF,IAAA,CAAAE,IAAA,KAAc,EAAC;QAAA,OACjC;MAAA;MAAA,IAGPF,IAAA,YAAAG,IAAgB,IAChBd,YAAA,CAAAU,SAAA,EAAAK,MAAwB,KACvB3D,gBAAA,CAAiBuD,IAAA,CAAAK,IAAA,EAAWhB,YAAA,CAAAU,SAAsB;QAAA,OAE5CJ,CAAA,CAAE;MAAA;MAAA;IAAA;IAGbb,CAAA,MAAAa,CAAA;IAAAb,CAAA,MAAAO,YAAA,CAAAU,SAAA;IAAAjB,CAAA,MAAAgB,EAAA;EAAA;IAAAA,EAAA,GAAAhB,CAAA;EAAA;EAhBF,MAAAwB,QAAA,GAAiBR,EAiBY;EAAA,IAAAS,EAAA;EAAA,IAAAzB,CAAA,QAAAwB,QAAA;IAEuCC,EAAA;MAAAC,IAAA,EAC5D;MAAAF;IAAA;IAERxB,CAAA,MAAAwB,QAAA;IAAAxB,CAAA,MAAAyB,EAAA;EAAA;IAAAA,EAAA,GAAAzB,CAAA;EAAA;EAHA;IAAA2B,YAAA;IAAAC,QAAA;IAAAC,SAAA;IAAAC;EAAA,IAAqDxD,QAAA,CAAemD,EAGpE;EACA;IAAAM,oBAAA;IAAAC,wBAAA;IAAAC,uBAAA;IAAAC,iBAAA;IAAAC;EAAA,IAMIzD,iBAAA;EACJ,MAAA0D,kBAAA,GAA2BzD,cAAA;EAC3B,MAAAwB,gBAAA,GAAyBC,yBAAA,IAA6BgC,kBAAA,CAAAjC,gBAAmC;EACzF,MAAAE,iBAAA,GAA0BC,0BAAA,IAA8B8B,kBAAA,CAAA/B,iBAAoC;EAC5F,MAAAI,WAAA,GAAoBC,oBAAA,IAAwB0B,kBAAA,CAAA3B,WAA8B;EAE1E,OAAA4B,OAAA,EAAAC,UAAA,IAA8BtE,QAAA,KAAwB;EACtD,OAAAuE,WAAA,EAAAC,cAAA,IAAsCxE,QAAA,MAAS;EAC/C,OAAAyE,QAAA,EAAAC,WAAA,IAAgC1E,QAAA,CAAiB8D,KAAA,EAAAV,IAAA,IAAe;EAChE,OAAAuB,YAAA,EAAAC,eAAA,IAAwC5E,QAAA,KAAwB;EAEhE,MAAA6E,eAAA,GAAwBtC,YAAA,CAAAU,SAAA,EAAA6B,IAAA,CAA6B;EACrD,MAAAC,aAAA,GAAsBxC,YAAA,EAAAyC,SAAA,IAA2BjC,IAAA,EAAAkC,SAAM;EAEvD,MAAAC,WAAA,GAAoB3C,YAAA,EAAA4C,QAAA,EAAA7B,MAAA,IAAiC;EACrD,MAAA8B,mBAAA,GAA4BC,OAAA,CAAQ9C,YAAA,EAAA6C,mBAAc;EAClD,MAAAE,iBAAA,GAA0B/C,YAAA,EAAAgD,UAAA,SAA6B;EACvD;IAAAC,IAAA,EAAAC,EAAA;IAAAF,UAAA,EAAAG;EAAA,IAAqDnD,YAAA;EAAvC,MAAAoD,QAAA,GAAAF,EAAe,KAAAtC,SAAA,UAAfsC,EAAe;EAAE,MAAAF,UAAA,GAAAG,EAAiB,KAAAvC,SAAA,UAAjBuC,EAAiB;EAChD,MAAAE,cAAA,GAAuBL,UAAA,KAAeL,WAAA,IAAeE,mBAAA,IAAuBE,iBAAgB;EAE5F,MAAAO,gBAAA,GAAyBlB,YAAA,GACpB5B,IAAA,EAAAoC,QAAA,GAAiBR,YAAA,QAClB;EACJ,MAAAmB,gBAAA,GAA0BD,gBAAA,EAAAE,GAAA,IAAyBhD,IAAA,EAAAiD,YAAM,IAAgBjD,IAAA,EAAAgD,GAAM,QAAO;EAGtF,MAAAE,iBAAA,GAA0BlD,IAAA,EAAAmD,QAAA;EAC1B,MAAAC,oBAAA,GACE,EAAEF,iBAAA,IACFvG,OAAA,CAAQuG,iBAAA,KACRA,iBAAA,KAAsB,mBACtBA,iBAAA,KAAsB;EAExB,MAAAG,UAAA,GAAAC,KAAA;EAIE,IAAAC,EAAA;EAAA,IAAAtE,CAAA,QAAA+B,oBAAA,IAAA/B,CAAA,QAAAgC,wBAAA,IAAAhC,CAAA,QAAAiC,uBAAA,IAAAjC,CAAA,QAAA4B,QAAA,IAAA5B,CAAA,QAAAa,CAAA,IAAAb,CAAA,SAAAO,YAAA,CAAAU,SAAA;IAGAqD,EAAA,GAAAC,EAAA;MAAC;QAAArD,IAAA,EAAAsD,MAAA;QAAAC,SAAA,EAAAC;MAAA,IAAAH,EAAsE;MAA9D,MAAAE,SAAA,GAAAC,EAAgB,KAAAvD,SAAA,UAAhBuD,EAAgB;MAAA,IAErBxD,MAAA,YAAAG,IAAgB,IAChBd,YAAA,CAAAU,SAAA,EAAAK,MAAwB,KACvB3D,gBAAA,CAAiBuD,MAAA,CAAAK,IAAA,EAAWhB,YAAA,CAAAU,SAAsB;QAEnDhD,KAAA,CAAA0G,KAAA,CAAY9D,CAAA,CAAE;QAAA;MAAA;MAAA,IAGZ4D,SAAA,IAAavD,MAAA,YAAAG,IAAgB;QAC/BiB,UAAA,CAAWsC,GAAA,CAAAC,eAAA,CAAoB3D,MAAA;MAAA;MAEjCU,QAAA,CAASV,MAAA;MACTe,uBAAA,CAAwB;MACxBD,wBAAA,KAAyB;MACzBD,oBAAA,KAAqB;IAAA;IACvB/B,CAAA,MAAA+B,oBAAA;IAAA/B,CAAA,MAAAgC,wBAAA;IAAAhC,CAAA,MAAAiC,uBAAA;IAAAjC,CAAA,MAAA4B,QAAA;IAAA5B,CAAA,MAAAa,CAAA;IAAAb,CAAA,OAAAO,YAAA,CAAAU,SAAA;IAAAjB,CAAA,OAAAsE,EAAA;EAAA;IAAAA,EAAA,GAAAtE,CAAA;EAAA;EAjBF,MAAA8E,gBAAA,GAAyBR,EAyBtB;EAAA,IAAAC,EAAA;EAAA,IAAAvE,CAAA,SAAA8E,gBAAA,IAAA9E,CAAA,SAAA8B,KAAA;IAIDyC,EAAA,GAAAQ,CAAA;MACE,MAAAC,eAAA,GAAwBD,CAAA,CAAAE,MAAA,CAAAnD,KAAA;MAAc,IAClCA,KAAA;QACFgD,gBAAA;UAAA5D,IAAA,EAAyBkD,UAAA,CAAWtC,KAAA,EAAOkD,eAAA;UAAAP,SAAA;QAAA,CAAmC;QAC9E/B,WAAA,CAAYsC,eAAA;MAAA;IAAA;IAEhBhF,CAAA,OAAA8E,gBAAA;IAAA9E,CAAA,OAAA8B,KAAA;IAAA9B,CAAA,OAAAuE,EAAA;EAAA;IAAAA,EAAA,GAAAvE,CAAA;EAAA;EAPF,MAAAkF,oBAAA,GAA6BX,EAQF;EAAA,IAAAG,EAAA;EAAA,IAAA1E,CAAA,SAAA8E,gBAAA;IAIzBJ,EAAA,GAAAS,KAAA,IAAqBL,gBAAA;MAAA5D,IAAA,EAAyBiE,KAAA;IAAA,CAAW;IAAAnF,CAAA,OAAA8E,gBAAA;IAAA9E,CAAA,OAAA0E,EAAA;EAAA;IAAAA,EAAA,GAAA1E,CAAA;EAAA;EAD3D,MAAAoF,mBAAA,GAA4BV,EAER;EAAA,IAAAW,EAAA;EAAA,IAAArF,CAAA,SAAA8E,gBAAA;IAIlBO,EAAA,GAAAC,MAAA,IAAgBR,gBAAA;MAAA5D,IAAA,EAAmBA;IAAA,CAAK;IAAAlB,CAAA,OAAA8E,gBAAA;IAAA9E,CAAA,OAAAqF,EAAA;EAAA;IAAAA,EAAA,GAAArF,CAAA;EAAA;EAD1C,MAAAuF,wBAAA,GAAiCF,EAEb;EAAA,IAAAG,EAAA;EAAA,IAAAxF,CAAA,SAAAC,cAAA,IAAAD,CAAA,SAAAuF,wBAAA,IAAAvF,CAAA,SAAAO,YAAA;IAG0DiF,EAAA;MAAAvF,cAAA;MAAAwF,aAAA,EAE7DF,wBAAA;MAAAhF;IAAA;IAEjBP,CAAA,OAAAC,cAAA;IAAAD,CAAA,OAAAuF,wBAAA;IAAAvF,CAAA,OAAAO,YAAA;IAAAP,CAAA,OAAAwF,EAAA;EAAA;IAAAA,EAAA,GAAAxF,CAAA;EAAA;EAJA;IAAA0F,OAAA;IAAAC,eAAA;IAAAC,UAAA;IAAAC;EAAA,IAA6DvG,gBAAA,CAAiBkG,EAI9E;EAAA,IAAAM,GAAA;EAAA,IAAA9F,CAAA,SAAAoF,mBAAA,IAAApF,CAAA,SAAA2F,eAAA,IAAA3F,CAAA,SAAA6F,UAAA,IAAA7F,CAAA,SAAAO,YAAA;IAEuDuF,GAAA;MAAAV,mBAAA;MAAAO,eAAA;MAAAE,UAAA;MAAAtF;IAAA;IAKvDP,CAAA,OAAAoF,mBAAA;IAAApF,CAAA,OAAA2F,eAAA;IAAA3F,CAAA,OAAA6F,UAAA;IAAA7F,CAAA,OAAAO,YAAA;IAAAP,CAAA,OAAA8F,GAAA;EAAA;IAAAA,GAAA,GAAA9F,CAAA;EAAA;EALA,MAAA+F,wBAAA,GAAiC1G,qBAAA,CAAsByG,GAKvD;EAAA,IAAAE,GAAA;EAAA,IAAAhG,CAAA,SAAA8E,gBAAA,IAAA9E,CAAA,SAAAG,gBAAA,IAAAH,CAAA,SAAA6F,UAAA,IAAA7F,CAAA,SAAA+B,oBAAA,IAAA/B,CAAA,SAAAgC,wBAAA,IAAAhC,CAAA,SAAAiC,uBAAA;IAEsC+D,GAAA,GAAAA,CAAA;MACpCxD,cAAA,KAAe;MACfsC,gBAAA;QAAA5D,IAAA;MAAA,CAA8B;MAC9BoB,UAAA,CAAW;MACXuD,UAAA,CAAW;MACXjD,eAAA,KAAgB;MAChBzC,gBAAA;MACA8B,uBAAA,CAAwB;MACxBD,wBAAA,KAAyB;MACzBD,oBAAA,KAAqB;IAAA;IACvB/B,CAAA,OAAA8E,gBAAA;IAAA9E,CAAA,OAAAG,gBAAA;IAAAH,CAAA,OAAA6F,UAAA;IAAA7F,CAAA,OAAA+B,oBAAA;IAAA/B,CAAA,OAAAgC,wBAAA;IAAAhC,CAAA,OAAAiC,uBAAA;IAAAjC,CAAA,OAAAgG,GAAA;EAAA;IAAAA,GAAA,GAAAhG,CAAA;EAAA;EAVA,MAAAiG,iBAAA,GAA0BD,GAiBzB;EAAA,IAAAE,GAAA;EAAA,IAAAlG,CAAA,SAAAc,WAAA,IAAAd,CAAA,SAAAK,iBAAA;IAGC6F,GAAA,GAAAC,IAAA;MACErF,WAAA,KAAY;MACZT,iBAAA,CAAkB8F,IAAA;IAAA;IACpBnG,CAAA,OAAAc,WAAA;IAAAd,CAAA,OAAAK,iBAAA;IAAAL,CAAA,OAAAkG,GAAA;EAAA;IAAAA,GAAA,GAAAlG,CAAA;EAAA;EAJF,MAAAoG,WAAA,GAAoBF,GAKc;EAAA,IAAAG,GAAA;EAAA,IAAArG,CAAA,SAAAsG,MAAA,CAAAC,GAAA;IAIxBF,GAAA,GAAAA,CAAA;MACRzD,eAAA,KAAgB;MAChBJ,cAAA,MAAe;MACfF,UAAA,CAAW;IAAA;IACbtC,CAAA,OAAAqG,GAAA;EAAA;IAAAA,GAAA,GAAArG,CAAA;EAAA;EAAI,MAAAwG,GAAA,GAAAzF,IAAA,EAAAgD,GAAA;EAAW,MAAA0C,GAAA,GAAA1F,IAAA,EAAA0B,QAAA;EAAM,IAAAiE,GAAA;EAAA,IAAA1G,CAAA,SAAAwG,GAAA,IAAAxG,CAAA,SAAAyG,GAAA;IAAlBC,GAAA,IAACF,GAAM,EAAKC,GAAM;IAASzG,CAAA,OAAAwG,GAAA;IAAAxG,CAAA,OAAAyG,GAAA;IAAAzG,CAAA,OAAA0G,GAAA;EAAA;IAAAA,GAAA,GAAA1G,CAAA;EAAA;EAJ9BjC,SAAA,CAAUsI,GAIV,EAAGK,GAA2B;EAAA,IAAAC,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAA5G,CAAA,SAAAE,YAAA;IAEpByG,GAAA,GAAAA,CAAA;MAAA,IACJzG,YAAA,EAAAgB,IAAA,EAAAY,KAAA,YAAAT,IAAqC;QACvCiB,UAAA,CAAWsC,GAAA,CAAAC,eAAA,CAAoB3E,YAAA,CAAAgB,IAAA,CAAAY,KAAuB;QACtDU,cAAA,MAAe;MAAA;IAAA;IAEhBoE,GAAA,IAAC1G,YAAA;IAAaF,CAAA,OAAAE,YAAA;IAAAF,CAAA,OAAA2G,GAAA;IAAA3G,CAAA,OAAA4G,GAAA;EAAA;IAAAD,GAAA,GAAA3G,CAAA;IAAA4G,GAAA,GAAA5G,CAAA;EAAA;EALjBjC,SAAA,CAAU4I,GAKV,EAAGC,GAAc;EAAA,IAAAC,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAA9G,CAAA,SAAAqC,OAAA;IAEPwE,GAAA,GAAAA,CAAA;MAAA,IAEFxE,OAAA,EAAA0E,UAAA,CAAoB;QACtBnC,GAAA,CAAAoC,eAAA,CAAoB3E,OAAA;MAAA;IAAA;IAGvByE,GAAA,IAACzE,OAAA;IAAQrC,CAAA,OAAAqC,OAAA;IAAArC,CAAA,OAAA6G,GAAA;IAAA7G,CAAA,OAAA8G,GAAA;EAAA;IAAAD,GAAA,GAAA7G,CAAA;IAAA8G,GAAA,GAAA9G,CAAA;EAAA;EANZjC,SAAA,CAAU8I,GAMV,EAAGC,GAAS;EAAA,IAAAG,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAlH,CAAA,SAAA2F,eAAA,IAAA3F,CAAA,SAAA6F,UAAA,IAAA7F,CAAA,SAAAmC,oBAAA;IAEF8E,GAAA,GAAAA,CAAA;MACR,MAAAE,oBAAA,SAAAA,CAAA;QAAA,IACMhF,oBAAA;UACF0D,UAAA,CAAW1D,oBAAA;UAAA,MACLwD,eAAA;QAAA;MAAA;MAGLwB,oBAAA;IAAA;IACJD,GAAA,IAAC/E,oBAAA,EAAsBwD,eAAA,EAAiBE,UAAA;IAAW7F,CAAA,OAAA2F,eAAA;IAAA3F,CAAA,OAAA6F,UAAA;IAAA7F,CAAA,OAAAmC,oBAAA;IAAAnC,CAAA,OAAAiH,GAAA;IAAAjH,CAAA,OAAAkH,GAAA;EAAA;IAAAD,GAAA,GAAAjH,CAAA;IAAAkH,GAAA,GAAAlH,CAAA;EAAA;EARtDjC,SAAA,CAAUkJ,GAQV,EAAGC,GAAmD;EAAA,IAAAE,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAArH,CAAA,SAAA8E,gBAAA,IAAA9E,CAAA,SAAAkC,iBAAA;IAE5CkF,GAAA,GAAAA,CAAA;MAAA,IACJlF,iBAAA;QACF4C,gBAAA;UAAA5D,IAAA,EAAyBgB;QAAA,CAAkB;MAAA;IAAA;IAE5CmF,GAAA,IAACnF,iBAAA,EAAmB4C,gBAAA;IAAiB9E,CAAA,OAAA8E,gBAAA;IAAA9E,CAAA,OAAAkC,iBAAA;IAAAlC,CAAA,OAAAoH,GAAA;IAAApH,CAAA,OAAAqH,GAAA;EAAA;IAAAD,GAAA,GAAApH,CAAA;IAAAqH,GAAA,GAAArH,CAAA;EAAA;EAJxCjC,SAAA,CAAUqJ,GAIV,EAAGC,GAAqC;EAAA,IAAAC,GAAA;EAAA,IAAAtH,CAAA,SAAAC,cAAA,IAAAD,CAAA,SAAA8B,KAAA,EAAAV,IAAA,IAAApB,CAAA,SAAA8B,KAAA,EAAAP,IAAA;IAIN+F,GAAA,GAAAC,GAAA;MAChC,MAAAC,QAAA,GAAiB1F,KAAA,EAAAP,IAAA,IAAe;MAAA,IAE5BiG,QAAA,CAAAT,UAAA,CAAoB;QAAA,OAEpBU,IAAA,CAAC;UAAAC,SAAA,EAAe,GAAA7H,SAAA,oBAAgC;UAAA8H,QAAA,EAC9CF,IAAA,CAAA9H,YAAA;YAAA0C,OAAA,EAAuBkF;UAAA,C;;;UAKzBC,QAAA,CAAAT,UAAA,CAAoB;QAAA,OAEpBU,IAAA,CAAC;UAAAC,SAAA,EAAe,GAAA7H,SAAA,sBAAAA,SAAA,2BAAsE;UAAA8H,QAAA,EACpFF,IAAA,CAAAjI,YAAA;YAAA6C,OAAA,EAAuBkF;UAAA,C;;;UAKzBC,QAAA,KAAa;QAAA,OAEbC,IAAA,CAAC;UAAAC,SAAA,EAAe,GAAA7H,SAAA,oBAAgC;UAAA8H,QAAA,EAC9CF,IAAA,CAAA/H,UAAA;YAAA2C,OAAA,EAAqBkF,GAAA;YAAAK,KAAA,EAAY9F,KAAA,EAAAV;UAAA,C;;;aAMrCqG,IAAA,CAAC;QAAAC,SAAA,EAAe,GAAA7H,SAAA,oBAAgC;QAAA8H,QAAA,EAC9CF,IAAA,CAAAxI,SAAA;UAAAgB,cAAA;UAAAoC,OAAA,EAEW3E,OAAA,CAAQ8J,QAAA,IAAYD,GAAA,OAAM;UAAAM,IAAA,EAC9B;QAAA,C;;;IAIb7H,CAAA,OAAAC,cAAA;IAAAD,CAAA,OAAA8B,KAAA,EAAAV,IAAA;IAAApB,CAAA,OAAA8B,KAAA,EAAAP,IAAA;IAAAvB,CAAA,OAAAsH,GAAA;EAAA;IAAAA,GAAA,GAAAtH,CAAA;EAAA;EApCA,MAAA8H,yBAAA,GAAkCR,GAoClC;EAEA,MAAAS,OAAA,GACEC,KAAA,CAAAnK,QAAA;IAAA8J,QAAA,GACI,CAAA7F,KAAA,IAASf,IAAA,EAAA0B,QAAa,KACtBgF,IAAA,CAAAjJ,iBAAA;MAAAmJ,QAAA,EACEF,IAAA,CAAA1I,UAAA;QAAAkJ,QAAA,EACYnG,KAAA,EAAAV,IAAA,IAAgBL,IAAA,EAAA0B,QAAM;QAAAJ,OAAA,EACvBtB,IAAC,EAAAgD,GAAA,IAAwB1B,OAAA;QAAAU,aAAA;QAAAmF,WAAA,EAErBzH,WAAA,EAAA+C,IAAA,IAAArC,SAAqB;QAAAgH,iBAAA;UAAAC,CAAA,EAE7B3H,WAAA,EAAA8C,UAAA,EAAA6E,CAAA,IAA+BrH,IAAA,EAAAsH,MAAM,MAAqB;UAAAC,CAAA,EAC1D7H,WAAA,EAAA8C,UAAA,EAAA+E,CAAA,IAA+BvH,IAAA,EAAAwH,MAAM;QAAqB;QAAAC,MAAA,EAEvDpC,WAAA;QAAAzC,QAAA;QAAAC;MAAA,C;QAMb7C,IAAA,IAAQmC,WAAA,IACPuE,IAAA,CAAA5I,MAAA;MAAA6I,SAAA,EACa,GAAA7H,SAAA,kBAA8B;MAAA4I,UAAA;MAAAC,IAAA,EAAAvJ,eAAA;MAAAyI,KAAA,EAGlC/G,CAAA,CAAE;QAAA8H,KAAA,EAA4B5H,IAAA,CAAA0B;MAAA,CAAc;MAAAkF,QAAA,EAEnDF,IAAA,CAAAzI,YAAA;QAAA4J,GAAA,EAAmB7H,IAAA;QAAAA,aAAA;QAAAA;MAAA,C;QAGtBR,YAAA,EAAAsI,QAAA,UAA2B,IAC1BpB,IAAA,CAAArI,kBAAA;MAAAsG,OAAA;MAAAC,eAAA;MAAAC,UAAA;MAAAC;IAAA,C;;EAYN,MAAAiD,eAAA,GAAwBzF,OAAA,CAAQvB,KAAA,KAAUS,WAAA,KAAgBhC,YAAA,EAAAwI,qBAAc;EAAA,IAAAC,GAAA;EAAA,IAAAhJ,CAAA,SAAAsG,MAAA,CAAAC,GAAA;IAGtDyC,GAAA,IAAA7K,cAAA,EAAA0B,SAAA,EAAAoJ,MAAA,CAAA5F,OAAmC;IAAArD,CAAA,OAAAgJ,GAAA;EAAA;IAAAA,GAAA,GAAAhJ,CAAA;EAAA;EAAA,OAAnDgI,KAAA,CAAC;IAAAN,SAAA,EAAesB,GAAmC,CAAAlG,IAAA,CAAc;IAAA6E,QAAA,GAC/DF,IAAA,CAAAvJ,UAAA;MAAAgL,OAAA,EAAqBvH,YAAA;MAAAD,IAAA,EAAmB;MAAAG;IAAA,C,GACxCmG,KAAA,CAAC;MAAAN,SAAA,EAAe,GAAA7H,SAAA,SAAqB;MAAA8H,QAAA,GAClC5G,IAAA,EAAA0B,QAAA,KAAmBF,WAAA,IAClBkF,IAAA,CAAA7H,WAAA;QAAA6C,QAAA,EACY1B,IAAA,CAAA0B,QAAA;QAAAJ,OAAA,EACDyB,gBAAA;QAAA4B,OAAA,EACA3E,IAAA,EAAAgD,GAAA;QAAAoF,cAAA,EACO5I,YAAA,EAAA4I,cAAA;QAAAC,YAAA,EACFjF,oBAAA;QAAAkF,WAAA,EAAAA,CAAA,KACKzI,SAAA,CAAA1B,cAAU;QAAAoK,SAAA,EAClBrD;MAAA,C,GAGfwB,IAAA,CAAC;QAAAC,SAAA,EAAe,GAAA7H,SAAA,WAAuB;QAAA8H,QAAA,EACpC5G,IAAA,EAAA0B,QAAA,KAAmBF,WAAA,GAClBkF,IAAA,CAAAhI,WAAA;UAAAQ,cAAA;UAAAc,IAAA;UAAAgC,aAAA;UAAAJ,YAAA;UAAAkB,gBAAA;UAAAjB,eAAA;UAAArC,YAAA;UAAAI;QAAA,C,IAUEmI,eAAA,GACFd,KAAA,CAAC;UAAAN,SAAA,EAAe,GAAA7H,SAAA,UAAsB;UAAA8H,QAAA,GACnC,CAAC7F,KAAA,IAASS,WAAA,IAAexB,IAAA,EAAA0B,QAAM,IAC9BgF,IAAA,CAAA7I,MAAA;YAAA,cACciC,CAAA,CAAE;YAAA0I,WAAA,EACF;YAAA7B,SAAA,EACD,GAAA7H,SAAA,UAAsB;YAAA2J,IAAA,EAC5B;YAAAC,OAAA,EAAAA,CAAA,KACUjH,cAAA,MAAe;YAAAkH,KAAA;YAAAC,OAAA,EAErB9I,CAAA,CAAE;UAAA,C,GAGd,CAACiB,KAAA,IACA2F,IAAA,CAAA3I,QAAA;YAAA8K,QAAA,EAAoBxE,mBAAA;YAAAuC,QAAA,EAClBF,IAAA,CAAAlI,qBAAA;cAAAsD,eAAA;cAAAgH,aAAA,EAEiBrJ,cAAA;cAAAsJ,eAAA,EACE1E,mBAAA;cAAA2E,oBAAA,EACKhE,wBAAA;cAAAiE,oBAAA,EACA,GAAAnK,SAAA,sBAAkC;cAAAoK,YAAA,EAC1CpJ,CAAA,CAAE;YAAA,C;cAIrBiB,KAAA,IAASO,OAAA,IACR2F,KAAA,CAAAnK,QAAA;YAAA8J,QAAA,GACEF,IAAA,CAAA7I,MAAA;cAAA,cACciC,CAAA,CAAE;cAAA0I,WAAA,EACF;cAAA7B,SAAA,EACD,GAAA7H,SAAA,UAAsB;cAAA2J,IAAA,EAC5B;cAAAC,OAAA,EACIxD,iBAAA;cAAAyD,KAAA;cAAAC,OAAA,EAEA9I,CAAA,CAAE;YAAA,C,GAEZiH,yBAAA,CAA0BzF,OAAA,GAC3B2F,KAAA,CAAC;cAAAN,SAAA,EAAe,GAAA7H,SAAA,oBAAgC;cAAA8H,QAAA,GAE9CF,IAAA,CAAArJ,SAAA;gBAAA8L,EAAA,EACK;gBAAAvB,KAAA,EACI9H,CAAA,CAAE;gBAAA+I,QAAA,EACC1E,oBAAA;gBAAAxD,IAAA,EACL;gBAAAI,KAAA,EACEW,QAAA,IAAYX,KAAA,CAAAV;cAAU,C,GAE7B,CAAAU,KAAA,CAAA+F,IAAA,IAAc/F,KAAA,CAAAP,IAAU,KACxBkG,IAAA,CAAC;gBAAAC,SAAA,EAAgB,GAAA7H,SAAA,iBAA6B;gBAAA8H,QAAA,EAC3C,CAAC7F,KAAA,CAAA+F,IAAA,GAAapK,cAAA,CAAeqE,KAAA,CAAA+F,IAAU,QAAI,EAAM/F,KAAA,CAAAP,IAAA,EAAA0H,MAAA,CAAA5F,OACxC,EAAAP,IAAA,CACF;cAAA,C;;;;MAOlB,C;QAGPiF,OAAA;EAAA,C;CAGP;AA/XuD,SAAA1D,MAAA8F,YAAA,EAAAC,OAAA;EAAA,WAAA/I,IAAA,EA6EzC8I,YAAA,GAAeC,OAAA;IAAA7I,IAAA,EACjB4I,YAAA,CAAA5I,IAAA;IAAA8I,YAAA,EACQF,YAAA,CAAAE;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","formatFilesize","isImage","validateMimeType","React","Fragment","useCallback","useEffect","useState","toast","FieldError","fieldBaseClass","TextInput","useForm","useField","useDocumentInfo","EditDepthProvider","useTranslation","useUploadControls","useUploadEdits","Button","Drawer","Dropzone","EditUpload","PreviewSizes","Thumbnail","getEditorFileSrc","editDrawerSlug","sizePreviewSlug","UploadFromURLModal","usePasteFromClipboard","useUploadFromUrl","UploadDropzoneContent","AudioPreview","FilePreview","PdfPreview","VideoPreview","FileToolbar","baseClass","FileManager","t0","$","collectionSlug","initialState","resetUploadEdits","resetUploadEditsFromProps","updateUploadEdits","updateUploadEditsFromProps","uploadConfig","UploadControls","uploadEdits","uploadEditsFromProps","UploadFilePreview","openModal","t","setModified","data","t1","mimeTypes","file","undefined","name","File","length","type","validate","t2","path","errorMessage","setValue","showError","value","setUploadControlFile","setUploadControlFileName","setUploadControlFileUrl","uploadControlFile","uploadControlFileUrl","uploadEditsContext","fileSrc","setFileSrc","removedFile","setRemovedFile","filename","setFilename","selectedSize","setSelectedSize","acceptMimeTypes","join","imageCacheTag","cacheTags","updatedAt","hasVariants","variants","hasImageAdjustments","Boolean","focalPointEnabled","focalPoint","crop","t3","t4","showCrop","showFocalPoint","selectedSizeData","sidePanelFileSrc","url","thumbnailURL","sidePanelMimeType","mimeType","fileTypeIsAdjustable","renameFile","_temp","t5","t6","file_0","isNewFile","t7","error","URL","createObjectURL","handleFileChange","e","updatedFileName","target","handleFileNameChange","files","handleFileSelection","t8","file_1","handleFileFetchedFromUrl","t9","onFileFetched","fileUrl","handleUrlSubmit","isValidUrl","setFileUrl","t10","handlePasteFromClipboard","t11","handleFileRemoval","t12","args","onEditsSave","t13","Symbol","for","t14","t15","t16","t17","t18","t19","t20","startsWith","revokeObjectURL","t21","t22","handleControlFileUrl","t23","t24","t25","src","fileType","_jsx","className","children","title","size","renderSelectedFilePreview","drawers","_jsxs","fileName","hasSelectedFile","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","slug","label","doc","pasteURL","showUploadInput","hideFileInputOnCreate","t26","filter","message","hideRemoveFile","isAdjustable","onEditImage","onReplace","buttonStyle","icon","onClick","round","tooltip","onChange","extraControls","onFilesSelected","onPasteFromClipboard","pasteButtonClassName","pasteTooltip","id","fileToChange","newName","lastModified"],"sources":["../../../src/elements/FileManager/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { formatFilesize, isImage, validateMimeType } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, 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 } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { 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 { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport { getEditorFileSrc } from '../Upload/getEditorFileSrc.js'\nimport { editDrawerSlug, sizePreviewSlug } from '../Upload/index.js'\nimport { UploadFromURLModal } from '../Upload/UploadFromURLModal/index.js'\nimport { usePasteFromClipboard } from '../Upload/usePasteFromClipboard.js'\nimport { useUploadFromUrl } from '../Upload/useUploadFromUrl.js'\nimport { UploadDropzoneContent } from '../UploadDropzoneContent/index.js'\nimport { AudioPreview } from './FilePreview/AudioPreview/index.js'\nimport { FilePreview } from './FilePreview/index.js'\nimport { PdfPreview } from './FilePreview/PdfPreview/index.js'\nimport { VideoPreview } from './FilePreview/VideoPreview/index.js'\nimport { FileToolbar } from './FileToolbar/index.js'\nimport './index.css'\n\nconst baseClass = 'file-manager'\n\nexport type FileManagerProps = {\n readonly collectionSlug: string\n readonly initialState?: import('payload').FormState\n /**\n * When provided, upload edits are sourced from these props instead of the `useUploadEdits`\n * context. The bulk upload drawer uses this to drive per-file edits from its FormsManager.\n */\n readonly resetUploadEdits?: () => void\n readonly updateUploadEdits?: (args: UploadEdits) => void\n readonly uploadConfig: Omit<SanitizedCollectionConfig['upload'], 'uploadInstructions'>\n readonly UploadControls?: React.ReactNode\n readonly uploadEdits?: UploadEdits\n readonly UploadFilePreview?: React.ReactNode\n}\n\nexport const FileManager: React.FC<FileManagerProps> = ({\n collectionSlug,\n initialState,\n resetUploadEdits: resetUploadEditsFromProps,\n updateUploadEdits: updateUploadEditsFromProps,\n uploadConfig,\n UploadControls,\n uploadEdits: uploadEditsFromProps,\n UploadFilePreview,\n}) => {\n const { openModal } = useModal()\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { data } = useDocumentInfo()\n const validate = useCallback(\n (file: File | null | undefined) => {\n if (!file && file !== undefined) {\n return 'A file is required.'\n }\n if (file && (!file.name || file.name === '')) {\n return 'A file name is required.'\n }\n if (\n file instanceof File &&\n uploadConfig.mimeTypes?.length &&\n !validateMimeType(file.type, uploadConfig.mimeTypes)\n ) {\n return t('error:invalidFileType')\n }\n return true\n },\n [t, uploadConfig.mimeTypes],\n )\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n const {\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n uploadControlFile,\n uploadControlFileUrl,\n } = useUploadControls()\n const uploadEditsContext = useUploadEdits()\n const resetUploadEdits = resetUploadEditsFromProps ?? uploadEditsContext.resetUploadEdits\n const updateUploadEdits = updateUploadEditsFromProps ?? uploadEditsContext.updateUploadEdits\n const uploadEdits = uploadEditsFromProps ?? uploadEditsContext.uploadEdits\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 [selectedSize, setSelectedSize] = useState<null | string>(null)\n\n const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ')\n const imageCacheTag = uploadConfig?.cacheTags && data?.updatedAt\n\n const hasVariants = uploadConfig?.variants?.length > 0\n const hasImageAdjustments = Boolean(uploadConfig?.hasImageAdjustments)\n const focalPointEnabled = uploadConfig?.focalPoint === true\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n const showFocalPoint = focalPoint && (hasVariants || hasImageAdjustments || focalPointEnabled)\n\n const selectedSizeData = selectedSize\n ? (data?.variants?.[selectedSize] as Record<string, unknown>)\n : null\n const sidePanelFileSrc = (selectedSizeData?.url ?? data?.thumbnailURL ?? data?.url ?? null) as\n | null\n | string\n const sidePanelMimeType = data?.mimeType as string | undefined\n const fileTypeIsAdjustable =\n !!sidePanelMimeType &&\n isImage(sidePanelMimeType) &&\n sidePanelMimeType !== 'image/svg+xml' &&\n sidePanelMimeType !== 'image/jxl'\n\n const renameFile = (fileToChange: File, newName: string): File =>\n new File([fileToChange], newName, {\n type: fileToChange.type,\n lastModified: fileToChange.lastModified,\n })\n\n const handleFileChange = useCallback(\n ({ file, isNewFile = true }: { file: File | null; isNewFile?: boolean }) => {\n if (\n file instanceof File &&\n uploadConfig.mimeTypes?.length &&\n !validateMimeType(file.type, uploadConfig.mimeTypes)\n ) {\n toast.error(t('error:invalidFileType'))\n return\n }\n if (isNewFile && file instanceof File) {\n setFileSrc(URL.createObjectURL(file))\n }\n setValue(file)\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n },\n [\n setValue,\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n t,\n uploadConfig.mimeTypes,\n ],\n )\n\n const handleFileNameChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\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) => handleFileChange({ file: files?.[0] }),\n [handleFileChange],\n )\n\n const handleFileFetchedFromUrl = useCallback(\n (file: File) => handleFileChange({ file }),\n [handleFileChange],\n )\n\n const { fileUrl, handleUrlSubmit, isValidUrl, setFileUrl } = useUploadFromUrl({\n collectionSlug,\n onFileFetched: handleFileFetchedFromUrl,\n uploadConfig,\n })\n\n const handlePasteFromClipboard = usePasteFromClipboard({\n handleFileSelection,\n handleUrlSubmit,\n setFileUrl,\n uploadConfig,\n })\n\n const handleFileRemoval = useCallback(() => {\n setRemovedFile(true)\n handleFileChange({ file: null })\n setFileSrc('')\n setFileUrl('')\n setSelectedSize(null)\n resetUploadEdits()\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n }, [\n handleFileChange,\n resetUploadEdits,\n setFileUrl,\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 // Reset states for when replacing the file with a new upload\n useEffect(() => {\n setSelectedSize(null)\n setRemovedFile(false)\n setFileSrc('')\n }, [data?.url, data?.filename])\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 const handleControlFileUrl = async () => {\n if (uploadControlFileUrl) {\n setFileUrl(uploadControlFileUrl)\n await handleUrlSubmit()\n }\n }\n void handleControlFileUrl()\n }, [uploadControlFileUrl, handleUrlSubmit, setFileUrl])\n\n useEffect(() => {\n if (uploadControlFile) {\n handleFileChange({ file: uploadControlFile })\n }\n }, [uploadControlFile, handleFileChange])\n\n // Preview a freshly-selected (not-yet-saved) file from its local object URL, so video/audio/PDF\n // are playable/viewable just like images. Sizing is capped in CSS so large files stay contained.\n const renderSelectedFilePreview = (src: string) => {\n const fileType = value?.type ?? ''\n\n if (fileType.startsWith('video/')) {\n return (\n <div className={`${baseClass}__selected-preview`}>\n <VideoPreview fileSrc={src} />\n </div>\n )\n }\n\n if (fileType.startsWith('audio/')) {\n return (\n <div className={`${baseClass}__selected-preview ${baseClass}__selected-preview--audio`}>\n <AudioPreview fileSrc={src} />\n </div>\n )\n }\n\n if (fileType === 'application/pdf') {\n return (\n <div className={`${baseClass}__selected-preview`}>\n <PdfPreview fileSrc={src} title={value?.name} />\n </div>\n )\n }\n\n return (\n <div className={`${baseClass}__selected-preview`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(fileType) ? src : null}\n size=\"expand\"\n />\n </div>\n )\n }\n\n const drawers = (\n <Fragment>\n {(value || data?.filename) && (\n <EditDepthProvider>\n <EditUpload\n fileName={value?.name || (data?.filename as string)}\n fileSrc={getEditorFileSrc({ data, fileSrc, hasSelectedFile: Boolean(value) })}\n imageCacheTag={imageCacheTag}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || (data?.focalX as number) || 50,\n y: uploadEdits?.focalPoint?.y || (data?.focalY as number) || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </EditDepthProvider>\n )}\n {data && hasVariants && (\n <Drawer\n className={`${baseClass}__preview-drawer`}\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 </Fragment>\n )\n\n // Hide the create file input when the collection opts out of it (unless the user has explicitly\n // removed an existing file or already selected a new one).\n const showUploadInput = Boolean(value) || removedFile || !uploadConfig?.hideFileInputOnCreate\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} path=\"filename\" showError={showError} />\n <div className={`${baseClass}__panel`}>\n {data?.filename && !removedFile && (\n <FileToolbar\n filename={data.filename as string}\n fileSrc={sidePanelFileSrc}\n fileUrl={data?.url as string}\n hideRemoveFile={uploadConfig?.hideRemoveFile}\n isAdjustable={fileTypeIsAdjustable}\n onEditImage={() => openModal(editDrawerSlug)}\n onReplace={handleFileRemoval}\n />\n )}\n <div className={`${baseClass}__content`}>\n {data?.filename && !removedFile ? (\n <FilePreview\n collectionSlug={collectionSlug}\n data={data as Record<string, unknown>}\n imageCacheTag={imageCacheTag}\n selectedSize={selectedSize}\n selectedSizeData={selectedSizeData}\n setSelectedSize={setSelectedSize}\n uploadConfig={uploadConfig}\n UploadFilePreview={UploadFilePreview}\n />\n ) : showUploadInput ? (\n <div className={`${baseClass}__upload`}>\n {!value && removedFile && data?.filename && (\n <Button\n aria-label={t('general:cancel')}\n buttonStyle=\"secondary\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n onClick={() => setRemovedFile(false)}\n round\n tooltip={t('general:cancel')}\n />\n )}\n {!value && (\n <Dropzone onChange={handleFileSelection}>\n <UploadDropzoneContent\n acceptMimeTypes={acceptMimeTypes}\n extraControls={UploadControls}\n onFilesSelected={handleFileSelection}\n onPasteFromClipboard={handlePasteFromClipboard}\n pasteButtonClassName={`${baseClass}__pasteFromClipboard`}\n pasteTooltip={t('upload:pasteURL')}\n />\n </Dropzone>\n )}\n {value && fileSrc && (\n <Fragment>\n <Button\n aria-label={t('general:cancel')}\n buttonStyle=\"secondary\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n {renderSelectedFilePreview(fileSrc)}\n <div className={`${baseClass}__file-adjustments`}>\n {/* Custom id so this editor doesn't collide with the hidden auto `filename` field. */}\n <TextInput\n id=\"field-filemanager-filename\"\n label={t('upload:fileName')}\n onChange={handleFileNameChange}\n path=\"filename\"\n value={filename || value.name}\n />\n {(value.size || value.type) && (\n <span className={`${baseClass}__selected-meta`}>\n {[value.size ? formatFilesize(value.size) : null, value.type]\n .filter(Boolean)\n .join(' – ')}\n </span>\n )}\n </div>\n </Fragment>\n )}\n </div>\n ) : null}\n </div>\n </div>\n {drawers}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ @layer payload-default {
2
+ .hierarchy-actions-menu {
3
+ display: contents;
4
+ }
5
+
6
+ .hierarchy-actions-menu__truncate {
7
+ display: block;
8
+ max-inline-size: calc(var(--spacer-6) * 4);
9
+ overflow: hidden;
10
+ text-overflow: ellipsis;
11
+ white-space: nowrap;
12
+ }
13
+
14
+ /* Dividers span the full menu width rather than sitting inside the list's inline padding. */
15
+ .hierarchy-actions-menu__popup-content .popup-divider {
16
+ margin-inline: calc(var(--spacer-2) * -1);
17
+ }
18
+ }
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import './index.css';
3
+ /**
4
+ * Props for the trigger button. `undefined` when the menu is off and the trigger
5
+ * should run its own click handler instead.
6
+ */
7
+ export type HierarchyActionsMenuTriggerProps = {
8
+ extraButtonProps: {
9
+ 'aria-controls'?: string;
10
+ 'aria-expanded'?: 'false' | 'true' | boolean;
11
+ 'aria-haspopup': 'menu';
12
+ onKeyDown: React.KeyboardEventHandler;
13
+ };
14
+ onClick: React.MouseEventHandler;
15
+ selected: boolean;
16
+ } | undefined;
17
+ export type HierarchyActionsMenuProps = {
18
+ /** Destination for the "Go to" action. The action is hidden when omitted. */
19
+ goTo?: {
20
+ href: string;
21
+ name: string;
22
+ };
23
+ /** When false, the trigger renders without a menu. */
24
+ hasActions: boolean;
25
+ /** Singular label of the hierarchy collection, used in the remove action. */
26
+ hierarchyLabel: string;
27
+ onMove: () => void;
28
+ /** Return `false` when the remove failed, so focus stays where it is. */
29
+ onRemove: () => boolean | Promise<boolean> | void;
30
+ renderTrigger: (triggerProps: HierarchyActionsMenuTriggerProps) => React.ReactNode;
31
+ /** Show icons next to the move and remove actions. */
32
+ showActionIcons?: boolean;
33
+ };
34
+ export declare const HierarchyActionsMenu: React.FC<HierarchyActionsMenuProps>;
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/ActionsMenu/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAMvE,OAAO,aAAa,CAAA;AAIpB;;;GAGG;AACH,MAAM,MAAM,gCAAgC,GACxC;IACE,gBAAgB,EAAE;QAChB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;QAC5C,eAAe,EAAE,MAAM,CAAA;QACvB,SAAS,EAAE,KAAK,CAAC,oBAAoB,CAAA;KACtC,CAAA;IACD,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAA;IAChC,QAAQ,EAAE,OAAO,CAAA;CAClB,GACD,SAAS,CAAA;AAEb,MAAM,MAAM,yBAAyB,GAAG;IACtC,6EAA6E;IAC7E,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACrC,sDAAsD;IACtD,UAAU,EAAE,OAAO,CAAA;IACnB,6EAA6E;IAC7E,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,yEAAyE;IACzE,QAAQ,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;IACjD,aAAa,EAAE,CAAC,YAAY,EAAE,gCAAgC,KAAK,KAAK,CAAC,SAAS,CAAA;IAClF,sDAAsD;IACtD,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAsFpE,CAAA"}
@@ -0,0 +1,99 @@
1
+ 'use client';
2
+
3
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
5
+ import { ArrowIcon } from '../../../icons/Arrow/index.js';
6
+ import { XIcon } from '../../../icons/X/index.js';
7
+ import { useTranslation } from '../../../providers/Translation/index.js';
8
+ import { Popup, PopupList } from '../../Popup/index.js';
9
+ import './index.css';
10
+ const baseClass = 'hierarchy-actions-menu';
11
+ export const HierarchyActionsMenu = ({
12
+ goTo,
13
+ hasActions,
14
+ hierarchyLabel,
15
+ onMove,
16
+ onRemove,
17
+ renderTrigger,
18
+ showActionIcons = false
19
+ }) => {
20
+ const {
21
+ t
22
+ } = useTranslation();
23
+ const controlRef = useRef(null);
24
+ const [shouldRefocus, setShouldRefocus] = useState(false);
25
+ // After a remove, the trigger re-renders without the menu, so focus the new button
26
+ useEffect(() => {
27
+ if (shouldRefocus) {
28
+ controlRef.current?.querySelector('button')?.focus();
29
+ setShouldRefocus(false);
30
+ }
31
+ }, [shouldRefocus]);
32
+ const handleRemove = useCallback(async () => {
33
+ if ((await onRemove()) !== false) {
34
+ setShouldRefocus(true);
35
+ }
36
+ }, [onRemove]);
37
+ return /*#__PURE__*/_jsx("div", {
38
+ className: baseClass,
39
+ ref: controlRef,
40
+ children: hasActions ? /*#__PURE__*/_jsx(Popup, {
41
+ caret: false,
42
+ horizontalAlign: "left",
43
+ portalClassName: `${baseClass}__popup-content`,
44
+ render: ({
45
+ close
46
+ }) => /*#__PURE__*/_jsxs(PopupList.MenuItem, {
47
+ children: [/*#__PURE__*/_jsx(PopupList.Button, {
48
+ icon: showActionIcons ? /*#__PURE__*/_jsx(ArrowIcon, {
49
+ direction: "right"
50
+ }) : undefined,
51
+ onClick: () => {
52
+ close();
53
+ requestAnimationFrame(onMove);
54
+ },
55
+ children: t('hierarchy:moveTo')
56
+ }), /*#__PURE__*/_jsx(PopupList.Button, {
57
+ icon: showActionIcons ? /*#__PURE__*/_jsx(XIcon, {}) : undefined,
58
+ onClick: () => {
59
+ close();
60
+ void handleRemove();
61
+ },
62
+ children: t('hierarchy:removeFrom', {
63
+ label: hierarchyLabel
64
+ })
65
+ }), goTo ? /*#__PURE__*/_jsxs(React.Fragment, {
66
+ children: [/*#__PURE__*/_jsx(PopupList.Divider, {}), /*#__PURE__*/_jsx(PopupList.Button, {
67
+ href: goTo.href,
68
+ onClick: close,
69
+ children: /*#__PURE__*/_jsx("span", {
70
+ className: `${baseClass}__truncate`,
71
+ title: goTo.name,
72
+ children: t('hierarchy:goTo', {
73
+ name: goTo.name
74
+ })
75
+ })
76
+ })]
77
+ }) : null]
78
+ }),
79
+ renderButton: ({
80
+ active,
81
+ 'aria-controls': ariaControls,
82
+ onClick,
83
+ onKeyDown
84
+ }) => renderTrigger({
85
+ extraButtonProps: {
86
+ 'aria-controls': ariaControls,
87
+ 'aria-expanded': active,
88
+ 'aria-haspopup': 'menu',
89
+ onKeyDown
90
+ },
91
+ onClick,
92
+ selected: active
93
+ }),
94
+ size: "fit-content",
95
+ verticalAlign: "bottom"
96
+ }) : renderTrigger(undefined)
97
+ });
98
+ };
99
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useRef","useState","ArrowIcon","XIcon","useTranslation","Popup","PopupList","baseClass","HierarchyActionsMenu","goTo","hasActions","hierarchyLabel","onMove","onRemove","renderTrigger","showActionIcons","t","controlRef","shouldRefocus","setShouldRefocus","current","querySelector","focus","handleRemove","_jsx","className","ref","caret","horizontalAlign","portalClassName","render","close","_jsxs","MenuItem","Button","icon","direction","undefined","onClick","requestAnimationFrame","label","Fragment","Divider","href","title","name","renderButton","active","ariaControls","onKeyDown","extraButtonProps","selected","size","verticalAlign"],"sources":["../../../../src/elements/Hierarchy/ActionsMenu/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { ArrowIcon } from '../../../icons/Arrow/index.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Popup, PopupList } from '../../Popup/index.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-actions-menu'\n\n/**\n * Props for the trigger button. `undefined` when the menu is off and the trigger\n * should run its own click handler instead.\n */\nexport type HierarchyActionsMenuTriggerProps =\n | {\n extraButtonProps: {\n 'aria-controls'?: string\n 'aria-expanded'?: 'false' | 'true' | boolean\n 'aria-haspopup': 'menu'\n onKeyDown: React.KeyboardEventHandler\n }\n onClick: React.MouseEventHandler\n selected: boolean\n }\n | undefined\n\nexport type HierarchyActionsMenuProps = {\n /** Destination for the \"Go to\" action. The action is hidden when omitted. */\n goTo?: { href: string; name: string }\n /** When false, the trigger renders without a menu. */\n hasActions: boolean\n /** Singular label of the hierarchy collection, used in the remove action. */\n hierarchyLabel: string\n onMove: () => void\n /** Return `false` when the remove failed, so focus stays where it is. */\n onRemove: () => boolean | Promise<boolean> | void\n renderTrigger: (triggerProps: HierarchyActionsMenuTriggerProps) => React.ReactNode\n /** Show icons next to the move and remove actions. */\n showActionIcons?: boolean\n}\n\nexport const HierarchyActionsMenu: React.FC<HierarchyActionsMenuProps> = ({\n goTo,\n hasActions,\n hierarchyLabel,\n onMove,\n onRemove,\n renderTrigger,\n showActionIcons = false,\n}) => {\n const { t } = useTranslation()\n const controlRef = useRef<HTMLDivElement | null>(null)\n const [shouldRefocus, setShouldRefocus] = useState(false)\n\n // After a remove, the trigger re-renders without the menu, so focus the new button\n useEffect(() => {\n if (shouldRefocus) {\n controlRef.current?.querySelector('button')?.focus()\n setShouldRefocus(false)\n }\n }, [shouldRefocus])\n\n const handleRemove = useCallback(async () => {\n if ((await onRemove()) !== false) {\n setShouldRefocus(true)\n }\n }, [onRemove])\n\n return (\n <div className={baseClass} ref={controlRef}>\n {hasActions ? (\n <Popup\n caret={false}\n horizontalAlign=\"left\"\n portalClassName={`${baseClass}__popup-content`}\n render={({ close }) => (\n <PopupList.MenuItem>\n <PopupList.Button\n icon={showActionIcons ? <ArrowIcon direction=\"right\" /> : undefined}\n onClick={() => {\n close()\n requestAnimationFrame(onMove)\n }}\n >\n {t('hierarchy:moveTo')}\n </PopupList.Button>\n <PopupList.Button\n icon={showActionIcons ? <XIcon /> : undefined}\n onClick={() => {\n close()\n void handleRemove()\n }}\n >\n {t('hierarchy:removeFrom', { label: hierarchyLabel })}\n </PopupList.Button>\n {goTo ? (\n <React.Fragment>\n <PopupList.Divider />\n <PopupList.Button href={goTo.href} onClick={close}>\n <span className={`${baseClass}__truncate`} title={goTo.name}>\n {t('hierarchy:goTo', { name: goTo.name })}\n </span>\n </PopupList.Button>\n </React.Fragment>\n ) : null}\n </PopupList.MenuItem>\n )}\n renderButton={({ active, 'aria-controls': ariaControls, onClick, onKeyDown }) =>\n renderTrigger({\n extraButtonProps: {\n 'aria-controls': ariaControls,\n 'aria-expanded': active,\n 'aria-haspopup': 'menu',\n onKeyDown,\n },\n onClick,\n selected: active,\n })\n }\n size=\"fit-content\"\n verticalAlign=\"bottom\"\n />\n ) : (\n renderTrigger(undefined)\n )}\n </div>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAEhE,SAASC,SAAS,QAAQ;AAC1B,SAASC,KAAK,QAAQ;AACtB,SAASC,cAAc,QAAQ;AAC/B,SAASC,KAAK,EAAEC,SAAS,QAAQ;AACjC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAkClB,OAAO,MAAMC,oBAAA,GAA4DA,CAAC;EACxEC,IAAI;EACJC,UAAU;EACVC,cAAc;EACdC,MAAM;EACNC,QAAQ;EACRC,aAAa;EACbC,eAAA,GAAkB;AAAK,CACxB;EACC,MAAM;IAAEC;EAAC,CAAE,GAAGZ,cAAA;EACd,MAAMa,UAAA,GAAajB,MAAA,CAA8B;EACjD,MAAM,CAACkB,aAAA,EAAeC,gBAAA,CAAiB,GAAGlB,QAAA,CAAS;EAEnD;EACAF,SAAA,CAAU;IACR,IAAImB,aAAA,EAAe;MACjBD,UAAA,CAAWG,OAAO,EAAEC,aAAA,CAAc,WAAWC,KAAA;MAC7CH,gBAAA,CAAiB;IACnB;EACF,GAAG,CAACD,aAAA,CAAc;EAElB,MAAMK,YAAA,GAAezB,WAAA,CAAY;IAC/B,IAAI,OAAOe,QAAA,QAAgB,OAAO;MAChCM,gBAAA,CAAiB;IACnB;EACF,GAAG,CAACN,QAAA,CAAS;EAEb,oBACEW,IAAA,CAAC;IAAIC,SAAA,EAAWlB,SAAA;IAAWmB,GAAA,EAAKT,UAAA;cAC7BP,UAAA,gBACCc,IAAA,CAACnB,KAAA;MACCsB,KAAA,EAAO;MACPC,eAAA,EAAgB;MAChBC,eAAA,EAAiB,GAAGtB,SAAA,iBAA0B;MAC9CuB,MAAA,EAAQA,CAAC;QAAEC;MAAK,CAAE,kBAChBC,KAAA,CAAC1B,SAAA,CAAU2B,QAAQ;gCACjBT,IAAA,CAAClB,SAAA,CAAU4B,MAAM;UACfC,IAAA,EAAMpB,eAAA,gBAAkBS,IAAA,CAACtB,SAAA;YAAUkC,SAAA,EAAU;eAAaC,SAAA;UAC1DC,OAAA,EAASA,CAAA;YACPP,KAAA;YACAQ,qBAAA,CAAsB3B,MAAA;UACxB;oBAECI,CAAA,CAAE;yBAELQ,IAAA,CAAClB,SAAA,CAAU4B,MAAM;UACfC,IAAA,EAAMpB,eAAA,gBAAkBS,IAAA,CAACrB,KAAA,QAAWkC,SAAA;UACpCC,OAAA,EAASA,CAAA;YACPP,KAAA;YACA,KAAKR,YAAA;UACP;oBAECP,CAAA,CAAE,wBAAwB;YAAEwB,KAAA,EAAO7B;UAAe;YAEpDF,IAAA,gBACCuB,KAAA,CAACnC,KAAA,CAAM4C,QAAQ;kCACbjB,IAAA,CAAClB,SAAA,CAAUoC,OAAO,O,aAClBlB,IAAA,CAAClB,SAAA,CAAU4B,MAAM;YAACS,IAAA,EAAMlC,IAAA,CAAKkC,IAAI;YAAEL,OAAA,EAASP,KAAA;sBAC1C,aAAAP,IAAA,CAAC;cAAKC,SAAA,EAAW,GAAGlB,SAAA,YAAqB;cAAEqC,KAAA,EAAOnC,IAAA,CAAKoC,IAAI;wBACxD7B,CAAA,CAAE,kBAAkB;gBAAE6B,IAAA,EAAMpC,IAAA,CAAKoC;cAAK;;;aAI3C;;MAGRC,YAAA,EAAcA,CAAC;QAAEC,MAAM;QAAE,iBAAiBC,YAAY;QAAEV,OAAO;QAAEW;MAAS,CAAE,KAC1EnC,aAAA,CAAc;QACZoC,gBAAA,EAAkB;UAChB,iBAAiBF,YAAA;UACjB,iBAAiBD,MAAA;UACjB,iBAAiB;UACjBE;QACF;QACAX,OAAA;QACAa,QAAA,EAAUJ;MACZ;MAEFK,IAAA,EAAK;MACLC,aAAA,EAAc;SAGhBvC,aAAA,CAAcuB,SAAA;;AAItB","ignoreList":[]}
@@ -12,7 +12,7 @@ import { ColumnItem } from '../ColumnItem/index.js';
12
12
  import './index.css';
13
13
  const baseClass = 'hierarchy-column';
14
14
  export const Column = t0 => {
15
- const $ = _c(39);
15
+ const $ = _c(40);
16
16
  const {
17
17
  ancestorsWithSelections,
18
18
  canCreate,
@@ -67,21 +67,23 @@ export const Column = t0 => {
67
67
  }
68
68
  const handleSelect = t2;
69
69
  let t3;
70
- if ($[27] !== onCreateNew || $[28] !== parentId) {
70
+ if ($[27] !== onCreateNew || $[28] !== parentId || $[29] !== pathToColumn) {
71
71
  t3 = () => {
72
72
  onCreateNew({
73
- parentId
73
+ parentId,
74
+ path: pathToColumn
74
75
  });
75
76
  };
76
77
  $[27] = onCreateNew;
77
78
  $[28] = parentId;
78
- $[29] = t3;
79
+ $[29] = pathToColumn;
80
+ $[30] = t3;
79
81
  } else {
80
- t3 = $[29];
82
+ t3 = $[30];
81
83
  }
82
84
  const handleCreateNew = t3;
83
85
  let t4;
84
- if ($[30] !== ancestorsWithSelections || $[31] !== disabled || $[32] !== disabledIds || $[33] !== expandedId || $[34] !== filterByCollection || $[35] !== handleSelect || $[36] !== onExpand || $[37] !== selectedIds) {
86
+ if ($[31] !== ancestorsWithSelections || $[32] !== disabled || $[33] !== disabledIds || $[34] !== expandedId || $[35] !== filterByCollection || $[36] !== handleSelect || $[37] !== onExpand || $[38] !== selectedIds) {
85
87
  t4 = item_0 => _jsx(ColumnItem, {
86
88
  disabled: Boolean(disabled || disabledIds?.has(item_0.id)),
87
89
  filterByCollection,
@@ -92,17 +94,17 @@ export const Column = t0 => {
92
94
  onExpand,
93
95
  onSelect: handleSelect
94
96
  }, String(item_0.id));
95
- $[30] = ancestorsWithSelections;
96
- $[31] = disabled;
97
- $[32] = disabledIds;
98
- $[33] = expandedId;
99
- $[34] = filterByCollection;
100
- $[35] = handleSelect;
101
- $[36] = onExpand;
102
- $[37] = selectedIds;
103
- $[38] = t4;
97
+ $[31] = ancestorsWithSelections;
98
+ $[32] = disabled;
99
+ $[33] = disabledIds;
100
+ $[34] = expandedId;
101
+ $[35] = filterByCollection;
102
+ $[36] = handleSelect;
103
+ $[37] = onExpand;
104
+ $[38] = selectedIds;
105
+ $[39] = t4;
104
106
  } else {
105
- t4 = $[38];
107
+ t4 = $[39];
106
108
  }
107
109
  t1 = _jsxs("div", {
108
110
  className: baseClass,