@payloadcms/ui 3.80.0-internal.8d9ec7c → 3.80.0-internal.bd498b0

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 (532) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  2. package/dist/elements/BulkUpload/EditForm/index.js +12 -0
  3. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  5. package/dist/elements/BulkUpload/FormsManager/index.js +29 -7
  6. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  7. package/dist/elements/Button/index.d.ts.map +1 -1
  8. package/dist/elements/Button/index.js +3 -5
  9. package/dist/elements/Button/index.js.map +1 -1
  10. package/dist/elements/Button/index.scss +5 -38
  11. package/dist/elements/Button/types.d.ts +1 -1
  12. package/dist/elements/Button/types.d.ts.map +1 -1
  13. package/dist/elements/Button/types.js.map +1 -1
  14. package/dist/elements/CheckboxPopup/index.d.ts.map +1 -1
  15. package/dist/elements/CheckboxPopup/index.js +1 -0
  16. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  17. package/dist/elements/CheckboxPopup/index.scss +0 -1
  18. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  19. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +4 -2
  20. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  21. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +157 -0
  22. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
  23. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  24. package/dist/elements/DefaultListViewTabs/index.js +54 -28
  25. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  26. package/dist/elements/DocumentControls/index.d.ts +0 -1
  27. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  28. package/dist/elements/DocumentControls/index.js +10 -6
  29. package/dist/elements/DocumentControls/index.js.map +1 -1
  30. package/dist/elements/DocumentControls/index.scss +1 -1
  31. package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
  32. package/dist/elements/DocumentDrawer/index.js +141 -54
  33. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  34. package/dist/elements/DocumentDrawer/types.d.ts +1 -7
  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/DrawerActionHeader/index.d.ts.map +1 -1
  38. package/dist/elements/DrawerActionHeader/index.js +0 -2
  39. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  40. package/dist/elements/DrawerActionHeader/index.scss +2 -2
  41. package/dist/elements/FolderView/Breadcrumbs/index.d.ts +19 -0
  42. package/dist/elements/FolderView/Breadcrumbs/index.d.ts.map +1 -0
  43. package/dist/elements/FolderView/Breadcrumbs/index.js +96 -0
  44. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -0
  45. package/dist/elements/FolderView/Breadcrumbs/index.scss +56 -0
  46. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts +6 -0
  47. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts.map +1 -0
  48. package/dist/elements/FolderView/BrowseByFolderButton/index.js +40 -0
  49. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -0
  50. package/dist/elements/FolderView/BrowseByFolderButton/index.scss +30 -0
  51. package/dist/elements/FolderView/Cell/index.client.d.ts +13 -0
  52. package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -0
  53. package/dist/elements/FolderView/Cell/index.client.js +95 -0
  54. package/dist/elements/FolderView/Cell/index.client.js.map +1 -0
  55. package/dist/elements/FolderView/Cell/index.server.d.ts +4 -0
  56. package/dist/elements/FolderView/Cell/index.server.d.ts.map +1 -0
  57. package/dist/elements/FolderView/Cell/index.server.js +18 -0
  58. package/dist/elements/FolderView/Cell/index.server.js.map +1 -0
  59. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts +3 -0
  60. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts.map +1 -0
  61. package/dist/elements/FolderView/ColoredFolderIcon/index.js +9 -0
  62. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -0
  63. package/dist/elements/FolderView/ColoredFolderIcon/index.scss +5 -0
  64. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts +7 -0
  65. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +1 -0
  66. package/dist/elements/FolderView/CurrentFolderActions/index.js +162 -0
  67. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -0
  68. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts +11 -0
  69. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts.map +1 -0
  70. package/dist/elements/FolderView/DragOverlaySelection/index.js +62 -0
  71. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -0
  72. package/dist/elements/FolderView/DragOverlaySelection/index.scss +35 -0
  73. package/dist/elements/FolderView/DraggableTableRow/index.d.ts +18 -0
  74. package/dist/elements/FolderView/DraggableTableRow/index.d.ts.map +1 -0
  75. package/dist/elements/FolderView/DraggableTableRow/index.js +63 -0
  76. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -0
  77. package/dist/elements/FolderView/DraggableTableRow/index.scss +135 -0
  78. package/dist/elements/FolderView/DraggableWithClick/index.d.ts +15 -0
  79. package/dist/elements/FolderView/DraggableWithClick/index.d.ts.map +1 -0
  80. package/dist/elements/FolderView/DraggableWithClick/index.js +86 -0
  81. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -0
  82. package/dist/elements/FolderView/DraggableWithClick/index.scss +5 -0
  83. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts +7 -0
  84. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts.map +1 -0
  85. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +39 -0
  86. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -0
  87. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +37 -0
  88. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +1 -0
  89. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +609 -0
  90. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -0
  91. package/dist/elements/FolderView/Drawers/MoveToFolder/index.scss +30 -0
  92. package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts +4 -0
  93. package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts.map +1 -0
  94. package/dist/elements/FolderView/FilterFolderTypePill/index.js +102 -0
  95. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -0
  96. package/dist/elements/FolderView/FilterFolderTypePill/index.scss +16 -0
  97. package/dist/elements/FolderView/FolderField/index.scss +12 -0
  98. package/dist/elements/FolderView/FolderField/index.server.d.ts +4 -0
  99. package/dist/elements/FolderView/FolderField/index.server.d.ts.map +1 -0
  100. package/dist/elements/FolderView/FolderField/index.server.js +16 -0
  101. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -0
  102. package/dist/elements/FolderView/FolderFileCard/index.d.ts +30 -0
  103. package/dist/elements/FolderView/FolderFileCard/index.d.ts.map +1 -0
  104. package/dist/elements/FolderView/FolderFileCard/index.js +209 -0
  105. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -0
  106. package/dist/elements/FolderView/FolderFileCard/index.scss +247 -0
  107. package/dist/elements/FolderView/FolderFileTable/index.d.ts +8 -0
  108. package/dist/elements/FolderView/FolderFileTable/index.d.ts.map +1 -0
  109. package/dist/elements/FolderView/FolderFileTable/index.js +284 -0
  110. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -0
  111. package/dist/elements/FolderView/FolderFileTable/index.scss +11 -0
  112. package/dist/elements/FolderView/FolderTypeField/index.d.ts +4 -0
  113. package/dist/elements/FolderView/FolderTypeField/index.d.ts.map +1 -0
  114. package/dist/elements/FolderView/FolderTypeField/index.js +123 -0
  115. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -0
  116. package/dist/elements/FolderView/ItemCardGrid/index.d.ts +16 -0
  117. package/dist/elements/FolderView/ItemCardGrid/index.d.ts.map +1 -0
  118. package/dist/elements/FolderView/ItemCardGrid/index.js +34 -0
  119. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -0
  120. package/dist/elements/FolderView/ItemCardGrid/index.scss +16 -0
  121. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts +37 -0
  122. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts.map +1 -0
  123. package/dist/elements/FolderView/MoveDocToFolder/index.js +292 -0
  124. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -0
  125. package/dist/elements/{HierarchyButton → FolderView/MoveDocToFolder}/index.scss +1 -7
  126. package/dist/elements/FolderView/SimpleTable/index.d.ts +19 -0
  127. package/dist/elements/FolderView/SimpleTable/index.d.ts.map +1 -0
  128. package/dist/elements/FolderView/SimpleTable/index.js +95 -0
  129. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -0
  130. package/dist/elements/FolderView/SimpleTable/index.scss +59 -0
  131. package/dist/elements/FolderView/SortByPill/index.d.ts +4 -0
  132. package/dist/elements/FolderView/SortByPill/index.d.ts.map +1 -0
  133. package/dist/elements/FolderView/SortByPill/index.js +112 -0
  134. package/dist/elements/FolderView/SortByPill/index.js.map +1 -0
  135. package/dist/elements/FolderView/SortByPill/index.scss +16 -0
  136. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts +8 -0
  137. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts.map +1 -0
  138. package/dist/elements/FolderView/ToggleViewButtons/index.js +31 -0
  139. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -0
  140. package/dist/elements/FolderView/ToggleViewButtons/index.scss +17 -0
  141. package/dist/elements/Link/index.d.ts +0 -4
  142. package/dist/elements/Link/index.d.ts.map +1 -1
  143. package/dist/elements/Link/index.js +0 -5
  144. package/dist/elements/Link/index.js.map +1 -1
  145. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts +15 -0
  146. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +1 -0
  147. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +182 -0
  148. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -0
  149. package/dist/elements/ListHeader/TitleActions/index.d.ts +1 -0
  150. package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -1
  151. package/dist/elements/ListHeader/TitleActions/index.js +1 -0
  152. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  153. package/dist/elements/ListHeader/index.js +2 -2
  154. package/dist/elements/ListHeader/index.js.map +1 -1
  155. package/dist/elements/ListSelection/index.scss +1 -2
  156. package/dist/elements/Locked/index.scss +1 -1
  157. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  158. package/dist/elements/RelationshipTable/index.js +17 -12
  159. package/dist/elements/RelationshipTable/index.js.map +1 -1
  160. package/dist/elements/StepNav/index.d.ts.map +1 -1
  161. package/dist/elements/StepNav/index.js +1 -10
  162. package/dist/elements/StepNav/index.js.map +1 -1
  163. package/dist/elements/StepNav/types.d.ts +0 -1
  164. package/dist/elements/StepNav/types.d.ts.map +1 -1
  165. package/dist/elements/StepNav/types.js.map +1 -1
  166. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  167. package/dist/elements/Table/DefaultCell/index.js +0 -20
  168. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  169. package/dist/elements/Tooltip/index.js +1 -1
  170. package/dist/elements/Tooltip/index.js.map +1 -1
  171. package/dist/elements/Tooltip/index.scss +15 -1
  172. package/dist/exports/client/index.d.ts +10 -31
  173. package/dist/exports/client/index.d.ts.map +1 -1
  174. package/dist/exports/client/index.js +24 -26
  175. package/dist/exports/client/index.js.map +4 -4
  176. package/dist/exports/rsc/index.d.ts +3 -3
  177. package/dist/exports/rsc/index.d.ts.map +1 -1
  178. package/dist/exports/rsc/index.js +3 -3
  179. package/dist/exports/rsc/index.js.map +1 -1
  180. package/dist/fields/Join/index.d.ts.map +1 -1
  181. package/dist/fields/Join/index.js +1 -1
  182. package/dist/fields/Join/index.js.map +1 -1
  183. package/dist/fields/shared/index.d.ts +2 -2
  184. package/dist/fields/shared/index.d.ts.map +1 -1
  185. package/dist/fields/shared/index.js.map +1 -1
  186. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  187. package/dist/forms/Form/mergeServerFormState.js +101 -24
  188. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  189. package/dist/icons/Chevron/index.d.ts.map +1 -1
  190. package/dist/icons/Chevron/index.js +1 -5
  191. package/dist/icons/Chevron/index.js.map +1 -1
  192. package/dist/icons/Document/index.d.ts +1 -3
  193. package/dist/icons/Document/index.d.ts.map +1 -1
  194. package/dist/icons/Document/index.js +2 -4
  195. package/dist/icons/Document/index.js.map +1 -1
  196. package/dist/icons/Document/index.scss +0 -4
  197. package/dist/icons/Folder/index.d.ts +2 -4
  198. package/dist/icons/Folder/index.d.ts.map +1 -1
  199. package/dist/icons/Folder/index.js +2 -4
  200. package/dist/icons/Folder/index.js.map +1 -1
  201. package/dist/icons/Folder/index.scss +0 -8
  202. package/dist/icons/Lock/index.scss +1 -1
  203. package/dist/icons/Plus/index.d.ts.map +1 -1
  204. package/dist/icons/Plus/index.js +1 -2
  205. package/dist/icons/Plus/index.js.map +1 -1
  206. package/dist/providers/Folders/groupItemIDsByRelation.d.ts +3 -0
  207. package/dist/providers/Folders/groupItemIDsByRelation.d.ts.map +1 -0
  208. package/dist/providers/Folders/groupItemIDsByRelation.js +10 -0
  209. package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -0
  210. package/dist/providers/Folders/index.d.ts +143 -0
  211. package/dist/providers/Folders/index.d.ts.map +1 -0
  212. package/dist/providers/Folders/index.js +641 -0
  213. package/dist/providers/Folders/index.js.map +1 -0
  214. package/dist/providers/Root/index.d.ts.map +1 -1
  215. package/dist/providers/Root/index.js +15 -18
  216. package/dist/providers/Root/index.js.map +1 -1
  217. package/dist/providers/ServerFunctions/index.d.ts +6 -1
  218. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  219. package/dist/providers/ServerFunctions/index.js +18 -0
  220. package/dist/providers/ServerFunctions/index.js.map +1 -1
  221. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +1 -2
  222. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  223. package/dist/providers/TableColumns/buildColumnState/renderCell.js +1 -34
  224. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  225. package/dist/styles.css +1 -1
  226. package/dist/utilities/getFolderResultsComponentAndData.d.ts +25 -0
  227. package/dist/utilities/getFolderResultsComponentAndData.d.ts.map +1 -0
  228. package/dist/utilities/getFolderResultsComponentAndData.js +135 -0
  229. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -0
  230. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  231. package/dist/utilities/renderTable.d.ts +1 -3
  232. package/dist/utilities/renderTable.d.ts.map +1 -1
  233. package/dist/utilities/renderTable.js +3 -9
  234. package/dist/utilities/renderTable.js.map +1 -1
  235. package/dist/views/BrowseByFolder/index.d.ts +5 -0
  236. package/dist/views/BrowseByFolder/index.d.ts.map +1 -0
  237. package/dist/views/BrowseByFolder/index.js +342 -0
  238. package/dist/views/BrowseByFolder/index.js.map +1 -0
  239. package/dist/views/BrowseByFolder/index.scss +174 -0
  240. package/dist/views/CollectionFolder/ListSelection/index.d.ts +9 -0
  241. package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -0
  242. package/dist/views/CollectionFolder/ListSelection/index.js +180 -0
  243. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -0
  244. package/dist/views/CollectionFolder/index.d.ts +5 -0
  245. package/dist/views/CollectionFolder/index.d.ts.map +1 -0
  246. package/dist/views/CollectionFolder/index.js +325 -0
  247. package/dist/views/CollectionFolder/index.js.map +1 -0
  248. package/dist/views/CollectionFolder/index.scss +162 -0
  249. package/dist/views/Edit/index.d.ts +1 -1
  250. package/dist/views/Edit/index.d.ts.map +1 -1
  251. package/dist/views/Edit/index.js +17 -6
  252. package/dist/views/Edit/index.js.map +1 -1
  253. package/dist/views/List/index.d.ts.map +1 -1
  254. package/dist/views/List/index.js +7 -51
  255. package/dist/views/List/index.js.map +1 -1
  256. package/package.json +5 -5
  257. package/dist/elements/CreateDocumentButton/index.d.ts +0 -26
  258. package/dist/elements/CreateDocumentButton/index.d.ts.map +0 -1
  259. package/dist/elements/CreateDocumentButton/index.js +0 -182
  260. package/dist/elements/CreateDocumentButton/index.js.map +0 -1
  261. package/dist/elements/DelayedSpinner/index.d.ts +0 -23
  262. package/dist/elements/DelayedSpinner/index.d.ts.map +0 -1
  263. package/dist/elements/DelayedSpinner/index.js +0 -61
  264. package/dist/elements/DelayedSpinner/index.js.map +0 -1
  265. package/dist/elements/HierarchyButton/index.d.ts +0 -11
  266. package/dist/elements/HierarchyButton/index.d.ts.map +0 -1
  267. package/dist/elements/HierarchyButton/index.js +0 -126
  268. package/dist/elements/HierarchyButton/index.js.map +0 -1
  269. package/dist/elements/HierarchyButton/index.server.d.ts +0 -10
  270. package/dist/elements/HierarchyButton/index.server.d.ts.map +0 -1
  271. package/dist/elements/HierarchyButton/index.server.js +0 -34
  272. package/dist/elements/HierarchyButton/index.server.js.map +0 -1
  273. package/dist/elements/HierarchyColumnBrowser/Column/index.d.ts +0 -5
  274. package/dist/elements/HierarchyColumnBrowser/Column/index.d.ts.map +0 -1
  275. package/dist/elements/HierarchyColumnBrowser/Column/index.js +0 -166
  276. package/dist/elements/HierarchyColumnBrowser/Column/index.js.map +0 -1
  277. package/dist/elements/HierarchyColumnBrowser/Column/index.scss +0 -63
  278. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.d.ts +0 -5
  279. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.d.ts.map +0 -1
  280. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.js +0 -161
  281. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.js.map +0 -1
  282. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.scss +0 -105
  283. package/dist/elements/HierarchyColumnBrowser/index.d.ts +0 -8
  284. package/dist/elements/HierarchyColumnBrowser/index.d.ts.map +0 -1
  285. package/dist/elements/HierarchyColumnBrowser/index.js +0 -473
  286. package/dist/elements/HierarchyColumnBrowser/index.js.map +0 -1
  287. package/dist/elements/HierarchyColumnBrowser/index.scss +0 -20
  288. package/dist/elements/HierarchyColumnBrowser/types.d.ts +0 -106
  289. package/dist/elements/HierarchyColumnBrowser/types.d.ts.map +0 -1
  290. package/dist/elements/HierarchyColumnBrowser/types.js +0 -2
  291. package/dist/elements/HierarchyColumnBrowser/types.js.map +0 -1
  292. package/dist/elements/HierarchyDrawer/Drawer/index.d.ts +0 -20
  293. package/dist/elements/HierarchyDrawer/Drawer/index.d.ts.map +0 -1
  294. package/dist/elements/HierarchyDrawer/Drawer/index.js +0 -291
  295. package/dist/elements/HierarchyDrawer/Drawer/index.js.map +0 -1
  296. package/dist/elements/HierarchyDrawer/Drawer/index.scss +0 -81
  297. package/dist/elements/HierarchyDrawer/fetchAncestorPath.d.ts +0 -15
  298. package/dist/elements/HierarchyDrawer/fetchAncestorPath.d.ts.map +0 -1
  299. package/dist/elements/HierarchyDrawer/fetchAncestorPath.js +0 -60
  300. package/dist/elements/HierarchyDrawer/fetchAncestorPath.js.map +0 -1
  301. package/dist/elements/HierarchyDrawer/index.d.ts +0 -30
  302. package/dist/elements/HierarchyDrawer/index.d.ts.map +0 -1
  303. package/dist/elements/HierarchyDrawer/index.js +0 -148
  304. package/dist/elements/HierarchyDrawer/index.js.map +0 -1
  305. package/dist/elements/HierarchyDrawer/types.d.ts +0 -68
  306. package/dist/elements/HierarchyDrawer/types.d.ts.map +0 -1
  307. package/dist/elements/HierarchyDrawer/types.js +0 -3
  308. package/dist/elements/HierarchyDrawer/types.js.map +0 -1
  309. package/dist/elements/HierarchyField/SelectedHierarchies.d.ts +0 -13
  310. package/dist/elements/HierarchyField/SelectedHierarchies.d.ts.map +0 -1
  311. package/dist/elements/HierarchyField/SelectedHierarchies.js +0 -194
  312. package/dist/elements/HierarchyField/SelectedHierarchies.js.map +0 -1
  313. package/dist/elements/HierarchyField/SelectedHierarchies.scss +0 -78
  314. package/dist/elements/HierarchyField/index.client.d.ts +0 -8
  315. package/dist/elements/HierarchyField/index.client.d.ts.map +0 -1
  316. package/dist/elements/HierarchyField/index.client.js +0 -198
  317. package/dist/elements/HierarchyField/index.client.js.map +0 -1
  318. package/dist/elements/HierarchyField/index.scss +0 -35
  319. package/dist/elements/HierarchyField/index.server.d.ts +0 -3
  320. package/dist/elements/HierarchyField/index.server.d.ts.map +0 -1
  321. package/dist/elements/HierarchyField/index.server.js +0 -30
  322. package/dist/elements/HierarchyField/index.server.js.map +0 -1
  323. package/dist/elements/HierarchySearch/HierarchySearchInput.d.ts +0 -18
  324. package/dist/elements/HierarchySearch/HierarchySearchInput.d.ts.map +0 -1
  325. package/dist/elements/HierarchySearch/HierarchySearchInput.js +0 -115
  326. package/dist/elements/HierarchySearch/HierarchySearchInput.js.map +0 -1
  327. package/dist/elements/HierarchySearch/HierarchySearchResultItem.d.ts +0 -13
  328. package/dist/elements/HierarchySearch/HierarchySearchResultItem.d.ts.map +0 -1
  329. package/dist/elements/HierarchySearch/HierarchySearchResultItem.js +0 -88
  330. package/dist/elements/HierarchySearch/HierarchySearchResultItem.js.map +0 -1
  331. package/dist/elements/HierarchySearch/HierarchySearchResults.d.ts +0 -17
  332. package/dist/elements/HierarchySearch/HierarchySearchResults.d.ts.map +0 -1
  333. package/dist/elements/HierarchySearch/HierarchySearchResults.js +0 -85
  334. package/dist/elements/HierarchySearch/HierarchySearchResults.js.map +0 -1
  335. package/dist/elements/HierarchySearch/index.d.ts +0 -10
  336. package/dist/elements/HierarchySearch/index.d.ts.map +0 -1
  337. package/dist/elements/HierarchySearch/index.js +0 -144
  338. package/dist/elements/HierarchySearch/index.js.map +0 -1
  339. package/dist/elements/HierarchySearch/index.scss +0 -212
  340. package/dist/elements/HierarchySearch/types.d.ts +0 -21
  341. package/dist/elements/HierarchySearch/types.d.ts.map +0 -1
  342. package/dist/elements/HierarchySearch/types.js +0 -2
  343. package/dist/elements/HierarchySearch/types.js.map +0 -1
  344. package/dist/elements/HierarchySearch/useHierarchySearch.d.ts +0 -20
  345. package/dist/elements/HierarchySearch/useHierarchySearch.d.ts.map +0 -1
  346. package/dist/elements/HierarchySearch/useHierarchySearch.js +0 -122
  347. package/dist/elements/HierarchySearch/useHierarchySearch.js.map +0 -1
  348. package/dist/elements/HierarchyTree/HierarchySidebarTab.d.ts +0 -21
  349. package/dist/elements/HierarchyTree/HierarchySidebarTab.d.ts.map +0 -1
  350. package/dist/elements/HierarchyTree/HierarchySidebarTab.js +0 -167
  351. package/dist/elements/HierarchyTree/HierarchySidebarTab.js.map +0 -1
  352. package/dist/elements/HierarchyTree/HierarchySidebarTab.server.d.ts +0 -7
  353. package/dist/elements/HierarchyTree/HierarchySidebarTab.server.d.ts.map +0 -1
  354. package/dist/elements/HierarchyTree/HierarchySidebarTab.server.js +0 -176
  355. package/dist/elements/HierarchyTree/HierarchySidebarTab.server.js.map +0 -1
  356. package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.d.ts +0 -8
  357. package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.d.ts.map +0 -1
  358. package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.js +0 -36
  359. package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.js.map +0 -1
  360. package/dist/elements/HierarchyTree/LoadMore/index.d.ts +0 -12
  361. package/dist/elements/HierarchyTree/LoadMore/index.d.ts.map +0 -1
  362. package/dist/elements/HierarchyTree/LoadMore/index.js +0 -29
  363. package/dist/elements/HierarchyTree/LoadMore/index.js.map +0 -1
  364. package/dist/elements/HierarchyTree/LoadMore/index.scss +0 -26
  365. package/dist/elements/HierarchyTree/TreeConnector.d.ts +0 -7
  366. package/dist/elements/HierarchyTree/TreeConnector.d.ts.map +0 -1
  367. package/dist/elements/HierarchyTree/TreeConnector.js +0 -23
  368. package/dist/elements/HierarchyTree/TreeConnector.js.map +0 -1
  369. package/dist/elements/HierarchyTree/TreeFocusContext.d.ts +0 -28
  370. package/dist/elements/HierarchyTree/TreeFocusContext.d.ts.map +0 -1
  371. package/dist/elements/HierarchyTree/TreeFocusContext.js +0 -140
  372. package/dist/elements/HierarchyTree/TreeFocusContext.js.map +0 -1
  373. package/dist/elements/HierarchyTree/TreeNode/index.d.ts +0 -5
  374. package/dist/elements/HierarchyTree/TreeNode/index.d.ts.map +0 -1
  375. package/dist/elements/HierarchyTree/TreeNode/index.js +0 -201
  376. package/dist/elements/HierarchyTree/TreeNode/index.js.map +0 -1
  377. package/dist/elements/HierarchyTree/TreeNode/index.scss +0 -99
  378. package/dist/elements/HierarchyTree/index.d.ts +0 -4
  379. package/dist/elements/HierarchyTree/index.d.ts.map +0 -1
  380. package/dist/elements/HierarchyTree/index.js +0 -66
  381. package/dist/elements/HierarchyTree/index.js.map +0 -1
  382. package/dist/elements/HierarchyTree/index.scss +0 -42
  383. package/dist/elements/HierarchyTree/types.d.ts +0 -57
  384. package/dist/elements/HierarchyTree/types.d.ts.map +0 -1
  385. package/dist/elements/HierarchyTree/types.js +0 -2
  386. package/dist/elements/HierarchyTree/types.js.map +0 -1
  387. package/dist/elements/HierarchyTree/useChildren.d.ts +0 -26
  388. package/dist/elements/HierarchyTree/useChildren.d.ts.map +0 -1
  389. package/dist/elements/HierarchyTree/useChildren.js +0 -150
  390. package/dist/elements/HierarchyTree/useChildren.js.map +0 -1
  391. package/dist/elements/HierarchyTree/useTreeState.d.ts +0 -9
  392. package/dist/elements/HierarchyTree/useTreeState.d.ts.map +0 -1
  393. package/dist/elements/HierarchyTree/useTreeState.js +0 -50
  394. package/dist/elements/HierarchyTree/useTreeState.js.map +0 -1
  395. package/dist/elements/HydrateHierarchyProvider/index.d.ts +0 -4
  396. package/dist/elements/HydrateHierarchyProvider/index.d.ts.map +0 -1
  397. package/dist/elements/HydrateHierarchyProvider/index.js +0 -70
  398. package/dist/elements/HydrateHierarchyProvider/index.js.map +0 -1
  399. package/dist/elements/LoadMoreRow/index.d.ts +0 -15
  400. package/dist/elements/LoadMoreRow/index.d.ts.map +0 -1
  401. package/dist/elements/LoadMoreRow/index.js +0 -75
  402. package/dist/elements/LoadMoreRow/index.js.map +0 -1
  403. package/dist/elements/LoadMoreRow/index.scss +0 -42
  404. package/dist/elements/MoveMany/index.d.ts +0 -22
  405. package/dist/elements/MoveMany/index.d.ts.map +0 -1
  406. package/dist/elements/MoveMany/index.js +0 -278
  407. package/dist/elements/MoveMany/index.js.map +0 -1
  408. package/dist/elements/MoveMany/index.scss +0 -7
  409. package/dist/elements/Spinner/index.d.ts +0 -16
  410. package/dist/elements/Spinner/index.d.ts.map +0 -1
  411. package/dist/elements/Spinner/index.js +0 -49
  412. package/dist/elements/Spinner/index.js.map +0 -1
  413. package/dist/elements/Spinner/index.scss +0 -39
  414. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts +0 -6
  415. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +0 -1
  416. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +0 -187
  417. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +0 -1
  418. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.scss +0 -29
  419. package/dist/elements/Tree/LoadMore/LoadMoreButton.d.ts +0 -8
  420. package/dist/elements/Tree/LoadMore/LoadMoreButton.d.ts.map +0 -1
  421. package/dist/elements/Tree/LoadMore/LoadMoreButton.js +0 -36
  422. package/dist/elements/Tree/LoadMore/LoadMoreButton.js.map +0 -1
  423. package/dist/elements/Tree/LoadMore/index.d.ts +0 -12
  424. package/dist/elements/Tree/LoadMore/index.d.ts.map +0 -1
  425. package/dist/elements/Tree/LoadMore/index.js +0 -29
  426. package/dist/elements/Tree/LoadMore/index.js.map +0 -1
  427. package/dist/elements/Tree/LoadMore/index.scss +0 -26
  428. package/dist/elements/Tree/TreeConnector.d.ts +0 -7
  429. package/dist/elements/Tree/TreeConnector.d.ts.map +0 -1
  430. package/dist/elements/Tree/TreeConnector.js +0 -23
  431. package/dist/elements/Tree/TreeConnector.js.map +0 -1
  432. package/dist/elements/Tree/TreeFocusContext.d.ts +0 -28
  433. package/dist/elements/Tree/TreeFocusContext.d.ts.map +0 -1
  434. package/dist/elements/Tree/TreeFocusContext.js +0 -140
  435. package/dist/elements/Tree/TreeFocusContext.js.map +0 -1
  436. package/dist/elements/Tree/TreeNode/index.d.ts +0 -5
  437. package/dist/elements/Tree/TreeNode/index.d.ts.map +0 -1
  438. package/dist/elements/Tree/TreeNode/index.js +0 -221
  439. package/dist/elements/Tree/TreeNode/index.js.map +0 -1
  440. package/dist/elements/Tree/TreeNode/index.scss +0 -110
  441. package/dist/elements/Tree/index.d.ts +0 -5
  442. package/dist/elements/Tree/index.d.ts.map +0 -1
  443. package/dist/elements/Tree/index.js +0 -270
  444. package/dist/elements/Tree/index.js.map +0 -1
  445. package/dist/elements/Tree/index.scss +0 -63
  446. package/dist/elements/Tree/types.d.ts +0 -70
  447. package/dist/elements/Tree/types.d.ts.map +0 -1
  448. package/dist/elements/Tree/types.js +0 -2
  449. package/dist/elements/Tree/types.js.map +0 -1
  450. package/dist/elements/Tree/useChildren.d.ts +0 -28
  451. package/dist/elements/Tree/useChildren.d.ts.map +0 -1
  452. package/dist/elements/Tree/useChildren.js +0 -213
  453. package/dist/elements/Tree/useChildren.js.map +0 -1
  454. package/dist/fields/Null/index.d.ts +0 -11
  455. package/dist/fields/Null/index.d.ts.map +0 -1
  456. package/dist/fields/Null/index.js +0 -13
  457. package/dist/fields/Null/index.js.map +0 -1
  458. package/dist/icons/Filter/index.d.ts +0 -4
  459. package/dist/icons/Filter/index.d.ts.map +0 -1
  460. package/dist/icons/Filter/index.js +0 -15
  461. package/dist/icons/Filter/index.js.map +0 -1
  462. package/dist/icons/Filter/index.scss +0 -13
  463. package/dist/icons/Tag/index.d.ts +0 -8
  464. package/dist/icons/Tag/index.d.ts.map +0 -1
  465. package/dist/icons/Tag/index.js +0 -22
  466. package/dist/icons/Tag/index.js.map +0 -1
  467. package/dist/icons/Tag/index.scss +0 -14
  468. package/dist/providers/DocumentSelection/index.d.ts +0 -8
  469. package/dist/providers/DocumentSelection/index.d.ts.map +0 -1
  470. package/dist/providers/DocumentSelection/index.js +0 -239
  471. package/dist/providers/DocumentSelection/index.js.map +0 -1
  472. package/dist/providers/DocumentSelection/types.d.ts +0 -122
  473. package/dist/providers/DocumentSelection/types.d.ts.map +0 -1
  474. package/dist/providers/DocumentSelection/types.js +0 -5
  475. package/dist/providers/DocumentSelection/types.js.map +0 -1
  476. package/dist/providers/Hierarchy/index.d.ts +0 -5
  477. package/dist/providers/Hierarchy/index.d.ts.map +0 -1
  478. package/dist/providers/Hierarchy/index.js +0 -346
  479. package/dist/providers/Hierarchy/index.js.map +0 -1
  480. package/dist/providers/Hierarchy/types.d.ts +0 -105
  481. package/dist/providers/Hierarchy/types.d.ts.map +0 -1
  482. package/dist/providers/Hierarchy/types.js +0 -2
  483. package/dist/providers/Hierarchy/types.js.map +0 -1
  484. package/dist/utilities/isSuperset.d.ts +0 -6
  485. package/dist/utilities/isSuperset.d.ts.map +0 -1
  486. package/dist/utilities/isSuperset.js +0 -10
  487. package/dist/utilities/isSuperset.js.map +0 -1
  488. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts +0 -10
  489. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +0 -1
  490. package/dist/views/HierarchyList/DocumentListSelection/index.js +0 -135
  491. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +0 -1
  492. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +0 -21
  493. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +0 -1
  494. package/dist/views/HierarchyList/HierarchyListHeader/index.js +0 -67
  495. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +0 -1
  496. package/dist/views/HierarchyList/HierarchyListHeader/index.scss +0 -9
  497. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts +0 -4
  498. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +0 -1
  499. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +0 -104
  500. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +0 -1
  501. package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts +0 -4
  502. package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts.map +0 -1
  503. package/dist/views/HierarchyList/HierarchyTable/DateCell.js +0 -53
  504. package/dist/views/HierarchyList/HierarchyTable/DateCell.js.map +0 -1
  505. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts +0 -4
  506. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts.map +0 -1
  507. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +0 -128
  508. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +0 -1
  509. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +0 -99
  510. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +0 -1
  511. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +0 -118
  512. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +0 -1
  513. package/dist/views/HierarchyList/HierarchyTable/SlotTable.scss +0 -214
  514. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +0 -27
  515. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +0 -1
  516. package/dist/views/HierarchyList/HierarchyTable/index.js +0 -388
  517. package/dist/views/HierarchyList/HierarchyTable/index.js.map +0 -1
  518. package/dist/views/HierarchyList/HierarchyTable/index.scss +0 -148
  519. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +0 -20
  520. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +0 -1
  521. package/dist/views/HierarchyList/HierarchyTable/types.js +0 -2
  522. package/dist/views/HierarchyList/HierarchyTable/types.js.map +0 -1
  523. package/dist/views/HierarchyList/TypeFilter/index.d.ts +0 -15
  524. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +0 -1
  525. package/dist/views/HierarchyList/TypeFilter/index.js +0 -37
  526. package/dist/views/HierarchyList/TypeFilter/index.js.map +0 -1
  527. package/dist/views/HierarchyList/TypeFilter/index.scss +0 -32
  528. package/dist/views/HierarchyList/index.d.ts +0 -5
  529. package/dist/views/HierarchyList/index.d.ts.map +0 -1
  530. package/dist/views/HierarchyList/index.js +0 -305
  531. package/dist/views/HierarchyList/index.js.map +0 -1
  532. package/dist/views/HierarchyList/index.scss +0 -72
