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

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 (510) hide show
  1. package/dist/elements/AddNewRelation/index.css +4 -0
  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 +0 -4
  5. package/dist/elements/AppHeader/index.d.ts +8 -1
  6. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  7. package/dist/elements/AppHeader/index.js +14 -5
  8. package/dist/elements/AppHeader/index.js.map +1 -1
  9. package/dist/elements/Autosave/index.d.ts.map +1 -1
  10. package/dist/elements/Autosave/index.js +2 -3
  11. package/dist/elements/Autosave/index.js.map +1 -1
  12. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  13. package/dist/elements/BulkUpload/FormsManager/index.js +2 -3
  14. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  15. package/dist/elements/Button/index.css +0 -23
  16. package/dist/elements/Button/types.d.ts +1 -1
  17. package/dist/elements/Button/types.d.ts.map +1 -1
  18. package/dist/elements/Button/types.js.map +1 -1
  19. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  20. package/dist/elements/CopyLocaleData/index.js +8 -9
  21. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  22. package/dist/elements/DefaultListViewTabs/index.css +0 -1
  23. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  24. package/dist/elements/DefaultListViewTabs/index.js +62 -84
  25. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  26. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  27. package/dist/elements/DeleteMany/index.js +2 -3
  28. package/dist/elements/DeleteMany/index.js.map +1 -1
  29. package/dist/elements/DocumentDrawer/types.d.ts +1 -1
  30. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  31. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  32. package/dist/elements/Drawer/types.d.ts +2 -2
  33. package/dist/elements/Drawer/types.d.ts.map +1 -1
  34. package/dist/elements/Drawer/types.js.map +1 -1
  35. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  36. package/dist/elements/DuplicateDocument/index.js +2 -3
  37. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  38. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  39. package/dist/elements/EditMany/DrawerContent.js +2 -3
  40. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  41. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +4 -22
  42. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -1
  43. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +49 -68
  44. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  45. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +15 -100
  46. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  47. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +137 -97
  48. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  49. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +1 -1
  50. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  51. package/dist/elements/Hierarchy/ColumnBrowser/index.js +23 -51
  52. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  53. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +3 -26
  54. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  55. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  56. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  57. package/dist/elements/Hierarchy/DocHeaderButton/index.js +1 -6
  58. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  59. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +3 -1
  60. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +1 -1
  61. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +36 -0
  62. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +13 -0
  63. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -0
  64. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +141 -0
  65. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -0
  66. package/dist/elements/Hierarchy/Field/index.client.d.ts +0 -5
  67. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  68. package/dist/elements/Hierarchy/Field/index.client.js +95 -120
  69. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  70. package/dist/elements/Hierarchy/Field/index.css +34 -3
  71. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +4 -18
  72. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  73. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +24 -88
  74. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  75. package/dist/elements/Hierarchy/Modal/index.css +53 -4
  76. package/dist/elements/Hierarchy/Modal/index.d.ts +2 -5
  77. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  78. package/dist/elements/Hierarchy/Modal/index.js +99 -136
  79. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  80. package/dist/elements/Hierarchy/Modal/types.d.ts +0 -15
  81. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
  82. package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
  83. package/dist/elements/Hierarchy/MoveMany/index.d.ts +3 -7
  84. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  85. package/dist/elements/Hierarchy/MoveMany/index.js +171 -45
  86. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  87. package/dist/elements/Hierarchy/Search/index.css +9 -2
  88. package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
  89. package/dist/elements/Hierarchy/Search/index.js +73 -6
  90. package/dist/elements/Hierarchy/Search/index.js.map +1 -1
  91. package/dist/elements/Hierarchy/Search/types.d.ts +6 -2
  92. package/dist/elements/Hierarchy/Search/types.d.ts.map +1 -1
  93. package/dist/elements/Hierarchy/Search/types.js.map +1 -1
  94. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  95. package/dist/elements/Hierarchy/Search/useHierarchySearch.js +2 -3
  96. package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
  97. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +4 -0
  98. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  99. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +186 -101
  100. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  101. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  102. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +21 -1
  103. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  104. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +3 -3
  105. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +29 -59
  106. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +1 -1
  107. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  108. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +10 -54
  109. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  110. package/dist/elements/Hierarchy/Tree/index.css +9 -8
  111. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  112. package/dist/elements/Hierarchy/Tree/index.js +47 -29
  113. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  114. package/dist/elements/Hierarchy/Tree/types.d.ts +1 -9
  115. package/dist/elements/Hierarchy/Tree/types.d.ts.map +1 -1
  116. package/dist/elements/Hierarchy/Tree/types.js.map +1 -1
  117. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  118. package/dist/elements/Hierarchy/Tree/useChildren.js +1 -11
  119. package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
  120. package/dist/elements/ListControls/index.d.ts.map +1 -1
  121. package/dist/elements/ListControls/index.js +2 -3
  122. package/dist/elements/ListControls/index.js.map +1 -1
  123. package/dist/elements/ListControls/types.d.ts +0 -4
  124. package/dist/elements/ListControls/types.d.ts.map +1 -1
  125. package/dist/elements/ListControls/types.js.map +1 -1
  126. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
  127. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +2 -3
  128. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  129. package/dist/elements/LivePreview/Window/index.js +1 -1
  130. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  131. package/dist/elements/Localizer/index.js +1 -1
  132. package/dist/elements/Localizer/index.js.map +1 -1
  133. package/dist/elements/Nav/NavSidebarToggle/index.js +1 -1
  134. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
  135. package/dist/elements/Nav/NavWrapper/index.d.ts +0 -1
  136. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  137. package/dist/elements/Nav/NavWrapper/index.js +18 -12
  138. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  139. package/dist/elements/Nav/SidebarTabs/index.css +2 -1
  140. package/dist/elements/Nav/context.d.ts +1 -0
  141. package/dist/elements/Nav/context.d.ts.map +1 -1
  142. package/dist/elements/Nav/context.js +67 -92
  143. package/dist/elements/Nav/context.js.map +1 -1
  144. package/dist/elements/Nav/index.css +42 -47
  145. package/dist/elements/Nav/index.d.ts +0 -4
  146. package/dist/elements/Nav/index.d.ts.map +1 -1
  147. package/dist/elements/Nav/index.js +1 -16
  148. package/dist/elements/Nav/index.js.map +1 -1
  149. package/dist/elements/NavGroup/index.css +15 -29
  150. package/dist/elements/Popup/PopupButtonList/index.css +16 -32
  151. package/dist/elements/Popup/index.css +0 -6
  152. package/dist/elements/Popup/index.d.ts +0 -10
  153. package/dist/elements/Popup/index.d.ts.map +1 -1
  154. package/dist/elements/Popup/index.js +5 -12
  155. package/dist/elements/Popup/index.js.map +1 -1
  156. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  157. package/dist/elements/PublishButton/ScheduleDrawer/index.js +8 -30
  158. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  159. package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts +1 -1
  160. package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts.map +1 -1
  161. package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
  162. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  163. package/dist/elements/PublishButton/index.js +5 -6
  164. package/dist/elements/PublishButton/index.js.map +1 -1
  165. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  166. package/dist/elements/PublishMany/DrawerContent.js +2 -3
  167. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  168. package/dist/elements/ReactSelect/types.d.ts +0 -5
  169. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  170. package/dist/elements/ReactSelect/types.js.map +1 -1
  171. package/dist/elements/RestoreMany/index.d.ts.map +1 -1
  172. package/dist/elements/RestoreMany/index.js +2 -3
  173. package/dist/elements/RestoreMany/index.js.map +1 -1
  174. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  175. package/dist/elements/SaveDraftButton/index.js +2 -3
  176. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  177. package/dist/elements/SelectAll/index.d.ts.map +1 -1
  178. package/dist/elements/SelectAll/index.js +2 -1
  179. package/dist/elements/SelectAll/index.js.map +1 -1
  180. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  181. package/dist/elements/SelectRow/index.js +2 -1
  182. package/dist/elements/SelectRow/index.js.map +1 -1
  183. package/dist/elements/SidebarRow/index.css +5 -1
  184. package/dist/elements/SidebarToggle/index.css +1 -3
  185. package/dist/elements/Status/index.d.ts.map +1 -1
  186. package/dist/elements/Status/index.js +2 -3
  187. package/dist/elements/Status/index.js.map +1 -1
  188. package/dist/elements/StepNav/index.d.ts.map +1 -1
  189. package/dist/elements/StepNav/index.js +10 -14
  190. package/dist/elements/StepNav/index.js.map +1 -1
  191. package/dist/elements/StepNav/types.d.ts +0 -6
  192. package/dist/elements/StepNav/types.d.ts.map +1 -1
  193. package/dist/elements/StepNav/types.js.map +1 -1
  194. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +7 -5
  195. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  196. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +3 -14
  197. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  198. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  199. package/dist/elements/Table/OrderableTable.js +2 -3
  200. package/dist/elements/Table/OrderableTable.js.map +1 -1
  201. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  202. package/dist/elements/Table/RelationshipProvider/index.js +2 -3
  203. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  204. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  205. package/dist/elements/UnpublishButton/index.js +3 -4
  206. package/dist/elements/UnpublishButton/index.js.map +1 -1
  207. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  208. package/dist/elements/UnpublishMany/DrawerContent.js +2 -3
  209. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  210. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
  211. package/dist/elements/UserMenu/LanguageMenu/index.js +39 -83
  212. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  213. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
  214. package/dist/elements/UserMenu/SettingsMenu/index.js +21 -57
  215. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  216. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
  217. package/dist/elements/UserMenu/ThemeMenu/index.js +39 -83
  218. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  219. package/dist/elements/UserMenu/index.css +2 -32
  220. package/dist/elements/UserMenu/index.d.ts +0 -1
  221. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  222. package/dist/elements/UserMenu/index.js +51 -77
  223. package/dist/elements/UserMenu/index.js.map +1 -1
  224. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +1 -1
  225. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  226. package/dist/exports/client/index.d.ts +0 -4
  227. package/dist/exports/client/index.d.ts.map +1 -1
  228. package/dist/exports/client/index.js +1 -1
  229. package/dist/exports/client/index.js.map +3 -3
  230. package/dist/fields/Array/index.d.ts.map +1 -1
  231. package/dist/fields/Array/index.js +2 -3
  232. package/dist/fields/Array/index.js.map +1 -1
  233. package/dist/fields/Blocks/index.d.ts.map +1 -1
  234. package/dist/fields/Blocks/index.js +2 -3
  235. package/dist/fields/Blocks/index.js.map +1 -1
  236. package/dist/fields/Checkbox/Input.d.ts +2 -2
  237. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  238. package/dist/fields/Checkbox/Input.js +152 -134
  239. package/dist/fields/Checkbox/Input.js.map +1 -1
  240. package/dist/fields/Checkbox/index.css +155 -168
  241. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  242. package/dist/fields/FieldLabel/index.js +4 -5
  243. package/dist/fields/FieldLabel/index.js.map +1 -1
  244. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  245. package/dist/fields/Relationship/Input.js +8 -27
  246. package/dist/fields/Relationship/Input.js.map +1 -1
  247. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  248. package/dist/fields/Relationship/optionsReducer.js +0 -2
  249. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  250. package/dist/fields/Relationship/types.d.ts +0 -24
  251. package/dist/fields/Relationship/types.d.ts.map +1 -1
  252. package/dist/fields/Relationship/types.js.map +1 -1
  253. package/dist/fields/Slug/index.d.ts.map +1 -1
  254. package/dist/fields/Slug/index.js +2 -3
  255. package/dist/fields/Slug/index.js.map +1 -1
  256. package/dist/fields/Upload/Input.d.ts.map +1 -1
  257. package/dist/fields/Upload/Input.js +2 -3
  258. package/dist/fields/Upload/Input.js.map +1 -1
  259. package/dist/fields/Upload/Input.spec.js +2 -1
  260. package/dist/fields/Upload/Input.spec.js.map +1 -1
  261. package/dist/fields/shared/index.d.ts +1 -1
  262. package/dist/fields/shared/index.d.ts.map +1 -1
  263. package/dist/fields/shared/index.js.map +1 -1
  264. package/dist/forms/Form/index.d.ts.map +1 -1
  265. package/dist/forms/Form/index.js +2 -3
  266. package/dist/forms/Form/index.js.map +1 -1
  267. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  268. package/dist/forms/NullifyField/index.js +2 -3
  269. package/dist/forms/NullifyField/index.js.map +1 -1
  270. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  271. package/dist/hooks/usePayloadAPI.js +2 -3
  272. package/dist/hooks/usePayloadAPI.js.map +1 -1
  273. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  274. package/dist/providers/DocumentInfo/index.js +2 -3
  275. package/dist/providers/DocumentInfo/index.js.map +1 -1
  276. package/dist/providers/Hierarchy/index.d.ts.map +1 -1
  277. package/dist/providers/Hierarchy/index.js +24 -53
  278. package/dist/providers/Hierarchy/index.js.map +1 -1
  279. package/dist/providers/Hierarchy/types.d.ts +0 -2
  280. package/dist/providers/Hierarchy/types.d.ts.map +1 -1
  281. package/dist/providers/Hierarchy/types.js.map +1 -1
  282. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  283. package/dist/providers/LivePreview/index.js +13 -6
  284. package/dist/providers/LivePreview/index.js.map +1 -1
  285. package/dist/providers/Locale/index.d.ts +1 -5
  286. package/dist/providers/Locale/index.d.ts.map +1 -1
  287. package/dist/providers/Locale/index.js +61 -139
  288. package/dist/providers/Locale/index.js.map +1 -1
  289. package/dist/providers/Selection/index.d.ts.map +1 -1
  290. package/dist/providers/Selection/index.js +2 -3
  291. package/dist/providers/Selection/index.js.map +1 -1
  292. package/dist/providers/ServerFunctions/index.d.ts +5 -1
  293. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  294. package/dist/providers/ServerFunctions/index.js +15 -0
  295. package/dist/providers/ServerFunctions/index.js.map +1 -1
  296. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  297. package/dist/providers/TableColumns/buildColumnState/index.js +0 -1
  298. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  299. package/dist/styles.css +1 -1
  300. package/dist/templates/Default/Wrapper/index.css +1 -2
  301. package/dist/templates/Default/Wrapper/index.d.ts +0 -2
  302. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  303. package/dist/templates/Default/Wrapper/index.js +6 -12
  304. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  305. package/dist/templates/Default/index.css +1 -3
  306. package/dist/templates/Default/index.d.ts.map +1 -1
  307. package/dist/templates/Default/index.js +15 -17
  308. package/dist/templates/Default/index.js.map +1 -1
  309. package/dist/utilities/formatAbsoluteURL.d.ts +1 -1
  310. package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
  311. package/dist/utilities/formatAbsoluteURL.js +18 -8
  312. package/dist/utilities/formatAbsoluteURL.js.map +1 -1
  313. package/dist/utilities/formatAbsoluteURL.spec.js +27 -0
  314. package/dist/utilities/formatAbsoluteURL.spec.js.map +1 -0
  315. package/dist/utilities/getHasScheduledPublish.d.ts +2 -3
  316. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  317. package/dist/utilities/getHasScheduledPublish.js +2 -5
  318. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  319. package/dist/utilities/isAbsoluteURL.d.ts +3 -0
  320. package/dist/utilities/isAbsoluteURL.d.ts.map +1 -0
  321. package/dist/utilities/isAbsoluteURL.js +15 -0
  322. package/dist/utilities/isAbsoluteURL.js.map +1 -0
  323. package/dist/utilities/isAbsoluteURL.spec.js +11 -0
  324. package/dist/utilities/isAbsoluteURL.spec.js.map +1 -0
  325. package/dist/utilities/isHttpURL.d.ts +3 -0
  326. package/dist/utilities/isHttpURL.d.ts.map +1 -0
  327. package/dist/utilities/isHttpURL.js +12 -0
  328. package/dist/utilities/isHttpURL.js.map +1 -0
  329. package/dist/utilities/isHttpURL.spec.js +25 -0
  330. package/dist/utilities/isHttpURL.spec.js.map +1 -0
  331. package/dist/utilities/schedulePublishHandler.d.ts +8 -1
  332. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  333. package/dist/utilities/schedulePublishHandler.js +68 -4
  334. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  335. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  336. package/dist/utilities/serverFunctionRegistry.js +2 -1
  337. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  338. package/dist/utilities/slugify.d.ts.map +1 -1
  339. package/dist/utilities/slugify.js +2 -0
  340. package/dist/utilities/slugify.js.map +1 -1
  341. package/dist/views/API/index.client.d.ts.map +1 -1
  342. package/dist/views/API/index.client.js +2 -3
  343. package/dist/views/API/index.client.js.map +1 -1
  344. package/dist/views/Document/index.d.ts.map +1 -1
  345. package/dist/views/Document/index.js +1 -2
  346. package/dist/views/Document/index.js.map +1 -1
  347. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  348. package/dist/views/HierarchyList/DocumentListSelection/index.js +105 -100
  349. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  350. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +1 -6
  351. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
  352. package/dist/views/HierarchyList/HierarchyListHeader/index.js +8 -10
  353. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
  354. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
  355. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +10 -11
  356. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  357. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  358. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +6 -3
  359. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  360. package/dist/views/HierarchyList/HierarchyTable/index.css +0 -51
  361. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +1 -13
  362. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  363. package/dist/views/HierarchyList/HierarchyTable/index.js +38 -156
  364. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  365. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +0 -6
  366. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
  367. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
  368. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  369. package/dist/views/HierarchyList/index.js +20 -103
  370. package/dist/views/HierarchyList/index.js.map +1 -1
  371. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  372. package/dist/views/List/ListSelection/index.js +122 -138
  373. package/dist/views/List/ListSelection/index.js.map +1 -1
  374. package/dist/views/List/handleHierarchy.d.ts +1 -6
  375. package/dist/views/List/handleHierarchy.d.ts.map +1 -1
  376. package/dist/views/List/handleHierarchy.js +3 -34
  377. package/dist/views/List/handleHierarchy.js.map +1 -1
  378. package/dist/views/List/index.client.d.ts.map +1 -1
  379. package/dist/views/List/index.client.js +5 -129
  380. package/dist/views/List/index.client.js.map +1 -1
  381. package/dist/views/List/index.d.ts.map +1 -1
  382. package/dist/views/List/index.js +16 -27
  383. package/dist/views/List/index.js.map +1 -1
  384. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  385. package/dist/views/Root/getRouteData.js +2 -8
  386. package/dist/views/Root/getRouteData.js.map +1 -1
  387. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  388. package/dist/views/Version/Default/SetStepNav.js +10 -13
  389. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  390. package/dist/views/Version/Default/index.d.ts.map +1 -1
  391. package/dist/views/Version/Default/index.js +12 -13
  392. package/dist/views/Version/Default/index.js.map +1 -1
  393. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +1 -0
  394. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
  395. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +56 -50
  396. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  397. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  398. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +41 -27
  399. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  400. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.spec.js +258 -0
  401. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.spec.js.map +1 -0
  402. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  403. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +10 -0
  404. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  405. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  406. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +33 -1
  407. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  408. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +56 -2
  409. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  410. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +8 -2
  411. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
  412. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +17 -19
  413. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  414. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +3 -13
  415. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  416. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
  417. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js +2 -3
  418. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
  419. package/package.json +6 -5
  420. package/dist/elements/Hierarchy/CreateNewButton/index.css +0 -9
  421. package/dist/elements/Hierarchy/CreateNewButton/index.d.ts +0 -9
  422. package/dist/elements/Hierarchy/CreateNewButton/index.d.ts.map +0 -1
  423. package/dist/elements/Hierarchy/CreateNewButton/index.js +0 -111
  424. package/dist/elements/Hierarchy/CreateNewButton/index.js.map +0 -1
  425. package/dist/elements/Hierarchy/Modal/Footer/index.css +0 -45
  426. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +0 -28
  427. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +0 -1
  428. package/dist/elements/Hierarchy/Modal/Footer/index.js +0 -166
  429. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +0 -1
  430. package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts +0 -22
  431. package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts.map +0 -1
  432. package/dist/elements/Hierarchy/getFolderHierarchySlug.js +0 -17
  433. package/dist/elements/Hierarchy/getFolderHierarchySlug.js.map +0 -1
  434. package/dist/elements/Hierarchy/move/moveDocuments.d.ts +0 -34
  435. package/dist/elements/Hierarchy/move/moveDocuments.d.ts.map +0 -1
  436. package/dist/elements/Hierarchy/move/moveDocuments.js +0 -94
  437. package/dist/elements/Hierarchy/move/moveDocuments.js.map +0 -1
  438. package/dist/elements/SegmentedControl/index.css +0 -58
  439. package/dist/elements/SegmentedControl/index.d.ts +0 -19
  440. package/dist/elements/SegmentedControl/index.d.ts.map +0 -1
  441. package/dist/elements/SegmentedControl/index.js +0 -104
  442. package/dist/elements/SegmentedControl/index.js.map +0 -1
  443. package/dist/elements/StepNav/DropTarget/index.css +0 -20
  444. package/dist/elements/StepNav/DropTarget/index.d.ts +0 -16
  445. package/dist/elements/StepNav/DropTarget/index.d.ts.map +0 -1
  446. package/dist/elements/StepNav/DropTarget/index.js +0 -71
  447. package/dist/elements/StepNav/DropTarget/index.js.map +0 -1
  448. package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts +0 -18
  449. package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts.map +0 -1
  450. package/dist/elements/UserMenu/HoverSubmenuGroup.js +0 -38
  451. package/dist/elements/UserMenu/HoverSubmenuGroup.js.map +0 -1
  452. package/dist/elements/UserMenu/useHoverSubmenu.d.ts +0 -21
  453. package/dist/elements/UserMenu/useHoverSubmenu.d.ts.map +0 -1
  454. package/dist/elements/UserMenu/useHoverSubmenu.js +0 -260
  455. package/dist/elements/UserMenu/useHoverSubmenu.js.map +0 -1
  456. package/dist/elements/ViewModeToggle/index.d.ts +0 -8
  457. package/dist/elements/ViewModeToggle/index.d.ts.map +0 -1
  458. package/dist/elements/ViewModeToggle/index.js +0 -29
  459. package/dist/elements/ViewModeToggle/index.js.map +0 -1
  460. package/dist/icons/CollapseLayers/index.css +0 -5
  461. package/dist/icons/CollapseLayers/index.d.ts +0 -7
  462. package/dist/icons/CollapseLayers/index.d.ts.map +0 -1
  463. package/dist/icons/CollapseLayers/index.js +0 -23
  464. package/dist/icons/CollapseLayers/index.js.map +0 -1
  465. package/dist/icons/Table/index.css +0 -5
  466. package/dist/icons/Table/index.d.ts +0 -7
  467. package/dist/icons/Table/index.d.ts.map +0 -1
  468. package/dist/icons/Table/index.js +0 -25
  469. package/dist/icons/Table/index.js.map +0 -1
  470. package/dist/providers/HierarchyDnd/index.css +0 -51
  471. package/dist/providers/HierarchyDnd/index.d.ts +0 -21
  472. package/dist/providers/HierarchyDnd/index.d.ts.map +0 -1
  473. package/dist/providers/HierarchyDnd/index.js +0 -163
  474. package/dist/providers/HierarchyDnd/index.js.map +0 -1
  475. package/dist/providers/HierarchyDnd/types.d.ts +0 -56
  476. package/dist/providers/HierarchyDnd/types.d.ts.map +0 -1
  477. package/dist/providers/HierarchyDnd/types.js +0 -21
  478. package/dist/providers/HierarchyDnd/types.js.map +0 -1
  479. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.css +0 -216
  480. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts +0 -20
  481. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts.map +0 -1
  482. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js +0 -182
  483. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js.map +0 -1
  484. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.css +0 -38
  485. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts +0 -15
  486. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts.map +0 -1
  487. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js +0 -85
  488. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js.map +0 -1
  489. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.css +0 -98
  490. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts +0 -27
  491. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts.map +0 -1
  492. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js +0 -84
  493. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js.map +0 -1
  494. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts +0 -19
  495. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts.map +0 -1
  496. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js +0 -100
  497. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js.map +0 -1
  498. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts +0 -53
  499. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts.map +0 -1
  500. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js +0 -145
  501. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js.map +0 -1
  502. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts +0 -8
  503. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts.map +0 -1
  504. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js +0 -21
  505. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js.map +0 -1
  506. package/dist/views/HierarchyList/HierarchyCards/index.css +0 -115
  507. package/dist/views/HierarchyList/HierarchyCards/index.d.ts +0 -80
  508. package/dist/views/HierarchyList/HierarchyCards/index.d.ts.map +0 -1
  509. package/dist/views/HierarchyList/HierarchyCards/index.js +0 -457
  510. package/dist/views/HierarchyList/HierarchyCards/index.js.map +0 -1
