@payloadcms/ui 3.80.0-internal.60d6f94 → 3.80.0-internal.8d9ec7c

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 (522) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  2. package/dist/elements/BulkUpload/EditForm/index.js +0 -12
  3. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  4. package/dist/elements/Button/index.d.ts.map +1 -1
  5. package/dist/elements/Button/index.js +5 -3
  6. package/dist/elements/Button/index.js.map +1 -1
  7. package/dist/elements/Button/index.scss +38 -5
  8. package/dist/elements/Button/types.d.ts +1 -1
  9. package/dist/elements/Button/types.d.ts.map +1 -1
  10. package/dist/elements/Button/types.js.map +1 -1
  11. package/dist/elements/CheckboxPopup/index.d.ts.map +1 -1
  12. package/dist/elements/CheckboxPopup/index.js +0 -1
  13. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  14. package/dist/elements/CheckboxPopup/index.scss +1 -0
  15. package/dist/elements/CreateDocumentButton/index.d.ts +26 -0
  16. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -0
  17. package/dist/elements/CreateDocumentButton/index.js +182 -0
  18. package/dist/elements/CreateDocumentButton/index.js.map +1 -0
  19. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  20. package/dist/elements/DefaultListViewTabs/index.js +28 -54
  21. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  22. package/dist/elements/DelayedSpinner/index.d.ts +23 -0
  23. package/dist/elements/DelayedSpinner/index.d.ts.map +1 -0
  24. package/dist/elements/DelayedSpinner/index.js +61 -0
  25. package/dist/elements/DelayedSpinner/index.js.map +1 -0
  26. package/dist/elements/DocumentControls/index.d.ts +1 -0
  27. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  28. package/dist/elements/DocumentControls/index.js +6 -10
  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 +54 -141
  33. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  34. package/dist/elements/DocumentDrawer/types.d.ts +7 -1
  35. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  36. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  37. package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
  38. package/dist/elements/DrawerActionHeader/index.js +2 -0
  39. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  40. package/dist/elements/DrawerActionHeader/index.scss +2 -2
  41. package/dist/elements/HierarchyButton/index.d.ts +11 -0
  42. package/dist/elements/HierarchyButton/index.d.ts.map +1 -0
  43. package/dist/elements/HierarchyButton/index.js +126 -0
  44. package/dist/elements/HierarchyButton/index.js.map +1 -0
  45. package/dist/elements/{FolderView/MoveDocToFolder → HierarchyButton}/index.scss +7 -1
  46. package/dist/elements/HierarchyButton/index.server.d.ts +10 -0
  47. package/dist/elements/HierarchyButton/index.server.d.ts.map +1 -0
  48. package/dist/elements/HierarchyButton/index.server.js +34 -0
  49. package/dist/elements/HierarchyButton/index.server.js.map +1 -0
  50. package/dist/elements/HierarchyColumnBrowser/Column/index.d.ts +5 -0
  51. package/dist/elements/HierarchyColumnBrowser/Column/index.d.ts.map +1 -0
  52. package/dist/elements/HierarchyColumnBrowser/Column/index.js +166 -0
  53. package/dist/elements/HierarchyColumnBrowser/Column/index.js.map +1 -0
  54. package/dist/elements/HierarchyColumnBrowser/Column/index.scss +63 -0
  55. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.d.ts +5 -0
  56. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.d.ts.map +1 -0
  57. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.js +161 -0
  58. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.js.map +1 -0
  59. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.scss +105 -0
  60. package/dist/elements/HierarchyColumnBrowser/index.d.ts +8 -0
  61. package/dist/elements/HierarchyColumnBrowser/index.d.ts.map +1 -0
  62. package/dist/elements/HierarchyColumnBrowser/index.js +473 -0
  63. package/dist/elements/HierarchyColumnBrowser/index.js.map +1 -0
  64. package/dist/elements/HierarchyColumnBrowser/index.scss +20 -0
  65. package/dist/elements/HierarchyColumnBrowser/types.d.ts +106 -0
  66. package/dist/elements/HierarchyColumnBrowser/types.d.ts.map +1 -0
  67. package/dist/elements/HierarchyColumnBrowser/types.js +2 -0
  68. package/dist/elements/HierarchyColumnBrowser/types.js.map +1 -0
  69. package/dist/elements/HierarchyDrawer/Drawer/index.d.ts +20 -0
  70. package/dist/elements/HierarchyDrawer/Drawer/index.d.ts.map +1 -0
  71. package/dist/elements/HierarchyDrawer/Drawer/index.js +291 -0
  72. package/dist/elements/HierarchyDrawer/Drawer/index.js.map +1 -0
  73. package/dist/elements/HierarchyDrawer/Drawer/index.scss +81 -0
  74. package/dist/elements/HierarchyDrawer/fetchAncestorPath.d.ts +15 -0
  75. package/dist/elements/HierarchyDrawer/fetchAncestorPath.d.ts.map +1 -0
  76. package/dist/elements/HierarchyDrawer/fetchAncestorPath.js +60 -0
  77. package/dist/elements/HierarchyDrawer/fetchAncestorPath.js.map +1 -0
  78. package/dist/elements/HierarchyDrawer/index.d.ts +30 -0
  79. package/dist/elements/HierarchyDrawer/index.d.ts.map +1 -0
  80. package/dist/elements/HierarchyDrawer/index.js +148 -0
  81. package/dist/elements/HierarchyDrawer/index.js.map +1 -0
  82. package/dist/elements/HierarchyDrawer/types.d.ts +68 -0
  83. package/dist/elements/HierarchyDrawer/types.d.ts.map +1 -0
  84. package/dist/elements/HierarchyDrawer/types.js +3 -0
  85. package/dist/elements/HierarchyDrawer/types.js.map +1 -0
  86. package/dist/elements/HierarchyField/SelectedHierarchies.d.ts +13 -0
  87. package/dist/elements/HierarchyField/SelectedHierarchies.d.ts.map +1 -0
  88. package/dist/elements/HierarchyField/SelectedHierarchies.js +194 -0
  89. package/dist/elements/HierarchyField/SelectedHierarchies.js.map +1 -0
  90. package/dist/elements/HierarchyField/SelectedHierarchies.scss +78 -0
  91. package/dist/elements/HierarchyField/index.client.d.ts +8 -0
  92. package/dist/elements/HierarchyField/index.client.d.ts.map +1 -0
  93. package/dist/elements/HierarchyField/index.client.js +198 -0
  94. package/dist/elements/HierarchyField/index.client.js.map +1 -0
  95. package/dist/elements/HierarchyField/index.scss +35 -0
  96. package/dist/elements/HierarchyField/index.server.d.ts +3 -0
  97. package/dist/elements/HierarchyField/index.server.d.ts.map +1 -0
  98. package/dist/elements/HierarchyField/index.server.js +30 -0
  99. package/dist/elements/HierarchyField/index.server.js.map +1 -0
  100. package/dist/elements/HierarchySearch/HierarchySearchInput.d.ts +18 -0
  101. package/dist/elements/HierarchySearch/HierarchySearchInput.d.ts.map +1 -0
  102. package/dist/elements/HierarchySearch/HierarchySearchInput.js +115 -0
  103. package/dist/elements/HierarchySearch/HierarchySearchInput.js.map +1 -0
  104. package/dist/elements/HierarchySearch/HierarchySearchResultItem.d.ts +13 -0
  105. package/dist/elements/HierarchySearch/HierarchySearchResultItem.d.ts.map +1 -0
  106. package/dist/elements/HierarchySearch/HierarchySearchResultItem.js +88 -0
  107. package/dist/elements/HierarchySearch/HierarchySearchResultItem.js.map +1 -0
  108. package/dist/elements/HierarchySearch/HierarchySearchResults.d.ts +17 -0
  109. package/dist/elements/HierarchySearch/HierarchySearchResults.d.ts.map +1 -0
  110. package/dist/elements/HierarchySearch/HierarchySearchResults.js +85 -0
  111. package/dist/elements/HierarchySearch/HierarchySearchResults.js.map +1 -0
  112. package/dist/elements/HierarchySearch/index.d.ts +10 -0
  113. package/dist/elements/HierarchySearch/index.d.ts.map +1 -0
  114. package/dist/elements/HierarchySearch/index.js +144 -0
  115. package/dist/elements/HierarchySearch/index.js.map +1 -0
  116. package/dist/elements/HierarchySearch/index.scss +212 -0
  117. package/dist/elements/HierarchySearch/types.d.ts +21 -0
  118. package/dist/elements/HierarchySearch/types.d.ts.map +1 -0
  119. package/dist/elements/HierarchySearch/types.js +2 -0
  120. package/dist/elements/HierarchySearch/types.js.map +1 -0
  121. package/dist/elements/HierarchySearch/useHierarchySearch.d.ts +20 -0
  122. package/dist/elements/HierarchySearch/useHierarchySearch.d.ts.map +1 -0
  123. package/dist/elements/HierarchySearch/useHierarchySearch.js +122 -0
  124. package/dist/elements/HierarchySearch/useHierarchySearch.js.map +1 -0
  125. package/dist/elements/HierarchyTree/HierarchySidebarTab.d.ts +21 -0
  126. package/dist/elements/HierarchyTree/HierarchySidebarTab.d.ts.map +1 -0
  127. package/dist/elements/HierarchyTree/HierarchySidebarTab.js +167 -0
  128. package/dist/elements/HierarchyTree/HierarchySidebarTab.js.map +1 -0
  129. package/dist/elements/HierarchyTree/HierarchySidebarTab.server.d.ts +7 -0
  130. package/dist/elements/HierarchyTree/HierarchySidebarTab.server.d.ts.map +1 -0
  131. package/dist/elements/HierarchyTree/HierarchySidebarTab.server.js +176 -0
  132. package/dist/elements/HierarchyTree/HierarchySidebarTab.server.js.map +1 -0
  133. package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.d.ts +8 -0
  134. package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.d.ts.map +1 -0
  135. package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.js +36 -0
  136. package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.js.map +1 -0
  137. package/dist/elements/HierarchyTree/LoadMore/index.d.ts +12 -0
  138. package/dist/elements/HierarchyTree/LoadMore/index.d.ts.map +1 -0
  139. package/dist/elements/HierarchyTree/LoadMore/index.js +29 -0
  140. package/dist/elements/HierarchyTree/LoadMore/index.js.map +1 -0
  141. package/dist/elements/HierarchyTree/LoadMore/index.scss +26 -0
  142. package/dist/elements/HierarchyTree/TreeConnector.d.ts +7 -0
  143. package/dist/elements/HierarchyTree/TreeConnector.d.ts.map +1 -0
  144. package/dist/elements/HierarchyTree/TreeConnector.js +23 -0
  145. package/dist/elements/HierarchyTree/TreeConnector.js.map +1 -0
  146. package/dist/elements/HierarchyTree/TreeFocusContext.d.ts +28 -0
  147. package/dist/elements/HierarchyTree/TreeFocusContext.d.ts.map +1 -0
  148. package/dist/elements/HierarchyTree/TreeFocusContext.js +140 -0
  149. package/dist/elements/HierarchyTree/TreeFocusContext.js.map +1 -0
  150. package/dist/elements/HierarchyTree/TreeNode/index.d.ts +5 -0
  151. package/dist/elements/HierarchyTree/TreeNode/index.d.ts.map +1 -0
  152. package/dist/elements/HierarchyTree/TreeNode/index.js +201 -0
  153. package/dist/elements/HierarchyTree/TreeNode/index.js.map +1 -0
  154. package/dist/elements/HierarchyTree/TreeNode/index.scss +99 -0
  155. package/dist/elements/HierarchyTree/index.d.ts +4 -0
  156. package/dist/elements/HierarchyTree/index.d.ts.map +1 -0
  157. package/dist/elements/HierarchyTree/index.js +66 -0
  158. package/dist/elements/HierarchyTree/index.js.map +1 -0
  159. package/dist/elements/HierarchyTree/index.scss +42 -0
  160. package/dist/elements/HierarchyTree/types.d.ts +57 -0
  161. package/dist/elements/HierarchyTree/types.d.ts.map +1 -0
  162. package/dist/elements/HierarchyTree/types.js +2 -0
  163. package/dist/elements/HierarchyTree/types.js.map +1 -0
  164. package/dist/elements/HierarchyTree/useChildren.d.ts +26 -0
  165. package/dist/elements/HierarchyTree/useChildren.d.ts.map +1 -0
  166. package/dist/elements/HierarchyTree/useChildren.js +150 -0
  167. package/dist/elements/HierarchyTree/useChildren.js.map +1 -0
  168. package/dist/elements/HierarchyTree/useTreeState.d.ts +9 -0
  169. package/dist/elements/HierarchyTree/useTreeState.d.ts.map +1 -0
  170. package/dist/elements/HierarchyTree/useTreeState.js +50 -0
  171. package/dist/elements/HierarchyTree/useTreeState.js.map +1 -0
  172. package/dist/elements/HydrateHierarchyProvider/index.d.ts +4 -0
  173. package/dist/elements/HydrateHierarchyProvider/index.d.ts.map +1 -0
  174. package/dist/elements/HydrateHierarchyProvider/index.js +70 -0
  175. package/dist/elements/HydrateHierarchyProvider/index.js.map +1 -0
  176. package/dist/elements/Link/index.d.ts +4 -0
  177. package/dist/elements/Link/index.d.ts.map +1 -1
  178. package/dist/elements/Link/index.js +5 -0
  179. package/dist/elements/Link/index.js.map +1 -1
  180. package/dist/elements/ListHeader/TitleActions/index.d.ts +0 -1
  181. package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -1
  182. package/dist/elements/ListHeader/TitleActions/index.js +0 -1
  183. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  184. package/dist/elements/ListHeader/index.js +2 -2
  185. package/dist/elements/ListHeader/index.js.map +1 -1
  186. package/dist/elements/ListSelection/index.scss +2 -1
  187. package/dist/elements/LoadMoreRow/index.d.ts +15 -0
  188. package/dist/elements/LoadMoreRow/index.d.ts.map +1 -0
  189. package/dist/elements/LoadMoreRow/index.js +75 -0
  190. package/dist/elements/LoadMoreRow/index.js.map +1 -0
  191. package/dist/elements/LoadMoreRow/index.scss +42 -0
  192. package/dist/elements/Locked/index.scss +1 -1
  193. package/dist/elements/MoveMany/index.d.ts +22 -0
  194. package/dist/elements/MoveMany/index.d.ts.map +1 -0
  195. package/dist/elements/MoveMany/index.js +278 -0
  196. package/dist/elements/MoveMany/index.js.map +1 -0
  197. package/dist/elements/MoveMany/index.scss +7 -0
  198. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  199. package/dist/elements/RelationshipTable/index.js +12 -17
  200. package/dist/elements/RelationshipTable/index.js.map +1 -1
  201. package/dist/elements/Spinner/index.d.ts +16 -0
  202. package/dist/elements/Spinner/index.d.ts.map +1 -0
  203. package/dist/elements/Spinner/index.js +49 -0
  204. package/dist/elements/Spinner/index.js.map +1 -0
  205. package/dist/elements/Spinner/index.scss +39 -0
  206. package/dist/elements/StepNav/index.d.ts.map +1 -1
  207. package/dist/elements/StepNav/index.js +10 -1
  208. package/dist/elements/StepNav/index.js.map +1 -1
  209. package/dist/elements/StepNav/types.d.ts +1 -0
  210. package/dist/elements/StepNav/types.d.ts.map +1 -1
  211. package/dist/elements/StepNav/types.js.map +1 -1
  212. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts +6 -0
  213. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -0
  214. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +187 -0
  215. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -0
  216. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.scss +29 -0
  217. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  218. package/dist/elements/Table/DefaultCell/index.js +20 -0
  219. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  220. package/dist/elements/Tooltip/index.js +1 -1
  221. package/dist/elements/Tooltip/index.js.map +1 -1
  222. package/dist/elements/Tooltip/index.scss +1 -15
  223. package/dist/elements/Tree/LoadMore/LoadMoreButton.d.ts +8 -0
  224. package/dist/elements/Tree/LoadMore/LoadMoreButton.d.ts.map +1 -0
  225. package/dist/elements/Tree/LoadMore/LoadMoreButton.js +36 -0
  226. package/dist/elements/Tree/LoadMore/LoadMoreButton.js.map +1 -0
  227. package/dist/elements/Tree/LoadMore/index.d.ts +12 -0
  228. package/dist/elements/Tree/LoadMore/index.d.ts.map +1 -0
  229. package/dist/elements/Tree/LoadMore/index.js +29 -0
  230. package/dist/elements/Tree/LoadMore/index.js.map +1 -0
  231. package/dist/elements/Tree/LoadMore/index.scss +26 -0
  232. package/dist/elements/Tree/TreeConnector.d.ts +7 -0
  233. package/dist/elements/Tree/TreeConnector.d.ts.map +1 -0
  234. package/dist/elements/Tree/TreeConnector.js +23 -0
  235. package/dist/elements/Tree/TreeConnector.js.map +1 -0
  236. package/dist/elements/Tree/TreeFocusContext.d.ts +28 -0
  237. package/dist/elements/Tree/TreeFocusContext.d.ts.map +1 -0
  238. package/dist/elements/Tree/TreeFocusContext.js +140 -0
  239. package/dist/elements/Tree/TreeFocusContext.js.map +1 -0
  240. package/dist/elements/Tree/TreeNode/index.d.ts +5 -0
  241. package/dist/elements/Tree/TreeNode/index.d.ts.map +1 -0
  242. package/dist/elements/Tree/TreeNode/index.js +221 -0
  243. package/dist/elements/Tree/TreeNode/index.js.map +1 -0
  244. package/dist/elements/Tree/TreeNode/index.scss +110 -0
  245. package/dist/elements/Tree/index.d.ts +5 -0
  246. package/dist/elements/Tree/index.d.ts.map +1 -0
  247. package/dist/elements/Tree/index.js +270 -0
  248. package/dist/elements/Tree/index.js.map +1 -0
  249. package/dist/elements/Tree/index.scss +63 -0
  250. package/dist/elements/Tree/types.d.ts +70 -0
  251. package/dist/elements/Tree/types.d.ts.map +1 -0
  252. package/dist/elements/Tree/types.js +2 -0
  253. package/dist/elements/Tree/types.js.map +1 -0
  254. package/dist/elements/Tree/useChildren.d.ts +28 -0
  255. package/dist/elements/Tree/useChildren.d.ts.map +1 -0
  256. package/dist/elements/Tree/useChildren.js +213 -0
  257. package/dist/elements/Tree/useChildren.js.map +1 -0
  258. package/dist/elements/withMergedProps/index.d.ts +1 -1
  259. package/dist/elements/withMergedProps/index.js +1 -1
  260. package/dist/elements/withMergedProps/index.js.map +1 -1
  261. package/dist/exports/client/index.d.ts +30 -9
  262. package/dist/exports/client/index.d.ts.map +1 -1
  263. package/dist/exports/client/index.js +14 -12
  264. package/dist/exports/client/index.js.map +4 -4
  265. package/dist/exports/rsc/index.d.ts +3 -3
  266. package/dist/exports/rsc/index.d.ts.map +1 -1
  267. package/dist/exports/rsc/index.js +3 -3
  268. package/dist/exports/rsc/index.js.map +1 -1
  269. package/dist/exports/shared/index.js.map +1 -1
  270. package/dist/fields/Join/index.d.ts.map +1 -1
  271. package/dist/fields/Join/index.js +1 -1
  272. package/dist/fields/Join/index.js.map +1 -1
  273. package/dist/fields/Null/index.d.ts +11 -0
  274. package/dist/fields/Null/index.d.ts.map +1 -0
  275. package/dist/fields/Null/index.js +13 -0
  276. package/dist/fields/Null/index.js.map +1 -0
  277. package/dist/icons/Chevron/index.d.ts.map +1 -1
  278. package/dist/icons/Chevron/index.js +5 -1
  279. package/dist/icons/Chevron/index.js.map +1 -1
  280. package/dist/icons/Document/index.d.ts +3 -1
  281. package/dist/icons/Document/index.d.ts.map +1 -1
  282. package/dist/icons/Document/index.js +4 -2
  283. package/dist/icons/Document/index.js.map +1 -1
  284. package/dist/icons/Document/index.scss +4 -0
  285. package/dist/icons/Filter/index.d.ts +4 -0
  286. package/dist/icons/Filter/index.d.ts.map +1 -0
  287. package/dist/icons/Filter/index.js +15 -0
  288. package/dist/icons/Filter/index.js.map +1 -0
  289. package/dist/icons/Filter/index.scss +13 -0
  290. package/dist/icons/Folder/index.d.ts +4 -2
  291. package/dist/icons/Folder/index.d.ts.map +1 -1
  292. package/dist/icons/Folder/index.js +4 -2
  293. package/dist/icons/Folder/index.js.map +1 -1
  294. package/dist/icons/Folder/index.scss +8 -0
  295. package/dist/icons/Lock/index.scss +1 -1
  296. package/dist/icons/Plus/index.d.ts.map +1 -1
  297. package/dist/icons/Plus/index.js +2 -1
  298. package/dist/icons/Plus/index.js.map +1 -1
  299. package/dist/icons/Tag/index.d.ts +8 -0
  300. package/dist/icons/Tag/index.d.ts.map +1 -0
  301. package/dist/icons/Tag/index.js +22 -0
  302. package/dist/icons/Tag/index.js.map +1 -0
  303. package/dist/icons/Tag/index.scss +14 -0
  304. package/dist/providers/DocumentSelection/index.d.ts +8 -0
  305. package/dist/providers/DocumentSelection/index.d.ts.map +1 -0
  306. package/dist/providers/DocumentSelection/index.js +239 -0
  307. package/dist/providers/DocumentSelection/index.js.map +1 -0
  308. package/dist/providers/DocumentSelection/types.d.ts +122 -0
  309. package/dist/providers/DocumentSelection/types.d.ts.map +1 -0
  310. package/dist/providers/DocumentSelection/types.js +5 -0
  311. package/dist/providers/DocumentSelection/types.js.map +1 -0
  312. package/dist/providers/Hierarchy/index.d.ts +5 -0
  313. package/dist/providers/Hierarchy/index.d.ts.map +1 -0
  314. package/dist/providers/Hierarchy/index.js +346 -0
  315. package/dist/providers/Hierarchy/index.js.map +1 -0
  316. package/dist/providers/Hierarchy/types.d.ts +105 -0
  317. package/dist/providers/Hierarchy/types.d.ts.map +1 -0
  318. package/dist/providers/Hierarchy/types.js +2 -0
  319. package/dist/providers/Hierarchy/types.js.map +1 -0
  320. package/dist/providers/Root/index.d.ts.map +1 -1
  321. package/dist/providers/Root/index.js +18 -15
  322. package/dist/providers/Root/index.js.map +1 -1
  323. package/dist/providers/ServerFunctions/index.d.ts +1 -6
  324. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  325. package/dist/providers/ServerFunctions/index.js +0 -18
  326. package/dist/providers/ServerFunctions/index.js.map +1 -1
  327. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +2 -1
  328. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  329. package/dist/providers/TableColumns/buildColumnState/renderCell.js +34 -1
  330. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  331. package/dist/styles.css +1 -1
  332. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  333. package/dist/utilities/isSuperset.d.ts +6 -0
  334. package/dist/utilities/isSuperset.d.ts.map +1 -0
  335. package/dist/utilities/isSuperset.js +10 -0
  336. package/dist/utilities/isSuperset.js.map +1 -0
  337. package/dist/utilities/renderTable.d.ts +3 -1
  338. package/dist/utilities/renderTable.d.ts.map +1 -1
  339. package/dist/utilities/renderTable.js +9 -3
  340. package/dist/utilities/renderTable.js.map +1 -1
  341. package/dist/views/Edit/index.d.ts +1 -1
  342. package/dist/views/Edit/index.d.ts.map +1 -1
  343. package/dist/views/Edit/index.js +4 -2
  344. package/dist/views/Edit/index.js.map +1 -1
  345. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts +10 -0
  346. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -0
  347. package/dist/views/HierarchyList/DocumentListSelection/index.js +135 -0
  348. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -0
  349. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +21 -0
  350. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -0
  351. package/dist/views/HierarchyList/HierarchyListHeader/index.js +67 -0
  352. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -0
  353. package/dist/views/HierarchyList/HierarchyListHeader/index.scss +9 -0
  354. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts +4 -0
  355. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -0
  356. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +104 -0
  357. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -0
  358. package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts +4 -0
  359. package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts.map +1 -0
  360. package/dist/views/HierarchyList/HierarchyTable/DateCell.js +53 -0
  361. package/dist/views/HierarchyList/HierarchyTable/DateCell.js.map +1 -0
  362. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts +4 -0
  363. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts.map +1 -0
  364. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +128 -0
  365. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -0
  366. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +99 -0
  367. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -0
  368. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +118 -0
  369. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -0
  370. package/dist/views/HierarchyList/HierarchyTable/SlotTable.scss +214 -0
  371. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +27 -0
  372. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -0
  373. package/dist/views/HierarchyList/HierarchyTable/index.js +388 -0
  374. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -0
  375. package/dist/views/HierarchyList/HierarchyTable/index.scss +148 -0
  376. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +20 -0
  377. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -0
  378. package/dist/views/HierarchyList/HierarchyTable/types.js +2 -0
  379. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -0
  380. package/dist/views/HierarchyList/TypeFilter/index.d.ts +15 -0
  381. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -0
  382. package/dist/views/HierarchyList/TypeFilter/index.js +37 -0
  383. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -0
  384. package/dist/views/HierarchyList/TypeFilter/index.scss +32 -0
  385. package/dist/views/HierarchyList/index.d.ts +5 -0
  386. package/dist/views/HierarchyList/index.d.ts.map +1 -0
  387. package/dist/views/HierarchyList/index.js +305 -0
  388. package/dist/views/HierarchyList/index.js.map +1 -0
  389. package/dist/views/HierarchyList/index.scss +72 -0
  390. package/dist/views/List/index.d.ts.map +1 -1
  391. package/dist/views/List/index.js +51 -7
  392. package/dist/views/List/index.js.map +1 -1
  393. package/package.json +5 -5
  394. package/dist/elements/FolderView/Breadcrumbs/index.d.ts +0 -19
  395. package/dist/elements/FolderView/Breadcrumbs/index.d.ts.map +0 -1
  396. package/dist/elements/FolderView/Breadcrumbs/index.js +0 -96
  397. package/dist/elements/FolderView/Breadcrumbs/index.js.map +0 -1
  398. package/dist/elements/FolderView/Breadcrumbs/index.scss +0 -56
  399. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts +0 -6
  400. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts.map +0 -1
  401. package/dist/elements/FolderView/BrowseByFolderButton/index.js +0 -40
  402. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +0 -1
  403. package/dist/elements/FolderView/BrowseByFolderButton/index.scss +0 -30
  404. package/dist/elements/FolderView/Cell/index.client.d.ts +0 -13
  405. package/dist/elements/FolderView/Cell/index.client.d.ts.map +0 -1
  406. package/dist/elements/FolderView/Cell/index.client.js +0 -95
  407. package/dist/elements/FolderView/Cell/index.client.js.map +0 -1
  408. package/dist/elements/FolderView/Cell/index.server.d.ts +0 -4
  409. package/dist/elements/FolderView/Cell/index.server.d.ts.map +0 -1
  410. package/dist/elements/FolderView/Cell/index.server.js +0 -18
  411. package/dist/elements/FolderView/Cell/index.server.js.map +0 -1
  412. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts +0 -3
  413. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts.map +0 -1
  414. package/dist/elements/FolderView/ColoredFolderIcon/index.js +0 -9
  415. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +0 -1
  416. package/dist/elements/FolderView/ColoredFolderIcon/index.scss +0 -5
  417. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts +0 -7
  418. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +0 -1
  419. package/dist/elements/FolderView/CurrentFolderActions/index.js +0 -162
  420. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +0 -1
  421. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts +0 -11
  422. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts.map +0 -1
  423. package/dist/elements/FolderView/DragOverlaySelection/index.js +0 -62
  424. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +0 -1
  425. package/dist/elements/FolderView/DragOverlaySelection/index.scss +0 -35
  426. package/dist/elements/FolderView/DraggableTableRow/index.d.ts +0 -18
  427. package/dist/elements/FolderView/DraggableTableRow/index.d.ts.map +0 -1
  428. package/dist/elements/FolderView/DraggableTableRow/index.js +0 -63
  429. package/dist/elements/FolderView/DraggableTableRow/index.js.map +0 -1
  430. package/dist/elements/FolderView/DraggableTableRow/index.scss +0 -135
  431. package/dist/elements/FolderView/DraggableWithClick/index.d.ts +0 -15
  432. package/dist/elements/FolderView/DraggableWithClick/index.d.ts.map +0 -1
  433. package/dist/elements/FolderView/DraggableWithClick/index.js +0 -86
  434. package/dist/elements/FolderView/DraggableWithClick/index.js.map +0 -1
  435. package/dist/elements/FolderView/DraggableWithClick/index.scss +0 -5
  436. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts +0 -7
  437. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts.map +0 -1
  438. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +0 -39
  439. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +0 -1
  440. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +0 -37
  441. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +0 -1
  442. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +0 -609
  443. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +0 -1
  444. package/dist/elements/FolderView/Drawers/MoveToFolder/index.scss +0 -30
  445. package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts +0 -4
  446. package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts.map +0 -1
  447. package/dist/elements/FolderView/FilterFolderTypePill/index.js +0 -102
  448. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +0 -1
  449. package/dist/elements/FolderView/FilterFolderTypePill/index.scss +0 -16
  450. package/dist/elements/FolderView/FolderField/index.scss +0 -12
  451. package/dist/elements/FolderView/FolderField/index.server.d.ts +0 -4
  452. package/dist/elements/FolderView/FolderField/index.server.d.ts.map +0 -1
  453. package/dist/elements/FolderView/FolderField/index.server.js +0 -16
  454. package/dist/elements/FolderView/FolderField/index.server.js.map +0 -1
  455. package/dist/elements/FolderView/FolderFileCard/index.d.ts +0 -30
  456. package/dist/elements/FolderView/FolderFileCard/index.d.ts.map +0 -1
  457. package/dist/elements/FolderView/FolderFileCard/index.js +0 -209
  458. package/dist/elements/FolderView/FolderFileCard/index.js.map +0 -1
  459. package/dist/elements/FolderView/FolderFileCard/index.scss +0 -247
  460. package/dist/elements/FolderView/FolderFileTable/index.d.ts +0 -8
  461. package/dist/elements/FolderView/FolderFileTable/index.d.ts.map +0 -1
  462. package/dist/elements/FolderView/FolderFileTable/index.js +0 -284
  463. package/dist/elements/FolderView/FolderFileTable/index.js.map +0 -1
  464. package/dist/elements/FolderView/FolderFileTable/index.scss +0 -11
  465. package/dist/elements/FolderView/FolderTypeField/index.d.ts +0 -4
  466. package/dist/elements/FolderView/FolderTypeField/index.d.ts.map +0 -1
  467. package/dist/elements/FolderView/FolderTypeField/index.js +0 -123
  468. package/dist/elements/FolderView/FolderTypeField/index.js.map +0 -1
  469. package/dist/elements/FolderView/ItemCardGrid/index.d.ts +0 -16
  470. package/dist/elements/FolderView/ItemCardGrid/index.d.ts.map +0 -1
  471. package/dist/elements/FolderView/ItemCardGrid/index.js +0 -34
  472. package/dist/elements/FolderView/ItemCardGrid/index.js.map +0 -1
  473. package/dist/elements/FolderView/ItemCardGrid/index.scss +0 -16
  474. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts +0 -37
  475. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts.map +0 -1
  476. package/dist/elements/FolderView/MoveDocToFolder/index.js +0 -292
  477. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +0 -1
  478. package/dist/elements/FolderView/SimpleTable/index.d.ts +0 -19
  479. package/dist/elements/FolderView/SimpleTable/index.d.ts.map +0 -1
  480. package/dist/elements/FolderView/SimpleTable/index.js +0 -95
  481. package/dist/elements/FolderView/SimpleTable/index.js.map +0 -1
  482. package/dist/elements/FolderView/SimpleTable/index.scss +0 -59
  483. package/dist/elements/FolderView/SortByPill/index.d.ts +0 -4
  484. package/dist/elements/FolderView/SortByPill/index.d.ts.map +0 -1
  485. package/dist/elements/FolderView/SortByPill/index.js +0 -112
  486. package/dist/elements/FolderView/SortByPill/index.js.map +0 -1
  487. package/dist/elements/FolderView/SortByPill/index.scss +0 -16
  488. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts +0 -8
  489. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts.map +0 -1
  490. package/dist/elements/FolderView/ToggleViewButtons/index.js +0 -31
  491. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +0 -1
  492. package/dist/elements/FolderView/ToggleViewButtons/index.scss +0 -17
  493. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts +0 -15
  494. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +0 -1
  495. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +0 -182
  496. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +0 -1
  497. package/dist/providers/Folders/groupItemIDsByRelation.d.ts +0 -3
  498. package/dist/providers/Folders/groupItemIDsByRelation.d.ts.map +0 -1
  499. package/dist/providers/Folders/groupItemIDsByRelation.js +0 -10
  500. package/dist/providers/Folders/groupItemIDsByRelation.js.map +0 -1
  501. package/dist/providers/Folders/index.d.ts +0 -143
  502. package/dist/providers/Folders/index.d.ts.map +0 -1
  503. package/dist/providers/Folders/index.js +0 -641
  504. package/dist/providers/Folders/index.js.map +0 -1
  505. package/dist/utilities/getFolderResultsComponentAndData.d.ts +0 -25
  506. package/dist/utilities/getFolderResultsComponentAndData.d.ts.map +0 -1
  507. package/dist/utilities/getFolderResultsComponentAndData.js +0 -135
  508. package/dist/utilities/getFolderResultsComponentAndData.js.map +0 -1
  509. package/dist/views/BrowseByFolder/index.d.ts +0 -5
  510. package/dist/views/BrowseByFolder/index.d.ts.map +0 -1
  511. package/dist/views/BrowseByFolder/index.js +0 -342
  512. package/dist/views/BrowseByFolder/index.js.map +0 -1
  513. package/dist/views/BrowseByFolder/index.scss +0 -174
  514. package/dist/views/CollectionFolder/ListSelection/index.d.ts +0 -9
  515. package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +0 -1
  516. package/dist/views/CollectionFolder/ListSelection/index.js +0 -180
  517. package/dist/views/CollectionFolder/ListSelection/index.js.map +0 -1
  518. package/dist/views/CollectionFolder/index.d.ts +0 -5
  519. package/dist/views/CollectionFolder/index.d.ts.map +0 -1
  520. package/dist/views/CollectionFolder/index.js +0 -325
  521. package/dist/views/CollectionFolder/index.js.map +0 -1
  522. package/dist/views/CollectionFolder/index.scss +0 -162
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/providers/DocumentSelection/types.ts"],"sourcesContent":["import type React from 'react'\n\nimport type { SelectAllStatus } from '../Selection/index.js'\n\n/**\n * The minimum document shape required for selection functionality.\n * Supports document locking to prevent selection of locked documents.\n */\nexport type SelectableDocument = {\n _isLocked?: boolean\n _userEditing?: { id: string }\n id: number | string\n}\n\n/**\n * Collection data passed to the provider, mapping collection slugs to their documents.\n * @template TDoc - The document type, must extend SelectableDocument\n */\nexport type CollectionData<TDoc extends SelectableDocument = SelectableDocument> = Record<\n string,\n { docs: TDoc[] }\n>\n\n/**\n * Metadata stored alongside a selection.\n */\nexport type SelectionMetadata = {\n /** For folder selections, the allowedCollections from the folder document */\n allowedCollections?: string[]\n}\n\n/**\n * Selection state for a single collection.\n */\nexport type CollectionSelectionState = {\n /** Current selection status for this collection (None, Some, AllInPage) */\n selectAllStatus: SelectAllStatus\n /** Map of document IDs to their selection metadata (presence = selected) */\n selected: Map<number | string, SelectionMetadata>\n}\n\n/**\n * Full selection state, keyed by collection slug.\n */\nexport type SelectionState = Record<string, CollectionSelectionState>\n\n/**\n * Context value providing multi-collection document selection functionality.\n * All methods use single object parameters for backwards compatibility.\n */\nexport type DocumentSelectionContextValue = {\n /** Clear all selections across all collections */\n clearAll: () => void\n\n /** Clear all selections for a specific collection */\n clearCollection: (args: { collectionSlug: string }) => void\n\n /** Get count of selected documents in a specific collection */\n getCollectionCount: (args: { collectionSlug: string }) => number\n\n /** Get the selection status for a specific collection */\n getSelectAllStatus: (args: { collectionSlug: string }) => SelectAllStatus\n\n /**\n * Get selections formatted for bulk actions (e.g., DeleteMany).\n * Returns only collections with at least one selection.\n */\n getSelectionsForActions: () => Record<\n string,\n {\n ids: (number | string)[]\n totalCount: number\n }\n >\n\n /**\n * Get selections with metadata for computing constraints.\n * Returns only collections with at least one selection.\n */\n getSelectionsWithMetadata: () => Record<\n string,\n {\n selections: Array<{ id: number | string; metadata: SelectionMetadata }>\n totalCount: number\n }\n >\n\n /** Get total count of selected documents across all collections */\n getTotalCount: () => number\n\n /** Check if a specific document is locked (and not editable by current user) */\n isLocked: (args: { collectionSlug: string; id: number | string }) => boolean\n\n /** Check if a specific document is selected */\n isSelected: (args: { collectionSlug: string; id: number | string }) => boolean\n\n /** Raw selection state for direct access if needed */\n selections: SelectionState\n\n /**\n * Toggle selection of all documents in a collection (current page only).\n * Cycles: None -> AllInPage -> None\n */\n toggleAllInCollection: (args: { collectionSlug: string }) => void\n\n /**\n * Toggle selection state of a single document.\n * Will not select locked documents unless the current user is editing them.\n */\n toggleSelection: (args: {\n collectionSlug: string\n id: number | string\n metadata?: SelectionMetadata\n }) => void\n}\n\n/**\n * Props for the DocumentSelectionProvider component.\n * @template TDoc - The document type, must extend SelectableDocument\n */\nexport type DocumentSelectionProviderProps<TDoc extends SelectableDocument = SelectableDocument> = {\n /** React children to render within the provider */\n readonly children: React.ReactNode\n /** Collection data mapping slugs to their documents */\n readonly collectionData: CollectionData<TDoc>\n /** Current user ID for determining document lock status */\n readonly currentUserId?: string\n}\n"],"mappings":"AAoHA;;;GAIA","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { HierarchyContextValue, HierarchyProviderProps } from './types.js';
3
+ export declare const HierarchyProvider: React.FC<HierarchyProviderProps>;
4
+ export declare const useHierarchy: () => HierarchyContextValue;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Hierarchy/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAExE,OAAO,KAAK,EAEV,qBAAqB,EAGrB,sBAAsB,EAEvB,MAAM,YAAY,CAAA;AAQnB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAiZ9D,CAAA;AAED,eAAO,MAAM,YAAY,QAAO,qBAM/B,CAAA"}
@@ -0,0 +1,346 @@
1
+ 'use client';
2
+
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ import { useRouter } from 'next/navigation.js';
5
+ import { DEFAULT_HIERARCHY_TREE_LIMIT, formatAdminURL, PREFERENCE_KEYS } from 'payload/shared';
6
+ import * as qs from 'qs-esm';
7
+ import React, { createContext, use, useCallback, useState } from 'react';
8
+ import { useDebouncedCallback } from '../../hooks/useDebouncedCallback.js';
9
+ import { useConfig } from '../Config/index.js';
10
+ import { usePreferences } from '../Preferences/index.js';
11
+ const HierarchyContext = /*#__PURE__*/createContext(undefined);
12
+ export const HierarchyProvider = ({
13
+ children
14
+ }) => {
15
+ const {
16
+ setPreference
17
+ } = usePreferences();
18
+ const router = useRouter();
19
+ const {
20
+ config: {
21
+ routes: {
22
+ admin: adminRoute,
23
+ api
24
+ },
25
+ serverURL
26
+ }
27
+ } = useConfig();
28
+ const [baseFilter, setBaseFilter] = useState(null);
29
+ const [collectionSlug, setCollectionSlug] = useState(null);
30
+ const [viewCollectionSlug, setViewCollectionSlug] = useState(null);
31
+ const [parent, setParent] = useState(null);
32
+ const [parentFieldName, setParentFieldName] = useState('');
33
+ const [treeLimit, setTreeLimit] = useState(DEFAULT_HIERARCHY_TREE_LIMIT);
34
+ const [typeFieldName, setTypeFieldName] = useState(null);
35
+ const [useAsTitle, setUseAsTitle] = useState(null);
36
+ const [allowedCollections, setAllowedCollections] = useState(null);
37
+ const [treeCache, setTreeCache] = useState(() => new Map());
38
+ const [expandedNodesByCollection, setExpandedNodesByCollection] = useState(() => new Map());
39
+ const [selectedFiltersByCollection, setSelectedFiltersByCollection] = useState(() => new Map());
40
+ const [isLoadingMore, setIsLoadingMore] = useState(false);
41
+ const [loadingNodeId, setLoadingNodeId] = useState(null);
42
+ const [treeRefreshKey, setTreeRefreshKey] = useState(0);
43
+ const getNodeChildren = useCallback(parentId => {
44
+ if (!collectionSlug) {
45
+ return [];
46
+ }
47
+ const cache = treeCache.get(collectionSlug);
48
+ if (!cache) {
49
+ return [];
50
+ }
51
+ return cache.docs.filter(doc => {
52
+ const docParentId = doc[parentFieldName];
53
+ if (parentId === null) {
54
+ return docParentId === null || docParentId === undefined;
55
+ }
56
+ return docParentId !== null && String(docParentId) === String(parentId);
57
+ });
58
+ }, [collectionSlug, parentFieldName, treeCache]);
59
+ const hydrate = useCallback(data => {
60
+ const {
61
+ allowedCollections: newAllowedCollections,
62
+ baseFilter: newBaseFilter,
63
+ collectionSlug: slug,
64
+ expandedNodes: newExpandedNodes,
65
+ parent: newParent,
66
+ parentFieldName: newParentFieldName,
67
+ selectedFilters: newSelectedFilters,
68
+ treeData,
69
+ treeLimit: newTreeLimit,
70
+ typeFieldName: newTypeFieldName,
71
+ useAsTitle: newUseAsTitle,
72
+ viewCollectionSlug: newViewCollectionSlug
73
+ } = data;
74
+ setCollectionSlug(slug);
75
+ if (newBaseFilter !== undefined) {
76
+ setBaseFilter(newBaseFilter ?? null);
77
+ }
78
+ if (newViewCollectionSlug) {
79
+ setViewCollectionSlug(newViewCollectionSlug);
80
+ }
81
+ if (newAllowedCollections) {
82
+ setAllowedCollections(newAllowedCollections);
83
+ }
84
+ if (newParentFieldName) {
85
+ setParentFieldName(newParentFieldName);
86
+ }
87
+ if (newTreeLimit !== undefined) {
88
+ setTreeLimit(newTreeLimit);
89
+ }
90
+ if (newTypeFieldName !== undefined) {
91
+ setTypeFieldName(newTypeFieldName);
92
+ }
93
+ if (newParent !== undefined) {
94
+ setParent(newParent);
95
+ }
96
+ if (newUseAsTitle !== undefined) {
97
+ setUseAsTitle(newUseAsTitle);
98
+ }
99
+ if (treeData) {
100
+ setTreeCache(prev => {
101
+ const newCache = new Map(prev);
102
+ const existingEntry = newCache.get(slug);
103
+ // If baseFilter is provided, replace cache entirely (tenant changed)
104
+ // Otherwise merge to support incremental loading
105
+ if (newBaseFilter !== undefined || !existingEntry) {
106
+ newCache.set(slug, treeData);
107
+ } else {
108
+ const existingDocIds = new Set(existingEntry.docs.map(doc_0 => doc_0.id));
109
+ const newDocs = treeData.docs.filter(doc_1 => !existingDocIds.has(doc_1.id));
110
+ newCache.set(slug, {
111
+ docs: [...existingEntry.docs, ...newDocs],
112
+ loadedParents: {
113
+ ...existingEntry.loadedParents,
114
+ ...treeData.loadedParents
115
+ }
116
+ });
117
+ }
118
+ return newCache;
119
+ });
120
+ }
121
+ if (newExpandedNodes && newExpandedNodes.length > 0) {
122
+ setExpandedNodesByCollection(prev_0 => {
123
+ const newMap = new Map(prev_0);
124
+ const existingExpanded = newMap.get(slug) || new Set();
125
+ const mergedExpanded = new Set([...existingExpanded, ...newExpandedNodes]);
126
+ newMap.set(slug, mergedExpanded);
127
+ return newMap;
128
+ });
129
+ }
130
+ if (newSelectedFilters) {
131
+ setSelectedFiltersByCollection(prev_1 => {
132
+ const newMap_0 = new Map(prev_1);
133
+ newMap_0.set(slug, newSelectedFilters);
134
+ return newMap_0;
135
+ });
136
+ }
137
+ }, []);
138
+ const savePreferencesDebounced = useDebouncedCallback(async (slug_0, data_0) => {
139
+ const preferenceKey = `${PREFERENCE_KEYS.HIERARCHY_TREE}-${slug_0}`;
140
+ const currentExpanded = expandedNodesByCollection.get(slug_0) || new Set();
141
+ const currentFilters = selectedFiltersByCollection.get(slug_0) || [];
142
+ await setPreference(preferenceKey, {
143
+ expandedNodes: Array.from(data_0.expanded ?? currentExpanded),
144
+ selectedFilters: data_0.filters ?? currentFilters
145
+ });
146
+ }, 500);
147
+ const toggleNodeForCollection = useCallback((slug_1, id) => {
148
+ setExpandedNodesByCollection(prev_2 => {
149
+ const newMap_1 = new Map(prev_2);
150
+ const currentExpanded_0 = newMap_1.get(slug_1) || new Set();
151
+ const newExpanded = new Set(currentExpanded_0);
152
+ if (newExpanded.has(id)) {
153
+ newExpanded.delete(id);
154
+ } else {
155
+ newExpanded.add(id);
156
+ }
157
+ newMap_1.set(slug_1, newExpanded);
158
+ savePreferencesDebounced(slug_1, {
159
+ expanded: newExpanded
160
+ });
161
+ return newMap_1;
162
+ });
163
+ }, [savePreferencesDebounced]);
164
+ const toggleNode = useCallback(id_0 => {
165
+ if (!collectionSlug) {
166
+ return;
167
+ }
168
+ toggleNodeForCollection(collectionSlug, id_0);
169
+ }, [collectionSlug, toggleNodeForCollection]);
170
+ const getExpandedNodesForCollection = useCallback(slug_2 => {
171
+ return expandedNodesByCollection.get(slug_2) || new Set();
172
+ }, [expandedNodesByCollection]);
173
+ const getTreeDataForCollection = useCallback(slug_3 => {
174
+ return treeCache.get(slug_3) || null;
175
+ }, [treeCache]);
176
+ const setSelectedFilters = useCallback(filters => {
177
+ if (!collectionSlug) {
178
+ return;
179
+ }
180
+ setSelectedFiltersByCollection(prev_3 => {
181
+ const newMap_2 = new Map(prev_3);
182
+ newMap_2.set(collectionSlug, filters);
183
+ savePreferencesDebounced(collectionSlug, {
184
+ filters
185
+ });
186
+ return newMap_2;
187
+ });
188
+ }, [collectionSlug, savePreferencesDebounced]);
189
+ const selectParent = useCallback(id_1 => {
190
+ if (!collectionSlug) {
191
+ return;
192
+ }
193
+ const url = formatAdminURL({
194
+ adminRoute,
195
+ path: `/collections/${collectionSlug}${id_1 !== null ? `?parent=${id_1}` : ''}`
196
+ });
197
+ router.push(url);
198
+ router.refresh();
199
+ }, [adminRoute, collectionSlug, router]);
200
+ const loadMoreChildren = useCallback(async parentId_0 => {
201
+ if (!collectionSlug || isLoadingMore) {
202
+ return;
203
+ }
204
+ const cache_0 = treeCache.get(collectionSlug);
205
+ if (!cache_0) {
206
+ return;
207
+ }
208
+ const parentKey = parentId_0 === null ? 'root' : String(parentId_0);
209
+ const parentMeta = cache_0.loadedParents[parentKey];
210
+ if (!parentMeta || !parentMeta.hasMore) {
211
+ return;
212
+ }
213
+ setIsLoadingMore(true);
214
+ setLoadingNodeId(parentId_0);
215
+ try {
216
+ const currentChildren = cache_0.docs.filter(doc_2 => {
217
+ const docParentId_0 = doc_2[parentFieldName];
218
+ if (parentId_0 === null) {
219
+ return docParentId_0 === null || docParentId_0 === undefined;
220
+ }
221
+ return docParentId_0 !== null && String(docParentId_0) === String(parentId_0);
222
+ });
223
+ const nextPage = Math.floor(currentChildren.length / treeLimit) + 1;
224
+ const where = parentId_0 === null ? {
225
+ or: [{
226
+ [parentFieldName]: {
227
+ exists: false
228
+ }
229
+ }, {
230
+ [parentFieldName]: {
231
+ equals: null
232
+ }
233
+ }]
234
+ } : {
235
+ [parentFieldName]: {
236
+ equals: parentId_0
237
+ }
238
+ };
239
+ const queryString = qs.stringify({
240
+ limit: treeLimit,
241
+ page: nextPage,
242
+ sort: useAsTitle ?? 'id',
243
+ where
244
+ }, {
245
+ addQueryPrefix: true
246
+ });
247
+ const url_0 = formatAdminURL({
248
+ apiRoute: api,
249
+ path: `/${collectionSlug}${queryString}`,
250
+ serverURL
251
+ });
252
+ const response = await fetch(url_0, {
253
+ credentials: 'include'
254
+ });
255
+ if (!response.ok) {
256
+ throw new Error('Failed to fetch more children');
257
+ }
258
+ const data_1 = await response.json();
259
+ const newDocs_0 = data_1.docs || [];
260
+ setTreeCache(prev_4 => {
261
+ const newCache_0 = new Map(prev_4);
262
+ const existingEntry_0 = newCache_0.get(collectionSlug);
263
+ if (existingEntry_0) {
264
+ const existingDocIds_0 = new Set(existingEntry_0.docs.map(doc_3 => doc_3.id));
265
+ const uniqueNewDocs = newDocs_0.filter(doc_4 => !existingDocIds_0.has(doc_4.id));
266
+ newCache_0.set(collectionSlug, {
267
+ docs: [...existingEntry_0.docs, ...uniqueNewDocs],
268
+ loadedParents: {
269
+ ...existingEntry_0.loadedParents,
270
+ [parentKey]: {
271
+ hasMore: data_1.hasNextPage || false,
272
+ totalDocs: data_1.totalDocs || 0
273
+ }
274
+ }
275
+ });
276
+ }
277
+ return newCache_0;
278
+ });
279
+ } catch {
280
+ // Failed to load more children - silently fail
281
+ } finally {
282
+ setIsLoadingMore(false);
283
+ setLoadingNodeId(null);
284
+ }
285
+ }, [api, collectionSlug, isLoadingMore, parentFieldName, serverURL, treeCache, treeLimit, useAsTitle]);
286
+ const reset = useCallback(() => {
287
+ setBaseFilter(null);
288
+ setCollectionSlug(null);
289
+ setViewCollectionSlug(null);
290
+ setParent(null);
291
+ setParentFieldName('');
292
+ setTreeLimit(DEFAULT_HIERARCHY_TREE_LIMIT);
293
+ setTypeFieldName(null);
294
+ setUseAsTitle(null);
295
+ setTreeCache(new Map());
296
+ setExpandedNodesByCollection(new Map());
297
+ setSelectedFiltersByCollection(new Map());
298
+ setIsLoadingMore(false);
299
+ setLoadingNodeId(null);
300
+ }, []);
301
+ const refreshTree = useCallback(() => {
302
+ setTreeCache(new Map());
303
+ setTreeRefreshKey(prev_5 => prev_5 + 1);
304
+ }, []);
305
+ const expandedNodes = collectionSlug && expandedNodesByCollection.has(collectionSlug) ? expandedNodesByCollection.get(collectionSlug) : new Set();
306
+ const selectedFilters = collectionSlug && selectedFiltersByCollection.has(collectionSlug) ? selectedFiltersByCollection.get(collectionSlug) : [];
307
+ const value = {
308
+ allowedCollections,
309
+ baseFilter,
310
+ collectionSlug,
311
+ expandedNodes,
312
+ getExpandedNodesForCollection,
313
+ getNodeChildren,
314
+ getTreeDataForCollection,
315
+ hydrate,
316
+ isLoadingMore,
317
+ loadingNodeId,
318
+ loadMoreChildren,
319
+ parent,
320
+ parentFieldName,
321
+ refreshTree,
322
+ reset,
323
+ selectedFilters,
324
+ selectParent,
325
+ setSelectedFilters,
326
+ toggleNode,
327
+ toggleNodeForCollection,
328
+ treeLimit,
329
+ treeRefreshKey,
330
+ typeFieldName,
331
+ useAsTitle,
332
+ viewCollectionSlug
333
+ };
334
+ return /*#__PURE__*/_jsx(HierarchyContext, {
335
+ value: value,
336
+ children: children
337
+ });
338
+ };
339
+ export const useHierarchy = () => {
340
+ const context = use(HierarchyContext);
341
+ if (!context) {
342
+ throw new Error('useHierarchy must be used within HierarchyProvider');
343
+ }
344
+ return context;
345
+ };
346
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["useRouter","DEFAULT_HIERARCHY_TREE_LIMIT","formatAdminURL","PREFERENCE_KEYS","qs","React","createContext","use","useCallback","useState","useDebouncedCallback","useConfig","usePreferences","HierarchyContext","undefined","HierarchyProvider","children","setPreference","router","config","routes","admin","adminRoute","api","serverURL","baseFilter","setBaseFilter","collectionSlug","setCollectionSlug","viewCollectionSlug","setViewCollectionSlug","parent","setParent","parentFieldName","setParentFieldName","treeLimit","setTreeLimit","typeFieldName","setTypeFieldName","useAsTitle","setUseAsTitle","allowedCollections","setAllowedCollections","treeCache","setTreeCache","Map","expandedNodesByCollection","setExpandedNodesByCollection","selectedFiltersByCollection","setSelectedFiltersByCollection","isLoadingMore","setIsLoadingMore","loadingNodeId","setLoadingNodeId","treeRefreshKey","setTreeRefreshKey","getNodeChildren","parentId","cache","get","docs","filter","doc","docParentId","String","hydrate","data","newAllowedCollections","newBaseFilter","slug","expandedNodes","newExpandedNodes","newParent","newParentFieldName","selectedFilters","newSelectedFilters","treeData","newTreeLimit","newTypeFieldName","newUseAsTitle","newViewCollectionSlug","prev","newCache","existingEntry","set","existingDocIds","Set","map","id","newDocs","has","loadedParents","length","newMap","existingExpanded","mergedExpanded","savePreferencesDebounced","preferenceKey","HIERARCHY_TREE","currentExpanded","currentFilters","Array","from","expanded","filters","toggleNodeForCollection","newExpanded","delete","add","toggleNode","getExpandedNodesForCollection","getTreeDataForCollection","setSelectedFilters","selectParent","url","path","push","refresh","loadMoreChildren","parentKey","parentMeta","hasMore","currentChildren","nextPage","Math","floor","where","or","exists","equals","queryString","stringify","limit","page","sort","addQueryPrefix","apiRoute","response","fetch","credentials","ok","Error","json","uniqueNewDocs","hasNextPage","totalDocs","reset","refreshTree","value","_jsx","useHierarchy","context"],"sources":["../../../src/providers/Hierarchy/index.tsx"],"sourcesContent":["'use client'\n\nimport type { TypeWithID, Where } from 'payload'\n\nimport { useRouter } from 'next/navigation.js'\nimport { DEFAULT_HIERARCHY_TREE_LIMIT, formatAdminURL, PREFERENCE_KEYS } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useState } from 'react'\n\nimport type {\n AllowedCollection,\n HierarchyContextValue,\n HierarchyDocument,\n HierarchyHydrateData,\n HierarchyProviderProps,\n HierarchyTreeCacheEntry,\n} from './types.js'\n\nimport { useDebouncedCallback } from '../../hooks/useDebouncedCallback.js'\nimport { useConfig } from '../Config/index.js'\nimport { usePreferences } from '../Preferences/index.js'\n\nconst HierarchyContext = createContext<HierarchyContextValue | undefined>(undefined)\n\nexport const HierarchyProvider: React.FC<HierarchyProviderProps> = ({ children }) => {\n const { setPreference } = usePreferences()\n const router = useRouter()\n const {\n config: {\n routes: { admin: adminRoute, api },\n serverURL,\n },\n } = useConfig()\n\n const [baseFilter, setBaseFilter] = useState<null | Where>(null)\n const [collectionSlug, setCollectionSlug] = useState<null | string>(null)\n const [viewCollectionSlug, setViewCollectionSlug] = useState<null | string>(null)\n const [parent, setParent] = useState<null | (Record<string, unknown> & TypeWithID)>(null)\n const [parentFieldName, setParentFieldName] = useState<string>('')\n const [treeLimit, setTreeLimit] = useState<number>(DEFAULT_HIERARCHY_TREE_LIMIT)\n const [typeFieldName, setTypeFieldName] = useState<null | string>(null)\n const [useAsTitle, setUseAsTitle] = useState<null | string>(null)\n const [allowedCollections, setAllowedCollections] = useState<AllowedCollection[] | null>(null)\n\n const [treeCache, setTreeCache] = useState<Map<string, HierarchyTreeCacheEntry>>(() => new Map())\n const [expandedNodesByCollection, setExpandedNodesByCollection] = useState<\n Map<string, Set<number | string>>\n >(() => new Map())\n const [selectedFiltersByCollection, setSelectedFiltersByCollection] = useState<\n Map<string, string[]>\n >(() => new Map())\n const [isLoadingMore, setIsLoadingMore] = useState<boolean>(false)\n const [loadingNodeId, setLoadingNodeId] = useState<null | number | string>(null)\n const [treeRefreshKey, setTreeRefreshKey] = useState<number>(0)\n\n const getNodeChildren = useCallback(\n (parentId: null | number | string): HierarchyDocument[] => {\n if (!collectionSlug) {\n return []\n }\n\n const cache = treeCache.get(collectionSlug)\n if (!cache) {\n return []\n }\n\n return cache.docs.filter((doc) => {\n const docParentId = doc[parentFieldName]\n if (parentId === null) {\n return docParentId === null || docParentId === undefined\n }\n return docParentId !== null && String(docParentId) === String(parentId)\n })\n },\n [collectionSlug, parentFieldName, treeCache],\n )\n\n const hydrate = useCallback((data: HierarchyHydrateData) => {\n const {\n allowedCollections: newAllowedCollections,\n baseFilter: newBaseFilter,\n collectionSlug: slug,\n expandedNodes: newExpandedNodes,\n parent: newParent,\n parentFieldName: newParentFieldName,\n selectedFilters: newSelectedFilters,\n treeData,\n treeLimit: newTreeLimit,\n typeFieldName: newTypeFieldName,\n useAsTitle: newUseAsTitle,\n viewCollectionSlug: newViewCollectionSlug,\n } = data\n\n setCollectionSlug(slug)\n\n if (newBaseFilter !== undefined) {\n setBaseFilter(newBaseFilter ?? null)\n }\n\n if (newViewCollectionSlug) {\n setViewCollectionSlug(newViewCollectionSlug)\n }\n\n if (newAllowedCollections) {\n setAllowedCollections(newAllowedCollections)\n }\n\n if (newParentFieldName) {\n setParentFieldName(newParentFieldName)\n }\n\n if (newTreeLimit !== undefined) {\n setTreeLimit(newTreeLimit)\n }\n\n if (newTypeFieldName !== undefined) {\n setTypeFieldName(newTypeFieldName)\n }\n\n if (newParent !== undefined) {\n setParent(newParent)\n }\n\n if (newUseAsTitle !== undefined) {\n setUseAsTitle(newUseAsTitle)\n }\n\n if (treeData) {\n setTreeCache((prev) => {\n const newCache = new Map(prev)\n const existingEntry = newCache.get(slug)\n\n // If baseFilter is provided, replace cache entirely (tenant changed)\n // Otherwise merge to support incremental loading\n if (newBaseFilter !== undefined || !existingEntry) {\n newCache.set(slug, treeData)\n } else {\n const existingDocIds = new Set(existingEntry.docs.map((doc) => doc.id))\n const newDocs = treeData.docs.filter((doc) => !existingDocIds.has(doc.id))\n\n newCache.set(slug, {\n docs: [...existingEntry.docs, ...newDocs],\n loadedParents: {\n ...existingEntry.loadedParents,\n ...treeData.loadedParents,\n },\n })\n }\n\n return newCache\n })\n }\n\n if (newExpandedNodes && newExpandedNodes.length > 0) {\n setExpandedNodesByCollection((prev) => {\n const newMap = new Map(prev)\n const existingExpanded = newMap.get(slug) || new Set()\n const mergedExpanded = new Set([...existingExpanded, ...newExpandedNodes])\n newMap.set(slug, mergedExpanded)\n return newMap\n })\n }\n\n if (newSelectedFilters) {\n setSelectedFiltersByCollection((prev) => {\n const newMap = new Map(prev)\n newMap.set(slug, newSelectedFilters)\n return newMap\n })\n }\n }, [])\n\n const savePreferencesDebounced = useDebouncedCallback(\n async (slug: string, data: { expanded?: Set<number | string>; filters?: string[] }) => {\n const preferenceKey = `${PREFERENCE_KEYS.HIERARCHY_TREE}-${slug}`\n const currentExpanded = expandedNodesByCollection.get(slug) || new Set()\n const currentFilters = selectedFiltersByCollection.get(slug) || []\n\n await setPreference(preferenceKey, {\n expandedNodes: Array.from(data.expanded ?? currentExpanded),\n selectedFilters: data.filters ?? currentFilters,\n })\n },\n 500,\n )\n\n const toggleNodeForCollection = useCallback(\n (slug: string, id: number | string) => {\n setExpandedNodesByCollection((prev) => {\n const newMap = new Map(prev)\n const currentExpanded = newMap.get(slug) || new Set()\n const newExpanded = new Set(currentExpanded)\n\n if (newExpanded.has(id)) {\n newExpanded.delete(id)\n } else {\n newExpanded.add(id)\n }\n\n newMap.set(slug, newExpanded)\n savePreferencesDebounced(slug, { expanded: newExpanded })\n return newMap\n })\n },\n [savePreferencesDebounced],\n )\n\n const toggleNode = useCallback(\n (id: number | string) => {\n if (!collectionSlug) {\n return\n }\n toggleNodeForCollection(collectionSlug, id)\n },\n [collectionSlug, toggleNodeForCollection],\n )\n\n const getExpandedNodesForCollection = useCallback(\n (slug: string): Set<number | string> => {\n return expandedNodesByCollection.get(slug) || new Set()\n },\n [expandedNodesByCollection],\n )\n\n const getTreeDataForCollection = useCallback(\n (slug: string) => {\n return treeCache.get(slug) || null\n },\n [treeCache],\n )\n\n const setSelectedFilters = useCallback(\n (filters: string[]) => {\n if (!collectionSlug) {\n return\n }\n\n setSelectedFiltersByCollection((prev) => {\n const newMap = new Map(prev)\n newMap.set(collectionSlug, filters)\n savePreferencesDebounced(collectionSlug, { filters })\n return newMap\n })\n },\n [collectionSlug, savePreferencesDebounced],\n )\n\n const selectParent = useCallback(\n (id: null | number | string) => {\n if (!collectionSlug) {\n return\n }\n\n const url = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}${id !== null ? `?parent=${id}` : ''}`,\n })\n router.push(url)\n router.refresh()\n },\n [adminRoute, collectionSlug, router],\n )\n\n const loadMoreChildren = useCallback(\n async (parentId: null | number | string): Promise<void> => {\n if (!collectionSlug || isLoadingMore) {\n return\n }\n\n const cache = treeCache.get(collectionSlug)\n if (!cache) {\n return\n }\n\n const parentKey = parentId === null ? 'root' : String(parentId)\n const parentMeta = cache.loadedParents[parentKey]\n if (!parentMeta || !parentMeta.hasMore) {\n return\n }\n\n setIsLoadingMore(true)\n setLoadingNodeId(parentId)\n\n try {\n const currentChildren = cache.docs.filter((doc) => {\n const docParentId = doc[parentFieldName]\n if (parentId === null) {\n return docParentId === null || docParentId === undefined\n }\n return docParentId !== null && String(docParentId) === String(parentId)\n })\n\n const nextPage = Math.floor(currentChildren.length / treeLimit) + 1\n\n const where =\n parentId === null\n ? {\n or: [\n { [parentFieldName]: { exists: false } },\n { [parentFieldName]: { equals: null } },\n ],\n }\n : { [parentFieldName]: { equals: parentId } }\n\n const queryString = qs.stringify(\n { limit: treeLimit, page: nextPage, sort: useAsTitle ?? 'id', where },\n { addQueryPrefix: true },\n )\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${queryString}`,\n serverURL,\n })\n const response = await fetch(url, {\n credentials: 'include',\n })\n\n if (!response.ok) {\n throw new Error('Failed to fetch more children')\n }\n\n const data = await response.json()\n const newDocs = data.docs || []\n\n setTreeCache((prev) => {\n const newCache = new Map(prev)\n const existingEntry = newCache.get(collectionSlug)\n\n if (existingEntry) {\n const existingDocIds = new Set(existingEntry.docs.map((doc) => doc.id))\n const uniqueNewDocs = newDocs.filter((doc) => !existingDocIds.has(doc.id))\n\n newCache.set(collectionSlug, {\n docs: [...existingEntry.docs, ...uniqueNewDocs],\n loadedParents: {\n ...existingEntry.loadedParents,\n [parentKey]: {\n hasMore: data.hasNextPage || false,\n totalDocs: data.totalDocs || 0,\n },\n },\n })\n }\n\n return newCache\n })\n } catch {\n // Failed to load more children - silently fail\n } finally {\n setIsLoadingMore(false)\n setLoadingNodeId(null)\n }\n },\n [\n api,\n collectionSlug,\n isLoadingMore,\n parentFieldName,\n serverURL,\n treeCache,\n treeLimit,\n useAsTitle,\n ],\n )\n\n const reset = useCallback(() => {\n setBaseFilter(null)\n setCollectionSlug(null)\n setViewCollectionSlug(null)\n setParent(null)\n setParentFieldName('')\n setTreeLimit(DEFAULT_HIERARCHY_TREE_LIMIT)\n setTypeFieldName(null)\n setUseAsTitle(null)\n setTreeCache(new Map())\n setExpandedNodesByCollection(new Map())\n setSelectedFiltersByCollection(new Map())\n setIsLoadingMore(false)\n setLoadingNodeId(null)\n }, [])\n\n const refreshTree = useCallback(() => {\n setTreeCache(new Map())\n setTreeRefreshKey((prev) => prev + 1)\n }, [])\n\n const expandedNodes =\n collectionSlug && expandedNodesByCollection.has(collectionSlug)\n ? expandedNodesByCollection.get(collectionSlug)\n : new Set<number | string>()\n\n const selectedFilters =\n collectionSlug && selectedFiltersByCollection.has(collectionSlug)\n ? selectedFiltersByCollection.get(collectionSlug)\n : []\n\n const value: HierarchyContextValue = {\n allowedCollections,\n baseFilter,\n collectionSlug,\n expandedNodes,\n getExpandedNodesForCollection,\n getNodeChildren,\n getTreeDataForCollection,\n hydrate,\n isLoadingMore,\n loadingNodeId,\n loadMoreChildren,\n parent,\n parentFieldName,\n refreshTree,\n reset,\n selectedFilters,\n selectParent,\n setSelectedFilters,\n toggleNode,\n toggleNodeForCollection,\n treeLimit,\n treeRefreshKey,\n typeFieldName,\n useAsTitle,\n viewCollectionSlug,\n }\n\n return <HierarchyContext value={value}>{children}</HierarchyContext>\n}\n\nexport const useHierarchy = (): HierarchyContextValue => {\n const context = use(HierarchyContext)\n if (!context) {\n throw new Error('useHierarchy must be used within HierarchyProvider')\n }\n return context\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,105 @@
1
+ import type { PaginatedDocs, TypeWithID, Where } from 'payload';
2
+ export type HierarchyDocument = {
3
+ [key: string]: unknown;
4
+ _hasChildren?: boolean;
5
+ } & TypeWithID;
6
+ export type HierarchyInitialData = {
7
+ baseFilter?: null | Where;
8
+ docs: HierarchyDocument[];
9
+ loadedParents: Record<string, {
10
+ hasMore: boolean;
11
+ loadedCount?: number;
12
+ totalDocs: number;
13
+ }>;
14
+ };
15
+ export type HierarchyTreeCacheEntry = {
16
+ docs: HierarchyDocument[];
17
+ loadedParents: Record<string, {
18
+ hasMore: boolean;
19
+ loadedCount?: number;
20
+ totalDocs: number;
21
+ }>;
22
+ };
23
+ export type AllowedCollection = {
24
+ label: string;
25
+ slug: string;
26
+ };
27
+ export type HierarchyHydrateData = {
28
+ allowedCollections?: AllowedCollection[] | null;
29
+ baseFilter?: null | Where;
30
+ collectionSlug: string;
31
+ expandedNodes?: (number | string)[];
32
+ /** The full data of the current parent (for accessing id, collectionSpecific values, etc.) */
33
+ parent?: null | (Record<string, unknown> & TypeWithID);
34
+ parentFieldName?: string;
35
+ /** Initial selected filters from preferences */
36
+ selectedFilters?: string[];
37
+ tableData?: PaginatedDocs;
38
+ treeData?: HierarchyInitialData;
39
+ treeLimit?: number;
40
+ /** Field name for collection-specific restrictions (e.g., 'hierarchyType') */
41
+ typeFieldName?: string;
42
+ useAsTitle?: string;
43
+ /** When set, updates the viewCollectionSlug in context (used by list view to indicate current collection) */
44
+ viewCollectionSlug?: string;
45
+ };
46
+ export type HierarchyContextValue = {
47
+ allowedCollections: AllowedCollection[] | null;
48
+ baseFilter: null | Where;
49
+ collectionSlug: null | string;
50
+ expandedNodes: Set<number | string>;
51
+ /** Get expanded nodes for a specific collection (use this in tabs to avoid cross-tab state conflicts) */
52
+ getExpandedNodesForCollection: (collectionSlug: string) => Set<number | string>;
53
+ getNodeChildren: (parentId: null | number | string) => HierarchyDocument[];
54
+ /** Get tree data for a specific collection (returns null if not hydrated or cleared by refresh) */
55
+ getTreeDataForCollection: (collectionSlug: string) => HierarchyInitialData | null;
56
+ hydrate: (data: HierarchyHydrateData) => void;
57
+ isLoadingMore: boolean;
58
+ loadingNodeId: null | number | string;
59
+ loadMoreChildren: (parentId: null | number | string) => Promise<void>;
60
+ /** The full data of the current parent (for accessing id, collectionSpecific values, etc.) */
61
+ parent: null | (Record<string, unknown> & TypeWithID);
62
+ parentFieldName: string;
63
+ /** Refresh the tree by clearing cache and incrementing refreshKey to force remount */
64
+ refreshTree: () => void;
65
+ reset: () => void;
66
+ /** Selected collection type filters for the sidebar tree */
67
+ selectedFilters: string[];
68
+ selectParent: (id: null | number | string) => void;
69
+ /** Update selected filters (persists to preferences) */
70
+ setSelectedFilters: (filters: string[]) => void;
71
+ toggleNode: (id: number | string) => void;
72
+ /** Toggle node expansion for a specific collection (use this in tabs to avoid cross-tab state conflicts) */
73
+ toggleNodeForCollection: (collectionSlug: string, id: number | string) => void;
74
+ treeLimit: number;
75
+ /** Key that changes when tree should remount (incremented by refreshTree) */
76
+ treeRefreshKey: number;
77
+ /** Field name for collection-specific restrictions (e.g., 'hierarchyType') */
78
+ typeFieldName: null | string;
79
+ useAsTitle: null | string;
80
+ /** The collection slug of the currently viewed list (set by list view, used by sidebar tabs) */
81
+ viewCollectionSlug: null | string;
82
+ };
83
+ export type HierarchyProviderProps = {
84
+ children: React.ReactNode;
85
+ };
86
+ export type HydrateHierarchyProviderProps = {
87
+ allowedCollections?: AllowedCollection[] | null;
88
+ baseFilter?: null | Where;
89
+ collectionSlug: string;
90
+ expandedNodes?: (number | string)[];
91
+ /** The full data of the current parent (for accessing id, collectionSpecific values, etc.) */
92
+ parent?: null | (Record<string, unknown> & TypeWithID);
93
+ parentFieldName?: string;
94
+ /** Initial selected filters from preferences */
95
+ selectedFilters?: string[];
96
+ tableData?: PaginatedDocs;
97
+ treeData?: HierarchyInitialData;
98
+ treeLimit?: number;
99
+ /** Field name for collection-specific restrictions (e.g., 'hierarchyType') */
100
+ typeFieldName?: string;
101
+ useAsTitle?: string;
102
+ /** When set, updates the viewCollectionSlug in context (used by list view to indicate current collection) */
103
+ viewCollectionSlug?: string;
104
+ };
105
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/Hierarchy/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/providers/Hierarchy/types.ts"],"sourcesContent":["import type { PaginatedDocs, TypeWithID, Where } from 'payload'\n\nexport type HierarchyDocument = {\n [key: string]: unknown\n _hasChildren?: boolean\n} & TypeWithID\n\nexport type HierarchyInitialData = {\n baseFilter?: null | Where\n docs: HierarchyDocument[]\n loadedParents: Record<string, { hasMore: boolean; loadedCount?: number; totalDocs: number }>\n}\n\nexport type HierarchyTreeCacheEntry = {\n docs: HierarchyDocument[]\n loadedParents: Record<string, { hasMore: boolean; loadedCount?: number; totalDocs: number }>\n}\n\nexport type AllowedCollection = { label: string; slug: string }\n\nexport type HierarchyHydrateData = {\n allowedCollections?: AllowedCollection[] | null\n baseFilter?: null | Where\n collectionSlug: string\n expandedNodes?: (number | string)[]\n /** The full data of the current parent (for accessing id, collectionSpecific values, etc.) */\n parent?: null | (Record<string, unknown> & TypeWithID)\n parentFieldName?: string\n /** Initial selected filters from preferences */\n selectedFilters?: string[]\n tableData?: PaginatedDocs\n treeData?: HierarchyInitialData\n treeLimit?: number\n /** Field name for collection-specific restrictions (e.g., 'hierarchyType') */\n typeFieldName?: string\n useAsTitle?: string\n /** When set, updates the viewCollectionSlug in context (used by list view to indicate current collection) */\n viewCollectionSlug?: string\n}\n\nexport type HierarchyContextValue = {\n allowedCollections: AllowedCollection[] | null\n baseFilter: null | Where\n collectionSlug: null | string\n expandedNodes: Set<number | string>\n /** Get expanded nodes for a specific collection (use this in tabs to avoid cross-tab state conflicts) */\n getExpandedNodesForCollection: (collectionSlug: string) => Set<number | string>\n getNodeChildren: (parentId: null | number | string) => HierarchyDocument[]\n /** Get tree data for a specific collection (returns null if not hydrated or cleared by refresh) */\n getTreeDataForCollection: (collectionSlug: string) => HierarchyInitialData | null\n hydrate: (data: HierarchyHydrateData) => void\n isLoadingMore: boolean\n loadingNodeId: null | number | string\n loadMoreChildren: (parentId: null | number | string) => Promise<void>\n /** The full data of the current parent (for accessing id, collectionSpecific values, etc.) */\n parent: null | (Record<string, unknown> & TypeWithID)\n parentFieldName: string\n /** Refresh the tree by clearing cache and incrementing refreshKey to force remount */\n refreshTree: () => void\n reset: () => void\n /** Selected collection type filters for the sidebar tree */\n selectedFilters: string[]\n selectParent: (id: null | number | string) => void\n /** Update selected filters (persists to preferences) */\n setSelectedFilters: (filters: string[]) => void\n toggleNode: (id: number | string) => void\n /** Toggle node expansion for a specific collection (use this in tabs to avoid cross-tab state conflicts) */\n toggleNodeForCollection: (collectionSlug: string, id: number | string) => void\n treeLimit: number\n /** Key that changes when tree should remount (incremented by refreshTree) */\n treeRefreshKey: number\n /** Field name for collection-specific restrictions (e.g., 'hierarchyType') */\n typeFieldName: null | string\n useAsTitle: null | string\n /** The collection slug of the currently viewed list (set by list view, used by sidebar tabs) */\n viewCollectionSlug: null | string\n}\n\nexport type HierarchyProviderProps = {\n children: React.ReactNode\n}\n\nexport type HydrateHierarchyProviderProps = {\n allowedCollections?: AllowedCollection[] | null\n baseFilter?: null | Where\n collectionSlug: string\n expandedNodes?: (number | string)[]\n /** The full data of the current parent (for accessing id, collectionSpecific values, etc.) */\n parent?: null | (Record<string, unknown> & TypeWithID)\n parentFieldName?: string\n /** Initial selected filters from preferences */\n selectedFilters?: string[]\n tableData?: PaginatedDocs\n treeData?: HierarchyInitialData\n treeLimit?: number\n /** Field name for collection-specific restrictions (e.g., 'hierarchyType') */\n typeFieldName?: string\n useAsTitle?: string\n /** When set, updates the viewCollectionSlug in context (used by list view to indicate current collection) */\n viewCollectionSlug?: string\n}\n"],"mappings":"AAkFA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,MAAM,EACN,oBAAoB,EACpB,oBAAoB,EACpB,SAAS,EACV,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAyB9C,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;IAC3C,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAA;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAA;IAC1C,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;IAC7C,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,CAAA;IACjD,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAAA;CAChC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAyFxC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,MAAM,EACN,oBAAoB,EACpB,oBAAoB,EACpB,SAAS,EACV,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AA0B9C,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;IAC3C,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAA;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAA;IAC1C,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;IAC7C,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,CAAA;IACjD,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAAA;CAChC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA2FxC,CAAA"}
@@ -17,6 +17,7 @@ import { AuthProvider } from '../Auth/index.js';
17
17
  import { ClientFunctionProvider } from '../ClientFunction/index.js';
18
18
  import { ConfigProvider } from '../Config/index.js';
19
19
  import { DocumentEventsProvider } from '../DocumentEvents/index.js';
20
+ import { HierarchyProvider } from '../Hierarchy/index.js';
20
21
  import { LocaleProvider } from '../Locale/index.js';
21
22
  import { ParamsProvider } from '../Params/index.js';
22
23
  import { PreferencesProvider } from '../Preferences/index.js';
@@ -82,21 +83,23 @@ export const RootProvider = t0 => {
82
83
  permissions,
83
84
  user,
84
85
  children: [_jsx(PreferencesProvider, {
85
- children: _jsx(ThemeProvider, {
86
- theme,
87
- children: _jsx(ParamsProvider, {
88
- children: _jsx(LocaleProvider, {
89
- locale,
90
- children: _jsx(StepNavProvider, {
91
- children: _jsx(LoadingOverlayProvider, {
92
- children: _jsx(DocumentEventsProvider, {
93
- children: _jsx(NavProvider, {
94
- initialIsOpen: isNavOpen,
95
- children: _jsx(UploadHandlersProvider, {
96
- children: _jsx(DndContext, {
97
- collisionDetection: pointerWithin,
98
- id: dndContextID,
99
- children
86
+ children: _jsx(HierarchyProvider, {
87
+ children: _jsx(ThemeProvider, {
88
+ theme,
89
+ children: _jsx(ParamsProvider, {
90
+ children: _jsx(LocaleProvider, {
91
+ locale,
92
+ children: _jsx(StepNavProvider, {
93
+ children: _jsx(LoadingOverlayProvider, {
94
+ children: _jsx(DocumentEventsProvider, {
95
+ children: _jsx(NavProvider, {
96
+ initialIsOpen: isNavOpen,
97
+ children: _jsx(UploadHandlersProvider, {
98
+ children: _jsx(DndContext, {
99
+ collisionDetection: pointerWithin,
100
+ id: dndContextID,
101
+ children
102
+ })
100
103
  })
101
104
  })
102
105
  })