@payloadcms/ui 3.80.0-internal.52ab774 → 3.80.0-internal.82dcece

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 (502) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  2. package/dist/elements/BulkUpload/EditForm/index.js +12 -0
  3. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  5. package/dist/elements/BulkUpload/FormsManager/index.js +29 -7
  6. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  7. package/dist/elements/Button/index.d.ts.map +1 -1
  8. package/dist/elements/Button/index.js +3 -5
  9. package/dist/elements/Button/index.js.map +1 -1
  10. package/dist/elements/Button/index.scss +5 -38
  11. package/dist/elements/Button/types.d.ts +1 -1
  12. package/dist/elements/Button/types.d.ts.map +1 -1
  13. package/dist/elements/Button/types.js.map +1 -1
  14. package/dist/elements/CheckboxPopup/index.d.ts.map +1 -1
  15. package/dist/elements/CheckboxPopup/index.js +1 -0
  16. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  17. package/dist/elements/CheckboxPopup/index.scss +0 -1
  18. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  19. package/dist/elements/DefaultListViewTabs/index.js +54 -28
  20. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  21. package/dist/elements/DocumentControls/index.d.ts +0 -1
  22. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  23. package/dist/elements/DocumentControls/index.js +10 -6
  24. package/dist/elements/DocumentControls/index.js.map +1 -1
  25. package/dist/elements/DocumentControls/index.scss +1 -1
  26. package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
  27. package/dist/elements/DocumentDrawer/index.js +141 -54
  28. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  29. package/dist/elements/DocumentDrawer/types.d.ts +1 -7
  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/DrawerActionHeader/index.d.ts.map +1 -1
  33. package/dist/elements/DrawerActionHeader/index.js +0 -2
  34. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  35. package/dist/elements/DrawerActionHeader/index.scss +2 -2
  36. package/dist/elements/FolderView/Breadcrumbs/index.d.ts +19 -0
  37. package/dist/elements/FolderView/Breadcrumbs/index.d.ts.map +1 -0
  38. package/dist/elements/FolderView/Breadcrumbs/index.js +96 -0
  39. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -0
  40. package/dist/elements/FolderView/Breadcrumbs/index.scss +56 -0
  41. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts +6 -0
  42. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts.map +1 -0
  43. package/dist/elements/FolderView/BrowseByFolderButton/index.js +40 -0
  44. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -0
  45. package/dist/elements/FolderView/BrowseByFolderButton/index.scss +30 -0
  46. package/dist/elements/FolderView/Cell/index.client.d.ts +13 -0
  47. package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -0
  48. package/dist/elements/FolderView/Cell/index.client.js +95 -0
  49. package/dist/elements/FolderView/Cell/index.client.js.map +1 -0
  50. package/dist/elements/FolderView/Cell/index.server.d.ts +4 -0
  51. package/dist/elements/FolderView/Cell/index.server.d.ts.map +1 -0
  52. package/dist/elements/FolderView/Cell/index.server.js +18 -0
  53. package/dist/elements/FolderView/Cell/index.server.js.map +1 -0
  54. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts +3 -0
  55. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts.map +1 -0
  56. package/dist/elements/FolderView/ColoredFolderIcon/index.js +9 -0
  57. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -0
  58. package/dist/elements/FolderView/ColoredFolderIcon/index.scss +5 -0
  59. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts +7 -0
  60. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +1 -0
  61. package/dist/elements/FolderView/CurrentFolderActions/index.js +162 -0
  62. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -0
  63. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts +11 -0
  64. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts.map +1 -0
  65. package/dist/elements/FolderView/DragOverlaySelection/index.js +62 -0
  66. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -0
  67. package/dist/elements/FolderView/DragOverlaySelection/index.scss +35 -0
  68. package/dist/elements/FolderView/DraggableTableRow/index.d.ts +18 -0
  69. package/dist/elements/FolderView/DraggableTableRow/index.d.ts.map +1 -0
  70. package/dist/elements/FolderView/DraggableTableRow/index.js +63 -0
  71. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -0
  72. package/dist/elements/FolderView/DraggableTableRow/index.scss +135 -0
  73. package/dist/elements/FolderView/DraggableWithClick/index.d.ts +15 -0
  74. package/dist/elements/FolderView/DraggableWithClick/index.d.ts.map +1 -0
  75. package/dist/elements/FolderView/DraggableWithClick/index.js +86 -0
  76. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -0
  77. package/dist/elements/FolderView/DraggableWithClick/index.scss +5 -0
  78. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts +7 -0
  79. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts.map +1 -0
  80. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +39 -0
  81. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -0
  82. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +37 -0
  83. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +1 -0
  84. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +609 -0
  85. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -0
  86. package/dist/elements/FolderView/Drawers/MoveToFolder/index.scss +30 -0
  87. package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts +4 -0
  88. package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts.map +1 -0
  89. package/dist/elements/FolderView/FilterFolderTypePill/index.js +102 -0
  90. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -0
  91. package/dist/elements/FolderView/FilterFolderTypePill/index.scss +16 -0
  92. package/dist/elements/FolderView/FolderField/index.scss +12 -0
  93. package/dist/elements/FolderView/FolderField/index.server.d.ts +4 -0
  94. package/dist/elements/FolderView/FolderField/index.server.d.ts.map +1 -0
  95. package/dist/elements/FolderView/FolderField/index.server.js +16 -0
  96. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -0
  97. package/dist/elements/FolderView/FolderFileCard/index.d.ts +30 -0
  98. package/dist/elements/FolderView/FolderFileCard/index.d.ts.map +1 -0
  99. package/dist/elements/FolderView/FolderFileCard/index.js +209 -0
  100. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -0
  101. package/dist/elements/FolderView/FolderFileCard/index.scss +247 -0
  102. package/dist/elements/FolderView/FolderFileTable/index.d.ts +8 -0
  103. package/dist/elements/FolderView/FolderFileTable/index.d.ts.map +1 -0
  104. package/dist/elements/FolderView/FolderFileTable/index.js +284 -0
  105. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -0
  106. package/dist/elements/FolderView/FolderFileTable/index.scss +11 -0
  107. package/dist/elements/FolderView/FolderTypeField/index.d.ts +4 -0
  108. package/dist/elements/FolderView/FolderTypeField/index.d.ts.map +1 -0
  109. package/dist/elements/FolderView/FolderTypeField/index.js +123 -0
  110. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -0
  111. package/dist/elements/FolderView/ItemCardGrid/index.d.ts +16 -0
  112. package/dist/elements/FolderView/ItemCardGrid/index.d.ts.map +1 -0
  113. package/dist/elements/FolderView/ItemCardGrid/index.js +34 -0
  114. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -0
  115. package/dist/elements/FolderView/ItemCardGrid/index.scss +16 -0
  116. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts +37 -0
  117. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts.map +1 -0
  118. package/dist/elements/FolderView/MoveDocToFolder/index.js +292 -0
  119. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -0
  120. package/dist/elements/{Hierarchy/DocHeaderButton → FolderView/MoveDocToFolder}/index.scss +1 -7
  121. package/dist/elements/FolderView/SimpleTable/index.d.ts +19 -0
  122. package/dist/elements/FolderView/SimpleTable/index.d.ts.map +1 -0
  123. package/dist/elements/FolderView/SimpleTable/index.js +95 -0
  124. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -0
  125. package/dist/elements/FolderView/SimpleTable/index.scss +59 -0
  126. package/dist/elements/FolderView/SortByPill/index.d.ts +4 -0
  127. package/dist/elements/FolderView/SortByPill/index.d.ts.map +1 -0
  128. package/dist/elements/FolderView/SortByPill/index.js +112 -0
  129. package/dist/elements/FolderView/SortByPill/index.js.map +1 -0
  130. package/dist/elements/FolderView/SortByPill/index.scss +16 -0
  131. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts +8 -0
  132. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts.map +1 -0
  133. package/dist/elements/FolderView/ToggleViewButtons/index.js +31 -0
  134. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -0
  135. package/dist/elements/FolderView/ToggleViewButtons/index.scss +17 -0
  136. package/dist/elements/Link/index.d.ts +0 -4
  137. package/dist/elements/Link/index.d.ts.map +1 -1
  138. package/dist/elements/Link/index.js +0 -5
  139. package/dist/elements/Link/index.js.map +1 -1
  140. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts +15 -0
  141. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +1 -0
  142. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +182 -0
  143. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -0
  144. package/dist/elements/ListHeader/TitleActions/index.d.ts +1 -0
  145. package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -1
  146. package/dist/elements/ListHeader/TitleActions/index.js +1 -0
  147. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  148. package/dist/elements/ListHeader/index.js +2 -2
  149. package/dist/elements/ListHeader/index.js.map +1 -1
  150. package/dist/elements/ListSelection/index.scss +1 -2
  151. package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
  152. package/dist/elements/LivePreview/Window/index.js +9 -7
  153. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  154. package/dist/elements/Locked/index.scss +1 -1
  155. package/dist/elements/RelationshipTable/index.js +3 -3
  156. package/dist/elements/RelationshipTable/index.js.map +1 -1
  157. package/dist/elements/StepNav/index.d.ts.map +1 -1
  158. package/dist/elements/StepNav/index.js +1 -10
  159. package/dist/elements/StepNav/index.js.map +1 -1
  160. package/dist/elements/StepNav/types.d.ts +0 -1
  161. package/dist/elements/StepNav/types.d.ts.map +1 -1
  162. package/dist/elements/StepNav/types.js.map +1 -1
  163. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  164. package/dist/elements/Table/DefaultCell/index.js +0 -20
  165. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  166. package/dist/elements/Tooltip/index.js +1 -1
  167. package/dist/elements/Tooltip/index.js.map +1 -1
  168. package/dist/elements/Tooltip/index.scss +15 -1
  169. package/dist/exports/client/index.d.ts +10 -27
  170. package/dist/exports/client/index.d.ts.map +1 -1
  171. package/dist/exports/client/index.js +24 -26
  172. package/dist/exports/client/index.js.map +4 -4
  173. package/dist/exports/rsc/index.d.ts +3 -3
  174. package/dist/exports/rsc/index.d.ts.map +1 -1
  175. package/dist/exports/rsc/index.js +3 -3
  176. package/dist/exports/rsc/index.js.map +1 -1
  177. package/dist/fields/Join/index.d.ts.map +1 -1
  178. package/dist/fields/Join/index.js +1 -1
  179. package/dist/fields/Join/index.js.map +1 -1
  180. package/dist/fields/shared/index.d.ts +2 -2
  181. package/dist/fields/shared/index.d.ts.map +1 -1
  182. package/dist/fields/shared/index.js.map +1 -1
  183. package/dist/icons/Chevron/index.d.ts.map +1 -1
  184. package/dist/icons/Chevron/index.js +1 -5
  185. package/dist/icons/Chevron/index.js.map +1 -1
  186. package/dist/icons/Document/index.d.ts +1 -3
  187. package/dist/icons/Document/index.d.ts.map +1 -1
  188. package/dist/icons/Document/index.js +2 -4
  189. package/dist/icons/Document/index.js.map +1 -1
  190. package/dist/icons/Document/index.scss +0 -4
  191. package/dist/icons/Folder/index.d.ts +2 -4
  192. package/dist/icons/Folder/index.d.ts.map +1 -1
  193. package/dist/icons/Folder/index.js +2 -4
  194. package/dist/icons/Folder/index.js.map +1 -1
  195. package/dist/icons/Folder/index.scss +0 -8
  196. package/dist/icons/Lock/index.scss +1 -1
  197. package/dist/icons/Plus/index.d.ts.map +1 -1
  198. package/dist/icons/Plus/index.js +1 -2
  199. package/dist/icons/Plus/index.js.map +1 -1
  200. package/dist/providers/Folders/groupItemIDsByRelation.d.ts +3 -0
  201. package/dist/providers/Folders/groupItemIDsByRelation.d.ts.map +1 -0
  202. package/dist/providers/Folders/groupItemIDsByRelation.js +10 -0
  203. package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -0
  204. package/dist/providers/Folders/index.d.ts +143 -0
  205. package/dist/providers/Folders/index.d.ts.map +1 -0
  206. package/dist/providers/Folders/index.js +641 -0
  207. package/dist/providers/Folders/index.js.map +1 -0
  208. package/dist/providers/LivePreview/context.d.ts +6 -0
  209. package/dist/providers/LivePreview/context.d.ts.map +1 -1
  210. package/dist/providers/LivePreview/context.js +1 -0
  211. package/dist/providers/LivePreview/context.js.map +1 -1
  212. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  213. package/dist/providers/LivePreview/index.js +13 -1
  214. package/dist/providers/LivePreview/index.js.map +1 -1
  215. package/dist/providers/Root/index.d.ts.map +1 -1
  216. package/dist/providers/Root/index.js +15 -18
  217. package/dist/providers/Root/index.js.map +1 -1
  218. package/dist/providers/ServerFunctions/index.d.ts +6 -1
  219. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  220. package/dist/providers/ServerFunctions/index.js +18 -0
  221. package/dist/providers/ServerFunctions/index.js.map +1 -1
  222. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +1 -2
  223. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  224. package/dist/providers/TableColumns/buildColumnState/renderCell.js +1 -34
  225. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  226. package/dist/styles.css +1 -1
  227. package/dist/utilities/getFolderResultsComponentAndData.d.ts +25 -0
  228. package/dist/utilities/getFolderResultsComponentAndData.d.ts.map +1 -0
  229. package/dist/utilities/getFolderResultsComponentAndData.js +135 -0
  230. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -0
  231. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  232. package/dist/utilities/renderTable.d.ts +1 -3
  233. package/dist/utilities/renderTable.d.ts.map +1 -1
  234. package/dist/utilities/renderTable.js +3 -9
  235. package/dist/utilities/renderTable.js.map +1 -1
  236. package/dist/views/BrowseByFolder/index.d.ts +5 -0
  237. package/dist/views/BrowseByFolder/index.d.ts.map +1 -0
  238. package/dist/views/BrowseByFolder/index.js +342 -0
  239. package/dist/views/BrowseByFolder/index.js.map +1 -0
  240. package/dist/views/BrowseByFolder/index.scss +174 -0
  241. package/dist/views/CollectionFolder/ListSelection/index.d.ts +9 -0
  242. package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -0
  243. package/dist/views/CollectionFolder/ListSelection/index.js +180 -0
  244. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -0
  245. package/dist/views/CollectionFolder/index.d.ts +5 -0
  246. package/dist/views/CollectionFolder/index.d.ts.map +1 -0
  247. package/dist/views/CollectionFolder/index.js +325 -0
  248. package/dist/views/CollectionFolder/index.js.map +1 -0
  249. package/dist/views/CollectionFolder/index.scss +162 -0
  250. package/dist/views/Edit/index.d.ts +1 -1
  251. package/dist/views/Edit/index.d.ts.map +1 -1
  252. package/dist/views/Edit/index.js +10 -8
  253. package/dist/views/Edit/index.js.map +1 -1
  254. package/dist/views/List/index.d.ts.map +1 -1
  255. package/dist/views/List/index.js +7 -51
  256. package/dist/views/List/index.js.map +1 -1
  257. package/package.json +4 -4
  258. package/dist/elements/CreateDocumentButton/index.d.ts +0 -26
  259. package/dist/elements/CreateDocumentButton/index.d.ts.map +0 -1
  260. package/dist/elements/CreateDocumentButton/index.js +0 -182
  261. package/dist/elements/CreateDocumentButton/index.js.map +0 -1
  262. package/dist/elements/DelayedSpinner/index.d.ts +0 -23
  263. package/dist/elements/DelayedSpinner/index.d.ts.map +0 -1
  264. package/dist/elements/DelayedSpinner/index.js +0 -61
  265. package/dist/elements/DelayedSpinner/index.js.map +0 -1
  266. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts +0 -5
  267. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +0 -1
  268. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +0 -166
  269. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +0 -1
  270. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.scss +0 -63
  271. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts +0 -5
  272. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +0 -1
  273. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +0 -161
  274. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +0 -1
  275. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.scss +0 -105
  276. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +0 -8
  277. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +0 -1
  278. package/dist/elements/Hierarchy/ColumnBrowser/index.js +0 -473
  279. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +0 -1
  280. package/dist/elements/Hierarchy/ColumnBrowser/index.scss +0 -20
  281. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +0 -106
  282. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +0 -1
  283. package/dist/elements/Hierarchy/ColumnBrowser/types.js +0 -2
  284. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +0 -1
  285. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts +0 -11
  286. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +0 -1
  287. package/dist/elements/Hierarchy/DocHeaderButton/index.js +0 -126
  288. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +0 -1
  289. package/dist/elements/Hierarchy/DocHeaderButton/index.server.d.ts +0 -10
  290. package/dist/elements/Hierarchy/DocHeaderButton/index.server.d.ts.map +0 -1
  291. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +0 -34
  292. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +0 -1
  293. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts +0 -15
  294. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +0 -1
  295. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js +0 -60
  296. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +0 -1
  297. package/dist/elements/Hierarchy/Drawer/index.d.ts +0 -20
  298. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +0 -1
  299. package/dist/elements/Hierarchy/Drawer/index.js +0 -291
  300. package/dist/elements/Hierarchy/Drawer/index.js.map +0 -1
  301. package/dist/elements/Hierarchy/Drawer/index.scss +0 -81
  302. package/dist/elements/Hierarchy/Drawer/types.d.ts +0 -68
  303. package/dist/elements/Hierarchy/Drawer/types.d.ts.map +0 -1
  304. package/dist/elements/Hierarchy/Drawer/types.js +0 -3
  305. package/dist/elements/Hierarchy/Drawer/types.js.map +0 -1
  306. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +0 -30
  307. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +0 -1
  308. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js +0 -148
  309. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +0 -1
  310. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +0 -13
  311. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +0 -1
  312. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +0 -185
  313. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +0 -1
  314. package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +0 -78
  315. package/dist/elements/Hierarchy/Field/index.client.d.ts +0 -8
  316. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +0 -1
  317. package/dist/elements/Hierarchy/Field/index.client.js +0 -186
  318. package/dist/elements/Hierarchy/Field/index.client.js.map +0 -1
  319. package/dist/elements/Hierarchy/Field/index.scss +0 -35
  320. package/dist/elements/Hierarchy/Field/index.server.d.ts +0 -3
  321. package/dist/elements/Hierarchy/Field/index.server.d.ts.map +0 -1
  322. package/dist/elements/Hierarchy/Field/index.server.js +0 -30
  323. package/dist/elements/Hierarchy/Field/index.server.js.map +0 -1
  324. package/dist/elements/Hierarchy/HydrateProvider/index.d.ts +0 -4
  325. package/dist/elements/Hierarchy/HydrateProvider/index.d.ts.map +0 -1
  326. package/dist/elements/Hierarchy/HydrateProvider/index.js +0 -70
  327. package/dist/elements/Hierarchy/HydrateProvider/index.js.map +0 -1
  328. package/dist/elements/Hierarchy/MoveMany/index.d.ts +0 -22
  329. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +0 -1
  330. package/dist/elements/Hierarchy/MoveMany/index.js +0 -278
  331. package/dist/elements/Hierarchy/MoveMany/index.js.map +0 -1
  332. package/dist/elements/Hierarchy/MoveMany/index.scss +0 -7
  333. package/dist/elements/Hierarchy/Search/HierarchySearchInput.d.ts +0 -18
  334. package/dist/elements/Hierarchy/Search/HierarchySearchInput.d.ts.map +0 -1
  335. package/dist/elements/Hierarchy/Search/HierarchySearchInput.js +0 -115
  336. package/dist/elements/Hierarchy/Search/HierarchySearchInput.js.map +0 -1
  337. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.d.ts +0 -13
  338. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.d.ts.map +0 -1
  339. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js +0 -88
  340. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js.map +0 -1
  341. package/dist/elements/Hierarchy/Search/HierarchySearchResults.d.ts +0 -17
  342. package/dist/elements/Hierarchy/Search/HierarchySearchResults.d.ts.map +0 -1
  343. package/dist/elements/Hierarchy/Search/HierarchySearchResults.js +0 -85
  344. package/dist/elements/Hierarchy/Search/HierarchySearchResults.js.map +0 -1
  345. package/dist/elements/Hierarchy/Search/index.d.ts +0 -10
  346. package/dist/elements/Hierarchy/Search/index.d.ts.map +0 -1
  347. package/dist/elements/Hierarchy/Search/index.js +0 -144
  348. package/dist/elements/Hierarchy/Search/index.js.map +0 -1
  349. package/dist/elements/Hierarchy/Search/index.scss +0 -212
  350. package/dist/elements/Hierarchy/Search/types.d.ts +0 -21
  351. package/dist/elements/Hierarchy/Search/types.d.ts.map +0 -1
  352. package/dist/elements/Hierarchy/Search/types.js +0 -2
  353. package/dist/elements/Hierarchy/Search/types.js.map +0 -1
  354. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts +0 -20
  355. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +0 -1
  356. package/dist/elements/Hierarchy/Search/useHierarchySearch.js +0 -122
  357. package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +0 -1
  358. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +0 -21
  359. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +0 -1
  360. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +0 -194
  361. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +0 -1
  362. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts +0 -7
  363. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +0 -1
  364. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +0 -177
  365. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +0 -1
  366. package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.d.ts +0 -8
  367. package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.d.ts.map +0 -1
  368. package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.js +0 -36
  369. package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.js.map +0 -1
  370. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +0 -12
  371. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +0 -1
  372. package/dist/elements/Hierarchy/Tree/LoadMore/index.js +0 -29
  373. package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +0 -1
  374. package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +0 -26
  375. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +0 -7
  376. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +0 -1
  377. package/dist/elements/Hierarchy/Tree/TreeConnector.js +0 -23
  378. package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +0 -1
  379. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +0 -28
  380. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +0 -1
  381. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +0 -140
  382. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +0 -1
  383. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +0 -5
  384. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +0 -1
  385. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +0 -225
  386. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +0 -1
  387. package/dist/elements/Hierarchy/Tree/TreeNode/index.scss +0 -110
  388. package/dist/elements/Hierarchy/Tree/index.d.ts +0 -5
  389. package/dist/elements/Hierarchy/Tree/index.d.ts.map +0 -1
  390. package/dist/elements/Hierarchy/Tree/index.js +0 -305
  391. package/dist/elements/Hierarchy/Tree/index.js.map +0 -1
  392. package/dist/elements/Hierarchy/Tree/index.scss +0 -60
  393. package/dist/elements/Hierarchy/Tree/types.d.ts +0 -76
  394. package/dist/elements/Hierarchy/Tree/types.d.ts.map +0 -1
  395. package/dist/elements/Hierarchy/Tree/types.js +0 -2
  396. package/dist/elements/Hierarchy/Tree/types.js.map +0 -1
  397. package/dist/elements/Hierarchy/Tree/useChildren.d.ts +0 -32
  398. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +0 -1
  399. package/dist/elements/Hierarchy/Tree/useChildren.js +0 -233
  400. package/dist/elements/Hierarchy/Tree/useChildren.js.map +0 -1
  401. package/dist/elements/LoadMoreRow/index.d.ts +0 -15
  402. package/dist/elements/LoadMoreRow/index.d.ts.map +0 -1
  403. package/dist/elements/LoadMoreRow/index.js +0 -75
  404. package/dist/elements/LoadMoreRow/index.js.map +0 -1
  405. package/dist/elements/LoadMoreRow/index.scss +0 -42
  406. package/dist/elements/Spinner/index.d.ts +0 -16
  407. package/dist/elements/Spinner/index.d.ts.map +0 -1
  408. package/dist/elements/Spinner/index.js +0 -49
  409. package/dist/elements/Spinner/index.js.map +0 -1
  410. package/dist/elements/Spinner/index.scss +0 -39
  411. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts +0 -6
  412. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +0 -1
  413. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +0 -187
  414. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +0 -1
  415. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.scss +0 -29
  416. package/dist/fields/Null/index.d.ts +0 -11
  417. package/dist/fields/Null/index.d.ts.map +0 -1
  418. package/dist/fields/Null/index.js +0 -13
  419. package/dist/fields/Null/index.js.map +0 -1
  420. package/dist/icons/Filter/index.d.ts +0 -4
  421. package/dist/icons/Filter/index.d.ts.map +0 -1
  422. package/dist/icons/Filter/index.js +0 -15
  423. package/dist/icons/Filter/index.js.map +0 -1
  424. package/dist/icons/Filter/index.scss +0 -13
  425. package/dist/icons/TableView/index.d.ts +0 -3
  426. package/dist/icons/TableView/index.d.ts.map +0 -1
  427. package/dist/icons/TableView/index.js +0 -16
  428. package/dist/icons/TableView/index.js.map +0 -1
  429. package/dist/icons/Tag/index.d.ts +0 -8
  430. package/dist/icons/Tag/index.d.ts.map +0 -1
  431. package/dist/icons/Tag/index.js +0 -22
  432. package/dist/icons/Tag/index.js.map +0 -1
  433. package/dist/icons/Tag/index.scss +0 -14
  434. package/dist/providers/DocumentSelection/index.d.ts +0 -8
  435. package/dist/providers/DocumentSelection/index.d.ts.map +0 -1
  436. package/dist/providers/DocumentSelection/index.js +0 -239
  437. package/dist/providers/DocumentSelection/index.js.map +0 -1
  438. package/dist/providers/DocumentSelection/types.d.ts +0 -122
  439. package/dist/providers/DocumentSelection/types.d.ts.map +0 -1
  440. package/dist/providers/DocumentSelection/types.js +0 -5
  441. package/dist/providers/DocumentSelection/types.js.map +0 -1
  442. package/dist/providers/Hierarchy/index.d.ts +0 -5
  443. package/dist/providers/Hierarchy/index.d.ts.map +0 -1
  444. package/dist/providers/Hierarchy/index.js +0 -358
  445. package/dist/providers/Hierarchy/index.js.map +0 -1
  446. package/dist/providers/Hierarchy/types.d.ts +0 -106
  447. package/dist/providers/Hierarchy/types.d.ts.map +0 -1
  448. package/dist/providers/Hierarchy/types.js +0 -2
  449. package/dist/providers/Hierarchy/types.js.map +0 -1
  450. package/dist/providers/SidebarTabs/index.d.ts +0 -19
  451. package/dist/providers/SidebarTabs/index.d.ts.map +0 -1
  452. package/dist/providers/SidebarTabs/index.js +0 -24
  453. package/dist/providers/SidebarTabs/index.js.map +0 -1
  454. package/dist/utilities/isSuperset.d.ts +0 -6
  455. package/dist/utilities/isSuperset.d.ts.map +0 -1
  456. package/dist/utilities/isSuperset.js +0 -10
  457. package/dist/utilities/isSuperset.js.map +0 -1
  458. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts +0 -10
  459. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +0 -1
  460. package/dist/views/HierarchyList/DocumentListSelection/index.js +0 -196
  461. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +0 -1
  462. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +0 -21
  463. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +0 -1
  464. package/dist/views/HierarchyList/HierarchyListHeader/index.js +0 -68
  465. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +0 -1
  466. package/dist/views/HierarchyList/HierarchyListHeader/index.scss +0 -9
  467. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts +0 -4
  468. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +0 -1
  469. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +0 -104
  470. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +0 -1
  471. package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts +0 -4
  472. package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts.map +0 -1
  473. package/dist/views/HierarchyList/HierarchyTable/DateCell.js +0 -53
  474. package/dist/views/HierarchyList/HierarchyTable/DateCell.js.map +0 -1
  475. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts +0 -4
  476. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts.map +0 -1
  477. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +0 -128
  478. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +0 -1
  479. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +0 -99
  480. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +0 -1
  481. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +0 -118
  482. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +0 -1
  483. package/dist/views/HierarchyList/HierarchyTable/SlotTable.scss +0 -214
  484. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +0 -27
  485. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +0 -1
  486. package/dist/views/HierarchyList/HierarchyTable/index.js +0 -388
  487. package/dist/views/HierarchyList/HierarchyTable/index.js.map +0 -1
  488. package/dist/views/HierarchyList/HierarchyTable/index.scss +0 -148
  489. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +0 -20
  490. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +0 -1
  491. package/dist/views/HierarchyList/HierarchyTable/types.js +0 -2
  492. package/dist/views/HierarchyList/HierarchyTable/types.js.map +0 -1
  493. package/dist/views/HierarchyList/TypeFilter/index.d.ts +0 -15
  494. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +0 -1
  495. package/dist/views/HierarchyList/TypeFilter/index.js +0 -37
  496. package/dist/views/HierarchyList/TypeFilter/index.js.map +0 -1
  497. package/dist/views/HierarchyList/TypeFilter/index.scss +0 -32
  498. package/dist/views/HierarchyList/index.d.ts +0 -5
  499. package/dist/views/HierarchyList/index.d.ts.map +0 -1
  500. package/dist/views/HierarchyList/index.js +0 -305
  501. package/dist/views/HierarchyList/index.js.map +0 -1
  502. package/dist/views/HierarchyList/index.scss +0 -72