@@ -4,7 +4,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { getTranslation } from '@payloadcms/translations';
5
5
  import { formatAdminURL } from 'payload/shared';
6
6
  import * as qs from 'qs-esm';
7
- import React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react';
7
+ import React, { Fragment, useCallback, useEffect, useMemo } from 'react';
8
8
  import { CreateDocumentButton } from '../../elements/CreateDocumentButton/index.js';
9
9
  import { ListControlsBar } from '../../elements/ListControlsBar/index.js';
10
10
  import { useListDrawerContext } from '../../elements/ListDrawer/Provider.js';
@@ -12,11 +12,9 @@ import { RenderCustomComponent } from '../../elements/RenderCustomComponent/inde
12
12
  import { ListSearchFilter } from '../../elements/Search/ListSearchFilter/index.js';
13
13
  import { useStepNav } from '../../elements/StepNav/index.js';
14
14
  import { ViewDescription } from '../../elements/ViewDescription/index.js';
15
- import { ViewModeToggle } from '../../elements/ViewModeToggle/index.js';
16
15
  import { useConfig } from '../../providers/Config/index.js';
17
16
  import { DocumentSelectionProvider } from '../../providers/DocumentSelection/index.js';
18
17
  import { useHierarchy } from '../../providers/Hierarchy/index.js';