@@ -1,278 +0,0 @@
1
- 'use client';
2
-
3
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
- import { useModal } from '@faceless-ui/modal';
5
- import { getTranslation } from '@payloadcms/translations';
6
- import { formatAdminURL } from 'payload/shared';
7
- import * as qs from 'qs-esm';
8
- import React, { useCallback, useMemo, useState } from 'react';
9
- import { toast } from 'sonner';
10
- import { useConfig } from '../../providers/Config/index.js';
11
- import { useDocumentSelection } from '../../providers/DocumentSelection/index.js';
12
- import { useLocale } from '../../providers/Locale/index.js';
13
- import { useTranslation } from '../../providers/Translation/index.js';
14
- import { requests } from '../../utilities/api.js';
15
- import { ConfirmationModal } from '../ConfirmationModal/index.js';
16
- import { useHierarchyDrawer } from '../HierarchyDrawer/index.js';
17
- import { ListSelectionButton } from '../ListSelection/index.js';
18
- import { Translation } from '../Translation/index.js';
19
- import './index.scss';
20
- export const baseClass = 'move-many';
21
- /**
22
- * Gets the parent field name from the hierarchy config.
23
- */
24
- function getParentFieldName(hierarchyConfig) {
25
- const config = hierarchyConfig?.hierarchy && typeof hierarchyConfig.hierarchy === 'object' ? hierarchyConfig.hierarchy : undefined;
26
- return config?.parentFieldName;
27
- }
28
- export function MoveMany({
29
- currentFolderId,
30
- hierarchySlug,
31
- Icon,
32
- modalPrefix,
33
- onSuccess,
34
- selections
35
- }) {
36
- const {
37
- i18n,
38
- t
39
- } = useTranslation();
40
- const {
41
- code: locale
42
- } = useLocale();
43
- const {
44
- openModal
45
- } = useModal();
46
- const {
47
- config: {
48
- collections,
49
- routes: {
50
- api
51
- }
52
- }
53
- } = useConfig();
54
- const {
55
- getSelectionsWithMetadata
56
- } = useDocumentSelection();
57
- const [destination, setDestination] = useState(null);
58
- const confirmMoveDrawerSlug = `${modalPrefix ? `${modalPrefix}-` : ''}confirm-move-many`;
59
- // Compute required collections from selection metadata
60
- // For related items: add their collection slug
61
- // For folders: add their allowedCollections values
62
- const requiredCollections = useMemo(() => {
63
- const selectionsWithMeta = getSelectionsWithMetadata();
64
- const required = new Set();
65
- for (const [collectionSlug, {
66
- selections: items
67
- }] of Object.entries(selectionsWithMeta)) {
68
- if (collectionSlug === hierarchySlug) {
69
- // For folders, add their allowedCollections to required set
70
- for (const {
71
- metadata
72
- } of items) {
73
- if (metadata.allowedCollections) {
74
- for (const slug of metadata.allowedCollections) {
75
- required.add(slug);
76
- }
77
- }
78
- }
79
- } else {
80
- // For related items, add their collection slug
81
- required.add(collectionSlug);
82
- }
83
- }
84
- return required.size > 0 ? Array.from(required) : undefined;
85
- }, [getSelectionsWithMetadata, hierarchySlug]);
86
- // Folders being moved cannot be selected as destination (can't move into themselves)
87
- const disabledIds = useMemo(() => {
88
- const folderIds = selections[hierarchySlug]?.ids;
89
- return folderIds?.length ? new Set(folderIds) : undefined;
90
- }, [selections, hierarchySlug]);
91
- const [HierarchyDrawer,, {
92
- closeDrawer,
93
- openDrawer
94
- }] = useHierarchyDrawer({
95
- disabledIds,
96
- filterByCollection: requiredCollections,
97
- hierarchyCollectionSlug: hierarchySlug,
98
- Icon
99
- });
100
- // Calculate total count and label
101
- const {
102
- count,
103
- label
104
- } = useMemo(() => {
105
- let totalCount = 0;
106
- const labels = [];
107
- for (const [collectionSlug_0, {
108
- ids
109
- }] of Object.entries(selections)) {
110
- const config = collections.find(c => c.slug === collectionSlug_0);
111
- if (config && ids.length > 0) {
112
- totalCount += ids.length;
113
- const collectionLabel = getTranslation(ids.length > 1 ? config.labels.plural : config.labels.singular, i18n);
114
- labels.push(collectionLabel);
115
- }
116
- }
117
- return {
118
- count: totalCount,
119
- label: labels.join(', ')
120
- };
121
- }, [selections, collections, i18n]);
122
- const hierarchyCollectionConfig = collections.find(c_0 => c_0.slug === hierarchySlug);
123
- const parentFieldName = getParentFieldName(hierarchyCollectionConfig);
124
- // Check if hierarchy has a valid parentFieldName
125
- const canMove = parentFieldName !== undefined;
126
- const handleDrawerSave = useCallback(({
127
- selections: selectionsMap
128
- }) => {
129
- if (selectionsMap.size === 0) {
130
- return;
131
- }
132
- const firstSelection = selectionsMap.values().next().value;
133
- const destinationId = firstSelection?.id;
134
- const destinationTitle = firstSelection?.path?.[firstSelection.path.length - 1]?.title || String(destinationId);
135
- setDestination({
136
- id: destinationId,
137
- title: destinationTitle
138
- });
139
- openModal(confirmMoveDrawerSlug);
140
- }, [openModal, confirmMoveDrawerSlug]);
141
- const handleMoveToRoot = useCallback(() => {
142
- setDestination({
143
- id: null,
144
- title: t('hierarchy:noParent')
145
- });
146
- openModal(confirmMoveDrawerSlug);
147
- }, [openModal, confirmMoveDrawerSlug, t]);
148
- const handleConfirmMove = useCallback(async () => {
149
- if (destination === null) {
150
- return;
151
- }
152
- let totalMoved = 0;
153
- let hasErrors = false;
154
- try {
155
- for (const [collectionSlug_1, {
156
- ids: ids_0
157
- }] of Object.entries(selections)) {
158
- if (ids_0.length === 0) {
159
- continue;
160
- }
161
- const queryString = qs.stringify({
162
- locale,
163
- where: {
164
- id: {
165
- in: ids_0
166
- }
167
- }
168
- }, {
169
- addQueryPrefix: true
170
- });
171
- const url = formatAdminURL({
172
- apiRoute: api,
173
- path: `/${collectionSlug_1}${queryString}`
174
- });
175
- const response = await requests.patch(url, {
176
- body: JSON.stringify({
177
- [parentFieldName]: destination.id
178
- }),
179
- headers: {
180
- 'Accept-Language': i18n.language,
181
- 'Content-Type': 'application/json',
182
- credentials: 'include'
183
- }
184
- });
185
- const json = await response.json();
186
- if (response.status >= 400) {
187
- hasErrors = true;
188
- if (json?.errors?.length > 0) {
189
- toast.error(json.message || t('error:unknown'), {
190
- description: json.errors.map(error => error.message).join('\n')
191
- });
192
- } else {
193
- toast.error(json?.message || t('error:unknown'));
194
- }
195
- continue;
196
- }
197
- const movedCount = json?.docs?.length || 0;
198
- totalMoved += movedCount;
199
- if (json?.errors?.length > 0) {
200
- hasErrors = true;
201
- toast.error(json.message, {
202
- description: json.errors.map(error_0 => error_0.message).join('\n')
203
- });
204
- }
205
- }
206
- if (totalMoved > 0) {
207
- const successKey = destination.id === null ? 'hierarchy:itemsMovedToRoot' : 'hierarchy:itemsMovedTo';
208
- toast.success(t(successKey, {
209
- destination: destination.title,
210
- title: label
211
- }));
212
- }
213
- if (!hasErrors || totalMoved > 0) {
214
- closeDrawer();
215
- onSuccess?.();
216
- }
217
- } catch (_err) {
218
- toast.error(t('error:unknown'));
219
- } finally {
220
- setDestination(null);
221
- }
222
- }, [closeDrawer, destination, selections, parentFieldName, locale, api, i18n, t, label, onSuccess]);
223
- if (count === 0 || !canMove) {
224
- return null;
225
- }
226
- return /*#__PURE__*/_jsxs(React.Fragment, {
227
- children: [/*#__PURE__*/_jsx(ListSelectionButton, {
228
- "aria-label": t('general:move'),
229
- className: `${baseClass}__toggle`,
230
- onClick: openDrawer,
231
- children: t('general:move')
232
- }), /*#__PURE__*/_jsx(HierarchyDrawer, {
233
- hasMany: false,
234
- initialSelections: currentFolderId ? [currentFolderId] : null,
235
- onMoveToRoot: handleMoveToRoot,
236
- onSave: handleDrawerSave,
237
- showMoveToRoot: true
238
- }), /*#__PURE__*/_jsx(ConfirmationModal, {
239
- body: /*#__PURE__*/_jsx("p", {
240
- children: destination?.id === null ? /*#__PURE__*/_jsx(Translation, {
241
- elements: {
242
- '1': ({
243
- children
244
- }) => /*#__PURE__*/_jsx("strong", {
245
- children: children
246
- })
247
- },
248
- i18nKey: "hierarchy:moveItemsToRootConfirmation",
249
- t: t,
250
- variables: {
251
- count,
252
- label
253
- }
254
- }) : /*#__PURE__*/_jsx(Translation, {
255
- elements: {
256
- '1': ({
257
- children: children_0
258
- }) => /*#__PURE__*/_jsx("strong", {
259
- children: children_0
260
- })
261
- },
262
- i18nKey: "general:moveConfirm",
263
- t: t,
264
- variables: {
265
- count,
266
- destination: destination?.title || '',
267
- label
268
- }
269
- })
270
- }),
271
- confirmingLabel: t('general:moving'),
272
- heading: t('general:confirmMove'),
273
- modalSlug: confirmMoveDrawerSlug,
274
- onConfirm: handleConfirmMove
275
- })]
276
- });
277
- }
278
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","qs","React","useCallback","useMemo","useState","toast","useConfig","useDocumentSelection","useLocale","useTranslation","requests","ConfirmationModal","useHierarchyDrawer","ListSelectionButton","Translation","baseClass","getParentFieldName","hierarchyConfig","config","hierarchy","undefined","parentFieldName","MoveMany","currentFolderId","hierarchySlug","Icon","modalPrefix","onSuccess","selections","i18n","t","code","locale","openModal","collections","routes","api","getSelectionsWithMetadata","destination","setDestination","confirmMoveDrawerSlug","requiredCollections","selectionsWithMeta","required","Set","collectionSlug","items","Object","entries","metadata","allowedCollections","slug","add","size","Array","from","disabledIds","folderIds","ids","length","HierarchyDrawer","closeDrawer","openDrawer","filterByCollection","hierarchyCollectionSlug","count","label","totalCount","labels","find","c","collectionLabel","plural","singular","push","join","hierarchyCollectionConfig","canMove","handleDrawerSave","selectionsMap","firstSelection","values","next","value","destinationId","id","destinationTitle","path","title","String","handleMoveToRoot","handleConfirmMove","totalMoved","hasErrors","queryString","stringify","where","in","addQueryPrefix","url","apiRoute","response","patch","body","JSON","headers","language","credentials","json","status","errors","error","message","description","map","movedCount","docs","successKey","success","_err","_jsxs","Fragment","_jsx","className","onClick","hasMany","initialSelections","onMoveToRoot","onSave","showMoveToRoot","elements","1","children","i18nKey","variables","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/MoveMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { SelectionWithPath } from '../HierarchyDrawer/types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentSelection } from '../../providers/DocumentSelection/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { useHierarchyDrawer } from '../HierarchyDrawer/index.js'\nimport { ListSelectionButton } from '../ListSelection/index.js'\nimport { Translation } from '../Translation/index.js'\nimport './index.scss'\n\nexport const baseClass = 'move-many'\n\ntype MoveManyProps = {\n /** Current folder ID - drawer will open expanded to this location */\n currentFolderId?: null | number | string\n /** The hierarchy collection slug (e.g., 'folders') */\n hierarchySlug: string\n /** Icon to display in the hierarchy drawer */\n Icon?: React.ReactNode\n /** When multiple MoveMany components are rendered on the page, this will differentiate them */\n modalPrefix?: string\n /** Callback after successful move */\n onSuccess?: () => void\n /** Selections grouped by collection slug */\n selections: Record<string, { ids: (number | string)[] }>\n}\n\n/**\n * Gets the parent field name from the hierarchy config.\n */\nfunction getParentFieldName(\n hierarchyConfig: ClientCollectionConfig | undefined,\n): string | undefined {\n const config =\n hierarchyConfig?.hierarchy && typeof hierarchyConfig.hierarchy === 'object'\n ? hierarchyConfig.hierarchy\n : undefined\n return config?.parentFieldName\n}\n\nexport function MoveMany({\n currentFolderId,\n hierarchySlug,\n Icon,\n modalPrefix,\n onSuccess,\n selections,\n}: MoveManyProps) {\n const { i18n, t } = useTranslation()\n const { code: locale } = useLocale()\n const { openModal } = useModal()\n const {\n config: {\n collections,\n routes: { api },\n },\n } = useConfig()\n\n const { getSelectionsWithMetadata } = useDocumentSelection()\n\n const [destination, setDestination] = useState<{\n id: null | number | string\n title: string\n } | null>(null)\n\n const confirmMoveDrawerSlug = `${modalPrefix ? `${modalPrefix}-` : ''}confirm-move-many`\n\n // Compute required collections from selection metadata\n // For related items: add their collection slug\n // For folders: add their allowedCollections values\n const requiredCollections = useMemo(() => {\n const selectionsWithMeta = getSelectionsWithMetadata()\n const required = new Set<string>()\n\n for (const [collectionSlug, { selections: items }] of Object.entries(selectionsWithMeta)) {\n if (collectionSlug === hierarchySlug) {\n // For folders, add their allowedCollections to required set\n for (const { metadata } of items) {\n if (metadata.allowedCollections) {\n for (const slug of metadata.allowedCollections) {\n required.add(slug)\n }\n }\n }\n } else {\n // For related items, add their collection slug\n required.add(collectionSlug)\n }\n }\n\n return required.size > 0 ? Array.from(required) : undefined\n }, [getSelectionsWithMetadata, hierarchySlug])\n\n // Folders being moved cannot be selected as destination (can't move into themselves)\n const disabledIds = useMemo(() => {\n const folderIds = selections[hierarchySlug]?.ids\n return folderIds?.length ? new Set(folderIds) : undefined\n }, [selections, hierarchySlug])\n\n const [HierarchyDrawer, , { closeDrawer, openDrawer }] = useHierarchyDrawer({\n disabledIds,\n filterByCollection: requiredCollections,\n hierarchyCollectionSlug: hierarchySlug,\n Icon,\n })\n\n // Calculate total count and label\n const { count, label } = useMemo(() => {\n let totalCount = 0\n const labels: string[] = []\n\n for (const [collectionSlug, { ids }] of Object.entries(selections)) {\n const config = collections.find((c) => c.slug === collectionSlug)\n\n if (config && ids.length > 0) {\n totalCount += ids.length\n const collectionLabel = getTranslation(\n ids.length > 1 ? config.labels.plural : config.labels.singular,\n i18n,\n )\n labels.push(collectionLabel)\n }\n }\n\n return {\n count: totalCount,\n label: labels.join(', '),\n }\n }, [selections, collections, i18n])\n\n const hierarchyCollectionConfig = collections.find((c) => c.slug === hierarchySlug)\n const parentFieldName = getParentFieldName(hierarchyCollectionConfig)\n\n // Check if hierarchy has a valid parentFieldName\n const canMove = parentFieldName !== undefined\n\n const handleDrawerSave = useCallback(\n ({ selections: selectionsMap }: { selections: Map<number | string, SelectionWithPath> }) => {\n if (selectionsMap.size === 0) {\n return\n }\n\n const firstSelection = selectionsMap.values().next().value\n const destinationId = firstSelection?.id\n const destinationTitle =\n firstSelection?.path?.[firstSelection.path.length - 1]?.title || String(destinationId)\n\n setDestination({ id: destinationId, title: destinationTitle })\n openModal(confirmMoveDrawerSlug)\n },\n [openModal, confirmMoveDrawerSlug],\n )\n\n const handleMoveToRoot = useCallback(() => {\n setDestination({ id: null, title: t('hierarchy:noParent') })\n openModal(confirmMoveDrawerSlug)\n }, [openModal, confirmMoveDrawerSlug, t])\n\n const handleConfirmMove = useCallback(async () => {\n if (destination === null) {\n return\n }\n\n let totalMoved = 0\n let hasErrors = false\n\n try {\n for (const [collectionSlug, { ids }] of Object.entries(selections)) {\n if (ids.length === 0) {\n continue\n }\n\n const queryString = qs.stringify(\n {\n locale,\n where: { id: { in: ids } },\n },\n { addQueryPrefix: true },\n )\n\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${queryString}`,\n })\n\n const response = await requests.patch(url, {\n body: JSON.stringify({ [parentFieldName]: destination.id }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n credentials: 'include',\n },\n })\n\n const json = await response.json()\n\n if (response.status >= 400) {\n hasErrors = true\n\n if (json?.errors?.length > 0) {\n toast.error(json.message || t('error:unknown'), {\n description: json.errors\n .map((error: { message: string }) => error.message)\n .join('\\n'),\n })\n } else {\n toast.error(json?.message || t('error:unknown'))\n }\n\n continue\n }\n\n const movedCount = json?.docs?.length || 0\n totalMoved += movedCount\n\n if (json?.errors?.length > 0) {\n hasErrors = true\n toast.error(json.message, {\n description: json.errors.map((error: { message: string }) => error.message).join('\\n'),\n })\n }\n }\n\n if (totalMoved > 0) {\n const successKey =\n destination.id === null ? 'hierarchy:itemsMovedToRoot' : 'hierarchy:itemsMovedTo'\n\n toast.success(\n t(successKey, {\n destination: destination.title,\n title: label,\n }),\n )\n }\n\n if (!hasErrors || totalMoved > 0) {\n closeDrawer()\n onSuccess?.()\n }\n } catch (_err) {\n toast.error(t('error:unknown'))\n } finally {\n setDestination(null)\n }\n }, [\n closeDrawer,\n destination,\n selections,\n parentFieldName,\n locale,\n api,\n i18n,\n t,\n label,\n onSuccess,\n ])\n\n if (count === 0 || !canMove) {\n return null\n }\n\n return (\n <React.Fragment>\n <ListSelectionButton\n aria-label={t('general:move')}\n className={`${baseClass}__toggle`}\n onClick={openDrawer}\n >\n {t('general:move')}\n </ListSelectionButton>\n <HierarchyDrawer\n hasMany={false}\n initialSelections={currentFolderId ? [currentFolderId] : null}\n onMoveToRoot={handleMoveToRoot}\n onSave={handleDrawerSave}\n showMoveToRoot\n />\n <ConfirmationModal\n body={\n <p>\n {destination?.id === null ? (\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"hierarchy:moveItemsToRootConfirmation\"\n t={t}\n variables={{\n count,\n label,\n }}\n />\n ) : (\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:moveConfirm\"\n t={t}\n variables={{\n count,\n destination: destination?.title || '',\n label,\n }}\n />\n )}\n </p>\n }\n confirmingLabel={t('general:moving')}\n heading={t('general:confirmMove')}\n modalSlug={confirmMoveDrawerSlug}\n onConfirm={handleConfirmMove}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +0,0 @@
1
- @use '../../scss/queries.scss' as *;
2
-
3
- .move-many {
4
- &__toggle {
5
- // Inherits from ListSelectionButton
6
- }
7
- }
@@ -1,16 +0,0 @@
1
- import React from 'react';
2
- import './index.scss';
3
- export type SpinnerProps = {
4
- /**
5
- * Custom text to show next to the spinner. Pass `null` to hide text entirely.
6
- * @default 'Loading...' (translated)
7
- */
8
- loadingText?: null | string;
9
- /**
10
- * Size of the spinner
11
- * @default 'default'
12
- */
13
- size?: 'default' | 'small';
14
- };
15
- export declare const Spinner: React.FC<SpinnerProps>;
16
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Spinner/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,YAAY,GAAG;IACzB;;;OAGG;IACH,WAAW,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IAC3B;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAY1C,CAAA"}
@@ -1,49 +0,0 @@
1
- 'use client';
2
-
3
- import { c as _c } from "react/compiler-runtime";
4
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import React from 'react';
6
- import { useTranslation } from '../../providers/Translation/index.js';
7
- import './index.scss';
8
- const baseClass = 'spinner';
9
- export const Spinner = t0 => {
10
- const $ = _c(6);
11
- const {
12
- loadingText,
13
- size: t1
14
- } = t0;
15
- const size = t1 === undefined ? "medium" : t1;
16
- const {
17
- t
18
- } = useTranslation();
19
- const t2 = `${baseClass}--${size}`;
20
- let t3;
21
- if ($[0] !== t2) {
22
- t3 = [baseClass, t2].filter(Boolean);
23
- $[0] = t2;
24
- $[1] = t3;
25
- } else {
26
- t3 = $[1];
27
- }
28
- const t4 = t3.join(" ");
29
- let t5;
30
- if ($[2] !== loadingText || $[3] !== t || $[4] !== t4) {
31
- t5 = _jsxs("div", {
32
- className: t4,
33
- children: [_jsx("div", {
34
- className: `${baseClass}__circle`
35
- }), loadingText !== null && _jsx("span", {
36
- className: `${baseClass}__text`,
37
- children: loadingText || `${t("general:loading")}...`
38
- })]
39
- });
40
- $[2] = loadingText;
41
- $[3] = t;
42
- $[4] = t4;
43
- $[5] = t5;
44
- } else {
45
- t5 = $[5];
46
- }
47
- return t5;
48
- };
49
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useTranslation","baseClass","Spinner","t0","$","loadingText","size","t1","undefined","t","t2","t3","filter","Boolean","t4","join","t5","_jsxs","className","children","_jsx"],"sources":["../../../src/elements/Spinner/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'spinner'\n\nexport type SpinnerProps = {\n /**\n * Custom text to show next to the spinner. Pass `null` to hide text entirely.\n * @default 'Loading...' (translated)\n */\n loadingText?: null | string\n /**\n * Size of the spinner\n * @default 'default'\n */\n size?: 'default' | 'small'\n}\n\nexport const Spinner: React.FC<SpinnerProps> = ({ loadingText, size = 'medium' }) => {\n const { t } = useTranslation()\n\n return (\n <div className={[baseClass, `${baseClass}--${size}`].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__circle`} />\n\n {loadingText !== null && (\n <span className={`${baseClass}__text`}>{loadingText || `${t('general:loading')}...`}</span>\n )}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAElB,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAelB,OAAO,MAAMC,OAAA,GAAkCC,EAAA;EAAA,MAAAC,CAAA,GAAAN,EAAA;EAAC;IAAAO,WAAA;IAAAC,IAAA,EAAAC;EAAA,IAAAJ,EAAgC;EAAjB,MAAAG,IAAA,GAAAC,EAAe,KAAAC,SAAA,GAAR,QAAQ,GAAfD,EAAe;EAC5E;IAAAE;EAAA,IAAcT,cAAA;EAGgB,MAAAU,EAAA,MAAAT,SAAA,KAAiBK,IAAA,EAAM;EAAA,IAAAK,EAAA;EAAA,IAAAP,CAAA,QAAAM,EAAA;IAAnCC,EAAA,IAAAV,SAAA,EAAYS,EAAuB,EAAAE,MAAA,CAAAC,OAAS;IAAAT,CAAA,MAAAM,EAAA;IAAAN,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAA5C,MAAAU,EAAA,GAAAH,EAA4C,CAAAI,IAAA,CAAc;EAAA,IAAAC,EAAA;EAAA,IAAAZ,CAAA,QAAAC,WAAA,IAAAD,CAAA,QAAAK,CAAA,IAAAL,CAAA,QAAAU,EAAA;IAA1EE,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAeJ,EAA0D;MAAAK,QAAA,GACxEC,IAAA,CAAC;QAAAF,SAAA,EAAe,GAAAjB,SAAA;MAAsB,C,GAErCI,WAAA,SAAgB,IACfe,IAAA,CAAC;QAAAF,SAAA,EAAgB,GAAAjB,SAAA,QAAoB;QAAAkB,QAAA,EAAGd,WAAA,IAAe,GAAGI,CAAA,CAAE;MAAuB,C;;;;;;;;;SAJvFO,E;CAQJ","ignoreList":[]}
@@ -1,39 +0,0 @@
1
- @import '../../scss/styles';
2
-
3
- @layer payload-default {
4
- .spinner {
5
- display: flex;
6
- align-items: center;
7
- gap: calc(var(--base) / 2);
8
- color: var(--theme-elevation-400);
9
-
10
- &__circle {
11
- width: 15px;
12
- height: 15px;
13
- border: 2px solid var(--theme-elevation-200);
14
- border-top-color: var(--theme-elevation-500);
15
- border-radius: 50%;
16
- animation: spinner-spin 0.6s linear infinite;
17
- }
18
-
19
- &--small {
20
- gap: calc(var(--base) / 4);
21
-
22
- .spinner__circle {
23
- width: 12px;
24
- height: 12px;
25
- border-width: 2px;
26
- }
27
-
28
- .spinner__text {
29
- font-size: 12px;
30
- }
31
- }
32
- }
33
-
34
- @keyframes spinner-spin {
35
- to {
36
- transform: rotate(360deg);
37
- }
38
- }
39
- }
@@ -1,6 +0,0 @@
1
- import type { DefaultCellComponentProps, RelationshipFieldClient } from 'payload';
2
- import React from 'react';
3
- import './index.scss';
4
- export type HierarchyCellProps = DefaultCellComponentProps<RelationshipFieldClient>;
5
- export declare const HierarchyCell: React.FC<HierarchyCellProps>;
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Hierarchy/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAEjF,OAAO,KAA4D,MAAM,OAAO,CAAA;AAchF,OAAO,cAAc,CAAA;AAKrB,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,uBAAuB,CAAC,CAAA;AAEnF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAiMtD,CAAA"}
@@ -1,187 +0,0 @@
1
- 'use client';
2
-
3
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
- import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
5
- import { useIntersect } from '../../../../../hooks/useIntersect.js';
6
- import { FolderIcon } from '../../../../../icons/Folder/index.js';
7
- import { TagIcon } from '../../../../../icons/Tag/index.js';
8
- import { useConfig } from '../../../../../providers/Config/index.js';
9
- import { useTranslation } from '../../../../../providers/Translation/index.js';
10
- import { canUseDOM } from '../../../../../utilities/canUseDOM.js';
11
- import { formatDocTitle } from '../../../../../utilities/formatDocTitle/index.js';
12
- import { Button } from '../../../../Button/index.js';
13
- import { useHierarchyDrawer } from '../../../../HierarchyDrawer/index.js';
14
- import { useListRelationships } from '../../../RelationshipProvider/index.js';
15
- import './index.scss';
16
- const baseClass = 'hierarchy-cell';
17
- export const HierarchyCell = ({
18
- cellData: cellDataFromProps,
19
- collectionSlug,
20
- customCellProps,
21
- field,
22
- rowData
23
- }) => {
24
- const relationTo = 'relationTo' in field ? field.relationTo : undefined;
25
- const hasMany = field.hasMany ?? false;
26
- const {
27
- config,
28
- getEntityConfig
29
- } = useConfig();
30
- const [intersectionRef, entry] = useIntersect();
31
- const [values, setValues] = useState([]);
32
- const {
33
- documents,
34
- getRelationships
35
- } = useListRelationships();
36
- const hasRequestedRef = useRef(false);
37
- const {
38
- i18n,
39
- t
40
- } = useTranslation();
41
- const isAboveViewport = canUseDOM ? entry?.boundingClientRect?.top < window.innerHeight : false;
42
- // Get the hierarchy collection config
43
- const hierarchyCollectionSlug = typeof relationTo === 'string' ? relationTo : undefined;
44
- const hierarchyCollectionConfig = hierarchyCollectionSlug ? getEntityConfig({
45
- collectionSlug: hierarchyCollectionSlug
46
- }) : undefined;
47
- // Use pre-rendered icon from server if available, otherwise determine on client
48
- const hierarchyConfig = hierarchyCollectionConfig?.hierarchy && typeof hierarchyCollectionConfig.hierarchy === 'object' ? hierarchyCollectionConfig.hierarchy : undefined;
49
- // Pre-rendered icon from server (supports custom icons)
50
- const preRenderedIcon = customCellProps?.hierarchyIcon;
51
- // Fallback icon for client-side rendering
52
- const fallbackIcon = useMemo(() => {
53
- if (preRenderedIcon) {
54
- return null // Don't need fallback if we have pre-rendered icon
55
- ;
56
- }
57
- // Default based on allowHasMany: false = folder-like, true = tag-like
58
- const IconComponent = hierarchyConfig?.allowHasMany === false ? FolderIcon : TagIcon;
59
- return /*#__PURE__*/_jsx(IconComponent, {
60
- color: "muted"
61
- });
62
- }, [hierarchyConfig, preRenderedIcon]);
63
- // Set up the hierarchy drawer
64
- const [HierarchyDrawer,, {
65
- openDrawer
66
- }] = useHierarchyDrawer({
67
- hierarchyCollectionSlug: hierarchyCollectionSlug || ''
68
- });
69
- // Fetch relationship data when visible
70
- useEffect(() => {
71
- if ((cellDataFromProps || typeof cellDataFromProps === 'number') && isAboveViewport && !hasRequestedRef.current && typeof relationTo === 'string') {
72
- const formattedValues = [];
73
- const arrayCellData = Array.isArray(cellDataFromProps) ? cellDataFromProps : [cellDataFromProps];
74
- arrayCellData.forEach(cell => {
75
- if (typeof cell === 'object' && 'relationTo' in cell && 'value' in cell) {
76
- formattedValues.push(cell);
77
- }
78
- if (typeof cell === 'number' || typeof cell === 'string') {
79
- formattedValues.push({
80
- relationTo,
81
- value: cell
82
- });
83
- }
84
- });
85
- getRelationships(formattedValues);
86
- hasRequestedRef.current = true;
87
- setValues(formattedValues);
88
- }
89
- }, [cellDataFromProps, relationTo, isAboveViewport, getRelationships]);
90
- // Reset when data changes
91
- useEffect(() => {
92
- hasRequestedRef.current = false;
93
- }, [cellDataFromProps]);
94
- // Get current selection IDs for the drawer
95
- const initialSelections = useMemo(() => {
96
- if (!cellDataFromProps) {
97
- return [];
98
- }
99
- const data = Array.isArray(cellDataFromProps) ? cellDataFromProps : [cellDataFromProps];
100
- return data.map(item => {
101
- if (typeof item === 'object' && 'value' in item) {
102
- return item.value;
103
- }
104
- return item;
105
- });
106
- }, [cellDataFromProps]);
107
- // Handle save from drawer
108
- const handleSave = useCallback(async ({
109
- closeDrawer,
110
- selections
111
- }) => {
112
- // Get selected IDs
113
- const selectedIds = Array.from(selections.keys());
114
- const newValue = hasMany ? selectedIds : selectedIds[0] ?? null;
115
- // Update the document via API
116
- try {
117
- const response = await fetch(`${config.serverURL}${config.routes.api}/${collectionSlug}/${rowData.id}`, {
118
- body: JSON.stringify({
119
- [field.name]: newValue
120
- }),
121
- credentials: 'include',
122
- headers: {
123
- 'Content-Type': 'application/json'
124
- },
125
- method: 'PATCH'
126
- });
127
- if (response.ok && typeof relationTo === 'string') {
128
- // Update local state with new selection to avoid page reload
129
- const newValues = selectedIds.map(id => ({
130
- relationTo,
131
- value: id
132
- }));
133
- setValues(newValues);
134
- // Request the new relationship docs to update the display
135
- if (newValues.length > 0) {
136
- getRelationships(newValues);
137
- }
138
- }
139
- } catch (_error) {
140
- // swallow error and close drawer anyway, user can try again
141
- }
142
- closeDrawer();
143
- }, [collectionSlug, config, field.name, hasMany, rowData, relationTo, getRelationships]);
144
- // Build display labels
145
- const labels = useMemo(() => {
146
- return values.map(({
147
- relationTo: rel,
148
- value
149
- }) => {
150
- const document = documents[rel]?.[value];
151
- const relatedCollection = getEntityConfig({
152
- collectionSlug: rel
153
- });
154
- return formatDocTitle({
155
- collectionConfig: relatedCollection,
156
- data: document || null,
157
- dateFormat: config.admin.dateFormat,
158
- fallback: `${t('general:untitled')} - ID: ${value}`,
159
- i18n
160
- });
161
- });
162
- }, [values, documents, getEntityConfig, config.admin.dateFormat, t, i18n]);
163
- const displayText = labels.length > 0 ? labels.join(', ') : t('general:none');
164
- const isLoading = values.length > 0 && values.some(({
165
- relationTo: rel_0,
166
- value: value_0
167
- }) => documents[rel_0]?.[value_0] === null);
168
- return /*#__PURE__*/_jsxs("div", {
169
- className: baseClass,
170
- ref: intersectionRef,
171
- children: [/*#__PURE__*/_jsx(Button, {
172
- buttonStyle: "subtle",
173
- className: `${baseClass}__pill`,
174
- icon: preRenderedIcon || fallbackIcon,
175
- iconPosition: "left",
176
- margin: false,
177
- onClick: openDrawer,
178
- size: "small",
179
- children: isLoading ? `${t('general:loading')}...` : displayText
180
- }), hierarchyCollectionSlug && /*#__PURE__*/_jsx(HierarchyDrawer, {
181
- hasMany: hasMany,
182
- initialSelections: initialSelections,
183
- onSave: handleSave
184
- })]
185
- });
186
- };
187
- //# sourceMappingURL=index.js.map