@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":"useHierarchySearch.js","names":["formatAdminURL","qs","useCallback","useState","useConfig","useLocale","useHierarchySearch","collectionSlug","limit","parentFieldName","titleField","titlePathField","results","setResults","isLoading","setIsLoading","hasNextPage","setHasNextPage","totalDocs","setTotalDocs","page","setPage","currentQuery","setCurrentQuery","config","routes","api","serverURL","code","locale","fetchResults","append","pageToFetch","query","queryString","stringify","computeHierarchyPaths","select","where","contains","addQueryPrefix","url","apiRoute","path","response","fetch","credentials","ok","Error","data","json","docs","map","doc","prev","search","loadMore","clearResults"],"sources":["../../../src/elements/HierarchySearch/useHierarchySearch.ts"],"sourcesContent":["'use client'\n\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport { useCallback, useState } from 'react'\n\nimport type { SearchResult } from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\n\ntype UseHierarchySearchArgs = {\n collectionSlug: string\n limit?: number\n parentFieldName?: string\n titleField: string\n titlePathField?: string\n}\n\ntype UseHierarchySearchReturn = {\n clearResults: () => void\n hasNextPage: boolean\n isLoading: boolean\n loadMore: () => Promise<void>\n results: SearchResult[]\n search: (query: string) => Promise<void>\n totalDocs: number\n}\n\nexport const useHierarchySearch = ({\n collectionSlug,\n limit = 15,\n parentFieldName = 'parent',\n titleField,\n titlePathField = '_h_titlePath',\n}: UseHierarchySearchArgs): UseHierarchySearchReturn => {\n const [results, setResults] = useState<SearchResult[]>([])\n const [isLoading, setIsLoading] = useState(false)\n const [hasNextPage, setHasNextPage] = useState(false)\n const [totalDocs, setTotalDocs] = useState(0)\n const [page, setPage] = useState(1)\n const [currentQuery, setCurrentQuery] = useState('')\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { code: locale } = useLocale()\n\n const fetchResults = useCallback(\n async ({\n append,\n pageToFetch,\n query,\n }: {\n append: boolean\n pageToFetch: number\n query: string\n }) => {\n setIsLoading(true)\n\n try {\n const queryString = qs.stringify(\n {\n computeHierarchyPaths: true,\n limit,\n locale,\n page: pageToFetch,\n select: {\n [parentFieldName]: true,\n [titleField]: true,\n [titlePathField]: true,\n },\n where: {\n [titleField]: { contains: query },\n },\n },\n { addQueryPrefix: true },\n )\n\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${queryString}`,\n serverURL,\n })\n\n const response = await fetch(url, { credentials: 'include' })\n\n if (!response.ok) {\n throw new Error('Search failed')\n }\n\n const data = await response.json()\n const docs: SearchResult[] = (data.docs || []).map((doc: Record<string, unknown>) => ({\n ...doc,\n path: doc[titlePathField] || '',\n }))\n\n setResults(append ? (prev) => [...prev, ...docs] : docs)\n setHasNextPage(data.hasNextPage || false)\n setTotalDocs(data.totalDocs || 0)\n setPage(pageToFetch)\n setCurrentQuery(query)\n } catch {\n if (!append) {\n setResults([])\n setHasNextPage(false)\n setTotalDocs(0)\n }\n } finally {\n setIsLoading(false)\n }\n },\n [api, collectionSlug, limit, locale, parentFieldName, serverURL, titleField, titlePathField],\n )\n\n const search = useCallback(\n async (query: string) => {\n await fetchResults({ append: false, pageToFetch: 1, query })\n },\n [fetchResults],\n )\n\n const loadMore = useCallback(async () => {\n if (isLoading || !hasNextPage || !currentQuery) {\n return\n }\n\n await fetchResults({ append: true, pageToFetch: page + 1, query: currentQuery })\n }, [isLoading, hasNextPage, currentQuery, page, fetchResults])\n\n const clearResults = useCallback(() => {\n setResults([])\n setHasNextPage(false)\n setTotalDocs(0)\n setPage(1)\n setCurrentQuery('')\n }, [])\n\n return {\n clearResults,\n hasNextPage,\n isLoading,\n loadMore,\n results,\n search,\n totalDocs,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ import type { SidebarTabClientProps } from 'payload';
2
+ import React from 'react';
3
+ import type { HierarchyInitialData } from './types.js';
4
+ export declare const HierarchySidebarTab: React.FC<{
5
+ baseFilter?: Record<string, unknown>;
6
+ collectionSpecificOptions?: {
7
+ label: string;
8
+ value: string;
9
+ }[];
10
+ hierarchyCollectionSlug: string;
11
+ icon?: React.ReactNode;
12
+ initialData?: HierarchyInitialData | null;
13
+ initialExpandedNodes?: (number | string)[];
14
+ initialSelectedFilters?: string[];
15
+ parentFieldName?: string;
16
+ selectedNodeId?: null | string;
17
+ treeLimit?: number;
18
+ typeFieldName?: string;
19
+ useAsTitle?: string;
20
+ } & SidebarTabClientProps>;
21
+ //# sourceMappingURL=HierarchySidebarTab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HierarchySidebarTab.d.ts","sourceRoot":"","sources":["../../../src/elements/HierarchyTree/HierarchySidebarTab.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAIpD,OAAO,KAAgC,MAAM,OAAO,CAAA;AAEpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAStD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CACxC;IACE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,yBAAyB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC9D,uBAAuB,EAAE,MAAM,CAAA;IAC/B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,WAAW,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAA;IACzC,oBAAoB,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IAC1C,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAA;IACjC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,qBAAqB,CAkH1B,CAAA"}
@@ -0,0 +1,167 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
5
+ import { useRouter, useSearchParams } from 'next/navigation.js';
6
+ import { formatAdminURL } from 'payload/shared';
7
+ import React, { useCallback, useState } from 'react';
8
+ import { HierarchySearch } from '../../elements/HierarchySearch/index.js';
9
+ import { HydrateHierarchyProvider } from '../../elements/HydrateHierarchyProvider/index.js';
10
+ import { useConfig } from '../../providers/Config/index.js';
11
+ import { useHierarchy } from '../../providers/Hierarchy/index.js';
12
+ import { useRouteTransition } from '../../providers/RouteTransition/index.js';
13
+ import { HierarchyTree } from './index.js';
14
+ export const HierarchySidebarTab = t0 => {
15
+ const $ = _c(32);
16
+ const {
17
+ baseFilter,
18
+ collectionSpecificOptions,
19
+ hierarchyCollectionSlug,
20
+ icon,
21
+ initialData,
22
+ initialExpandedNodes,
23
+ initialSelectedFilters,
24
+ parentFieldName,
25
+ selectedNodeId: selectedNodeIdFromServer,
26
+ treeLimit,
27
+ typeFieldName,
28
+ useAsTitle
29
+ } = t0;
30
+ const router = useRouter();
31
+ const searchParams = useSearchParams();
32
+ const {
33
+ startRouteTransition
34
+ } = useRouteTransition();
35
+ const {
36
+ config: t1
37
+ } = useConfig();
38
+ const {
39
+ routes: t2
40
+ } = t1;
41
+ const {
42
+ admin: adminRoute
43
+ } = t2;
44
+ const [isSearchActive, setIsSearchActive] = useState(false);
45
+ let t3;
46
+ if ($[0] !== initialSelectedFilters) {
47
+ t3 = initialSelectedFilters ?? [];
48
+ $[0] = initialSelectedFilters;
49
+ $[1] = t3;
50
+ } else {
51
+ t3 = $[1];
52
+ }
53
+ const [selectedFilters, setSelectedFiltersLocal] = useState(t3);
54
+ const {
55
+ baseFilter: contextBaseFilter,
56
+ setSelectedFilters: setSelectedFiltersContext,
57
+ treeRefreshKey,
58
+ viewCollectionSlug
59
+ } = useHierarchy();
60
+ let t4;
61
+ if ($[2] !== adminRoute || $[3] !== baseFilter || $[4] !== collectionSpecificOptions || $[5] !== contextBaseFilter || $[6] !== hierarchyCollectionSlug || $[7] !== icon || $[8] !== initialData || $[9] !== initialExpandedNodes || $[10] !== initialSelectedFilters || $[11] !== isSearchActive || $[12] !== parentFieldName || $[13] !== router || $[14] !== searchParams || $[15] !== selectedFilters || $[16] !== selectedNodeIdFromServer || $[17] !== setSelectedFiltersContext || $[18] !== startRouteTransition || $[19] !== treeLimit || $[20] !== treeRefreshKey || $[21] !== typeFieldName || $[22] !== useAsTitle || $[23] !== viewCollectionSlug) {
62
+ const parentParam = searchParams.get("parent");
63
+ const isViewingThisCollection = viewCollectionSlug === hierarchyCollectionSlug;
64
+ const selectedNodeId = isViewingThisCollection ? parentParam ?? selectedNodeIdFromServer ?? undefined : undefined;
65
+ const baseFilterKey = baseFilter ? JSON.stringify(baseFilter) : "";
66
+ const contextBaseFilterKey = contextBaseFilter ? JSON.stringify(contextBaseFilter) : "";
67
+ const contextHasNewerBaseFilter = contextBaseFilter !== null && baseFilterKey !== contextBaseFilterKey;
68
+ const effectiveInitialData = treeRefreshKey === 0 && !contextHasNewerBaseFilter ? initialData : null;
69
+ const effectiveBaseFilter = contextHasNewerBaseFilter ? contextBaseFilter : baseFilter;
70
+ const effectiveBaseFilterKey = contextHasNewerBaseFilter ? contextBaseFilterKey : baseFilterKey;
71
+ let t5;
72
+ if ($[25] !== setSelectedFiltersContext) {
73
+ t5 = filters => {
74
+ setSelectedFiltersLocal(filters);
75
+ setSelectedFiltersContext(filters);
76
+ };
77
+ $[25] = setSelectedFiltersContext;
78
+ $[26] = t5;
79
+ } else {
80
+ t5 = $[26];
81
+ }
82
+ const handleFilterChange = t5;
83
+ let t6;
84
+ if ($[27] !== adminRoute || $[28] !== hierarchyCollectionSlug || $[29] !== router || $[30] !== startRouteTransition) {
85
+ t6 = t7 => {
86
+ const {
87
+ id
88
+ } = t7;
89
+ const url = formatAdminURL({
90
+ adminRoute,
91
+ path: `/collections/${hierarchyCollectionSlug}?parent=${id}`
92
+ });
93
+ startRouteTransition(() => {
94
+ router.push(url);
95
+ router.refresh();
96
+ });
97
+ };
98
+ $[27] = adminRoute;
99
+ $[28] = hierarchyCollectionSlug;
100
+ $[29] = router;
101
+ $[30] = startRouteTransition;
102
+ $[31] = t6;
103
+ } else {
104
+ t6 = $[31];
105
+ }
106
+ const handleNavigateToParent = t6;
107
+ t4 = _jsxs(_Fragment, {
108
+ children: [_jsx(HydrateHierarchyProvider, {
109
+ baseFilter: contextHasNewerBaseFilter ? undefined : baseFilter,
110
+ collectionSlug: hierarchyCollectionSlug,
111
+ expandedNodes: initialExpandedNodes,
112
+ parentFieldName,
113
+ selectedFilters: initialSelectedFilters,
114
+ treeData: effectiveInitialData,
115
+ treeLimit,
116
+ typeFieldName
117
+ }), _jsxs("div", {
118
+ className: "hierarchy-sidebar-tab",
119
+ children: [_jsx(HierarchySearch, {
120
+ collectionSlug: hierarchyCollectionSlug,
121
+ collectionSpecificOptions,
122
+ isActive: isSearchActive,
123
+ onActiveChange: setIsSearchActive,
124
+ onFilterChange: handleFilterChange,
125
+ onSelect: handleNavigateToParent,
126
+ selectedFilters
127
+ }), !isSearchActive && _jsx(HierarchyTree, {
128
+ baseFilter: effectiveBaseFilter,
129
+ collectionSlug: hierarchyCollectionSlug,
130
+ filterByCollections: selectedFilters.length > 0 ? selectedFilters : undefined,
131
+ icon,
132
+ initialData: effectiveInitialData,
133
+ onNodeClick: handleNavigateToParent,
134
+ selectedNodeId,
135
+ useAsTitle
136
+ }, `${hierarchyCollectionSlug}-${treeRefreshKey}-${effectiveBaseFilterKey}`)]
137
+ })]
138
+ });
139
+ $[2] = adminRoute;
140
+ $[3] = baseFilter;
141
+ $[4] = collectionSpecificOptions;
142
+ $[5] = contextBaseFilter;
143
+ $[6] = hierarchyCollectionSlug;
144
+ $[7] = icon;
145
+ $[8] = initialData;
146
+ $[9] = initialExpandedNodes;
147
+ $[10] = initialSelectedFilters;
148
+ $[11] = isSearchActive;
149
+ $[12] = parentFieldName;
150
+ $[13] = router;
151
+ $[14] = searchParams;
152
+ $[15] = selectedFilters;
153
+ $[16] = selectedNodeIdFromServer;
154
+ $[17] = setSelectedFiltersContext;
155
+ $[18] = startRouteTransition;
156
+ $[19] = treeLimit;
157
+ $[20] = treeRefreshKey;
158
+ $[21] = typeFieldName;
159
+ $[22] = useAsTitle;
160
+ $[23] = viewCollectionSlug;
161
+ $[24] = t4;
162
+ } else {
163
+ t4 = $[24];
164
+ }
165
+ return t4;
166
+ };
167
+ //# sourceMappingURL=HierarchySidebarTab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HierarchySidebarTab.js","names":["c","_c","useRouter","useSearchParams","formatAdminURL","React","useCallback","useState","HierarchySearch","HydrateHierarchyProvider","useConfig","useHierarchy","useRouteTransition","HierarchyTree","HierarchySidebarTab","t0","$","baseFilter","collectionSpecificOptions","hierarchyCollectionSlug","icon","initialData","initialExpandedNodes","initialSelectedFilters","parentFieldName","selectedNodeId","selectedNodeIdFromServer","treeLimit","typeFieldName","useAsTitle","router","searchParams","startRouteTransition","config","t1","routes","t2","admin","adminRoute","isSearchActive","setIsSearchActive","t3","selectedFilters","setSelectedFiltersLocal","contextBaseFilter","setSelectedFilters","setSelectedFiltersContext","treeRefreshKey","viewCollectionSlug","t4","parentParam","get","isViewingThisCollection","undefined","baseFilterKey","JSON","stringify","contextBaseFilterKey","contextHasNewerBaseFilter","effectiveInitialData","effectiveBaseFilter","effectiveBaseFilterKey","t5","filters","handleFilterChange","t6","t7","id","url","path","push","refresh","handleNavigateToParent","_jsxs","_Fragment","children","_jsx","collectionSlug","expandedNodes","treeData","className","isActive","onActiveChange","onFilterChange","onSelect","filterByCollections","length","onNodeClick"],"sources":["../../../src/elements/HierarchyTree/HierarchySidebarTab.tsx"],"sourcesContent":["'use client'\n\nimport type { SidebarTabClientProps } from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback, useState } from 'react'\n\nimport type { HierarchyInitialData } from './types.js'\n\nimport { HierarchySearch } from '../../elements/HierarchySearch/index.js'\nimport { HydrateHierarchyProvider } from '../../elements/HydrateHierarchyProvider/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useHierarchy } from '../../providers/Hierarchy/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { HierarchyTree } from './index.js'\n\nexport const HierarchySidebarTab: React.FC<\n {\n baseFilter?: Record<string, unknown>\n collectionSpecificOptions?: { label: string; value: string }[]\n hierarchyCollectionSlug: string\n icon?: React.ReactNode\n initialData?: HierarchyInitialData | null\n initialExpandedNodes?: (number | string)[]\n initialSelectedFilters?: string[]\n parentFieldName?: string\n selectedNodeId?: null | string\n treeLimit?: number\n typeFieldName?: string\n useAsTitle?: string\n } & SidebarTabClientProps\n> = ({\n baseFilter,\n collectionSpecificOptions,\n hierarchyCollectionSlug,\n icon,\n initialData,\n initialExpandedNodes,\n initialSelectedFilters,\n parentFieldName,\n selectedNodeId: selectedNodeIdFromServer,\n treeLimit,\n typeFieldName,\n useAsTitle,\n}) => {\n const router = useRouter()\n const searchParams = useSearchParams()\n const { startRouteTransition } = useRouteTransition()\n const {\n config: {\n routes: { admin: adminRoute },\n },\n } = useConfig()\n const [isSearchActive, setIsSearchActive] = useState(false)\n const [selectedFilters, setSelectedFiltersLocal] = useState<string[]>(\n initialSelectedFilters ?? [],\n )\n const {\n baseFilter: contextBaseFilter,\n setSelectedFilters: setSelectedFiltersContext,\n treeRefreshKey,\n viewCollectionSlug,\n } = useHierarchy()\n\n // Only show selection if the current list view matches this tab's hierarchy collection\n const parentParam = searchParams.get('parent')\n const isViewingThisCollection = viewCollectionSlug === hierarchyCollectionSlug\n const selectedNodeId = isViewingThisCollection\n ? (parentParam ?? selectedNodeIdFromServer ?? undefined)\n : undefined\n\n const baseFilterKey = baseFilter ? JSON.stringify(baseFilter) : ''\n const contextBaseFilterKey = contextBaseFilter ? JSON.stringify(contextBaseFilter) : ''\n\n // Context has a newer baseFilter if it exists and differs from props\n const contextHasNewerBaseFilter =\n contextBaseFilter !== null && baseFilterKey !== contextBaseFilterKey\n\n // Skip stale initialData when context has a newer baseFilter\n const effectiveInitialData =\n treeRefreshKey === 0 && !contextHasNewerBaseFilter ? initialData : null\n\n const effectiveBaseFilter = contextHasNewerBaseFilter ? contextBaseFilter : baseFilter\n const effectiveBaseFilterKey = contextHasNewerBaseFilter ? contextBaseFilterKey : baseFilterKey\n\n const handleFilterChange = useCallback(\n (filters: string[]) => {\n setSelectedFiltersLocal(filters)\n setSelectedFiltersContext(filters)\n },\n [setSelectedFiltersContext],\n )\n\n const handleNavigateToParent = useCallback(\n ({ id }: { id: number | string }) => {\n const url = formatAdminURL({\n adminRoute,\n path: `/collections/${hierarchyCollectionSlug}?parent=${id}`,\n })\n startRouteTransition(() => {\n router.push(url)\n router.refresh()\n })\n },\n [adminRoute, hierarchyCollectionSlug, router, startRouteTransition],\n )\n return (\n <>\n <HydrateHierarchyProvider\n baseFilter={contextHasNewerBaseFilter ? undefined : baseFilter}\n collectionSlug={hierarchyCollectionSlug}\n expandedNodes={initialExpandedNodes}\n parentFieldName={parentFieldName}\n selectedFilters={initialSelectedFilters}\n treeData={effectiveInitialData}\n treeLimit={treeLimit}\n typeFieldName={typeFieldName}\n />\n <div className=\"hierarchy-sidebar-tab\">\n <HierarchySearch\n collectionSlug={hierarchyCollectionSlug}\n collectionSpecificOptions={collectionSpecificOptions}\n isActive={isSearchActive}\n onActiveChange={setIsSearchActive}\n onFilterChange={handleFilterChange}\n onSelect={handleNavigateToParent}\n selectedFilters={selectedFilters}\n />\n {!isSearchActive && (\n <HierarchyTree\n baseFilter={effectiveBaseFilter}\n collectionSlug={hierarchyCollectionSlug}\n filterByCollections={selectedFilters.length > 0 ? selectedFilters : undefined}\n icon={icon}\n initialData={effectiveInitialData}\n key={`${hierarchyCollectionSlug}-${treeRefreshKey}-${effectiveBaseFilterKey}`}\n onNodeClick={handleNavigateToParent}\n selectedNodeId={selectedNodeId}\n useAsTitle={useAsTitle}\n />\n )}\n </div>\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { SidebarTabServerProps } from 'payload';
2
+ import React from 'react';
3
+ export type HierarchySidebarTabServerProps = {
4
+ hierarchyCollectionSlug: string;
5
+ } & SidebarTabServerProps;
6
+ export declare const HierarchySidebarTabServer: React.FC<HierarchySidebarTabServerProps>;
7
+ //# sourceMappingURL=HierarchySidebarTab.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HierarchySidebarTab.server.d.ts","sourceRoot":"","sources":["../../../src/elements/HierarchyTree/HierarchySidebarTab.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAS,MAAM,SAAS,CAAA;AAK3D,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,MAAM,MAAM,8BAA8B,GAAG;IAC3C,uBAAuB,EAAE,MAAM,CAAA;CAChC,GAAG,qBAAqB,CAAA;AAEzB,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,8BAA8B,CAwL9E,CAAA"}
@@ -0,0 +1,176 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { getTranslation } from '@payloadcms/translations';
3
+ import { DEFAULT_HIERARCHY_TREE_LIMIT, getInitialTreeData } from 'payload';
4
+ import { PREFERENCE_KEYS } from 'payload/shared';
5
+ import React from 'react';
6
+ // eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary
7
+ import { HierarchySidebarTab } from '../../exports/client/index.js';
8
+ import { TagIcon } from '../../icons/Tag/index.js';
9
+ import { RenderServerComponent } from '../RenderServerComponent/index.js';
10
+ export const HierarchySidebarTabServer = async ({
11
+ hierarchyCollectionSlug,
12
+ i18n,
13
+ payload,
14
+ req,
15
+ searchParams,
16
+ user
17
+ }) => {
18
+ if (!user) {
19
+ return null;
20
+ }
21
+ let initialData = null;
22
+ let initialExpandedNodes = [];
23
+ let initialSelectedFilters = [];
24
+ let selectedNodeId = null;
25
+ let parentFieldName = 'parent';
26
+ let treeLimit;
27
+ let typeFieldName;
28
+ let useAsTitle;
29
+ let collectionSpecificOptions = [];
30
+ let baseFilter = null;
31
+ // Get collection config and render icon (outside try block - doesn't need async)
32
+ const collectionConfig = payload.collections[hierarchyCollectionSlug]?.config;
33
+ const hierarchyConfig = collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object' ? collectionConfig.hierarchy : undefined;
34
+ const IconComponent = hierarchyConfig?.admin?.components?.Icon;
35
+ const icon = IconComponent ? RenderServerComponent({
36
+ Component: IconComponent,
37
+ importMap: payload.importMap,
38
+ key: `hierarchy-sidebar-icon-${hierarchyCollectionSlug}`
39
+ }) : /*#__PURE__*/_jsx(TagIcon, {
40
+ color: "muted"
41
+ });
42
+ try {
43
+ // Get selected node from URL (?parent=<id>)
44
+ selectedNodeId = searchParams?.parent ? String(searchParams.parent) : null;
45
+ // STEP 1: Load user's expanded node preferences
46
+ const preferenceKey = `${PREFERENCE_KEYS.HIERARCHY_TREE}-${hierarchyCollectionSlug}`;
47
+ const {
48
+ docs: preferenceDocs
49
+ } = await payload.find({
50
+ collection: 'payload-preferences',
51
+ limit: 1,
52
+ overrideAccess: false,
53
+ user,
54
+ where: {
55
+ and: [{
56
+ key: {
57
+ equals: preferenceKey
58
+ }
59
+ }, {
60
+ 'user.value': {
61
+ equals: user.id
62
+ }
63
+ }, {
64
+ 'user.relationTo': {
65
+ equals: user.collection
66
+ }
67
+ }]
68
+ }
69
+ });
70
+ const preferences = preferenceDocs[0];
71
+ if (preferences?.value?.expandedNodes) {
72
+ initialExpandedNodes = preferences.value.expandedNodes;
73
+ }
74
+ if (preferences?.value?.selectedFilters) {
75
+ initialSelectedFilters = preferences.value.selectedFilters;
76
+ }
77
+ // STEP 2: Get remaining config values
78
+ parentFieldName = hierarchyConfig?.parentFieldName;
79
+ treeLimit = hierarchyConfig?.admin?.treeLimit;
80
+ typeFieldName = hierarchyConfig?.collectionSpecific && typeof hierarchyConfig.collectionSpecific === 'object' ? hierarchyConfig.collectionSpecific.fieldName : undefined;
81
+ useAsTitle = collectionConfig?.admin?.useAsTitle;
82
+ // STEP 2.5: Build collection-specific options from related collections
83
+ if (hierarchyConfig.collectionSpecific && hierarchyConfig?.relatedCollections) {
84
+ collectionSpecificOptions = Object.keys(hierarchyConfig.relatedCollections).map(slug => {
85
+ const relatedConfig = payload.collections[slug]?.config;
86
+ const label = relatedConfig?.labels?.plural ?? slug;
87
+ return {
88
+ label: getTranslation(label, i18n),
89
+ value: slug
90
+ };
91
+ }).sort((a, b) => a.label.localeCompare(b.label));
92
+ }
93
+ // Track the immediate parent of the selected node (for ensuring siblings are loaded)
94
+ let selectedNodeParentId = null;
95
+ // If there's a selected node, ensure its ancestor chain is expanded
96
+ if (selectedNodeId) {
97
+ // Walk up the parent chain to root
98
+ const ancestorIds = [];
99
+ let currentNodeId = selectedNodeId;
100
+ let isFirstIteration = true;
101
+ while (currentNodeId) {
102
+ try {
103
+ const node = await payload.findByID({
104
+ id: currentNodeId,
105
+ collection: hierarchyCollectionSlug,
106
+ depth: 0,
107
+ overrideAccess: false,
108
+ user
109
+ });
110
+ const parentId = node?.[parentFieldName];
111
+ // Capture the immediate parent of the selected node
112
+ if (isFirstIteration) {
113
+ selectedNodeParentId = parentId ?? null;
114
+ isFirstIteration = false;
115
+ }
116
+ if (parentId) {
117
+ ancestorIds.push(parentId);
118
+ currentNodeId = parentId;
119
+ } else {
120
+ currentNodeId = null;
121
+ }
122
+ } catch {
123
+ break;
124
+ }
125
+ }
126
+ // Merge ancestor IDs with existing expanded nodes
127
+ const expandedSet = new Set(initialExpandedNodes);
128
+ ancestorIds.forEach(id => expandedSet.add(id));
129
+ initialExpandedNodes = Array.from(expandedSet);
130
+ }
131
+ const baseFilterFn = collectionConfig?.admin?.baseFilter ?? collectionConfig?.admin?.baseListFilter;
132
+ if (baseFilterFn && req) {
133
+ baseFilter = (await baseFilterFn({
134
+ limit: DEFAULT_HIERARCHY_TREE_LIMIT,
135
+ page: 1,
136
+ req,
137
+ sort: 'id'
138
+ })) ?? null;
139
+ }
140
+ initialData = await getInitialTreeData({
141
+ baseFilter,
142
+ collectionSlug: hierarchyCollectionSlug,
143
+ expandedNodeIds: initialExpandedNodes,
144
+ ...(initialSelectedFilters.length > 0 && {
145
+ filterByCollections: initialSelectedFilters
146
+ }),
147
+ ...(treeLimit !== undefined && {
148
+ limit: treeLimit
149
+ }),
150
+ req,
151
+ selectedNodeId,
152
+ selectedNodeParentId
153
+ });
154
+ } catch (error) {
155
+ payload.logger.warn({
156
+ err: error,
157
+ msg: `Failed to fetch hierarchy data for ${hierarchyCollectionSlug}`
158
+ });
159
+ // Fall back to client-side fetching if server fetch fails
160
+ }
161
+ return /*#__PURE__*/_jsx(HierarchySidebarTab, {
162
+ baseFilter: baseFilter,
163
+ collectionSpecificOptions: collectionSpecificOptions,
164
+ hierarchyCollectionSlug: hierarchyCollectionSlug,
165
+ icon: icon,
166
+ initialData: initialData,
167
+ initialExpandedNodes: initialExpandedNodes,
168
+ initialSelectedFilters: initialSelectedFilters,
169
+ parentFieldName: parentFieldName,
170
+ selectedNodeId: selectedNodeId,
171
+ treeLimit: treeLimit,
172
+ typeFieldName: typeFieldName,
173
+ useAsTitle: useAsTitle
174
+ });
175
+ };
176
+ //# sourceMappingURL=HierarchySidebarTab.server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HierarchySidebarTab.server.js","names":["getTranslation","DEFAULT_HIERARCHY_TREE_LIMIT","getInitialTreeData","PREFERENCE_KEYS","React","HierarchySidebarTab","TagIcon","RenderServerComponent","HierarchySidebarTabServer","hierarchyCollectionSlug","i18n","payload","req","searchParams","user","initialData","initialExpandedNodes","initialSelectedFilters","selectedNodeId","parentFieldName","treeLimit","typeFieldName","useAsTitle","collectionSpecificOptions","baseFilter","collectionConfig","collections","config","hierarchyConfig","hierarchy","undefined","IconComponent","admin","components","Icon","icon","Component","importMap","key","_jsx","color","parent","String","preferenceKey","HIERARCHY_TREE","docs","preferenceDocs","find","collection","limit","overrideAccess","where","and","equals","id","preferences","value","expandedNodes","selectedFilters","collectionSpecific","fieldName","relatedCollections","Object","keys","map","slug","relatedConfig","label","labels","plural","sort","a","b","localeCompare","selectedNodeParentId","ancestorIds","currentNodeId","isFirstIteration","node","findByID","depth","parentId","push","expandedSet","Set","forEach","add","Array","from","baseFilterFn","baseListFilter","page","collectionSlug","expandedNodeIds","length","filterByCollections","error","logger","warn","err","msg"],"sources":["../../../src/elements/HierarchyTree/HierarchySidebarTab.server.tsx"],"sourcesContent":["import type { SidebarTabServerProps, Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { DEFAULT_HIERARCHY_TREE_LIMIT, getInitialTreeData } from 'payload'\nimport { PREFERENCE_KEYS } from 'payload/shared'\nimport React from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary\nimport { HierarchySidebarTab } from '../../exports/client/index.js'\nimport { TagIcon } from '../../icons/Tag/index.js'\nimport { RenderServerComponent } from '../RenderServerComponent/index.js'\n\nexport type HierarchySidebarTabServerProps = {\n hierarchyCollectionSlug: string\n} & SidebarTabServerProps\n\nexport const HierarchySidebarTabServer: React.FC<HierarchySidebarTabServerProps> = async ({\n hierarchyCollectionSlug,\n i18n,\n payload,\n req,\n searchParams,\n user,\n}) => {\n if (!user) {\n return null\n }\n\n let initialData = null\n let initialExpandedNodes: (number | string)[] = []\n let initialSelectedFilters: string[] = []\n let selectedNodeId: null | string = null\n let parentFieldName = 'parent'\n let treeLimit: number | undefined\n let typeFieldName: string | undefined\n let useAsTitle: string | undefined\n let collectionSpecificOptions: { label: string; value: string }[] = []\n let baseFilter: null | Where = null\n\n // Get collection config and render icon (outside try block - doesn't need async)\n const collectionConfig = payload.collections[hierarchyCollectionSlug]?.config\n const hierarchyConfig =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n\n const IconComponent = hierarchyConfig?.admin?.components?.Icon\n const icon = IconComponent ? (\n RenderServerComponent({\n Component: IconComponent,\n importMap: payload.importMap,\n key: `hierarchy-sidebar-icon-${hierarchyCollectionSlug}`,\n })\n ) : (\n <TagIcon color=\"muted\" />\n )\n\n try {\n // Get selected node from URL (?parent=<id>)\n selectedNodeId = searchParams?.parent ? String(searchParams.parent) : null\n\n // STEP 1: Load user's expanded node preferences\n const preferenceKey = `${PREFERENCE_KEYS.HIERARCHY_TREE}-${hierarchyCollectionSlug}`\n\n const { docs: preferenceDocs } = await payload.find({\n collection: 'payload-preferences',\n limit: 1,\n overrideAccess: false,\n user,\n where: {\n and: [\n { key: { equals: preferenceKey } },\n { 'user.value': { equals: user.id } },\n { 'user.relationTo': { equals: user.collection } },\n ],\n },\n })\n\n const preferences = preferenceDocs[0]\n\n if (preferences?.value?.expandedNodes) {\n initialExpandedNodes = preferences.value.expandedNodes\n }\n\n if (preferences?.value?.selectedFilters) {\n initialSelectedFilters = preferences.value.selectedFilters\n }\n\n // STEP 2: Get remaining config values\n parentFieldName = hierarchyConfig?.parentFieldName\n treeLimit = hierarchyConfig?.admin?.treeLimit\n typeFieldName =\n hierarchyConfig?.collectionSpecific && typeof hierarchyConfig.collectionSpecific === 'object'\n ? hierarchyConfig.collectionSpecific.fieldName\n : undefined\n useAsTitle = collectionConfig?.admin?.useAsTitle\n\n // STEP 2.5: Build collection-specific options from related collections\n if (hierarchyConfig.collectionSpecific && hierarchyConfig?.relatedCollections) {\n collectionSpecificOptions = Object.keys(hierarchyConfig.relatedCollections)\n .map((slug) => {\n const relatedConfig = payload.collections[slug]?.config\n const label = relatedConfig?.labels?.plural ?? slug\n\n return {\n label: getTranslation(label, i18n),\n value: slug,\n }\n })\n .sort((a, b) => a.label.localeCompare(b.label))\n }\n\n // Track the immediate parent of the selected node (for ensuring siblings are loaded)\n let selectedNodeParentId: null | number | string = null\n\n // If there's a selected node, ensure its ancestor chain is expanded\n if (selectedNodeId) {\n // Walk up the parent chain to root\n const ancestorIds: (number | string)[] = []\n let currentNodeId: null | number | string = selectedNodeId\n let isFirstIteration = true\n\n while (currentNodeId) {\n try {\n const node = await payload.findByID({\n id: currentNodeId,\n collection: hierarchyCollectionSlug,\n depth: 0,\n overrideAccess: false,\n user,\n })\n\n const parentId = node?.[parentFieldName]\n\n // Capture the immediate parent of the selected node\n if (isFirstIteration) {\n selectedNodeParentId = parentId ?? null\n isFirstIteration = false\n }\n\n if (parentId) {\n ancestorIds.push(parentId)\n currentNodeId = parentId\n } else {\n currentNodeId = null\n }\n } catch {\n // Node not found or access denied\n break\n }\n }\n\n // Merge ancestor IDs with existing expanded nodes\n const expandedSet = new Set(initialExpandedNodes)\n ancestorIds.forEach((id) => expandedSet.add(id))\n initialExpandedNodes = Array.from(expandedSet)\n }\n\n const baseFilterFn =\n collectionConfig?.admin?.baseFilter ?? collectionConfig?.admin?.baseListFilter\n if (baseFilterFn && req) {\n baseFilter =\n (await baseFilterFn({ limit: DEFAULT_HIERARCHY_TREE_LIMIT, page: 1, req, sort: 'id' })) ??\n null\n }\n\n initialData = await getInitialTreeData({\n baseFilter,\n collectionSlug: hierarchyCollectionSlug,\n expandedNodeIds: initialExpandedNodes,\n ...(initialSelectedFilters.length > 0 && { filterByCollections: initialSelectedFilters }),\n ...(treeLimit !== undefined && { limit: treeLimit }),\n req,\n selectedNodeId,\n selectedNodeParentId,\n })\n } catch (error) {\n payload.logger.warn({\n err: error,\n msg: `Failed to fetch hierarchy data for ${hierarchyCollectionSlug}`,\n })\n // Fall back to client-side fetching if server fetch fails\n }\n\n return (\n <HierarchySidebarTab\n baseFilter={baseFilter}\n collectionSpecificOptions={collectionSpecificOptions}\n hierarchyCollectionSlug={hierarchyCollectionSlug}\n icon={icon}\n initialData={initialData}\n initialExpandedNodes={initialExpandedNodes}\n initialSelectedFilters={initialSelectedFilters}\n parentFieldName={parentFieldName}\n selectedNodeId={selectedNodeId}\n treeLimit={treeLimit}\n typeFieldName={typeFieldName}\n useAsTitle={useAsTitle}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ type LoadMoreButtonProps = {
3
+ id: string;
4
+ onLoadMore: (() => Promise<void>) | (() => void);
5
+ };
6
+ export declare const LoadMoreButton: React.FC<LoadMoreButtonProps>;
7
+ export {};
8
+ //# sourceMappingURL=LoadMoreButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadMoreButton.d.ts","sourceRoot":"","sources":["../../../../src/elements/HierarchyTree/LoadMore/LoadMoreButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAKlD,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAA;CACjD,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAyBxD,CAAA"}
@@ -0,0 +1,36 @@
1
+ 'use client';
2
+
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ import React, { useCallback, useRef } from 'react';
5
+ import { useTranslation } from '../../../providers/Translation/index.js';
6
+ import { useFocusableItem } from '../TreeFocusContext.js';
7
+ export const LoadMoreButton = ({
8
+ id,
9
+ onLoadMore
10
+ }) => {
11
+ const {
12
+ t
13
+ } = useTranslation();
14
+ const buttonRef = useRef(null);
15
+ const {
16
+ handleFocus,
17
+ tabIndex
18
+ } = useFocusableItem({
19
+ id,
20
+ type: 'load-more',
21
+ ref: buttonRef
22
+ });
23
+ const handleClick = useCallback(async () => {
24
+ await onLoadMore();
25
+ }, [onLoadMore]);
26
+ return /*#__PURE__*/_jsx("button", {
27
+ className: "hierarchy-tree__load-more-button",
28
+ onClick: handleClick,
29
+ onFocus: handleFocus,
30
+ ref: buttonRef,
31
+ tabIndex: tabIndex,
32
+ type: "button",
33
+ children: t('general:loadMore')
34
+ });
35
+ };
36
+ //# sourceMappingURL=LoadMoreButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadMoreButton.js","names":["React","useCallback","useRef","useTranslation","useFocusableItem","LoadMoreButton","id","onLoadMore","t","buttonRef","handleFocus","tabIndex","type","ref","handleClick","_jsx","className","onClick","onFocus"],"sources":["../../../../src/elements/HierarchyTree/LoadMore/LoadMoreButton.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useRef } from 'react'\n\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { useFocusableItem } from '../TreeFocusContext.js'\n\ntype LoadMoreButtonProps = {\n id: string\n onLoadMore: (() => Promise<void>) | (() => void)\n}\n\nexport const LoadMoreButton: React.FC<LoadMoreButtonProps> = ({ id, onLoadMore }) => {\n const { t } = useTranslation()\n const buttonRef = useRef<HTMLButtonElement>(null)\n const { handleFocus, tabIndex } = useFocusableItem({\n id,\n type: 'load-more',\n ref: buttonRef,\n })\n\n const handleClick = useCallback(async () => {\n await onLoadMore()\n }, [onLoadMore])\n\n return (\n <button\n className=\"hierarchy-tree__load-more-button\"\n onClick={handleClick}\n onFocus={handleFocus}\n ref={buttonRef}\n tabIndex={tabIndex}\n type=\"button\"\n >\n {t('general:loadMore')}\n </button>\n )\n}\n"],"mappings":"AAAA;;;AAEA,OAAOA,KAAA,IAASC,WAAW,EAAEC,MAAM,QAAQ;AAE3C,SAASC,cAAc,QAAQ;AAC/B,SAASC,gBAAgB,QAAQ;AAOjC,OAAO,MAAMC,cAAA,GAAgDA,CAAC;EAAEC,EAAE;EAAEC;AAAU,CAAE;EAC9E,MAAM;IAAEC;EAAC,CAAE,GAAGL,cAAA;EACd,MAAMM,SAAA,GAAYP,MAAA,CAA0B;EAC5C,MAAM;IAAEQ,WAAW;IAAEC;EAAQ,CAAE,GAAGP,gBAAA,CAAiB;IACjDE,EAAA;IACAM,IAAA,EAAM;IACNC,GAAA,EAAKJ;EACP;EAEA,MAAMK,WAAA,GAAcb,WAAA,CAAY;IAC9B,MAAMM,UAAA;EACR,GAAG,CAACA,UAAA,CAAW;EAEf,oBACEQ,IAAA,CAAC;IACCC,SAAA,EAAU;IACVC,OAAA,EAASH,WAAA;IACTI,OAAA,EAASR,WAAA;IACTG,GAAA,EAAKJ,SAAA;IACLE,QAAA,EAAUA,QAAA;IACVC,IAAA,EAAK;cAEJJ,CAAA,CAAE;;AAGT","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import './index.scss';
3
+ type LoadMoreProps = {
4
+ currentCount: number;
5
+ depth: number;
6
+ id: string;
7
+ onLoadMore: (() => Promise<void>) | (() => void);
8
+ totalDocs: number;
9
+ };
10
+ export declare const LoadMore: React.FC<LoadMoreProps>;
11
+ export {};
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/HierarchyTree/LoadMore/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAErB,KAAK,aAAa,GAAG;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAA;IAChD,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAiB5C,CAAA"}
@@ -0,0 +1,29 @@
1
+ 'use client';
2
+
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ import React from 'react';
5
+ import { LoadMoreRow } from '../../LoadMoreRow/index.js';
6
+ import { LoadMoreButton } from './LoadMoreButton.js';
7
+ import './index.scss';
8
+ export const LoadMore = ({
9
+ id,
10
+ currentCount,
11
+ depth,
12
+ onLoadMore,
13
+ totalDocs
14
+ }) => {
15
+ return /*#__PURE__*/_jsx(LoadMoreRow, {
16
+ className: "hierarchy-tree__load-more",
17
+ currentCount: currentCount,
18
+ hasMore: currentCount < totalDocs,
19
+ loadMoreButton: /*#__PURE__*/_jsx(LoadMoreButton, {
20
+ id: id,
21
+ onLoadMore: onLoadMore
22
+ }),
23
+ style: {
24
+ '--hierarchy-tree-depth': depth
25
+ },
26
+ totalDocs: totalDocs
27
+ });
28
+ };
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","LoadMoreRow","LoadMoreButton","LoadMore","id","currentCount","depth","onLoadMore","totalDocs","_jsx","className","hasMore","loadMoreButton","style"],"sources":["../../../../src/elements/HierarchyTree/LoadMore/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { LoadMoreRow } from '../../LoadMoreRow/index.js'\nimport { LoadMoreButton } from './LoadMoreButton.js'\nimport './index.scss'\n\ntype LoadMoreProps = {\n currentCount: number\n depth: number\n id: string\n onLoadMore: (() => Promise<void>) | (() => void)\n totalDocs: number\n}\n\nexport const LoadMore: React.FC<LoadMoreProps> = ({\n id,\n currentCount,\n depth,\n onLoadMore,\n totalDocs,\n}) => {\n return (\n <LoadMoreRow\n className=\"hierarchy-tree__load-more\"\n currentCount={currentCount}\n hasMore={currentCount < totalDocs}\n loadMoreButton={<LoadMoreButton id={id} onLoadMore={onLoadMore} />}\n style={{ '--hierarchy-tree-depth': depth } as React.CSSProperties}\n totalDocs={totalDocs}\n />\n )\n}\n"],"mappings":"AAAA;;;AAEA,OAAOA,KAAA,MAAW;AAElB,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAUP,OAAO,MAAMC,QAAA,GAAoCA,CAAC;EAChDC,EAAE;EACFC,YAAY;EACZC,KAAK;EACLC,UAAU;EACVC;AAAS,CACV;EACC,oBACEC,IAAA,CAACR,WAAA;IACCS,SAAA,EAAU;IACVL,YAAA,EAAcA,YAAA;IACdM,OAAA,EAASN,YAAA,GAAeG,SAAA;IACxBI,cAAA,eAAgBH,IAAA,CAACP,cAAA;MAAeE,EAAA,EAAIA,EAAA;MAAIG,UAAA,EAAYA;;IACpDM,KAAA,EAAO;MAAE,0BAA0BP;IAAM;IACzCE,SAAA,EAAWA;;AAGjB","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ // Tree-specific overrides for the shared LoadMoreRow component
2
+
3
+ .hierarchy-tree__load-more.load-more-row {
4
+ padding: var(--hierarchy-tree-node-padding-y) var(--hierarchy-tree-node-padding-x);
5
+ padding-left: calc(var(--hierarchy-tree-depth, 0) * var(--hierarchy-tree-indent));
6
+ height: var(--hierarchy-tree-node-content-height);
7
+ position: relative;
8
+ margin-bottom: var(--hierarchy-tree-row-gap);
9
+ padding-top: 0;
10
+
11
+ .load-more-row__connector {
12
+ margin-left: 2px;
13
+ }
14
+ }
15
+
16
+ // Tree-specific button styling (uses native button for focus management)
17
+ .hierarchy-tree__load-more-button {
18
+ background: none;
19
+ border: none;
20
+ padding: 0;
21
+ color: var(--theme-text);
22
+ font-size: inherit;
23
+ font-family: inherit;
24
+ cursor: pointer;
25
+ text-decoration: underline;
26
+ }
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ type TreeConnectorProps = {
3
+ className?: string;
4
+ };
5
+ export declare const TreeConnector: React.FC<TreeConnectorProps>;
6
+ export {};
7
+ //# sourceMappingURL=TreeConnector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeConnector.d.ts","sourceRoot":"","sources":["../../../src/elements/HierarchyTree/TreeConnector.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,KAAK,kBAAkB,GAAG;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAkBtD,CAAA"}
@@ -0,0 +1,23 @@
1
+ 'use client';
2
+
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ import React from 'react';
5
+ export const TreeConnector = ({
6
+ className
7
+ }) => {
8
+ return /*#__PURE__*/_jsx("svg", {
9
+ className: className,
10
+ fill: "none",
11
+ height: "9",
12
+ viewBox: "0 0 9 9",
13
+ width: "9",
14
+ xmlns: "http://www.w3.org/2000/svg",
15
+ children: /*#__PURE__*/_jsx("path", {
16
+ d: "M7.59062 7.83333H3.16667C2.45942 7.83333 1.78115 7.55238 1.28105 7.05229C0.780951 6.55219 0.5 5.87391 0.5 5.16667V0.5",
17
+ stroke: "currentColor",
18
+ strokeLinecap: "round",
19
+ strokeLinejoin: "round"
20
+ })
21
+ });
22
+ };
23
+ //# sourceMappingURL=TreeConnector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeConnector.js","names":["React","TreeConnector","className","_jsx","fill","height","viewBox","width","xmlns","d","stroke","strokeLinecap","strokeLinejoin"],"sources":["../../../src/elements/HierarchyTree/TreeConnector.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\ntype TreeConnectorProps = {\n className?: string\n}\n\nexport const TreeConnector: React.FC<TreeConnectorProps> = ({ className }) => {\n return (\n <svg\n className={className}\n fill=\"none\"\n height=\"9\"\n viewBox=\"0 0 9 9\"\n width=\"9\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7.59062 7.83333H3.16667C2.45942 7.83333 1.78115 7.55238 1.28105 7.05229C0.780951 6.55219 0.5 5.87391 0.5 5.16667V0.5\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n}\n"],"mappings":"AAAA;;;AAEA,OAAOA,KAAA,MAAW;AAMlB,OAAO,MAAMC,aAAA,GAA8CA,CAAC;EAAEC;AAAS,CAAE;EACvE,oBACEC,IAAA,CAAC;IACCD,SAAA,EAAWA,SAAA;IACXE,IAAA,EAAK;IACLC,MAAA,EAAO;IACPC,OAAA,EAAQ;IACRC,KAAA,EAAM;IACNC,KAAA,EAAM;cAEN,aAAAL,IAAA,CAAC;MACCM,CAAA,EAAE;MACFC,MAAA,EAAO;MACPC,aAAA,EAAc;MACdC,cAAA,EAAe;;;AAIvB","ignoreList":[]}