19
- import { usePreferences } from '../../providers/Preferences/index.js';
20
18
  import { useRouteCache } from '../../providers/RouteCache/index.js';
21
19
  import { useRouter, useSearchParams } from '../../providers/RouterAdapter/index.js';
22
20
  import { useRouteTransition } from '../../providers/RouteTransition/index.js';
@@ -37,7 +35,6 @@ export function HierarchyListView(props) {
37
35
  hierarchyData,
38
36
  HierarchyIcon,
39
37
  HierarchySmallIcon,
40
- listPreferences,
41
38
  viewType
42
39
  } = props;
43
40
  const router = useRouter();
@@ -64,15 +61,7 @@ export function HierarchyListView(props) {
64
61
  const {
65
62
  labels
66
63
  } = collectionConfig;
67
- // In scoped mode the viewed collection (Media) is not the collection that owns the tree
68
- // (Folders), so every hierarchy-shaped lookup below has to go through the latter.
69
- const hierarchySlug = hierarchyData?.hierarchySlug ?? collectionSlug;
70
- const scopedCollectionSlug = hierarchyData?.scopedCollectionSlug;
71
- const isScoped = Boolean(scopedCollectionSlug);
72
- const hierarchyCollectionConfig = getEntityConfig({
73
- collectionSlug: hierarchySlug
74
- });
75
- const hierarchyConfig = hierarchyCollectionConfig?.hierarchy && typeof hierarchyCollectionConfig.hierarchy === 'object' ? hierarchyCollectionConfig.hierarchy : undefined;
64
+ const hierarchyConfig = collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object' ? collectionConfig.hierarchy : undefined;
76
65
  const parentFieldName = hierarchyConfig?.parentFieldName;
77
66
  const {
78
67
  i18n,
@@ -89,27 +78,11 @@ export function HierarchyListView(props) {
89
78
  const {
90
79
  clearRouteCache
91
80
  } = useRouteCache();
92
- const {
93
- setPreference
94
- } = usePreferences();
95
- const [viewMode, setViewMode] = useState(listPreferences?.documentViewMode ?? 'table');
96
- const handleViewModeChange = useCallback(nextViewMode => {
97
- setViewMode(nextViewMode);
98
- // merge: true, otherwise this write clobbers sibling list preferences
99
- // stored on the same key (columns, sort, limit, preset, groupBy).
100
- // A failed write only costs the persisted choice, so it must not surface as an
101
- // unhandled rejection.
102
- void setPreference(`collection-${collectionSlug}`, {
103
- documentViewMode: nextViewMode
104
- }, true).catch(() => {
105
- // Intentionally ignored: the view still switched, only persistence failed.
106
- });
107
- }, [collectionSlug, setPreference]);
108
81
  // Callback for when a new document is created
109
82
  const handleSave = useCallback(() => {
110
83
  clearRouteCache();
111
- refreshTree(hierarchySlug);
112
- }, [clearRouteCache, hierarchySlug, refreshTree]);
84
+ refreshTree(collectionSlug);
85
+ }, [clearRouteCache, collectionSlug, refreshTree]);
113
86
  // Get search from URL params
114
87
  const searchFromURL = searchParams.get('search') || '';
115
88
  // Update URL when search changes (debouncing is handled by ListSearchFilter)
@@ -137,30 +110,9 @@ export function HierarchyListView(props) {
137
110
  const currentItemTitle = hierarchyData?.breadcrumbs && hierarchyData.breadcrumbs.length > 0 ? hierarchyData.breadcrumbs[hierarchyData.breadcrumbs.length - 1].title : undefined;
138
111
  useEffect(() => {
139
112
  if (!isInDrawer) {
140
- // The trail runs all the way to the current folder, which also titles the page - it is the
141
- // page you are on, so it renders as an unlinked crumb.
142
- const breadcrumbs = hierarchyData?.breadcrumbs || [];
143
- // Dropping on the trail is the only way to move items *out* of a folder, since the tree has no
144
- // root row: the base crumb moves them to root, an ancestor crumb moves them up.
145
- const rootDropTarget = parentFieldName ? {
146
- type: 'hierarchy-folder',
147
- ancestorIds: [],
148
- folderId: null,
149
- hierarchySlug,
150
- parentFieldName,
151
- title: t('hierarchy:noParent')
152
- } : undefined;
153
- // A scoped browse is its own destination ("Media by Folder"), distinct from the collection's
154
- // plain list, so its crumb links to the browse root rather than to /collections/media.
155
- const baseLabel = isScoped ? {
156
- dropTarget: rootDropTarget,
157
- label: `${collectionLabel} ${t('general:by')} ${getTranslation(hierarchyCollectionConfig?.labels?.singular, i18n)}`,
158
- url: formatAdminURL({
159
- adminRoute,
160
- path: `/collections/${collectionSlug}/hierarchy`
161
- })
162
- } : {
163
- dropTarget: rootDropTarget,
113
+ // Breadcrumbs exclude the last item (current item) since it's shown in the header
114
+ const ancestorBreadcrumbs = hierarchyData?.breadcrumbs?.slice(0, -1) || [];
115
+ const baseLabel = {
164
116
  label: collectionLabel,
165
117
  url: formatAdminURL({
166
118
  adminRoute,
@@ -168,39 +120,21 @@ export function HierarchyListView(props) {
168
120
  })
169
121
  };
170
122
  let navItems = [baseLabel];
171
- if (breadcrumbs.length > 0) {
123
+ if (ancestorBreadcrumbs.length > 0) {
172
124
  const queryParam = parentFieldName || 'parent';
173
- // Ancestor crumbs have to stay inside whichever view the user is browsing.
174
- const basePath = isScoped ? `/collections/${collectionSlug}/hierarchy` : `/collections/${collectionSlug}`;
175
- const lastIndex = breadcrumbs.length - 1;
176
- const hierarchyBreadcrumbs = breadcrumbs.map((crumb, index) => ({
177
- // The last crumb is the folder already open, so dropping on it would be a no-op. Ancestor
178
- // folders carry no collectionSpecific value here, so type acceptance falls to the server.
179
- dropTarget: index === lastIndex || !parentFieldName ? undefined : {
180
- type: 'hierarchy-folder',
181
- ancestorIds: breadcrumbs.slice(0, index).map(ancestor => ancestor.id),
182
- folderId: crumb.id,
183
- hierarchySlug,
184
- parentFieldName,
185
- title: crumb.title
186
- },
125
+ const hierarchyBreadcrumbs = ancestorBreadcrumbs.map(crumb => ({
187
126
  label: crumb.title,
188
- // StepNav renders a url-less item as plain text, which is what makes the current folder
189
- // read as the trail's end rather than as another link back to itself.
190
- url: index === lastIndex ? undefined : formatAdminURL({
127
+ url: formatAdminURL({
191
128
  adminRoute,
192
- path: `${basePath}?${queryParam}=${crumb.id}`
129
+ path: `/collections/${collectionSlug}?${queryParam}=${crumb.id}`
193
130
  })
194
131
  }));
195
132
  navItems = [...navItems, ...hierarchyBreadcrumbs];
196
133
  }
197
134
  setStepNav(navItems);
198
135
  }
199
- }, [adminRoute, setStepNav, isInDrawer, collectionSlug, hierarchyData, hierarchyCollectionConfig, hierarchySlug, collectionLabel, i18n, isScoped, parentFieldName, t]);
136
+ }, [adminRoute, setStepNav, isInDrawer, collectionSlug, hierarchyData, collectionLabel, parentFieldName]);
200
137
  const parentId = hierarchyData?.parentId ?? null;
201
- // The breadcrumb trail is exactly the chain a folder may not be dropped into: its own ancestors
202
- // plus the folder currently open.
203
- const ancestorIds = useMemo(() => (hierarchyData?.breadcrumbs ?? []).map(crumb_0 => crumb_0.id), [hierarchyData?.breadcrumbs]);
204
138
  // Build collections array for create button
205
139
  // Filter by allowedCollections when set (from parent's collectionSpecific field)
206
140
  const {
@@ -219,16 +153,12 @@ export function HierarchyListView(props) {
219
153
  }
220
154
  }
221
155
  collections.push({
222
- collectionSlug: hierarchySlug,
156
+ collectionSlug,
223
157
  initialData: Object.keys(hierarchyInitialData).length > 0 ? hierarchyInitialData : {}
224
158
  });
225
159
  // Add related collections (for creating documents that reference this hierarchy)
226
160
  // Filter by allowedCollections when set
227
161
  for (const [slug, relatedConfig] of Object.entries(hierarchyConfig?.relatedCollections || {})) {
228
- // A scoped browse only ever creates folders or documents of the collection being browsed.
229
- if (isScoped && slug !== scopedCollectionSlug) {
230
- continue;
231
- }
232
162
  // Skip if not in allowed list (when allowedCollections has restrictions)
233
163
  // Empty array means "no restrictions" (folder accepts all types)
234
164
  if (allowedCollections && allowedCollections.length > 0 && !allowedCollections.some(c => c.slug === slug)) {
@@ -306,20 +236,14 @@ export function HierarchyListView(props) {
306
236
  label: related.label
307
237
  }));
308
238
  }, [hierarchyData?.relatedDocumentsByCollection, selectedTypes]);
309
- // Memoized on the underlying docs: DocumentSelectionProvider resets every selection whenever
310
- // this reference changes, so an unmemoized literal would clear the user's selection on any
311
- // re-render of this component (e.g. toggling the view mode) rather than only on navigation.
312
- const collectionData = useMemo(() => hierarchyData ? {
313
- [hierarchySlug]: {
239
+ const collectionData = hierarchyData ? {
240
+ [collectionSlug]: {
314
241
  docs: hierarchyData.childrenData.docs
315
242
  },
316
243
  ...Object.fromEntries(Object.entries(hierarchyData.relatedDocumentsByCollection || {}).map(([slug_3, related_0]) => [slug_3, {
317
244
  docs: related_0.result.docs
318
245
  }]))
319
- } : {},
320
- // hierarchyData is a server prop: stable across client re-renders, new only on
321
- // navigation/search — which is precisely when clearing the selection is intended.
322
- [hierarchySlug, hierarchyData]);
246
+ } : {};
323
247
  return /*#__PURE__*/_jsx(Fragment, {
324
248
  children: /*#__PURE__*/_jsxs("div", {
325
249
  className: `${baseClass} ${baseClass}--${collectionSlug}`,
@@ -346,7 +270,6 @@ export function HierarchyListView(props) {
346
270
  }) : null]
347
271
  }),
348
272
  HierarchyIcon: HierarchyIcon,
349
- hierarchySlug: hierarchySlug,
350
273
  i18n: i18n,
351
274
  viewType: viewType
352
275
  }), /*#__PURE__*/_jsxs(ListControlsBar, {
@@ -359,15 +282,12 @@ export function HierarchyListView(props) {
359
282
  }),
360
283
  onSearchChange: handleSearchChange,
361
284
  searchQueryParam: searchFromURL
362
- }), !isScoped && /*#__PURE__*/_jsx(TypeFilter, {
285
+ }), /*#__PURE__*/_jsx(TypeFilter, {
363
286
  i18n: i18n,
364
287
  onChange: handleTypeFilterChange,
365
288
  options: typeOptions,
366
289
  selectedValues: selectedTypes
367
290
  }, `type-filter-${hierarchyData.parent ? hierarchyData.parent.id : 'root'}`)]
368
- }), /*#__PURE__*/_jsx(ViewModeToggle, {
369
- onChange: handleViewModeChange,
370
- viewMode: viewMode
371
291
  }), hasCreatePermission && collections.length > 0 && /*#__PURE__*/_jsx(CreateDocumentButton, {
372
292
  buttonStyle: "primary",
373
293
  collections: collections,
@@ -375,21 +295,18 @@ export function HierarchyListView(props) {
375
295
  onSave: handleSave
376
296
  })]
377
297
  }), /*#__PURE__*/_jsx(HierarchyTable, {
378
- ancestorIds: ancestorIds,
379
298
  baseFilter: baseFilter,
380
- browseCollectionSlug: collectionSlug,
381
299
  childrenData: filteredChildrenData,
382
300
  collections: collections,
383
- collectionSlug: hierarchySlug,
301
+ collectionSlug: collectionSlug,
384
302
  hasCreatePermission: hasCreatePermission,
385
303
  HierarchyIcon: HierarchySmallIcon ?? HierarchyIcon,
386
- hierarchyLabel: getTranslation(hierarchyCollectionConfig?.labels?.plural, i18n),
304
+ hierarchyLabel: collectionLabel,
387
305
  parentFieldName: parentFieldName,
388
306
  parentId: parentId,
389
307
  relatedGroups: filteredRelatedGroups,
390
308
  search: searchFromURL,
391
- useAsTitle: hierarchyCollectionConfig?.admin?.useAsTitle || 'id',
392
- viewMode: viewMode
309
+ useAsTitle: collectionConfig?.admin?.useAsTitle || 'id'
393
310
  }, `${collectionSlug}-${parentId}-${searchFromURL}-${JSON.stringify(baseFilter)}-${filteredChildrenData?.totalDocs}-${Object.entries(hierarchyData?.relatedDocumentsByCollection || {}).map(([slug_4, r]) => `${slug_4}:${r.result.totalDocs}`).join(',')}`)]
