@payloadcms/ui 4.0.0-internal.a7ca468 → 4.0.0-internal.af6aad0

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 (558) hide show
  1. package/dist/elements/AddNewRelation/index.css +0 -4
  2. package/dist/elements/AddNewRelation/index.js +2 -2
  3. package/dist/elements/AddNewRelation/index.js.map +1 -1
  4. package/dist/elements/AppHeader/index.css +5 -0
  5. package/dist/elements/AppHeader/index.d.ts +1 -8
  6. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  7. package/dist/elements/AppHeader/index.js +4 -13
  8. package/dist/elements/AppHeader/index.js.map +1 -1
  9. package/dist/elements/ArrayAction/index.d.ts +1 -0
  10. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  11. package/dist/elements/ArrayAction/index.js +45 -32
  12. package/dist/elements/ArrayAction/index.js.map +1 -1
  13. package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
  14. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  15. package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
  16. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  17. package/dist/elements/Button/index.css +25 -2
  18. package/dist/elements/Button/index.d.ts.map +1 -1
  19. package/dist/elements/Button/index.js +2 -0
  20. package/dist/elements/Button/index.js.map +1 -1
  21. package/dist/elements/Button/types.d.ts +1 -1
  22. package/dist/elements/Button/types.d.ts.map +1 -1
  23. package/dist/elements/Button/types.js.map +1 -1
  24. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
  25. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  26. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
  27. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  28. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +345 -1
  29. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
  30. package/dist/elements/DefaultListViewTabs/index.css +1 -0
  31. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  32. package/dist/elements/DefaultListViewTabs/index.js +84 -62
  33. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  34. package/dist/elements/DocumentDrawer/types.d.ts +1 -1
  35. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  36. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  37. package/dist/elements/Drawer/index.css +10 -4
  38. package/dist/elements/Drawer/types.d.ts +2 -2
  39. package/dist/elements/Drawer/types.d.ts.map +1 -1
  40. package/dist/elements/Drawer/types.js.map +1 -1
  41. package/dist/elements/Dropzone/index.css +10 -4
  42. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
  43. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  44. package/dist/elements/FileManager/index.css +0 -30
  45. package/dist/elements/FileManager/index.d.ts.map +1 -1
  46. package/dist/elements/FileManager/index.js +379 -287
  47. package/dist/elements/FileManager/index.js.map +1 -1
  48. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +22 -4
  49. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -1
  50. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +68 -49
  51. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  52. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +100 -15
  53. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  54. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +97 -137
  55. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  56. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +1 -1
  57. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  58. package/dist/elements/Hierarchy/ColumnBrowser/index.js +51 -23
  59. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  60. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +26 -3
  61. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  62. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  63. package/dist/elements/Hierarchy/CreateNewButton/index.css +9 -0
  64. package/dist/elements/Hierarchy/CreateNewButton/index.d.ts +9 -0
  65. package/dist/elements/Hierarchy/CreateNewButton/index.d.ts.map +1 -0
  66. package/dist/elements/Hierarchy/CreateNewButton/index.js +111 -0
  67. package/dist/elements/Hierarchy/CreateNewButton/index.js.map +1 -0
  68. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  69. package/dist/elements/Hierarchy/DocHeaderButton/index.js +6 -1
  70. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  71. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +1 -3
  72. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +1 -1
  73. package/dist/elements/Hierarchy/Field/index.client.d.ts +5 -0
  74. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  75. package/dist/elements/Hierarchy/Field/index.client.js +120 -95
  76. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  77. package/dist/elements/Hierarchy/Field/index.css +3 -34
  78. package/dist/elements/Hierarchy/Modal/Footer/index.css +45 -0
  79. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +28 -0
  80. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
  81. package/dist/elements/Hierarchy/Modal/Footer/index.js +166 -0
  82. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
  83. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +18 -4
  84. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  85. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +88 -24
  86. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  87. package/dist/elements/Hierarchy/Modal/index.css +4 -53
  88. package/dist/elements/Hierarchy/Modal/index.d.ts +5 -2
  89. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  90. package/dist/elements/Hierarchy/Modal/index.js +136 -99
  91. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  92. package/dist/elements/Hierarchy/Modal/types.d.ts +15 -0
  93. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
  94. package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
  95. package/dist/elements/Hierarchy/MoveMany/index.d.ts +7 -3
  96. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  97. package/dist/elements/Hierarchy/MoveMany/index.js +43 -170
  98. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  99. package/dist/elements/Hierarchy/Search/index.css +2 -9
  100. package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
  101. package/dist/elements/Hierarchy/Search/index.js +6 -73
  102. package/dist/elements/Hierarchy/Search/index.js.map +1 -1
  103. package/dist/elements/Hierarchy/Search/types.d.ts +2 -6
  104. package/dist/elements/Hierarchy/Search/types.d.ts.map +1 -1
  105. package/dist/elements/Hierarchy/Search/types.js.map +1 -1
  106. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +0 -4
  107. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  108. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +101 -186
  109. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  110. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  111. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +1 -21
  112. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  113. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +3 -3
  114. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +59 -29
  115. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +1 -1
  116. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  117. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +54 -10
  118. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  119. package/dist/elements/Hierarchy/Tree/index.css +8 -9
  120. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  121. package/dist/elements/Hierarchy/Tree/index.js +29 -47
  122. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  123. package/dist/elements/Hierarchy/Tree/types.d.ts +9 -1
  124. package/dist/elements/Hierarchy/Tree/types.d.ts.map +1 -1
  125. package/dist/elements/Hierarchy/Tree/types.js.map +1 -1
  126. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  127. package/dist/elements/Hierarchy/Tree/useChildren.js +11 -1
  128. package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
  129. package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts +22 -0
  130. package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts.map +1 -0
  131. package/dist/elements/Hierarchy/getFolderHierarchySlug.js +17 -0
  132. package/dist/elements/Hierarchy/getFolderHierarchySlug.js.map +1 -0
  133. package/dist/elements/Hierarchy/move/moveDocuments.d.ts +34 -0
  134. package/dist/elements/Hierarchy/move/moveDocuments.d.ts.map +1 -0
  135. package/dist/elements/Hierarchy/move/moveDocuments.js +94 -0
  136. package/dist/elements/Hierarchy/move/moveDocuments.js.map +1 -0
  137. package/dist/elements/IDLabel/index.css +6 -0
  138. package/dist/elements/IDLabel/index.d.ts +1 -1
  139. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  140. package/dist/elements/IDLabel/index.js +16 -21
  141. package/dist/elements/IDLabel/index.js.map +1 -1
  142. package/dist/elements/ListControls/index.d.ts.map +1 -1
  143. package/dist/elements/ListControls/index.js +3 -2
  144. package/dist/elements/ListControls/index.js.map +1 -1
  145. package/dist/elements/ListControls/types.d.ts +4 -0
  146. package/dist/elements/ListControls/types.d.ts.map +1 -1
  147. package/dist/elements/ListControls/types.js.map +1 -1
  148. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
  149. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
  150. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
  151. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  152. package/dist/elements/Nav/NavSidebarToggle/index.js +1 -1
  153. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
  154. package/dist/elements/Nav/NavWrapper/index.d.ts +1 -0
  155. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  156. package/dist/elements/Nav/NavWrapper/index.js +12 -18
  157. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  158. package/dist/elements/Nav/SidebarTabs/index.css +1 -2
  159. package/dist/elements/Nav/context.d.ts +0 -1
  160. package/dist/elements/Nav/context.d.ts.map +1 -1
  161. package/dist/elements/Nav/context.js +92 -67
  162. package/dist/elements/Nav/context.js.map +1 -1
  163. package/dist/elements/Nav/index.css +47 -42
  164. package/dist/elements/Nav/index.d.ts +4 -0
  165. package/dist/elements/Nav/index.d.ts.map +1 -1
  166. package/dist/elements/Nav/index.js +16 -1
  167. package/dist/elements/Nav/index.js.map +1 -1
  168. package/dist/elements/NavGroup/index.css +29 -15
  169. package/dist/elements/Popup/PopupButtonList/index.css +33 -17
  170. package/dist/elements/Popup/index.css +6 -0
  171. package/dist/elements/Popup/index.d.ts +10 -0
  172. package/dist/elements/Popup/index.d.ts.map +1 -1
  173. package/dist/elements/Popup/index.js +13 -6
  174. package/dist/elements/Popup/index.js.map +1 -1
  175. package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
  176. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  177. package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
  178. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  179. package/dist/elements/ReactSelect/types.d.ts +5 -0
  180. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  181. package/dist/elements/ReactSelect/types.js.map +1 -1
  182. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  183. package/dist/elements/RelationshipTable/index.js +5 -2
  184. package/dist/elements/RelationshipTable/index.js.map +1 -1
  185. package/dist/elements/SegmentedControl/index.css +58 -0
  186. package/dist/elements/SegmentedControl/index.d.ts +19 -0
  187. package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
  188. package/dist/elements/SegmentedControl/index.js +104 -0
  189. package/dist/elements/SegmentedControl/index.js.map +1 -0
  190. package/dist/elements/SelectAll/index.d.ts.map +1 -1
  191. package/dist/elements/SelectAll/index.js +1 -2
  192. package/dist/elements/SelectAll/index.js.map +1 -1
  193. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  194. package/dist/elements/SelectRow/index.js +1 -2
  195. package/dist/elements/SelectRow/index.js.map +1 -1
  196. package/dist/elements/SidebarRow/index.css +1 -5
  197. package/dist/elements/SidebarToggle/index.css +3 -1
  198. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  199. package/dist/elements/SortHeader/index.js +29 -26
  200. package/dist/elements/SortHeader/index.js.map +1 -1
  201. package/dist/elements/StepNav/DropTarget/index.css +20 -0
  202. package/dist/elements/StepNav/DropTarget/index.d.ts +16 -0
  203. package/dist/elements/StepNav/DropTarget/index.d.ts.map +1 -0
  204. package/dist/elements/StepNav/DropTarget/index.js +71 -0
  205. package/dist/elements/StepNav/DropTarget/index.js.map +1 -0
  206. package/dist/elements/StepNav/index.css +64 -14
  207. package/dist/elements/StepNav/index.d.ts.map +1 -1
  208. package/dist/elements/StepNav/index.js +147 -69
  209. package/dist/elements/StepNav/index.js.map +1 -1
  210. package/dist/elements/StepNav/types.d.ts +6 -0
  211. package/dist/elements/StepNav/types.d.ts.map +1 -1
  212. package/dist/elements/StepNav/types.js.map +1 -1
  213. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +5 -7
  214. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  215. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +14 -3
  216. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  217. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  218. package/dist/elements/Table/DefaultCell/index.js +3 -11
  219. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  220. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
  221. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
  222. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
  223. package/dist/elements/Upload/index.css +39 -32
  224. package/dist/elements/Upload/index.d.ts.map +1 -1
  225. package/dist/elements/Upload/index.js +37 -99
  226. package/dist/elements/Upload/index.js.map +1 -1
  227. package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
  228. package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
  229. package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
  230. package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
  231. package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
  232. package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
  233. package/dist/elements/Upload/useUploadFromUrl.js +201 -0
  234. package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
  235. package/dist/elements/UploadDropzoneContent/index.css +31 -0
  236. package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
  237. package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
  238. package/dist/elements/UploadDropzoneContent/index.js +62 -0
  239. package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
  240. package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts +18 -0
  241. package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts.map +1 -0
  242. package/dist/elements/UserMenu/HoverSubmenuGroup.js +38 -0
  243. package/dist/elements/UserMenu/HoverSubmenuGroup.js.map +1 -0
  244. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
  245. package/dist/elements/UserMenu/LanguageMenu/index.js +83 -39
  246. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  247. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
  248. package/dist/elements/UserMenu/SettingsMenu/index.js +57 -21
  249. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  250. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
  251. package/dist/elements/UserMenu/ThemeMenu/index.js +83 -39
  252. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  253. package/dist/elements/UserMenu/index.css +32 -2
  254. package/dist/elements/UserMenu/index.d.ts +1 -0
  255. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  256. package/dist/elements/UserMenu/index.js +77 -51
  257. package/dist/elements/UserMenu/index.js.map +1 -1
  258. package/dist/elements/UserMenu/useHoverSubmenu.d.ts +21 -0
  259. package/dist/elements/UserMenu/useHoverSubmenu.d.ts.map +1 -0
  260. package/dist/elements/UserMenu/useHoverSubmenu.js +260 -0
  261. package/dist/elements/UserMenu/useHoverSubmenu.js.map +1 -0
  262. package/dist/elements/ViewModeToggle/index.d.ts +8 -0
  263. package/dist/elements/ViewModeToggle/index.d.ts.map +1 -0
  264. package/dist/elements/ViewModeToggle/index.js +29 -0
  265. package/dist/elements/ViewModeToggle/index.js.map +1 -0
  266. package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
  267. package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
  268. package/dist/elements/WhereBuilder/conditionValue.js +32 -0
  269. package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
  270. package/dist/elements/WhereBuilder/conditionValue.spec.js +65 -0
  271. package/dist/elements/WhereBuilder/conditionValue.spec.js.map +1 -0
  272. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  273. package/dist/elements/WhereBuilder/index.js +15 -4
  274. package/dist/elements/WhereBuilder/index.js.map +1 -1
  275. package/dist/exports/client/index.d.ts +6 -1
  276. package/dist/exports/client/index.d.ts.map +1 -1
  277. package/dist/exports/client/index.js +1 -1
  278. package/dist/exports/client/index.js.map +3 -3
  279. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  280. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  281. package/dist/fields/Array/ArrayRow.js +2 -0
  282. package/dist/fields/Array/ArrayRow.js.map +1 -1
  283. package/dist/fields/Array/index.d.ts.map +1 -1
  284. package/dist/fields/Array/index.js +38 -10
  285. package/dist/fields/Array/index.js.map +1 -1
  286. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  287. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  288. package/dist/fields/Blocks/BlockRow.js +2 -0
  289. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  290. package/dist/fields/Blocks/RowActions.d.ts +1 -0
  291. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  292. package/dist/fields/Blocks/RowActions.js +22 -19
  293. package/dist/fields/Blocks/RowActions.js.map +1 -1
  294. package/dist/fields/Blocks/index.d.ts.map +1 -1
  295. package/dist/fields/Blocks/index.js +35 -7
  296. package/dist/fields/Blocks/index.js.map +1 -1
  297. package/dist/fields/Checkbox/Input.d.ts +2 -2
  298. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  299. package/dist/fields/Checkbox/Input.js +134 -152
  300. package/dist/fields/Checkbox/Input.js.map +1 -1
  301. package/dist/fields/Checkbox/index.css +168 -155
  302. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  303. package/dist/fields/Relationship/Input.js +24 -6
  304. package/dist/fields/Relationship/Input.js.map +1 -1
  305. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  306. package/dist/fields/Relationship/optionsReducer.js +2 -0
  307. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  308. package/dist/fields/Relationship/types.d.ts +24 -0
  309. package/dist/fields/Relationship/types.d.ts.map +1 -1
  310. package/dist/fields/Relationship/types.js.map +1 -1
  311. package/dist/fields/Upload/Input.d.ts.map +1 -1
  312. package/dist/fields/Upload/Input.js +44 -16
  313. package/dist/fields/Upload/Input.js.map +1 -1
  314. package/dist/fields/Upload/Input.spec.js +241 -0
  315. package/dist/fields/Upload/Input.spec.js.map +1 -0
  316. package/dist/forms/Form/index.d.ts.map +1 -1
  317. package/dist/forms/Form/index.js +4 -1
  318. package/dist/forms/Form/index.js.map +1 -1
  319. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  320. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -0
  321. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  322. package/dist/icons/CollapseLayers/index.css +5 -0
  323. package/dist/icons/CollapseLayers/index.d.ts +7 -0
  324. package/dist/icons/CollapseLayers/index.d.ts.map +1 -0
  325. package/dist/icons/CollapseLayers/index.js +23 -0
  326. package/dist/icons/CollapseLayers/index.js.map +1 -0
  327. package/dist/icons/Edit/index.d.ts +0 -1
  328. package/dist/icons/Edit/index.d.ts.map +1 -1
  329. package/dist/icons/Edit/index.js +4 -4
  330. package/dist/icons/Edit/index.js.map +1 -1
  331. package/dist/icons/Table/index.css +5 -0
  332. package/dist/icons/Table/index.d.ts +7 -0
  333. package/dist/icons/Table/index.d.ts.map +1 -0
  334. package/dist/icons/Table/index.js +25 -0
  335. package/dist/icons/Table/index.js.map +1 -0
  336. package/dist/providers/Actions/index.d.ts +1 -0
  337. package/dist/providers/Actions/index.d.ts.map +1 -1
  338. package/dist/providers/Actions/index.js +43 -11
  339. package/dist/providers/Actions/index.js.map +1 -1
  340. package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
  341. package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
  342. package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
  343. package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
  344. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
  345. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
  346. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
  347. package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
  348. package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
  349. package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
  350. package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
  351. package/dist/providers/Auth/authSessionRequests.js +119 -0
  352. package/dist/providers/Auth/authSessionRequests.js.map +1 -0
  353. package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
  354. package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
  355. package/dist/providers/Auth/index.d.ts +2 -56
  356. package/dist/providers/Auth/index.d.ts.map +1 -1
  357. package/dist/providers/Auth/index.js +283 -135
  358. package/dist/providers/Auth/index.js.map +1 -1
  359. package/dist/providers/Auth/sessionActivity.d.ts +23 -0
  360. package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
  361. package/dist/providers/Auth/sessionActivity.js +49 -0
  362. package/dist/providers/Auth/sessionActivity.js.map +1 -0
  363. package/dist/providers/Auth/sessionActivity.spec.js +44 -0
  364. package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
  365. package/dist/providers/Auth/sessionTiming.d.ts +11 -0
  366. package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
  367. package/dist/providers/Auth/sessionTiming.js +18 -0
  368. package/dist/providers/Auth/sessionTiming.js.map +1 -0
  369. package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
  370. package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
  371. package/dist/providers/Auth/tabSessionSync/index.js +263 -0
  372. package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
  373. package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
  374. package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
  375. package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
  376. package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
  377. package/dist/providers/Auth/tabSessionSync/types.js +6 -0
  378. package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
  379. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
  380. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
  381. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
  382. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
  383. package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
  384. package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
  385. package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
  386. package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
  387. package/dist/providers/Auth/types.d.ts +65 -0
  388. package/dist/providers/Auth/types.d.ts.map +1 -0
  389. package/dist/providers/Auth/types.js +2 -0
  390. package/dist/providers/Auth/types.js.map +1 -0
  391. package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
  392. package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
  393. package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
  394. package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
  395. package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
  396. package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
  397. package/dist/providers/FormErrorHandler/index.d.ts +5 -1
  398. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -1
  399. package/dist/providers/FormErrorHandler/index.js.map +1 -1
  400. package/dist/providers/Hierarchy/index.d.ts.map +1 -1
  401. package/dist/providers/Hierarchy/index.js +53 -24
  402. package/dist/providers/Hierarchy/index.js.map +1 -1
  403. package/dist/providers/Hierarchy/types.d.ts +2 -0
  404. package/dist/providers/Hierarchy/types.d.ts.map +1 -1
  405. package/dist/providers/Hierarchy/types.js.map +1 -1
  406. package/dist/providers/HierarchyDnd/index.css +51 -0
  407. package/dist/providers/HierarchyDnd/index.d.ts +21 -0
  408. package/dist/providers/HierarchyDnd/index.d.ts.map +1 -0
  409. package/dist/providers/HierarchyDnd/index.js +163 -0
  410. package/dist/providers/HierarchyDnd/index.js.map +1 -0
  411. package/dist/providers/HierarchyDnd/types.d.ts +56 -0
  412. package/dist/providers/HierarchyDnd/types.d.ts.map +1 -0
  413. package/dist/providers/HierarchyDnd/types.js +21 -0
  414. package/dist/providers/HierarchyDnd/types.js.map +1 -0
  415. package/dist/providers/Locale/index.d.ts.map +1 -1
  416. package/dist/providers/Locale/index.js +41 -36
  417. package/dist/providers/Locale/index.js.map +1 -1
  418. package/dist/providers/Root/index.js +4 -4
  419. package/dist/providers/Root/index.js.map +1 -1
  420. package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
  421. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  422. package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
  423. package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
  424. package/dist/providers/RouteTransition/index.d.ts +2 -0
  425. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  426. package/dist/providers/RouteTransition/index.js +42 -14
  427. package/dist/providers/RouteTransition/index.js.map +1 -1
  428. package/dist/styles.css +1 -1
  429. package/dist/templates/Default/Wrapper/index.css +2 -1
  430. package/dist/templates/Default/Wrapper/index.d.ts +2 -0
  431. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  432. package/dist/templates/Default/Wrapper/index.js +12 -6
  433. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  434. package/dist/templates/Default/index.css +3 -1
  435. package/dist/templates/Default/index.d.ts +1 -0
  436. package/dist/templates/Default/index.d.ts.map +1 -1
  437. package/dist/templates/Default/index.js +19 -15
  438. package/dist/templates/Default/index.js.map +1 -1
  439. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  440. package/dist/utilities/formatMetadata.js +0 -5
  441. package/dist/utilities/formatMetadata.js.map +1 -1
  442. package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
  443. package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
  444. package/dist/utilities/getFilesFromClipboard.js +49 -0
  445. package/dist/utilities/getFilesFromClipboard.js.map +1 -0
  446. package/dist/utilities/slugify.d.ts.map +1 -1
  447. package/dist/utilities/slugify.js +1 -0
  448. package/dist/utilities/slugify.js.map +1 -1
  449. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  450. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
  451. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  452. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  453. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
  454. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  455. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  456. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
  457. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  458. package/dist/views/Dashboard/Default/ModularDashboard/index.css +33 -140
  459. package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
  460. package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
  461. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  462. package/dist/views/Edit/index.d.ts.map +1 -1
  463. package/dist/views/Edit/index.js +3 -2
  464. package/dist/views/Edit/index.js.map +1 -1
  465. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  466. package/dist/views/HierarchyList/DocumentListSelection/index.js +100 -105
  467. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  468. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.css +216 -0
  469. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts +20 -0
  470. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts.map +1 -0
  471. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js +182 -0
  472. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js.map +1 -0
  473. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.css +38 -0
  474. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts +15 -0
  475. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts.map +1 -0
  476. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js +85 -0
  477. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js.map +1 -0
  478. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.css +98 -0
  479. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts +27 -0
  480. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts.map +1 -0
  481. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js +84 -0
  482. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js.map +1 -0
  483. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts +19 -0
  484. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts.map +1 -0
  485. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js +100 -0
  486. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js.map +1 -0
  487. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts +53 -0
  488. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts.map +1 -0
  489. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js +145 -0
  490. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js.map +1 -0
  491. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts +8 -0
  492. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts.map +1 -0
  493. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js +21 -0
  494. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js.map +1 -0
  495. package/dist/views/HierarchyList/HierarchyCards/index.css +115 -0
  496. package/dist/views/HierarchyList/HierarchyCards/index.d.ts +80 -0
  497. package/dist/views/HierarchyList/HierarchyCards/index.d.ts.map +1 -0
  498. package/dist/views/HierarchyList/HierarchyCards/index.js +457 -0
  499. package/dist/views/HierarchyList/HierarchyCards/index.js.map +1 -0
  500. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +6 -1
  501. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
  502. package/dist/views/HierarchyList/HierarchyListHeader/index.js +10 -8
  503. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
  504. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
  505. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +11 -10
  506. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  507. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  508. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +3 -6
  509. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  510. package/dist/views/HierarchyList/HierarchyTable/index.css +51 -0
  511. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +13 -1
  512. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  513. package/dist/views/HierarchyList/HierarchyTable/index.js +156 -38
  514. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  515. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +6 -0
  516. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
  517. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
  518. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  519. package/dist/views/HierarchyList/index.js +103 -20
  520. package/dist/views/HierarchyList/index.js.map +1 -1
  521. package/dist/views/List/ListHeader/index.d.ts +1 -10
  522. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  523. package/dist/views/List/ListHeader/index.js +1 -3
  524. package/dist/views/List/ListHeader/index.js.map +1 -1
  525. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  526. package/dist/views/List/ListSelection/index.js +138 -122
  527. package/dist/views/List/ListSelection/index.js.map +1 -1
  528. package/dist/views/List/handleHierarchy.d.ts +6 -1
  529. package/dist/views/List/handleHierarchy.d.ts.map +1 -1
  530. package/dist/views/List/handleHierarchy.js +34 -3
  531. package/dist/views/List/handleHierarchy.js.map +1 -1
  532. package/dist/views/List/index.client.d.ts.map +1 -1
  533. package/dist/views/List/index.client.js +128 -18
  534. package/dist/views/List/index.client.js.map +1 -1
  535. package/dist/views/List/index.css +5 -0
  536. package/dist/views/List/index.d.ts.map +1 -1
  537. package/dist/views/List/index.js +27 -16
  538. package/dist/views/List/index.js.map +1 -1
  539. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  540. package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
  541. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  542. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
  543. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  544. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  545. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  546. package/dist/views/Root/getRouteData.js +8 -2
  547. package/dist/views/Root/getRouteData.js.map +1 -1
  548. package/dist/views/Root/index.d.ts.map +1 -1
  549. package/dist/views/Root/index.js +1 -0
  550. package/dist/views/Root/index.js.map +1 -1
  551. package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
  552. package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
  553. package/package.json +4 -4
  554. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +0 -36
  555. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +0 -13
  556. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +0 -1
  557. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +0 -141
  558. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","formatAdminURL","formatFilesize","isImage","React","Fragment","useCallback","useEffect","useRef","useState","toast","FieldError","fieldBaseClass","TextInput","useForm","useField","useConfig","useDocumentInfo","EditDepthProvider","useTranslation","useUploadControls","useUploadEdits","Button","Drawer","Dropzone","EditUpload","PreviewSizes","Thumbnail","editDrawerSlug","sizePreviewSlug","pasteURLDrawerSlug","UploadFromURLModal","AudioPreview","FilePreview","PdfPreview","VideoPreview","FileToolbar","baseClass","validate","value","undefined","name","FileManager","collectionSlug","initialState","resetUploadEdits","resetUploadEditsFromProps","updateUploadEdits","updateUploadEditsFromProps","uploadConfig","UploadControls","uploadEdits","uploadEditsFromProps","UploadFilePreview","closeModal","openModal","t","setModified","id","data","setUploadStatus","errorMessage","setValue","showError","path","config","routes","api","setUploadControlFile","setUploadControlFileName","setUploadControlFileUrl","uploadControlFile","uploadControlFileName","uploadControlFileUrl","uploadEditsContext","fileSrc","setFileSrc","removedFile","setRemovedFile","filename","setFilename","fileUrl","setFileUrl","selectedSize","setSelectedSize","inputRef","useServerSideFetch","pasteURL","allowList","length","acceptMimeTypes","mimeTypes","join","imageCacheTag","cacheTags","updatedAt","hasImageSizes","imageSizes","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","focalPoint","crop","showCrop","showFocalPoint","selectedSizeData","sizes","sidePanelFileSrc","url","thumbnailURL","sidePanelMimeType","mimeType","fileTypeIsAdjustable","renameFile","fileToChange","newName","File","type","lastModified","handleFileChange","file","isNewFile","URL","createObjectURL","handleFileNameChange","e","updatedFileName","target","handleFileRemoval","handleFileSelection","files","isValidUrl","canParse","handleUrlSubmit","clientResponse","fetch","ok","Error","status","blob","rawSegment","split","pop","fileName","decodeURIComponent","_clientError","error","encodeURIComponent","serverResponse","apiRoute","_serverError","onEditsSave","args","startsWith","revokeObjectURL","handleControlFileUrl","renderSelectedFilePreview","src","fileType","_jsx","className","title","size","drawers","_jsxs","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","slug","label","doc","showUploadInput","hideFileInputOnCreate","filter","message","hideRemoveFile","isAdjustable","onEditImage","onReplace","buttonStyle","icon","onClick","round","tooltip","onChange","current","click","accept","hidden","ref"],"sources":["../../../src/elements/FileManager/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { formatAdminURL, formatFilesize, isImage } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { TextInput } from '../../fields/Text/Input.js'\nimport { useForm } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { 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 { pasteURLDrawerSlug, UploadFromURLModal } from '../Upload/UploadFromURLModal/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\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n if (value && (!value.name || value.name === '')) {\n return 'A file name is required.'\n }\n return true\n}\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 { closeModal, openModal } = useModal()\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { id, data, setUploadStatus } = useDocumentInfo()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n const {\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n uploadControlFile,\n uploadControlFileName,\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 [fileUrl, setFileUrl] = useState<string>('')\n const [selectedSize, setSelectedSize] = useState<null | string>(null)\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n const useServerSideFetch =\n typeof uploadConfig?.pasteURL === 'object' && uploadConfig.pasteURL.allowList?.length > 0\n\n const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ')\n const imageCacheTag = uploadConfig?.cacheTags && data?.updatedAt\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n const focalPointEnabled = uploadConfig?.focalPoint === true\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n const selectedSizeData = selectedSize\n ? (data?.sizes?.[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 (isNewFile && file instanceof File) {\n setFileSrc(URL.createObjectURL(file))\n }\n setValue(file)\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n },\n [setValue, setUploadControlFile, setUploadControlFileName, setUploadControlFileUrl],\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 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 setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n ])\n\n const handleFileSelection = useCallback(\n (files: FileList) => handleFileChange({ file: files?.[0] }),\n [handleFileChange],\n )\n\n const isValidUrl = Boolean(fileUrl && URL.canParse(fileUrl))\n\n const handleUrlSubmit = useCallback(async () => {\n if (!fileUrl || !URL.canParse(fileUrl) || uploadConfig?.pasteURL === false) {\n return\n }\n setUploadStatus('uploading')\n try {\n const clientResponse = await fetch(fileUrl)\n if (!clientResponse.ok) {\n throw new Error(`Fetch failed: ${clientResponse.status}`)\n }\n const blob = await clientResponse.blob()\n const rawSegment = fileUrl.split('/').pop() || ''\n const fileName = uploadControlFileName || decodeURIComponent(rawSegment.split('?')[0])\n handleFileChange({ file: new File([blob], fileName, { type: blob.type }) })\n setUploadStatus('idle')\n closeModal(pasteURLDrawerSlug)\n setFileUrl('')\n return\n } catch (_clientError) {\n if (!useServerSideFetch) {\n toast.error('Failed to fetch the file.')\n setUploadStatus('failed')\n return\n }\n }\n try {\n const pasteURL: `/${string}` = `/${collectionSlug}/paste-url${id ? `/${id}?` : '?'}src=${encodeURIComponent(fileUrl)}`\n const serverResponse = await fetch(formatAdminURL({ apiRoute: api, path: pasteURL }))\n if (!serverResponse.ok) {\n throw new Error(`Fetch failed: ${serverResponse.status}`)\n }\n const blob = await serverResponse.blob()\n const rawSegment = fileUrl.split('/').pop() || ''\n const fileName = decodeURIComponent(rawSegment.split('?')[0])\n handleFileChange({ file: new File([blob], fileName, { type: blob.type }) })\n setUploadStatus('idle')\n closeModal(pasteURLDrawerSlug)\n setFileUrl('')\n } catch (_serverError) {\n toast.error('The provided URL is not allowed.')\n setUploadStatus('failed')\n }\n }, [\n api,\n closeModal,\n collectionSlug,\n fileUrl,\n handleFileChange,\n id,\n setUploadStatus,\n uploadConfig,\n uploadControlFileName,\n useServerSideFetch,\n ])\n\n 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])\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 && hasImageSizes && (\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 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 <div className={`${baseClass}__dropzone-content`}>\n <div className={`${baseClass}__dropzone-buttons`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={() => inputRef.current?.click()}\n size=\"medium\"\n >\n {t('upload:selectFile')}\n </Button>\n <input\n accept={acceptMimeTypes}\n aria-hidden=\"true\"\n className={`${baseClass}__hidden-input`}\n hidden\n onChange={(e) => {\n if (e.target.files && e.target.files.length > 0) {\n handleFileSelection(e.target.files)\n }\n }}\n ref={inputRef}\n type=\"file\"\n />\n {uploadConfig?.pasteURL !== false && (\n <Fragment>\n <span className={`${baseClass}__or-text`}>{t('general:or')}</span>\n <Button\n buttonStyle=\"secondary\"\n onClick={() => {\n openModal(pasteURLDrawerSlug)\n setUploadControlFileUrl('')\n setUploadControlFile(null)\n setUploadControlFileName(null)\n }}\n size=\"medium\"\n >\n {t('upload:pasteURL')}\n </Button>\n </Fragment>\n )}\n {UploadControls ?? null}\n </div>\n <p className={`${baseClass}__drag-text`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n </Dropzone>\n )}\n {value && fileSrc && (\n <Fragment>\n <Button\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":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","formatFilesize","isImage","React","Fragment","useCallback","useEffect","useState","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","validate","value","undefined","name","FileManager","t0","$","collectionSlug","initialState","resetUploadEdits","resetUploadEditsFromProps","updateUploadEdits","updateUploadEditsFromProps","uploadConfig","UploadControls","uploadEdits","uploadEditsFromProps","UploadFilePreview","openModal","t","setModified","data","t1","Symbol","for","path","errorMessage","setValue","showError","setUploadControlFile","setUploadControlFileName","setUploadControlFileUrl","uploadControlFile","uploadControlFileUrl","uploadEditsContext","fileSrc","setFileSrc","removedFile","setRemovedFile","filename","setFilename","selectedSize","setSelectedSize","acceptMimeTypes","mimeTypes","join","imageCacheTag","cacheTags","updatedAt","hasImageSizes","imageSizes","length","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","focalPoint","crop","t2","t3","showCrop","showFocalPoint","selectedSizeData","sizes","sidePanelFileSrc","url","thumbnailURL","sidePanelMimeType","mimeType","fileTypeIsAdjustable","renameFile","_temp","t4","t5","file","isNewFile","t6","File","URL","createObjectURL","handleFileChange","e","updatedFileName","target","handleFileNameChange","files","handleFileSelection","t7","file_0","handleFileFetchedFromUrl","t8","onFileFetched","fileUrl","handleUrlSubmit","isValidUrl","setFileUrl","t9","handlePasteFromClipboard","t10","handleFileRemoval","t11","args","onEditsSave","t12","t13","t14","t15","t16","t17","t18","t19","startsWith","revokeObjectURL","t20","t21","handleControlFileUrl","t22","t23","t24","type","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","t25","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 } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\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\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n if (value && (!value.name || value.name === '')) {\n return 'A file name is required.'\n }\n return true\n}\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 { 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 hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n const focalPointEnabled = uploadConfig?.focalPoint === true\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n const selectedSizeData = selectedSize\n ? (data?.sizes?.[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 (isNewFile && file instanceof File) {\n setFileSrc(URL.createObjectURL(file))\n }\n setValue(file)\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n },\n [setValue, setUploadControlFile, setUploadControlFileName, setUploadControlFileUrl],\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 && hasImageSizes && (\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 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 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":[]}
@@ -16,9 +16,13 @@
16
16
  justify-content: space-between;
17
17
  gap: var(--spacer-2);
18
18
  padding: var(--spacer-1) var(--spacer-3);
19
- padding-inline-end: var(--spacer-2);
19
+ /*
20
+ * Lines the add button's trailing edge up with the chevron below it: the items list is inset
21
+ * by --spacer-1 and each row adds --spacer-1 of margin plus --spacer-1 of padding.
22
+ */
23
+ padding-inline-end: var(--spacer-2-5);
20
24
  flex-shrink: 0;
21
- margin-bottom: var(--spacer-2);
25
+ margin-bottom: var(--spacer-1);
22
26
  border-bottom: var(--stroke-width-small) solid var(--color-border);
23
27
  }
24
28
 
@@ -35,7 +39,6 @@
35
39
  display: flex;
36
40
  align-items: center;
37
41
  gap: var(--spacer-2);
38
- font-weight: 500;
39
42
  color: var(--color-text);
40
43
  white-space: nowrap;
41
44
  overflow: hidden;
@@ -49,6 +52,19 @@
49
52
  overflow-y: auto;
50
53
  margin: 0 var(--spacer-1);
51
54
  gap: var(--spacer-1);
55
+ /* Keeps the last row - usually the load-more count - off the column's bottom edge when scrolled */
56
+ padding-block-end: var(--spacer-3);
57
+ }
58
+
59
+ .hierarchy-column__empty {
60
+ flex: 1;
61
+ display: flex;
62
+ align-items: center;
63
+ justify-content: center;
64
+ padding: var(--spacer-3);
65
+ text-align: center;
66
+ text-wrap: balance;
67
+ color: var(--color-text-secondary);
52
68
  }
53
69
 
54
70
  .hierarchy-column__loading {
@@ -59,6 +75,8 @@
59
75
  }
60
76
 
61
77
  .hierarchy-column__load-more {
62
- padding: var(--spacer-1) var(--spacer-2) var(--spacer-1) var(--spacer-2-5);
78
+ padding-block: var(--spacer-1);
79
+ padding-inline-start: var(--spacer-2-5);
80
+ padding-inline-end: var(--spacer-2);
63
81
  }
64
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/Hierarchy/ColumnBrowser/Column/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAQ9C,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA2FxC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/Hierarchy/ColumnBrowser/Column/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAQ9C,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAyGxC,CAAA"}
@@ -12,15 +12,16 @@ 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(37);
15
+ const $ = _c(44);
16
16
  const {
17
- ancestorsWithSelections,
18
17
  canCreate,
19
18
  collectionLabel,
19
+ collectionLabelPlural,
20
20
  disabled,
21
21
  disabledIds,
22
22
  expandedId,
23
23
  filterByCollection,
24
+ hasMany,
24
25
  hasNextPage,
25
26
  isLoading,
26
27
  items,
@@ -31,6 +32,9 @@ export const Column = t0 => {
31
32
  parentId,
32
33
  parentTitle,
33
34
  pathToColumn,
35
+ revealedId,
36
+ revealToken,
37
+ selectedDescendantCounts,
34
38
  selectedIds,
35
39
  totalDocs
36
40
  } = t0;
@@ -38,10 +42,13 @@ export const Column = t0 => {
38
42
  t
39
43
  } = useTranslation();
40
44
  let t1;
41
- if ($[0] !== ancestorsWithSelections || $[1] !== canCreate || $[2] !== collectionLabel || $[3] !== disabled || $[4] !== disabledIds || $[5] !== expandedId || $[6] !== filterByCollection || $[7] !== hasNextPage || $[8] !== isLoading || $[9] !== items || $[10] !== onCreateNew || $[11] !== onExpand || $[12] !== onLoadMore || $[13] !== onSelect || $[14] !== parentId || $[15] !== parentTitle || $[16] !== pathToColumn || $[17] !== selectedIds || $[18] !== t || $[19] !== totalDocs) {
45
+ if ($[0] !== canCreate || $[1] !== collectionLabel || $[2] !== collectionLabelPlural || $[3] !== disabled || $[4] !== disabledIds || $[5] !== expandedId || $[6] !== filterByCollection || $[7] !== hasMany || $[8] !== hasNextPage || $[9] !== isLoading || $[10] !== items || $[11] !== onCreateNew || $[12] !== onExpand || $[13] !== onLoadMore || $[14] !== onSelect || $[15] !== parentId || $[16] !== parentTitle || $[17] !== pathToColumn || $[18] !== revealToken || $[19] !== revealedId || $[20] !== selectedDescendantCounts || $[21] !== selectedIds || $[22] !== t || $[23] !== totalDocs) {
42
46
  const headerTitle = parentTitle || (parentId === null ? t("general:all") : "");
47
+ const newItemLabel = `New ${collectionLabel}`;
48
+ const isEmpty = !disabled && !isLoading && items.length === 0;
49
+ const emptyLabel = parentId === null ? `No ${collectionLabelPlural}` : `No other ${collectionLabelPlural}`;
43
50
  let t2;
44
- if ($[21] !== items || $[22] !== onSelect || $[23] !== pathToColumn) {
51
+ if ($[25] !== items || $[26] !== onSelect || $[27] !== pathToColumn) {
45
52
  t2 = t3 => {
46
53
  const {
47
54
  id
@@ -56,51 +63,56 @@ export const Column = t0 => {
56
63
  path: fullPath
57
64
  });
58
65
  };
59
- $[21] = items;
60
- $[22] = onSelect;
61
- $[23] = pathToColumn;
62
- $[24] = t2;
66
+ $[25] = items;
67
+ $[26] = onSelect;
68
+ $[27] = pathToColumn;
69
+ $[28] = t2;
63
70
  } else {
64
- t2 = $[24];
71
+ t2 = $[28];
65
72
  }
66
73
  const handleSelect = t2;
67
74
  let t3;
68
- if ($[25] !== onCreateNew || $[26] !== parentId) {
75
+ if ($[29] !== onCreateNew || $[30] !== parentId) {
69
76
  t3 = () => {
70
77
  onCreateNew({
71
78
  parentId
72
79
  });
73
80
  };
74
- $[25] = onCreateNew;
75
- $[26] = parentId;
76
- $[27] = t3;
81
+ $[29] = onCreateNew;
82
+ $[30] = parentId;
83
+ $[31] = t3;
77
84
  } else {
78
- t3 = $[27];
85
+ t3 = $[31];
79
86
  }
80
87
  const handleCreateNew = t3;
81
88
  let t4;
82
- if ($[28] !== ancestorsWithSelections || $[29] !== disabled || $[30] !== disabledIds || $[31] !== expandedId || $[32] !== filterByCollection || $[33] !== handleSelect || $[34] !== onExpand || $[35] !== selectedIds) {
89
+ if ($[32] !== disabled || $[33] !== disabledIds || $[34] !== expandedId || $[35] !== filterByCollection || $[36] !== handleSelect || $[37] !== hasMany || $[38] !== onExpand || $[39] !== revealToken || $[40] !== revealedId || $[41] !== selectedDescendantCounts || $[42] !== selectedIds) {
83
90
  t4 = item_0 => _jsx(ColumnItem, {
84
91
  disabled: Boolean(disabled || disabledIds?.has(item_0.id)),
85
92
  filterByCollection,
86
- hasSelectedDescendants: ancestorsWithSelections.has(item_0.id),
93
+ hasMany,
87
94
  isExpanded: expandedId === item_0.id,
88
95
  isSelected: selectedIds.has(item_0.id),
89
96
  item: item_0,
90
97
  onExpand,
91
- onSelect: handleSelect
98
+ onSelect: handleSelect,
99
+ revealToken: revealedId === item_0.id ? revealToken : undefined,
100
+ selectedDescendantCount: selectedDescendantCounts.get(item_0.id) ?? 0
92
101
  }, String(item_0.id));
93
- $[28] = ancestorsWithSelections;
94
- $[29] = disabled;
95
- $[30] = disabledIds;
96
- $[31] = expandedId;
97
- $[32] = filterByCollection;
98
- $[33] = handleSelect;
99
- $[34] = onExpand;
100
- $[35] = selectedIds;
101
- $[36] = t4;
102
+ $[32] = disabled;
103
+ $[33] = disabledIds;
104
+ $[34] = expandedId;
105
+ $[35] = filterByCollection;
106
+ $[36] = handleSelect;
107
+ $[37] = hasMany;
108
+ $[38] = onExpand;
109
+ $[39] = revealToken;
110
+ $[40] = revealedId;
111
+ $[41] = selectedDescendantCounts;
112
+ $[42] = selectedIds;
113
+ $[43] = t4;
102
114
  } else {
103
- t4 = $[36];
115
+ t4 = $[43];
104
116
  }
105
117
  t1 = _jsxs("div", {
106
118
  className: baseClass,
@@ -109,18 +121,18 @@ export const Column = t0 => {
109
121
  children: [_jsx("span", {
110
122
  className: `${baseClass}__header-title`,
111
123
  children: headerTitle
112
- }), canCreate && _jsxs(Button, {
124
+ }), canCreate && _jsx(Button, {
125
+ "aria-label": newItemLabel,
113
126
  buttonStyle: "ghost",
114
127
  className: `${baseClass}__add-button`,
115
128
  disabled,
116
129
  icon: _jsx(PlusIcon, {
117
- size: 16
130
+ size: 24
118
131
  }),
119
- iconPosition: "left",
120
132
  margin: false,
121
133
  onClick: handleCreateNew,
122
134
  size: "medium",
123
- children: ["New ", collectionLabel]
135
+ tooltip: newItemLabel
124
136
  })]
125
137
  }), _jsxs("div", {
126
138
  className: `${baseClass}__items`,
@@ -130,6 +142,9 @@ export const Column = t0 => {
130
142
  loadingText: null,
131
143
  size: "sm"
132
144
  })
145
+ }), isEmpty && _jsx("div", {
146
+ className: `${baseClass}__empty`,
147
+ children: emptyLabel
133
148
  }), !disabled && !isLoading && totalDocs > 0 && _jsx(LoadMoreRow, {
134
149
  className: `${baseClass}__load-more`,
135
150
  currentCount: items.length,
@@ -139,29 +154,33 @@ export const Column = t0 => {
139
154
  })]
140
155
  })]
141
156
  });
142
- $[0] = ancestorsWithSelections;
143
- $[1] = canCreate;
144
- $[2] = collectionLabel;
157
+ $[0] = canCreate;
158
+ $[1] = collectionLabel;
159
+ $[2] = collectionLabelPlural;
145
160
  $[3] = disabled;
146
161
  $[4] = disabledIds;
147
162
  $[5] = expandedId;
148
163
  $[6] = filterByCollection;
149
- $[7] = hasNextPage;
150
- $[8] = isLoading;
151
- $[9] = items;
152
- $[10] = onCreateNew;
153
- $[11] = onExpand;
154
- $[12] = onLoadMore;
155
- $[13] = onSelect;
156
- $[14] = parentId;
157
- $[15] = parentTitle;
158
- $[16] = pathToColumn;
159
- $[17] = selectedIds;
160
- $[18] = t;
161
- $[19] = totalDocs;
162
- $[20] = t1;
164
+ $[7] = hasMany;
165
+ $[8] = hasNextPage;
166
+ $[9] = isLoading;
167
+ $[10] = items;
168
+ $[11] = onCreateNew;
169
+ $[12] = onExpand;
170
+ $[13] = onLoadMore;
171
+ $[14] = onSelect;
172
+ $[15] = parentId;
173
+ $[16] = parentTitle;
174
+ $[17] = pathToColumn;
175
+ $[18] = revealToken;
176
+ $[19] = revealedId;
177
+ $[20] = selectedDescendantCounts;
178
+ $[21] = selectedIds;
179
+ $[22] = t;
180
+ $[23] = totalDocs;
181
+ $[24] = t1;
163
182
  } else {
164
- t1 = $[20];
183
+ t1 = $[24];
165
184
  }
166
185
  return t1;
167
186
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useCallback","PlusIcon","useTranslation","Button","LoadMoreRow","Spinner","ColumnItem","baseClass","Column","t0","$","ancestorsWithSelections","canCreate","collectionLabel","disabled","disabledIds","expandedId","filterByCollection","hasNextPage","isLoading","items","onCreateNew","onExpand","onLoadMore","onSelect","parentId","parentTitle","pathToColumn","selectedIds","totalDocs","t","t1","headerTitle","t2","t3","id","item","find","i","fullPath","title","path","handleSelect","handleCreateNew","t4","item_0","_jsx","Boolean","has","hasSelectedDescendants","isExpanded","isSelected","String","_jsxs","className","children","buttonStyle","icon","size","margin","onClick","map","loadingText","currentCount","length","hasMore"],"sources":["../../../../../src/elements/Hierarchy/ColumnBrowser/Column/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback } from 'react'\n\nimport type { ColumnProps } from '../types.js'\n\nimport { PlusIcon } from '../../../../icons/Plus/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { Button } from '../../../Button/index.js'\nimport { LoadMoreRow } from '../../../LoadMoreRow/index.js'\nimport { Spinner } from '../../../Spinner/index.js'\nimport { ColumnItem } from '../ColumnItem/index.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-column'\n\nexport const Column: React.FC<ColumnProps> = ({\n ancestorsWithSelections,\n canCreate,\n collectionLabel,\n disabled,\n disabledIds,\n expandedId,\n filterByCollection,\n hasNextPage,\n isLoading,\n items,\n onCreateNew,\n onExpand,\n onLoadMore,\n onSelect,\n parentId,\n parentTitle,\n pathToColumn,\n selectedIds,\n totalDocs,\n}) => {\n const { t } = useTranslation()\n\n const headerTitle = parentTitle || (parentId === null ? t('general:all') : '')\n\n const handleSelect = useCallback(\n ({ id }: { id: number | string }) => {\n const item = items.find((i) => i.id === id)\n const fullPath = item ? [...pathToColumn, { id: item.id, title: item.title }] : pathToColumn\n onSelect({ id, path: fullPath })\n },\n [items, onSelect, pathToColumn],\n )\n\n const handleCreateNew = useCallback(() => {\n onCreateNew({ parentId })\n }, [onCreateNew, parentId])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n <span className={`${baseClass}__header-title`}>{headerTitle}</span>\n {canCreate && (\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__add-button`}\n disabled={disabled}\n icon={<PlusIcon size={16} />}\n iconPosition=\"left\"\n margin={false}\n onClick={handleCreateNew}\n size=\"medium\"\n >\n New {collectionLabel}\n </Button>\n )}\n </div>\n\n <div className={`${baseClass}__items`}>\n {items.map((item) => (\n <ColumnItem\n disabled={Boolean(disabled || disabledIds?.has(item.id))}\n filterByCollection={filterByCollection}\n hasSelectedDescendants={ancestorsWithSelections.has(item.id)}\n isExpanded={expandedId === item.id}\n isSelected={selectedIds.has(item.id)}\n item={item}\n key={String(item.id)}\n onExpand={onExpand}\n onSelect={handleSelect}\n />\n ))}\n\n {isLoading && (\n <div className={`${baseClass}__loading`}>\n <Spinner loadingText={null} size=\"sm\" />\n </div>\n )}\n\n {!disabled && !isLoading && totalDocs > 0 && (\n <LoadMoreRow\n className={`${baseClass}__load-more`}\n currentCount={items.length}\n hasMore={hasNextPage}\n onLoadMore={onLoadMore}\n totalDocs={totalDocs}\n />\n )}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useCallback","PlusIcon","useTranslation","Button","LoadMoreRow","Spinner","ColumnItem","baseClass","Column","t0","$","canCreate","collectionLabel","collectionLabelPlural","disabled","disabledIds","expandedId","filterByCollection","hasMany","hasNextPage","isLoading","items","onCreateNew","onExpand","onLoadMore","onSelect","parentId","parentTitle","pathToColumn","revealedId","revealToken","selectedDescendantCounts","selectedIds","totalDocs","t","t1","headerTitle","newItemLabel","isEmpty","length","emptyLabel","t2","t3","id","item","find","i","fullPath","title","path","handleSelect","handleCreateNew","t4","item_0","_jsx","Boolean","has","isExpanded","isSelected","undefined","selectedDescendantCount","get","String","_jsxs","className","children","buttonStyle","icon","size","tooltip","map","loadingText","currentCount","hasMore"],"sources":["../../../../../src/elements/Hierarchy/ColumnBrowser/Column/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback } from 'react'\n\nimport type { ColumnProps } from '../types.js'\n\nimport { PlusIcon } from '../../../../icons/Plus/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { Button } from '../../../Button/index.js'\nimport { LoadMoreRow } from '../../../LoadMoreRow/index.js'\nimport { Spinner } from '../../../Spinner/index.js'\nimport { ColumnItem } from '../ColumnItem/index.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-column'\n\nexport const Column: React.FC<ColumnProps> = ({\n canCreate,\n collectionLabel,\n collectionLabelPlural,\n disabled,\n disabledIds,\n expandedId,\n filterByCollection,\n hasMany,\n hasNextPage,\n isLoading,\n items,\n onCreateNew,\n onExpand,\n onLoadMore,\n onSelect,\n parentId,\n parentTitle,\n pathToColumn,\n revealedId,\n revealToken,\n selectedDescendantCounts,\n selectedIds,\n totalDocs,\n}) => {\n const { t } = useTranslation()\n\n const headerTitle = parentTitle || (parentId === null ? t('general:all') : '')\n const newItemLabel = `New ${collectionLabel}`\n const isEmpty = !disabled && !isLoading && items.length === 0\n\n // TODO: replace with translation keys once the hierarchy strings are finalized. The closest\n // existing string, `version:noRowsFound`, belongs to the version-diff tables.\n const emptyLabel =\n parentId === null ? `No ${collectionLabelPlural}` : `No other ${collectionLabelPlural}`\n\n const handleSelect = useCallback(\n ({ id }: { id: number | string }) => {\n const item = items.find((i) => i.id === id)\n const fullPath = item ? [...pathToColumn, { id: item.id, title: item.title }] : pathToColumn\n onSelect({ id, path: fullPath })\n },\n [items, onSelect, pathToColumn],\n )\n\n const handleCreateNew = useCallback(() => {\n onCreateNew({ parentId })\n }, [onCreateNew, parentId])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n <span className={`${baseClass}__header-title`}>{headerTitle}</span>\n {canCreate && (\n <Button\n aria-label={newItemLabel}\n buttonStyle=\"ghost\"\n className={`${baseClass}__add-button`}\n disabled={disabled}\n icon={<PlusIcon size={24} />}\n margin={false}\n onClick={handleCreateNew}\n size=\"medium\"\n tooltip={newItemLabel}\n />\n )}\n </div>\n\n <div className={`${baseClass}__items`}>\n {items.map((item) => (\n <ColumnItem\n disabled={Boolean(disabled || disabledIds?.has(item.id))}\n filterByCollection={filterByCollection}\n hasMany={hasMany}\n isExpanded={expandedId === item.id}\n isSelected={selectedIds.has(item.id)}\n item={item}\n key={String(item.id)}\n onExpand={onExpand}\n onSelect={handleSelect}\n revealToken={revealedId === item.id ? revealToken : undefined}\n selectedDescendantCount={selectedDescendantCounts.get(item.id) ?? 0}\n />\n ))}\n\n {isLoading && (\n <div className={`${baseClass}__loading`}>\n <Spinner loadingText={null} size=\"sm\" />\n </div>\n )}\n\n {isEmpty && <div className={`${baseClass}__empty`}>{emptyLabel}</div>}\n\n {!disabled && !isLoading && totalDocs > 0 && (\n <LoadMoreRow\n className={`${baseClass}__load-more`}\n currentCount={items.length}\n hasMore={hasNextPage}\n onLoadMore={onLoadMore}\n totalDocs={totalDocs}\n />\n )}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}