@@ -1,305 +0,0 @@
1
- 'use client';
2
-
3
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
- import { getTranslation } from '@payloadcms/translations';
5
- import { useRouter } from 'next/navigation.js';
6
- import { DEFAULT_HIERARCHY_TREE_LIMIT } from 'payload/shared';
7
- import React, { useCallback, useId, useMemo, useRef } from 'react';
8
- import { TagIcon } from '../../../icons/Tag/index.js';
9
- import { useConfig } from '../../../providers/Config/index.js';
10
- import { useHierarchy } from '../../../providers/Hierarchy/index.js';
11
- import { useTranslation } from '../../../providers/Translation/index.js';
12
- import { CreateDocumentButton } from '../../CreateDocumentButton/index.js';
13
- import { DelayedSpinner } from '../../DelayedSpinner/index.js';
14
- import { LoadMore } from './LoadMore/index.js';
15
- import { TreeFocusProvider, useTreeFocus } from './TreeFocusContext.js';
16
- import { TreeNode } from './TreeNode/index.js';
17
- import { useChildren } from './useChildren.js';
18
- import './index.scss';
19
- const baseClass = 'tree';
20
- const getDocumentTitle = (doc, useAsTitle) => {
21
- const docId = doc.id;
22
- const idStr = typeof docId === 'number' ? String(docId) : docId;
23
- if (!useAsTitle) {
24
- return idStr;
25
- }
26
- const value = doc[useAsTitle];
27
- if (value && (typeof value === 'string' || typeof value === 'number')) {
28
- return String(value);
29
- }
30
- return idStr;
31
- };
32
- const HierarchyTreeInner = ({
33
- baseFilter,
34
- collectionSlug,
35
- filterByCollections,
36
- icon,
37
- initialData: initialDataProp,
38
- initialExpandedNodes: initialExpandedNodesProp,
39
- onNodeClick,
40
- selectedNodeId,
41
- useAsTitle: useAsTitleProp
42
- }) => {
43
- const {
44
- moveFocus
45
- } = useTreeFocus();
46
- const router = useRouter();
47
- const {
48
- i18n,
49
- t
50
- } = useTranslation();
51
- const {
52
- getEntityConfig
53
- } = useConfig();
54
- const createDrawerSlug = `tree-create-${useId()}`;
55
- const {
56
- getExpandedNodesForCollection,
57
- getTreeDataForCollection,
58
- toggleNodeForCollection,
59
- typeFieldName
60
- } = useHierarchy();
61
- const collectionConfig = getEntityConfig({
62
- collectionSlug
63
- });
64
- const hierarchyConfig = collectionConfig.hierarchy && typeof collectionConfig.hierarchy === 'object' ? collectionConfig.hierarchy : undefined;
65
- const parentFieldName = hierarchyConfig?.parentFieldName;
66
- const treeLimit = hierarchyConfig?.admin?.treeLimit ?? DEFAULT_HIERARCHY_TREE_LIMIT;
67
- const useAsTitle = useAsTitleProp ?? collectionConfig.admin?.useAsTitle;
68
- const allPossibleTypeValues = useMemo(() => hierarchyConfig?.relatedCollections ? Object.keys(hierarchyConfig.relatedCollections) : undefined, [hierarchyConfig?.relatedCollections]);
69
- const contextData = getTreeDataForCollection(collectionSlug);
70
- const baseFilterKey = baseFilter ? JSON.stringify(baseFilter) : '';
71
- const contextBaseFilterKey = contextData?.baseFilter ? JSON.stringify(contextData.baseFilter) : '';
72
- const initialData = baseFilterKey === contextBaseFilterKey ? contextData ?? initialDataProp : initialDataProp;
73
- // Tracks whether context has been seeded at least once since the last navigation.
74
- // Resets when initialExpandedNodesProp changes (new array reference = navigation).
75
- // Allows the memo to distinguish "not yet seeded" (fall back to prop) from
76
- // "user collapsed all nodes" (trust empty context).
77
- const contextSeededRef = useRef(false);
78
- const lastInitialExpandedRef = useRef(initialExpandedNodesProp);
79
- if (lastInitialExpandedRef.current !== initialExpandedNodesProp) {
80
- lastInitialExpandedRef.current = initialExpandedNodesProp;
81
- contextSeededRef.current = false;
82
- }
83
- const expandedNodes = useMemo(() => {
84
- const contextExpanded = getExpandedNodesForCollection(collectionSlug);
85
- if (contextExpanded.size > 0) {
86
- contextSeededRef.current = true;
87
- return contextExpanded;
88
- }
89
- if (contextSeededRef.current) {
90
- // Context was seeded (had nodes since last navigation) — trust empty set as "all collapsed"
91
- return contextExpanded;
92
- }
93
- return initialExpandedNodesProp ? new Set(initialExpandedNodesProp) : contextExpanded;
94
- }, [collectionSlug, getExpandedNodesForCollection, initialExpandedNodesProp]);
95
- const handleToggleNode = useCallback(({
96
- id
97
- }) => {
98
- // Mark context as seeded so the memo never falls back to the prop after this interaction.
99
- // Capture the previous value first — seeding is only needed on the very first interaction.
100
- const wasSeeded = contextSeededRef.current;
101
- contextSeededRef.current = true;
102
- const contextExpanded_0 = getExpandedNodesForCollection(collectionSlug);
103
- if (!wasSeeded && contextExpanded_0.size === 0 && initialExpandedNodesProp?.length) {
104
- // Context not yet seeded. Seed it with all initial nodes, applying the toggle correctly:
105
- // exclude the target if collapsing, include it if expanding.
106
- const initialSet = new Set(initialExpandedNodesProp.map(String));
107
- const isCurrentlyExpanded = initialSet.has(String(id));
108
- for (const nodeId of initialExpandedNodesProp) {
109
- if (!isCurrentlyExpanded || String(nodeId) !== String(id)) {
110
- toggleNodeForCollection(collectionSlug, nodeId);
111
- }
112
- }
113
- if (!isCurrentlyExpanded) {
114
- toggleNodeForCollection(collectionSlug, id);
115
- }
116
- return;
117
- }
118
- toggleNodeForCollection(collectionSlug, id);
119
- }, [collectionSlug, getExpandedNodesForCollection, initialExpandedNodesProp, toggleNodeForCollection]);
120
- // Pre-populate cache with initialData synchronously before first render
121
- const childrenCache = useRef(new Map());
122
- const prevBaseFilterKeyRef = useRef(baseFilterKey);
123
- if (prevBaseFilterKeyRef.current !== baseFilterKey) {
124
- prevBaseFilterKeyRef.current = baseFilterKey;
125
- childrenCache.current.clear();
126
- }
127
- useMemo(() => {
128
- if (!initialData || initialData.docs.length === 0) {
129
- return;
130
- }
131
- const docsByParent = new Map();
132
- for (const doc of initialData.docs) {
133
- const parentId = doc[parentFieldName] || 'null';
134
- const parentKey = String(parentId);
135
- if (!docsByParent.has(parentKey)) {
136
- docsByParent.set(parentKey, []);
137
- }
138
- docsByParent.get(parentKey).push(doc);
139
- }
140
- const filterKey = filterByCollections?.length ? filterByCollections.slice().sort().join(',') : '';
141
- for (const [parentKey_0, docs] of docsByParent) {
142
- const cacheKey = `${collectionSlug}-${parentKey_0}-${filterKey}-${baseFilterKey}`;
143
- const parentMeta = initialData.loadedParents[parentKey_0];
144
- if (parentMeta) {
145
- const loadedCount = parentMeta.loadedCount ?? docs.length;
146
- childrenCache.current.set(cacheKey, {
147
- children: docs,
148
- hasMore: parentMeta.hasMore,
149
- page: Math.ceil(loadedCount / treeLimit) || 1,
150
- totalDocs: parentMeta.totalDocs
151
- });
152
- } else {
153
- childrenCache.current.set(cacheKey, {
154
- children: docs,
155
- hasMore: false,
156
- page: 1,
157
- totalDocs: docs.length
158
- });
159
- }
160
- }
161
- }, [initialData, filterByCollections, parentFieldName, collectionSlug, treeLimit, baseFilterKey]);
162
- const treeRef = useRef(null);
163
- const {
164
- children: rootNodes,
165
- hasMore,
166
- isLoading,
167
- loadMore: loadMoreFromHook,
168
- refresh,
169
- totalDocs
170
- } = useChildren({
171
- allPossibleTypeValues,
172
- baseFilter,
173
- cache: childrenCache,
174
- collectionSlug,
175
- enabled: true,
176
- filterByCollections,
177
- initialData,
178
- limit: treeLimit,
179
- parentFieldName,
180
- parentId: 'null',
181
- typeFieldName,
182
- useAsTitle
183
- });
184
- const handleLoadMore = useCallback(async () => {
185
- await loadMoreFromHook();
186
- }, [loadMoreFromHook]);
187
- const handleNodeClick = useCallback(({
188
- id: id_0
189
- }) => {
190
- onNodeClick?.({
191
- id: id_0
192
- });
193
- }, [onNodeClick]);
194
- const handleTreeKeyDown = useCallback(e => {
195
- if (e.key === 'ArrowDown') {
196
- e.preventDefault();
197
- moveFocus('down');
198
- } else if (e.key === 'ArrowUp') {
199
- e.preventDefault();
200
- moveFocus('up');
201
- }
202
- }, [moveFocus]);
203
- if (isLoading && !rootNodes) {
204
- return /*#__PURE__*/_jsx("div", {
205
- className: baseClass,
206
- children: /*#__PURE__*/_jsx(DelayedSpinner, {
207
- baseClass: baseClass,
208
- isLoading: true
209
- })
210
- });
211
- }
212
- if (!rootNodes || rootNodes.length === 0) {
213
- const collectionLabel = getEntityConfig({
214
- collectionSlug
215
- });
216
- return /*#__PURE__*/_jsx("div", {
217
- className: baseClass,
218
- children: /*#__PURE__*/_jsx(CreateDocumentButton, {
219
- buttonStyle: "primary",
220
- collections: [{
221
- collectionSlug
222
- }],
223
- drawerSlug: createDrawerSlug,
224
- label: t('general:createNewLabel', {
225
- label: getTranslation(collectionLabel.labels.singular, i18n)
226
- }),
227
- onSave: async () => {
228
- await refresh();
229
- router.refresh();
230
- }
231
- })
232
- });
233
- }
234
- const isAllSelected = selectedNodeId === null;
235
- const handleAllClick = () => onNodeClick?.({
236
- id: null
237
- });
238
- return /*#__PURE__*/_jsxs("div", {
239
- className: baseClass,
240
- onKeyDown: handleTreeKeyDown,
241
- ref: treeRef,
242
- role: "tree",
243
- tabIndex: -1,
244
- children: [/*#__PURE__*/_jsxs("div", {
245
- "aria-selected": isAllSelected,
246
- className: [`${baseClass}__all-option`, isAllSelected && `${baseClass}__all-option--selected`].filter(Boolean).join(' '),
247
- onClick: handleAllClick,
248
- onKeyDown: e_0 => {
249
- if (e_0.key === 'Enter' || e_0.key === ' ') {
250
- e_0.preventDefault();
251
- handleAllClick();
252
- }
253
- },
254
- role: "treeitem",
255
- tabIndex: 0,
256
- children: [icon || /*#__PURE__*/_jsx(TagIcon, {
257
- color: "muted"
258
- }), /*#__PURE__*/_jsxs("span", {
259
- children: [t('general:all'), ' ', getTranslation(getEntityConfig({
260
- collectionSlug
261
- })?.labels?.plural, i18n)]
262
- })]
263
- }), rootNodes.map(node => {
264
- const nodeId_0 = node.id;
265
- const nodeIdStr = typeof nodeId_0 === 'number' ? String(nodeId_0) : nodeId_0;
266
- const nodeTitle = getDocumentTitle(node, useAsTitle);
267
- return /*#__PURE__*/_jsx(TreeNode, {
268
- allPossibleTypeValues: allPossibleTypeValues,
269
- baseFilter: baseFilter,
270
- cache: childrenCache,
271
- collectionSlug: collectionSlug,
272
- depth: 0,
273
- expandedNodes: expandedNodes,
274
- filterByCollections: filterByCollections,
275
- limit: treeLimit,
276
- node: {
277
- id: nodeId_0,
278
- hasChildren: true,
279
- title: nodeTitle
280
- },
281
- onSelect: handleNodeClick,
282
- onToggle: handleToggleNode,
283
- parentFieldName: parentFieldName,
284
- selected: nodeIdStr === String(selectedNodeId),
285
- selectedNodeId: selectedNodeId,
286
- typeFieldName: typeFieldName,
287
- useAsTitle: useAsTitle
288
- }, nodeIdStr);
289
- }), hasMore && /*#__PURE__*/_jsx(LoadMore, {
290
- currentCount: rootNodes.length,
291
- depth: 0,
292
- id: "load-more-root",
293
- onLoadMore: handleLoadMore,
294
- totalDocs: totalDocs
295
- })]
296
- });
297
- };
298
- export const HierarchyTree = props => {
299
- return /*#__PURE__*/_jsx(TreeFocusProvider, {
300
- children: /*#__PURE__*/_jsx(HierarchyTreeInner, {
301
- ...props
302
- })
303
- });
304
- };
305
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","useRouter","DEFAULT_HIERARCHY_TREE_LIMIT","React","useCallback","useId","useMemo","useRef","TagIcon","useConfig","useHierarchy","useTranslation","CreateDocumentButton","DelayedSpinner","LoadMore","TreeFocusProvider","useTreeFocus","TreeNode","useChildren","baseClass","getDocumentTitle","doc","useAsTitle","docId","id","idStr","String","value","HierarchyTreeInner","baseFilter","collectionSlug","filterByCollections","icon","initialData","initialDataProp","initialExpandedNodes","initialExpandedNodesProp","onNodeClick","selectedNodeId","useAsTitleProp","moveFocus","router","i18n","t","getEntityConfig","createDrawerSlug","getExpandedNodesForCollection","getTreeDataForCollection","toggleNodeForCollection","typeFieldName","collectionConfig","hierarchyConfig","hierarchy","undefined","parentFieldName","treeLimit","admin","allPossibleTypeValues","relatedCollections","Object","keys","contextData","baseFilterKey","JSON","stringify","contextBaseFilterKey","contextSeededRef","lastInitialExpandedRef","current","expandedNodes","contextExpanded","size","Set","handleToggleNode","wasSeeded","length","initialSet","map","isCurrentlyExpanded","has","nodeId","childrenCache","Map","prevBaseFilterKeyRef","clear","docs","docsByParent","parentId","parentKey","set","get","push","filterKey","slice","sort","join","cacheKey","parentMeta","loadedParents","loadedCount","children","hasMore","page","Math","ceil","totalDocs","treeRef","rootNodes","isLoading","loadMore","loadMoreFromHook","refresh","cache","enabled","limit","handleLoadMore","handleNodeClick","handleTreeKeyDown","e","key","preventDefault","_jsx","className","collectionLabel","buttonStyle","collections","drawerSlug","label","labels","singular","onSave","isAllSelected","handleAllClick","_jsxs","onKeyDown","ref","role","tabIndex","filter","Boolean","onClick","color","plural","node","nodeIdStr","nodeTitle","depth","hasChildren","title","onSelect","onToggle","selected","currentCount","onLoadMore","HierarchyTree","props"],"sources":["../../../../src/elements/Hierarchy/Tree/index.tsx"],"sourcesContent":["'use client'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport { DEFAULT_HIERARCHY_TREE_LIMIT } from 'payload/shared'\nimport React, { useCallback, useId, useMemo, useRef } from 'react'\n\nimport type { CachedChildren, HierarchyTreeProps, TreeDocument } from './types.js'\n\nimport { TagIcon } from '../../../icons/Tag/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useHierarchy } from '../../../providers/Hierarchy/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { CreateDocumentButton } from '../../CreateDocumentButton/index.js'\nimport { DelayedSpinner } from '../../DelayedSpinner/index.js'\nimport { LoadMore } from './LoadMore/index.js'\nimport { TreeFocusProvider, useTreeFocus } from './TreeFocusContext.js'\nimport { TreeNode } from './TreeNode/index.js'\nimport { useChildren } from './useChildren.js'\nimport './index.scss'\n\nconst baseClass = 'tree'\n\nconst getDocumentTitle = (doc: TreeDocument, useAsTitle: string | undefined): string => {\n const docId: number | string = doc.id\n const idStr = typeof docId === 'number' ? String(docId) : docId\n\n if (!useAsTitle) {\n return idStr\n }\n\n const value = doc[useAsTitle]\n if (value && (typeof value === 'string' || typeof value === 'number')) {\n return String(value)\n }\n return idStr\n}\n\nconst HierarchyTreeInner: React.FC<HierarchyTreeProps> = ({\n baseFilter,\n collectionSlug,\n filterByCollections,\n icon,\n initialData: initialDataProp,\n initialExpandedNodes: initialExpandedNodesProp,\n onNodeClick,\n selectedNodeId,\n useAsTitle: useAsTitleProp,\n}) => {\n const { moveFocus } = useTreeFocus()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const { getEntityConfig } = useConfig()\n const createDrawerSlug = `tree-create-${useId()}`\n\n const {\n getExpandedNodesForCollection,\n getTreeDataForCollection,\n toggleNodeForCollection,\n typeFieldName,\n } = useHierarchy()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const hierarchyConfig =\n collectionConfig.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n const parentFieldName = hierarchyConfig?.parentFieldName\n const treeLimit = hierarchyConfig?.admin?.treeLimit ?? DEFAULT_HIERARCHY_TREE_LIMIT\n const useAsTitle = useAsTitleProp ?? collectionConfig.admin?.useAsTitle\n\n const allPossibleTypeValues = useMemo(\n () =>\n hierarchyConfig?.relatedCollections\n ? Object.keys(hierarchyConfig.relatedCollections)\n : undefined,\n [hierarchyConfig?.relatedCollections],\n )\n\n const contextData = getTreeDataForCollection(collectionSlug)\n const baseFilterKey = baseFilter ? JSON.stringify(baseFilter) : ''\n const contextBaseFilterKey = contextData?.baseFilter ? JSON.stringify(contextData.baseFilter) : ''\n const initialData =\n baseFilterKey === contextBaseFilterKey ? (contextData ?? initialDataProp) : initialDataProp\n // Tracks whether context has been seeded at least once since the last navigation.\n // Resets when initialExpandedNodesProp changes (new array reference = navigation).\n // Allows the memo to distinguish \"not yet seeded\" (fall back to prop) from\n // \"user collapsed all nodes\" (trust empty context).\n const contextSeededRef = useRef(false)\n const lastInitialExpandedRef = useRef(initialExpandedNodesProp)\n if (lastInitialExpandedRef.current !== initialExpandedNodesProp) {\n lastInitialExpandedRef.current = initialExpandedNodesProp\n contextSeededRef.current = false\n }\n\n const expandedNodes = useMemo(() => {\n const contextExpanded = getExpandedNodesForCollection(collectionSlug)\n if (contextExpanded.size > 0) {\n contextSeededRef.current = true\n return contextExpanded\n }\n if (contextSeededRef.current) {\n // Context was seeded (had nodes since last navigation) — trust empty set as \"all collapsed\"\n return contextExpanded\n }\n return initialExpandedNodesProp ? new Set(initialExpandedNodesProp) : contextExpanded\n }, [collectionSlug, getExpandedNodesForCollection, initialExpandedNodesProp])\n\n const handleToggleNode = useCallback(\n ({ id }: { id: number | string }) => {\n // Mark context as seeded so the memo never falls back to the prop after this interaction.\n // Capture the previous value first — seeding is only needed on the very first interaction.\n const wasSeeded = contextSeededRef.current\n contextSeededRef.current = true\n const contextExpanded = getExpandedNodesForCollection(collectionSlug)\n if (!wasSeeded && contextExpanded.size === 0 && initialExpandedNodesProp?.length) {\n // Context not yet seeded. Seed it with all initial nodes, applying the toggle correctly:\n // exclude the target if collapsing, include it if expanding.\n const initialSet = new Set(initialExpandedNodesProp.map(String))\n const isCurrentlyExpanded = initialSet.has(String(id))\n for (const nodeId of initialExpandedNodesProp) {\n if (!isCurrentlyExpanded || String(nodeId) !== String(id)) {\n toggleNodeForCollection(collectionSlug, nodeId)\n }\n }\n if (!isCurrentlyExpanded) {\n toggleNodeForCollection(collectionSlug, id)\n }\n return\n }\n toggleNodeForCollection(collectionSlug, id)\n },\n [\n collectionSlug,\n getExpandedNodesForCollection,\n initialExpandedNodesProp,\n toggleNodeForCollection,\n ],\n )\n\n // Pre-populate cache with initialData synchronously before first render\n const childrenCache = useRef<Map<string, CachedChildren>>(new Map())\n\n const prevBaseFilterKeyRef = useRef(baseFilterKey)\n if (prevBaseFilterKeyRef.current !== baseFilterKey) {\n prevBaseFilterKeyRef.current = baseFilterKey\n childrenCache.current.clear()\n }\n\n useMemo(() => {\n if (!initialData || initialData.docs.length === 0) {\n return\n }\n\n const docsByParent = new Map<string, TreeDocument[]>()\n for (const doc of initialData.docs) {\n const parentId = doc[parentFieldName] || 'null'\n const parentKey = String(parentId)\n if (!docsByParent.has(parentKey)) {\n docsByParent.set(parentKey, [])\n }\n docsByParent.get(parentKey).push(doc)\n }\n\n const filterKey = filterByCollections?.length\n ? filterByCollections.slice().sort().join(',')\n : ''\n for (const [parentKey, docs] of docsByParent) {\n const cacheKey = `${collectionSlug}-${parentKey}-${filterKey}-${baseFilterKey}`\n const parentMeta = initialData.loadedParents[parentKey]\n\n if (parentMeta) {\n const loadedCount = parentMeta.loadedCount ?? docs.length\n childrenCache.current.set(cacheKey, {\n children: docs,\n hasMore: parentMeta.hasMore,\n page: Math.ceil(loadedCount / treeLimit) || 1,\n totalDocs: parentMeta.totalDocs,\n })\n } else {\n childrenCache.current.set(cacheKey, {\n children: docs,\n hasMore: false,\n page: 1,\n totalDocs: docs.length,\n })\n }\n }\n }, [initialData, filterByCollections, parentFieldName, collectionSlug, treeLimit, baseFilterKey])\n\n const treeRef = useRef<HTMLDivElement>(null)\n\n const {\n children: rootNodes,\n hasMore,\n isLoading,\n loadMore: loadMoreFromHook,\n refresh,\n totalDocs,\n } = useChildren({\n allPossibleTypeValues,\n baseFilter,\n cache: childrenCache,\n collectionSlug,\n enabled: true,\n filterByCollections,\n initialData,\n limit: treeLimit,\n parentFieldName,\n parentId: 'null',\n typeFieldName,\n useAsTitle,\n })\n\n const handleLoadMore = useCallback(async () => {\n await loadMoreFromHook()\n }, [loadMoreFromHook])\n\n const handleNodeClick = useCallback(\n ({ id }: { id: number | string }) => {\n onNodeClick?.({ id })\n },\n [onNodeClick],\n )\n\n const handleTreeKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n moveFocus('down')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n moveFocus('up')\n }\n },\n [moveFocus],\n )\n\n if (isLoading && !rootNodes) {\n return (\n <div className={baseClass}>\n <DelayedSpinner baseClass={baseClass} isLoading={true} />\n </div>\n )\n }\n\n if (!rootNodes || rootNodes.length === 0) {\n const collectionLabel = getEntityConfig({ collectionSlug })\n return (\n <div className={baseClass}>\n <CreateDocumentButton\n buttonStyle=\"primary\"\n collections={[{ collectionSlug }]}\n drawerSlug={createDrawerSlug}\n label={t('general:createNewLabel', {\n label: getTranslation(collectionLabel.labels.singular, i18n),\n })}\n onSave={async () => {\n await refresh()\n router.refresh()\n }}\n />\n </div>\n )\n }\n\n const isAllSelected = selectedNodeId === null\n const handleAllClick = () => onNodeClick?.({ id: null })\n\n return (\n <div\n className={baseClass}\n onKeyDown={handleTreeKeyDown}\n ref={treeRef}\n role=\"tree\"\n tabIndex={-1}\n >\n <div\n aria-selected={isAllSelected}\n className={[\n `${baseClass}__all-option`,\n isAllSelected && `${baseClass}__all-option--selected`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={handleAllClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n handleAllClick()\n }\n }}\n role=\"treeitem\"\n tabIndex={0}\n >\n {icon || <TagIcon color=\"muted\" />}\n <span>\n {t('general:all')}{' '}\n {getTranslation(getEntityConfig({ collectionSlug })?.labels?.plural, i18n)}\n </span>\n </div>\n {rootNodes.map((node) => {\n const nodeId: number | string = node.id\n const nodeIdStr = typeof nodeId === 'number' ? String(nodeId) : nodeId\n const nodeTitle = getDocumentTitle(node, useAsTitle)\n\n return (\n <TreeNode\n allPossibleTypeValues={allPossibleTypeValues}\n baseFilter={baseFilter}\n cache={childrenCache}\n collectionSlug={collectionSlug}\n depth={0}\n expandedNodes={expandedNodes}\n filterByCollections={filterByCollections}\n key={nodeIdStr}\n limit={treeLimit}\n node={{ id: nodeId, hasChildren: true, title: nodeTitle }}\n onSelect={handleNodeClick}\n onToggle={handleToggleNode}\n parentFieldName={parentFieldName}\n selected={nodeIdStr === String(selectedNodeId)}\n selectedNodeId={selectedNodeId}\n typeFieldName={typeFieldName}\n useAsTitle={useAsTitle}\n />\n )\n })}\n {hasMore && (\n <LoadMore\n currentCount={rootNodes.length}\n depth={0}\n id=\"load-more-root\"\n onLoadMore={handleLoadMore}\n totalDocs={totalDocs}\n />\n )}\n </div>\n )\n}\n\nexport const HierarchyTree: React.FC<HierarchyTreeProps> = (props) => {\n return (\n <TreeFocusProvider>\n <HierarchyTreeInner {...props} />\n </TreeFocusProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,60 +0,0 @@
1
- @import '../../../scss/styles.scss';
2
-
3
- .tree {
4
- --tree-indent: 20px;
5
- --tree-chevron-width: 16px;
6
- --tree-chevron-spacing: 8px;
7
- --tree-node-padding-y: calc(var(--base) / 4);
8
- --tree-node-content-height: 24px;
9
- --tree-row-gap: 8px;
10
- --tree-font-size: 13px;
11
-
12
- padding: 0;
13
- margin: 0;
14
- margin-top: 2px; // account for accessibility outline
15
-
16
- &__all-option {
17
- display: flex;
18
- align-items: center;
19
- gap: 8px;
20
- padding: var(--tree-node-padding-y) 0;
21
- font-size: var(--tree-font-size);
22
- line-height: var(--tree-node-content-height);
23
- height: var(--tree-node-content-height);
24
- margin-bottom: var(--tree-row-gap);
25
- cursor: pointer;
26
- user-select: none;
27
- color: var(--theme-text);
28
- border-radius: var(--style-radius-s);
29
-
30
- &:hover {
31
- text-decoration: underline;
32
- }
33
- &:focus-visible {
34
- outline: var(--accessibility-outline);
35
- }
36
- &--selected {
37
- font-weight: 600;
38
- }
39
-
40
- svg {
41
- width: 16px;
42
- height: 16px;
43
- flex-shrink: 0;
44
- }
45
- }
46
-
47
- &__loading {
48
- display: flex;
49
- align-items: center;
50
- justify-content: center;
51
- padding: var(--base);
52
- min-height: 100px;
53
- }
54
-
55
- &__empty {
56
- padding: 12px 16px;
57
- color: var(--theme-elevation-500);
58
- font-size: var(--tree-font-size);
59
- }
60
- }
@@ -1,76 +0,0 @@
1
- import type { TypeWithID, Where } from 'payload';
2
- import type { ReactNode, RefObject } from 'react';
3
- export type HierarchyDocument = {
4
- [key: string]: unknown;
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 HierarchyTreeProps = {
16
- baseFilter?: null | Where;
17
- collectionSlug: string;
18
- filterByCollections?: string[];
19
- icon?: ReactNode;
20
- /** Initial data for first render (before context hydration). After hydration, context data takes precedence. */
21
- initialData?: HierarchyInitialData | null;
22
- /** Initial expanded nodes for first render (before context hydration). After hydration, context takes precedence. */
23
- initialExpandedNodes?: (number | string)[];
24
- onNodeClick?: ({ id }: {
25
- id: null | number | string;
26
- }) => void;
27
- selectedNodeId?: null | number | string;
28
- useAsTitle?: string;
29
- };
30
- export type TreeDocument = {
31
- [key: string]: unknown;
32
- id: number | string;
33
- };
34
- export type TreeNodeData = {
35
- hasChildren: boolean;
36
- id: number | string;
37
- title: string;
38
- };
39
- export type CachedChildren = {
40
- children: TreeDocument[];
41
- hasMore: boolean;
42
- page: number;
43
- totalDocs: number;
44
- };
45
- export type TreeCache = RefObject<Map<string, CachedChildren>>;
46
- export type TreeInitialData = {
47
- docs: TreeDocument[];
48
- loadedParents: Record<string, {
49
- hasMore: boolean;
50
- loadedCount?: number;
51
- totalDocs: number;
52
- }>;
53
- };
54
- export type TreeNodeProps = {
55
- allPossibleTypeValues?: string[];
56
- baseFilter?: null | Where;
57
- cache: TreeCache;
58
- collectionSlug: string;
59
- depth: number;
60
- expandedNodes: Set<number | string>;
61
- filterByCollections?: string[];
62
- limit: number;
63
- node: TreeNodeData;
64
- onSelect?: ({ id }: {
65
- id: number | string;
66
- }) => void;
67
- onToggle: ({ id }: {
68
- id: number | string;
69
- }) => void;
70
- parentFieldName: string;
71
- selected?: boolean;
72
- selectedNodeId?: number | string;
73
- typeFieldName?: null | string;
74
- useAsTitle?: string;
75
- };
76
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Tree/types.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/elements/Hierarchy/Tree/types.ts"],"sourcesContent":["import type { TypeWithID, Where } from 'payload'\nimport type { ReactNode, RefObject } from 'react'\n\nexport type HierarchyDocument = {\n [key: string]: unknown\n} & TypeWithID\n\nexport type HierarchyInitialData = {\n baseFilter?: null | Where\n docs: HierarchyDocument[]\n // Metadata about what was loaded - keyed by parent ID ('null' for root)\n loadedParents: Record<string, { hasMore: boolean; loadedCount?: number; totalDocs: number }>\n}\n\nexport type HierarchyTreeProps = {\n baseFilter?: null | Where\n collectionSlug: string\n filterByCollections?: string[]\n icon?: ReactNode\n /** Initial data for first render (before context hydration). After hydration, context data takes precedence. */\n initialData?: HierarchyInitialData | null\n /** Initial expanded nodes for first render (before context hydration). After hydration, context takes precedence. */\n initialExpandedNodes?: (number | string)[]\n onNodeClick?: ({ id }: { id: null | number | string }) => void\n selectedNodeId?: null | number | string\n useAsTitle?: string\n}\n\n// Tree primitive types (used by TreeNode, useChildren, HierarchyTree)\n\nexport type TreeDocument = {\n [key: string]: unknown\n id: number | string\n}\n\nexport type TreeNodeData = {\n hasChildren: boolean\n id: number | string\n title: string\n}\n\nexport type CachedChildren = {\n children: TreeDocument[]\n hasMore: boolean\n page: number\n totalDocs: number\n}\n\nexport type TreeCache = RefObject<Map<string, CachedChildren>>\n\nexport type TreeInitialData = {\n docs: TreeDocument[]\n loadedParents: Record<string, { hasMore: boolean; loadedCount?: number; totalDocs: number }>\n}\n\nexport type TreeNodeProps = {\n allPossibleTypeValues?: string[]\n baseFilter?: null | Where\n cache: TreeCache\n collectionSlug: string\n depth: number\n expandedNodes: Set<number | string>\n filterByCollections?: string[]\n limit: number\n node: TreeNodeData\n onSelect?: ({ id }: { id: number | string }) => void\n onToggle: ({ id }: { id: number | string }) => void\n parentFieldName: string\n selected?: boolean\n selectedNodeId?: number | string\n typeFieldName?: null | string\n useAsTitle?: string\n}\n"],"mappings":"AAuDA","ignoreList":[]}
@@ -1,32 +0,0 @@
1
- import type { Where } from 'payload';
2
- import type { TreeCache, TreeDocument, TreeInitialData } from './types.js';
3
- type UseChildrenArgs = {
4
- allPossibleTypeValues?: string[];
5
- /** Base filter to apply to all queries (e.g., tenant filter) */
6
- baseFilter?: null | Where;
7
- cache?: TreeCache;
8
- /** Pre-computed cache key to ensure consistency with cache population */
9
- cacheKey?: string;
10
- collectionSlug: string;
11
- enabled?: boolean;
12
- filterByCollections?: string[];
13
- initialData?: null | TreeInitialData;
14
- limit?: number;
15
- parentFieldName: string;
16
- parentId: number | string;
17
- typeFieldName?: null | string;
18
- useAsTitle?: string;
19
- };
20
- type UseChildrenReturn = {
21
- children: null | TreeDocument[];
22
- hasMore: boolean;
23
- isLoading: boolean;
24
- /** Explicitly load children. Safe to call multiple times — no-ops if already loaded. */
25
- load: () => Promise<TreeDocument[]>;
26
- loadMore: () => Promise<TreeDocument[]>;
27
- refresh: () => Promise<TreeDocument[]>;
28
- totalDocs: number;
29
- };
30
- export declare const useChildren: ({ allPossibleTypeValues, baseFilter, cache, cacheKey: cacheKeyProp, collectionSlug, enabled, filterByCollections, initialData, limit, parentFieldName, parentId, typeFieldName, useAsTitle, }: UseChildrenArgs) => UseChildrenReturn;
31
- export {};
32
- //# sourceMappingURL=useChildren.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useChildren.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Tree/useChildren.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAMpC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAK1E,KAAK,eAAe,GAAG;IACrB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;IAChC,gEAAgE;IAChE,UAAU,CAAC,EAAE,IAAI,GAAG,KAAK,CAAA;IACzB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B,WAAW,CAAC,EAAE,IAAI,GAAG,eAAe,CAAA;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,IAAI,GAAG,YAAY,EAAE,CAAA;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,wFAAwF;IACxF,IAAI,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IACnC,QAAQ,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IACvC,OAAO,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IACtC,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,WAAW,kMAcrB,eAAe,KAAG,iBAyPpB,CAAA"}