394
311
  })
395
312
  }), AfterList]
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","formatAdminURL","qs","React","Fragment","useCallback","useEffect","useMemo","useState","CreateDocumentButton","ListControlsBar","useListDrawerContext","RenderCustomComponent","ListSearchFilter","useStepNav","ViewDescription","ViewModeToggle","useConfig","DocumentSelectionProvider","useHierarchy","usePreferences","useRouteCache","useRouter","useSearchParams","useRouteTransition","useTranslation","HierarchyListHeader","HierarchyTable","TypeFilter","baseClass","HierarchyListView","props","AfterList","baseFilter","BeforeList","collectionSlug","Description","hasCreatePermission","hasCreatePermissionFromProps","hierarchyData","HierarchyIcon","HierarchySmallIcon","listPreferences","viewType","router","searchParams","startRouteTransition","allowCreate","isInDrawer","undefined","config","routes","admin","adminRoute","getEntityConfig","collectionConfig","labels","hierarchySlug","scopedCollectionSlug","isScoped","Boolean","hierarchyCollectionConfig","hierarchyConfig","hierarchy","parentFieldName","i18n","t","collectionLabel","plural","setStepNav","parent","refreshTree","clearRouteCache","setPreference","viewMode","setViewMode","documentViewMode","handleViewModeChange","nextViewMode","catch","handleSave","searchFromURL","get","handleSearchChange","value","currentParams","forEach","v","k","search","queryString","stringify","addQueryPrefix","newUrl","window","location","pathname","replace","currentItemTitle","breadcrumbs","length","title","rootDropTarget","type","ancestorIds","folderId","baseLabel","dropTarget","label","singular","url","path","navItems","queryParam","basePath","lastIndex","hierarchyBreadcrumbs","map","crumb","index","slice","ancestor","id","parentId","allowedCollections","collections","hierarchyInitialData","collectionSpecificFieldName","collectionSpecific","fieldName","parentCollectionSpecificValues","push","initialData","Object","keys","slug","relatedConfig","entries","relatedCollections","some","c","fieldValue","hasMany","typeOptions","options","typeFilterFromURL","selectedTypes","split","opt","handleTypeFilterChange","values","allSelected","typeFilter","join","filteredChildrenData","childrenData","filteredRelatedGroups","relatedDocumentsByCollection","filter","includes","related","data","result","collectionData","docs","fromEntries","_jsx","_jsxs","className","description","CustomComponent","Fallback","useAsTitle","onSearchChange","searchQueryParam","onChange","selectedValues","buttonStyle","drawerSlug","onSave","browseCollectionSlug","hierarchyLabel","relatedGroups","JSON","totalDocs","r"],"sources":["../../../src/views/HierarchyList/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ListViewClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { CollectionOption } from '../../elements/CreateDocumentButton/index.js'\nimport type { StepNavItem } from '../../elements/StepNav/index.js'\nimport type { DocumentViewMode } from '../../elements/ViewModeToggle/index.js'\nimport type { HierarchyDropData } from '../../providers/HierarchyDnd/types.js'\n\nimport { CreateDocumentButton } from '../../elements/CreateDocumentButton/index.js'\nimport { ListControlsBar } from '../../elements/ListControlsBar/index.js'\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { ListSearchFilter } from '../../elements/Search/ListSearchFilter/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { ViewDescription } from '../../elements/ViewDescription/index.js'\nimport { ViewModeToggle } from '../../elements/ViewModeToggle/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentSelectionProvider } from '../../providers/DocumentSelection/index.js'\nimport { useHierarchy } from '../../providers/Hierarchy/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouter, useSearchParams } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { HierarchyListHeader } from './HierarchyListHeader/index.js'\nimport { HierarchyTable } from './HierarchyTable/index.js'\nimport { TypeFilter } from './TypeFilter/index.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-list'\n\nexport function HierarchyListView(props: ListViewClientProps) {\n const {\n AfterList,\n baseFilter,\n BeforeList,\n collectionSlug,\n Description,\n hasCreatePermission: hasCreatePermissionFromProps,\n hierarchyData,\n HierarchyIcon,\n HierarchySmallIcon,\n listPreferences,\n viewType,\n } = props\n\n const router = useRouter()\n const searchParams = useSearchParams()\n const { startRouteTransition } = useRouteTransition()\n\n const { allowCreate, isInDrawer } = useListDrawerContext()\n\n const hasCreatePermission =\n allowCreate !== undefined\n ? allowCreate && hasCreatePermissionFromProps\n : hasCreatePermissionFromProps\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const { labels } = collectionConfig\n\n // In scoped mode the viewed collection (Media) is not the collection that owns the tree\n // (Folders), so every hierarchy-shaped lookup below has to go through the latter.\n const hierarchySlug = hierarchyData?.hierarchySlug ?? collectionSlug\n const scopedCollectionSlug = hierarchyData?.scopedCollectionSlug\n const isScoped = Boolean(scopedCollectionSlug)\n const hierarchyCollectionConfig = getEntityConfig({ collectionSlug: hierarchySlug })\n\n const hierarchyConfig =\n hierarchyCollectionConfig?.hierarchy && typeof hierarchyCollectionConfig.hierarchy === 'object'\n ? hierarchyCollectionConfig.hierarchy\n : undefined\n const parentFieldName = hierarchyConfig?.parentFieldName\n\n const { i18n, t } = useTranslation()\n const collectionLabel = getTranslation(labels?.plural, i18n)\n\n const { setStepNav } = useStepNav()\n const { parent, refreshTree } = useHierarchy()\n const { clearRouteCache } = useRouteCache()\n const { setPreference } = usePreferences()\n\n const [viewMode, setViewMode] = useState<DocumentViewMode>(\n listPreferences?.documentViewMode ?? 'table',\n )\n\n const handleViewModeChange = useCallback(\n (nextViewMode: DocumentViewMode) => {\n setViewMode(nextViewMode)\n\n // merge: true, otherwise this write clobbers sibling list preferences\n // stored on the same key (columns, sort, limit, preset, groupBy).\n // A failed write only costs the persisted choice, so it must not surface as an\n // unhandled rejection.\n void setPreference(\n `collection-${collectionSlug}`,\n { documentViewMode: nextViewMode },\n true,\n ).catch(() => {\n // Intentionally ignored: the view still switched, only persistence failed.\n })\n },\n [collectionSlug, setPreference],\n )\n\n // Callback for when a new document is created\n const handleSave = useCallback(() => {\n clearRouteCache()\n refreshTree(hierarchySlug)\n }, [clearRouteCache, hierarchySlug, refreshTree])\n\n // Get search from URL params\n const searchFromURL = searchParams.get('search') || ''\n\n // Update URL when search changes (debouncing is handled by ListSearchFilter)\n // This triggers a server refetch via Next.js router\n const handleSearchChange = useCallback(\n (value: string) => {\n // Build new URL with updated search param\n const currentParams: Record<string, string> = {}\n searchParams.forEach((v, k) => {\n currentParams[k] = v\n })\n\n if (value) {\n currentParams.search = value\n } else {\n delete currentParams.search\n }\n\n const queryString = qs.stringify(currentParams, { addQueryPrefix: true })\n const newUrl = `${window.location.pathname}${queryString}`\n\n if (window.location.search !== queryString) {\n startRouteTransition(() => router.replace(newUrl))\n }\n },\n [router, searchParams, startRouteTransition],\n )\n\n // Get current item title from breadcrumbs (last item is the current one)\n const currentItemTitle =\n hierarchyData?.breadcrumbs && hierarchyData.breadcrumbs.length > 0\n ? hierarchyData.breadcrumbs[hierarchyData.breadcrumbs.length - 1].title\n : undefined\n\n useEffect(() => {\n if (!isInDrawer) {\n // The trail runs all the way to the current folder, which also titles the page - it is the\n // page you are on, so it renders as an unlinked crumb.\n const breadcrumbs = hierarchyData?.breadcrumbs || []\n\n // Dropping on the trail is the only way to move items *out* of a folder, since the tree has no\n // root row: the base crumb moves them to root, an ancestor crumb moves them up.\n const rootDropTarget: HierarchyDropData | undefined = parentFieldName\n ? {\n type: 'hierarchy-folder',\n ancestorIds: [],\n folderId: null,\n hierarchySlug,\n parentFieldName,\n title: t('hierarchy:noParent'),\n }\n : undefined\n\n // A scoped browse is its own destination (\"Media by Folder\"), distinct from the collection's\n // plain list, so its crumb links to the browse root rather than to /collections/media.\n const baseLabel: StepNavItem = isScoped\n ? {\n dropTarget: rootDropTarget,\n label: `${collectionLabel} ${t('general:by')} ${getTranslation(\n hierarchyCollectionConfig?.labels?.singular,\n i18n,\n )}`,\n url: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/hierarchy`,\n }),\n }\n : {\n dropTarget: rootDropTarget,\n label: collectionLabel,\n url: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n }),\n }\n\n let navItems = [baseLabel]\n\n if (breadcrumbs.length > 0) {\n const queryParam = parentFieldName || 'parent'\n // Ancestor crumbs have to stay inside whichever view the user is browsing.\n const basePath: `/${string}` = isScoped\n ? `/collections/${collectionSlug}/hierarchy`\n : `/collections/${collectionSlug}`\n const lastIndex = breadcrumbs.length - 1\n const hierarchyBreadcrumbs: StepNavItem[] = breadcrumbs.map((crumb, index) => ({\n // The last crumb is the folder already open, so dropping on it would be a no-op. Ancestor\n // folders carry no collectionSpecific value here, so type acceptance falls to the server.\n dropTarget:\n index === lastIndex || !parentFieldName\n ? undefined\n : {\n type: 'hierarchy-folder',\n ancestorIds: breadcrumbs.slice(0, index).map((ancestor) => ancestor.id),\n folderId: crumb.id,\n hierarchySlug,\n parentFieldName,\n title: crumb.title,\n },\n label: crumb.title,\n // StepNav renders a url-less item as plain text, which is what makes the current folder\n // read as the trail's end rather than as another link back to itself.\n url:\n index === lastIndex\n ? undefined\n : formatAdminURL({\n adminRoute,\n path: `${basePath}?${queryParam}=${crumb.id}`,\n }),\n }))\n navItems = [...navItems, ...hierarchyBreadcrumbs]\n }\n\n setStepNav(navItems)\n }\n }, [\n adminRoute,\n setStepNav,\n isInDrawer,\n collectionSlug,\n hierarchyData,\n hierarchyCollectionConfig,\n hierarchySlug,\n collectionLabel,\n i18n,\n isScoped,\n parentFieldName,\n t,\n ])\n\n const parentId = hierarchyData?.parentId ?? null\n\n // The breadcrumb trail is exactly the chain a folder may not be dropped into: its own ancestors\n // plus the folder currently open.\n const ancestorIds = useMemo(\n () => (hierarchyData?.breadcrumbs ?? []).map((crumb) => crumb.id),\n [hierarchyData?.breadcrumbs],\n )\n\n // Build collections array for create button\n // Filter by allowedCollections when set (from parent's collectionSpecific field)\n const { allowedCollections } = hierarchyData || {}\n\n const collections: CollectionOption[] = []\n\n // Add hierarchy collection (always allowed for creating child hierarchy items)\n // Include parent's collectionSpecific values so new folders inherit the restriction\n const hierarchyInitialData: Record<string, unknown> = {}\n if (parentId !== null) {\n hierarchyInitialData[parentFieldName] = parentId\n\n const collectionSpecificFieldName =\n hierarchyConfig?.collectionSpecific && typeof hierarchyConfig.collectionSpecific === 'object'\n ? hierarchyConfig.collectionSpecific.fieldName\n : undefined\n const parentCollectionSpecificValues = collectionSpecificFieldName\n ? (parent?.[collectionSpecificFieldName] as string[] | undefined)\n : undefined\n if (\n collectionSpecificFieldName &&\n parentCollectionSpecificValues &&\n parentCollectionSpecificValues.length > 0\n ) {\n hierarchyInitialData[collectionSpecificFieldName] = parentCollectionSpecificValues\n }\n }\n\n collections.push({\n collectionSlug: hierarchySlug,\n initialData: Object.keys(hierarchyInitialData).length > 0 ? hierarchyInitialData : {},\n })\n\n // Add related collections (for creating documents that reference this hierarchy)\n // Filter by allowedCollections when set\n for (const [slug, relatedConfig] of Object.entries(hierarchyConfig?.relatedCollections || {})) {\n // A scoped browse only ever creates folders or documents of the collection being browsed.\n if (isScoped && slug !== scopedCollectionSlug) {\n continue\n }\n\n // Skip if not in allowed list (when allowedCollections has restrictions)\n // Empty array means \"no restrictions\" (folder accepts all types)\n if (\n allowedCollections &&\n allowedCollections.length > 0 &&\n !allowedCollections.some((c) => c.slug === slug)\n ) {\n continue\n }\n\n // Use array for hasMany fields, single value for hasMany: false\n const fieldValue = relatedConfig.hasMany ? [parentId] : parentId\n\n collections.push({\n collectionSlug: slug,\n initialData: parentId !== null ? { [relatedConfig.fieldName]: fieldValue } : {},\n })\n }\n\n // Build type filter options from hierarchy collection + related collections\n // Filter by allowedCollections when set\n const typeOptions = useMemo(() => {\n const options: { label: string; value: string }[] = []\n\n // Add related collections (filtered by allowedCollections when set)\n for (const [slug] of Object.entries(hierarchyConfig?.relatedCollections || {})) {\n // Skip if not in allowed list (when allowedCollections has restrictions)\n // Empty array means \"no restrictions\" (folder accepts all types)\n if (\n allowedCollections &&\n allowedCollections.length > 0 &&\n !allowedCollections.some((c) => c.slug === slug)\n ) {\n continue\n }\n\n const config = getEntityConfig({ collectionSlug: slug })\n options.push({\n label: getTranslation(config.labels?.plural, i18n),\n value: slug,\n })\n }\n\n return options\n }, [allowedCollections, getEntityConfig, hierarchyConfig?.relatedCollections, i18n])\n\n const typeFilterFromURL = searchParams.get('typeFilter')\n const selectedTypes = useMemo(\n () => (typeFilterFromURL ? typeFilterFromURL.split(',') : typeOptions.map((opt) => opt.value)),\n [typeFilterFromURL, typeOptions],\n )\n\n // Update URL when type filter changes\n const handleTypeFilterChange = useCallback(\n (values: string[]) => {\n // Build new URL with updated typeFilter param\n const currentParams: Record<string, string> = {}\n searchParams.forEach((v, k) => {\n currentParams[k] = v\n })\n\n // Only add typeFilter if not all types are selected\n const allSelected = values.length === typeOptions.length\n if (!allSelected && values.length > 0) {\n currentParams.typeFilter = values.join(',')\n } else {\n delete currentParams.typeFilter\n }\n\n const queryString = qs.stringify(currentParams, { addQueryPrefix: true })\n const newUrl = `${window.location.pathname}${queryString}`\n\n if (window.location.search !== queryString) {\n startRouteTransition(() => router.replace(newUrl))\n }\n },\n [router, searchParams, startRouteTransition, typeOptions.length],\n )\n\n // Filter children based on selected types (client-side for immediate feedback)\n // Server already filters, but this handles the hierarchy collection toggle\n const filteredChildrenData = useMemo(() => {\n if (!hierarchyData?.childrenData) {\n return undefined\n }\n return hierarchyData.childrenData\n }, [hierarchyData?.childrenData])\n\n // Filter related groups based on selected types\n const filteredRelatedGroups = useMemo(() => {\n return Object.entries(hierarchyData?.relatedDocumentsByCollection || {})\n .filter(([slug]) => selectedTypes.includes(slug))\n .map(([slug, related]) => ({\n collectionSlug: slug,\n data: related.result,\n fieldName: related.fieldName,\n hasMany: related.hasMany,\n label: related.label,\n }))\n }, [hierarchyData?.relatedDocumentsByCollection, selectedTypes])\n\n // Memoized on the underlying docs: DocumentSelectionProvider resets every selection whenever\n // this reference changes, so an unmemoized literal would clear the user's selection on any\n // re-render of this component (e.g. toggling the view mode) rather than only on navigation.\n const collectionData = useMemo(\n () =>\n hierarchyData\n ? {\n [hierarchySlug]: { docs: hierarchyData.childrenData.docs },\n ...Object.fromEntries(\n Object.entries(hierarchyData.relatedDocumentsByCollection || {}).map(\n ([slug, related]) => [slug, { docs: related.result.docs }],\n ),\n ),\n }\n : {},\n // hierarchyData is a server prop: stable across client re-renders, new only on\n // navigation/search — which is precisely when clearing the selection is intended.\n [hierarchySlug, hierarchyData],\n )\n\n return (\n <Fragment>\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n {BeforeList}\n <DocumentSelectionProvider collectionData={collectionData}>\n <div className={`${baseClass}__wrap`}>\n <HierarchyListHeader\n collectionConfig={collectionConfig}\n currentItemTitle={currentItemTitle}\n Description={\n <React.Fragment>\n {hierarchyData.allowedCollections &&\n hierarchyData.allowedCollections.length > 0 && (\n <div className={`${baseClass}__allowed-types`}>\n {t('general:accepts')}:{' '}\n {hierarchyData.allowedCollections.map((c) => c.label).join(', ')}\n </div>\n )}\n {Description || collectionConfig?.admin?.description ? (\n <div className={`${baseClass}__sub-header`}>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={\n <ViewDescription\n collectionSlug={collectionSlug}\n description={collectionConfig?.admin?.description}\n />\n }\n />\n </div>\n ) : null}\n </React.Fragment>\n }\n HierarchyIcon={HierarchyIcon}\n hierarchySlug={hierarchySlug}\n i18n={i18n}\n viewType={viewType}\n />\n\n <ListControlsBar className={`${baseClass}__controls`}>\n <div className={`${baseClass}__controls-left`}>\n <ListSearchFilter\n label={t('general:searchBy', {\n label: getTranslation(collectionConfig?.admin?.useAsTitle || 'id', i18n),\n })}\n onSearchChange={handleSearchChange}\n searchQueryParam={searchFromURL}\n />\n {/* A scoped browse has exactly one document type, so the filter would be noise. */}\n {!isScoped && (\n <TypeFilter\n i18n={i18n}\n key={`type-filter-${hierarchyData.parent ? hierarchyData.parent.id : 'root'}`}\n onChange={handleTypeFilterChange}\n options={typeOptions}\n selectedValues={selectedTypes}\n />\n )}\n </div>\n <ViewModeToggle onChange={handleViewModeChange} viewMode={viewMode} />\n {hasCreatePermission && collections.length > 0 && (\n <CreateDocumentButton\n buttonStyle=\"primary\"\n collections={collections}\n drawerSlug={`hierarchy-create-${collectionSlug}`}\n onSave={handleSave}\n />\n )}\n </ListControlsBar>\n\n <HierarchyTable\n ancestorIds={ancestorIds}\n baseFilter={baseFilter}\n browseCollectionSlug={collectionSlug}\n childrenData={filteredChildrenData}\n collections={collections}\n collectionSlug={hierarchySlug}\n hasCreatePermission={hasCreatePermission}\n HierarchyIcon={HierarchySmallIcon ?? HierarchyIcon}\n hierarchyLabel={getTranslation(hierarchyCollectionConfig?.labels?.plural, i18n)}\n key={`${collectionSlug}-${parentId}-${searchFromURL}-${JSON.stringify(baseFilter)}-${filteredChildrenData?.totalDocs}-${Object.entries(\n hierarchyData?.relatedDocumentsByCollection || {},\n )\n .map(([slug, r]) => `${slug}:${r.result.totalDocs}`)\n .join(',')}`}\n parentFieldName={parentFieldName}\n parentId={parentId}\n relatedGroups={filteredRelatedGroups}\n search={searchFromURL}\n useAsTitle={hierarchyCollectionConfig?.admin?.useAsTitle || 'id'}\n viewMode={viewMode}\n />\n </div>\n </DocumentSelectionProvider>\n {AfterList}\n </div>\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","formatAdminURL","qs","React","Fragment","useCallback","useEffect","useMemo","CreateDocumentButton","ListControlsBar","useListDrawerContext","RenderCustomComponent","ListSearchFilter","useStepNav","ViewDescription","useConfig","DocumentSelectionProvider","useHierarchy","useRouteCache","useRouter","useSearchParams","useRouteTransition","useTranslation","HierarchyListHeader","HierarchyTable","TypeFilter","baseClass","HierarchyListView","props","AfterList","baseFilter","BeforeList","collectionSlug","Description","hasCreatePermission","hasCreatePermissionFromProps","hierarchyData","HierarchyIcon","HierarchySmallIcon","viewType","router","searchParams","startRouteTransition","allowCreate","isInDrawer","undefined","config","routes","admin","adminRoute","getEntityConfig","collectionConfig","labels","hierarchyConfig","hierarchy","parentFieldName","i18n","t","collectionLabel","plural","setStepNav","parent","refreshTree","clearRouteCache","handleSave","searchFromURL","get","handleSearchChange","value","currentParams","forEach","v","k","search","queryString","stringify","addQueryPrefix","newUrl","window","location","pathname","replace","currentItemTitle","breadcrumbs","length","title","ancestorBreadcrumbs","slice","baseLabel","label","url","path","navItems","queryParam","hierarchyBreadcrumbs","map","crumb","id","parentId","allowedCollections","collections","hierarchyInitialData","collectionSpecificFieldName","collectionSpecific","fieldName","parentCollectionSpecificValues","push","initialData","Object","keys","slug","relatedConfig","entries","relatedCollections","some","c","fieldValue","hasMany","typeOptions","options","typeFilterFromURL","selectedTypes","split","opt","handleTypeFilterChange","values","allSelected","typeFilter","join","filteredChildrenData","childrenData","filteredRelatedGroups","relatedDocumentsByCollection","filter","includes","related","data","result","collectionData","docs","fromEntries","_jsx","_jsxs","className","description","CustomComponent","Fallback","useAsTitle","onSearchChange","searchQueryParam","onChange","selectedValues","buttonStyle","drawerSlug","onSave","hierarchyLabel","relatedGroups","JSON","totalDocs","r"],"sources":["../../../src/views/HierarchyList/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ListViewClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { Fragment, useCallback, useEffect, useMemo } from 'react'\n\nimport type { CollectionOption } from '../../elements/CreateDocumentButton/index.js'\nimport type { StepNavItem } from '../../elements/StepNav/index.js'\n\nimport { CreateDocumentButton } from '../../elements/CreateDocumentButton/index.js'\nimport { ListControlsBar } from '../../elements/ListControlsBar/index.js'\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { ListSearchFilter } from '../../elements/Search/ListSearchFilter/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { ViewDescription } from '../../elements/ViewDescription/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentSelectionProvider } from '../../providers/DocumentSelection/index.js'\nimport { useHierarchy } from '../../providers/Hierarchy/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouter, useSearchParams } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { HierarchyListHeader } from './HierarchyListHeader/index.js'\nimport { HierarchyTable } from './HierarchyTable/index.js'\nimport { TypeFilter } from './TypeFilter/index.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-list'\n\nexport function HierarchyListView(props: ListViewClientProps) {\n const {\n AfterList,\n baseFilter,\n BeforeList,\n collectionSlug,\n Description,\n hasCreatePermission: hasCreatePermissionFromProps,\n hierarchyData,\n HierarchyIcon,\n HierarchySmallIcon,\n viewType,\n } = props\n\n const router = useRouter()\n const searchParams = useSearchParams()\n const { startRouteTransition } = useRouteTransition()\n\n const { allowCreate, isInDrawer } = useListDrawerContext()\n\n const hasCreatePermission =\n allowCreate !== undefined\n ? allowCreate && hasCreatePermissionFromProps\n : hasCreatePermissionFromProps\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const { labels } = collectionConfig\n\n const hierarchyConfig =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n const parentFieldName = hierarchyConfig?.parentFieldName\n\n const { i18n, t } = useTranslation()\n const collectionLabel = getTranslation(labels?.plural, i18n)\n\n const { setStepNav } = useStepNav()\n const { parent, refreshTree } = useHierarchy()\n const { clearRouteCache } = useRouteCache()\n\n // Callback for when a new document is created\n const handleSave = useCallback(() => {\n clearRouteCache()\n refreshTree(collectionSlug)\n }, [clearRouteCache, collectionSlug, refreshTree])\n\n // Get search from URL params\n const searchFromURL = searchParams.get('search') || ''\n\n // Update URL when search changes (debouncing is handled by ListSearchFilter)\n // This triggers a server refetch via Next.js router\n const handleSearchChange = useCallback(\n (value: string) => {\n // Build new URL with updated search param\n const currentParams: Record<string, string> = {}\n searchParams.forEach((v, k) => {\n currentParams[k] = v\n })\n\n if (value) {\n currentParams.search = value\n } else {\n delete currentParams.search\n }\n\n const queryString = qs.stringify(currentParams, { addQueryPrefix: true })\n const newUrl = `${window.location.pathname}${queryString}`\n\n if (window.location.search !== queryString) {\n startRouteTransition(() => router.replace(newUrl))\n }\n },\n [router, searchParams, startRouteTransition],\n )\n\n // Get current item title from breadcrumbs (last item is the current one)\n const currentItemTitle =\n hierarchyData?.breadcrumbs && hierarchyData.breadcrumbs.length > 0\n ? hierarchyData.breadcrumbs[hierarchyData.breadcrumbs.length - 1].title\n : undefined\n\n useEffect(() => {\n if (!isInDrawer) {\n // Breadcrumbs exclude the last item (current item) since it's shown in the header\n const ancestorBreadcrumbs = hierarchyData?.breadcrumbs?.slice(0, -1) || []\n\n const baseLabel: StepNavItem = {\n label: collectionLabel,\n url: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n }),\n }\n\n let navItems = [baseLabel]\n\n if (ancestorBreadcrumbs.length > 0) {\n const queryParam = parentFieldName || 'parent'\n const hierarchyBreadcrumbs: StepNavItem[] = ancestorBreadcrumbs.map((crumb) => ({\n label: crumb.title,\n url: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}?${queryParam}=${crumb.id}`,\n }),\n }))\n navItems = [...navItems, ...hierarchyBreadcrumbs]\n }\n\n setStepNav(navItems)\n }\n }, [\n adminRoute,\n setStepNav,\n isInDrawer,\n collectionSlug,\n hierarchyData,\n collectionLabel,\n parentFieldName,\n ])\n\n const parentId = hierarchyData?.parentId ?? null\n\n // Build collections array for create button\n // Filter by allowedCollections when set (from parent's collectionSpecific field)\n const { allowedCollections } = hierarchyData || {}\n\n const collections: CollectionOption[] = []\n\n // Add hierarchy collection (always allowed for creating child hierarchy items)\n // Include parent's collectionSpecific values so new folders inherit the restriction\n const hierarchyInitialData: Record<string, unknown> = {}\n if (parentId !== null) {\n hierarchyInitialData[parentFieldName] = parentId\n\n const collectionSpecificFieldName =\n hierarchyConfig?.collectionSpecific && typeof hierarchyConfig.collectionSpecific === 'object'\n ? hierarchyConfig.collectionSpecific.fieldName\n : undefined\n const parentCollectionSpecificValues = collectionSpecificFieldName\n ? (parent?.[collectionSpecificFieldName] as string[] | undefined)\n : undefined\n if (\n collectionSpecificFieldName &&\n parentCollectionSpecificValues &&\n parentCollectionSpecificValues.length > 0\n ) {\n hierarchyInitialData[collectionSpecificFieldName] = parentCollectionSpecificValues\n }\n }\n\n collections.push({\n collectionSlug,\n initialData: Object.keys(hierarchyInitialData).length > 0 ? hierarchyInitialData : {},\n })\n\n // Add related collections (for creating documents that reference this hierarchy)\n // Filter by allowedCollections when set\n for (const [slug, relatedConfig] of Object.entries(hierarchyConfig?.relatedCollections || {})) {\n // Skip if not in allowed list (when allowedCollections has restrictions)\n // Empty array means \"no restrictions\" (folder accepts all types)\n if (\n allowedCollections &&\n allowedCollections.length > 0 &&\n !allowedCollections.some((c) => c.slug === slug)\n ) {\n continue\n }\n\n // Use array for hasMany fields, single value for hasMany: false\n const fieldValue = relatedConfig.hasMany ? [parentId] : parentId\n\n collections.push({\n collectionSlug: slug,\n initialData: parentId !== null ? { [relatedConfig.fieldName]: fieldValue } : {},\n })\n }\n\n // Build type filter options from hierarchy collection + related collections\n // Filter by allowedCollections when set\n const typeOptions = useMemo(() => {\n const options: { label: string; value: string }[] = []\n\n // Add related collections (filtered by allowedCollections when set)\n for (const [slug] of Object.entries(hierarchyConfig?.relatedCollections || {})) {\n // Skip if not in allowed list (when allowedCollections has restrictions)\n // Empty array means \"no restrictions\" (folder accepts all types)\n if (\n allowedCollections &&\n allowedCollections.length > 0 &&\n !allowedCollections.some((c) => c.slug === slug)\n ) {\n continue\n }\n\n const config = getEntityConfig({ collectionSlug: slug })\n options.push({\n label: getTranslation(config.labels?.plural, i18n),\n value: slug,\n })\n }\n\n return options\n }, [allowedCollections, getEntityConfig, hierarchyConfig?.relatedCollections, i18n])\n\n const typeFilterFromURL = searchParams.get('typeFilter')\n const selectedTypes = useMemo(\n () => (typeFilterFromURL ? typeFilterFromURL.split(',') : typeOptions.map((opt) => opt.value)),\n [typeFilterFromURL, typeOptions],\n )\n\n // Update URL when type filter changes\n const handleTypeFilterChange = useCallback(\n (values: string[]) => {\n // Build new URL with updated typeFilter param\n const currentParams: Record<string, string> = {}\n searchParams.forEach((v, k) => {\n currentParams[k] = v\n })\n\n // Only add typeFilter if not all types are selected\n const allSelected = values.length === typeOptions.length\n if (!allSelected && values.length > 0) {\n currentParams.typeFilter = values.join(',')\n } else {\n delete currentParams.typeFilter\n }\n\n const queryString = qs.stringify(currentParams, { addQueryPrefix: true })\n const newUrl = `${window.location.pathname}${queryString}`\n\n if (window.location.search !== queryString) {\n startRouteTransition(() => router.replace(newUrl))\n }\n },\n [router, searchParams, startRouteTransition, typeOptions.length],\n )\n\n // Filter children based on selected types (client-side for immediate feedback)\n // Server already filters, but this handles the hierarchy collection toggle\n const filteredChildrenData = useMemo(() => {\n if (!hierarchyData?.childrenData) {\n return undefined\n }\n return hierarchyData.childrenData\n }, [hierarchyData?.childrenData])\n\n // Filter related groups based on selected types\n const filteredRelatedGroups = useMemo(() => {\n return Object.entries(hierarchyData?.relatedDocumentsByCollection || {})\n .filter(([slug]) => selectedTypes.includes(slug))\n .map(([slug, related]) => ({\n collectionSlug: slug,\n data: related.result,\n fieldName: related.fieldName,\n hasMany: related.hasMany,\n label: related.label,\n }))\n }, [hierarchyData?.relatedDocumentsByCollection, selectedTypes])\n\n const collectionData = hierarchyData\n ? {\n [collectionSlug]: { docs: hierarchyData.childrenData.docs },\n ...Object.fromEntries(\n Object.entries(hierarchyData.relatedDocumentsByCollection || {}).map(\n ([slug, related]) => [slug, { docs: related.result.docs }],\n ),\n ),\n }\n : {}\n\n return (\n <Fragment>\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n {BeforeList}\n <DocumentSelectionProvider collectionData={collectionData}>\n <div className={`${baseClass}__wrap`}>\n <HierarchyListHeader\n collectionConfig={collectionConfig}\n currentItemTitle={currentItemTitle}\n Description={\n <React.Fragment>\n {hierarchyData.allowedCollections &&\n hierarchyData.allowedCollections.length > 0 && (\n <div className={`${baseClass}__allowed-types`}>\n {t('general:accepts')}:{' '}\n {hierarchyData.allowedCollections.map((c) => c.label).join(', ')}\n </div>\n )}\n {Description || collectionConfig?.admin?.description ? (\n <div className={`${baseClass}__sub-header`}>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={\n <ViewDescription\n collectionSlug={collectionSlug}\n description={collectionConfig?.admin?.description}\n />\n }\n />\n </div>\n ) : null}\n </React.Fragment>\n }\n HierarchyIcon={HierarchyIcon}\n i18n={i18n}\n viewType={viewType}\n />\n\n <ListControlsBar className={`${baseClass}__controls`}>\n <div className={`${baseClass}__controls-left`}>\n <ListSearchFilter\n label={t('general:searchBy', {\n label: getTranslation(collectionConfig?.admin?.useAsTitle || 'id', i18n),\n })}\n onSearchChange={handleSearchChange}\n searchQueryParam={searchFromURL}\n />\n <TypeFilter\n i18n={i18n}\n key={`type-filter-${hierarchyData.parent ? hierarchyData.parent.id : 'root'}`}\n onChange={handleTypeFilterChange}\n options={typeOptions}\n selectedValues={selectedTypes}\n />\n </div>\n {hasCreatePermission && collections.length > 0 && (\n <CreateDocumentButton\n buttonStyle=\"primary\"\n collections={collections}\n drawerSlug={`hierarchy-create-${collectionSlug}`}\n onSave={handleSave}\n />\n )}\n </ListControlsBar>\n\n <HierarchyTable\n baseFilter={baseFilter}\n childrenData={filteredChildrenData}\n collections={collections}\n collectionSlug={collectionSlug}\n hasCreatePermission={hasCreatePermission}\n HierarchyIcon={HierarchySmallIcon ?? HierarchyIcon}\n hierarchyLabel={collectionLabel}\n key={`${collectionSlug}-${parentId}-${searchFromURL}-${JSON.stringify(baseFilter)}-${filteredChildrenData?.totalDocs}-${Object.entries(\n hierarchyData?.relatedDocumentsByCollection || {},\n )\n .map(([slug, r]) => `${slug}:${r.result.totalDocs}`)\n .join(',')}`}\n parentFieldName={parentFieldName}\n parentId={parentId}\n relatedGroups={filteredRelatedGroups}\n search={searchFromURL}\n useAsTitle={collectionConfig?.admin?.useAsTitle || 'id'}\n />\n </div>\n </DocumentSelectionProvider>\n {AfterList}\n </div>\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/ListSelection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGvE,OAAO,KAAgC,MAAM,OAAO,CAAA;AAkBpD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAwJtD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/ListSelection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGvE,OAAO,KAAgC,MAAM,OAAO,CAAA;AAepD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA2ItD,CAAA"}