@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,63 @@
1
+ @import '../../scss/styles.scss';
2
+
3
+ .tree {
4
+ // CSS variables for customization - defined once at the top level
5
+ --tree-indent: 20px;
6
+ --tree-chevron-width: 16px;
7
+ --tree-chevron-spacing: 8px;
8
+ --tree-node-padding-y: calc(var(--base) / 4); // 4px
9
+ --tree-node-content-height: 24px;
10
+ --tree-row-gap: 8px;
11
+ --tree-font-size: 13px;
12
+
13
+ padding: 0;
14
+ margin: 0;
15
+ margin-top: 2px; // account for accessibility outline
16
+
17
+ &__all-option {
18
+ display: flex;
19
+ align-items: center;
20
+ gap: 8px;
21
+ padding: var(--tree-node-padding-y) 0;
22
+ font-size: var(--tree-font-size);
23
+ line-height: var(--tree-node-content-height);
24
+ height: var(--tree-node-content-height);
25
+ margin-bottom: var(--tree-row-gap);
26
+ cursor: pointer;
27
+ user-select: none;
28
+ color: var(--theme-text);
29
+ border-radius: var(--style-radius-s);
30
+
31
+ &:hover {
32
+ text-decoration: underline;
33
+ }
34
+
35
+ &:focus-visible {
36
+ outline: var(--accessibility-outline);
37
+ }
38
+
39
+ &--selected {
40
+ font-weight: 600;
41
+ }
42
+
43
+ svg {
44
+ width: 16px;
45
+ height: 16px;
46
+ flex-shrink: 0;
47
+ }
48
+ }
49
+
50
+ &__loading {
51
+ display: flex;
52
+ align-items: center;
53
+ justify-content: center;
54
+ padding: var(--base);
55
+ min-height: 100px;
56
+ }
57
+
58
+ &__empty {
59
+ padding: 12px 16px;
60
+ color: var(--theme-elevation-500);
61
+ font-size: var(--tree-font-size);
62
+ }
63
+ }
@@ -0,0 +1,70 @@
1
+ import type { Where } from 'payload';
2
+ import type { MutableRefObject, ReactNode } from 'react';
3
+ export type TreeDocument = {
4
+ [key: string]: unknown;
5
+ id: number | string;
6
+ };
7
+ export type TreeNodeData = {
8
+ hasChildren: boolean;
9
+ id: number | string;
10
+ title: string;
11
+ };
12
+ export type CachedChildren = {
13
+ children: TreeDocument[];
14
+ hasMore: boolean;
15
+ page: number;
16
+ totalDocs: number;
17
+ };
18
+ export type TreeCache = MutableRefObject<Map<string, CachedChildren>>;
19
+ export type TreeInitialData = {
20
+ docs: TreeDocument[];
21
+ loadedParents: Record<string, {
22
+ hasMore: boolean;
23
+ loadedCount?: number;
24
+ totalDocs: number;
25
+ }>;
26
+ };
27
+ export type TreeProps = {
28
+ allPossibleTypeValues?: string[];
29
+ baseFilter?: null | Where;
30
+ collectionSlug: string;
31
+ expandedNodes: Set<number | string>;
32
+ filterByCollections?: string[];
33
+ icon?: ReactNode;
34
+ initialData?: null | TreeInitialData;
35
+ onNodeClick?: ({ id }: {
36
+ id: null | number | string;
37
+ }) => void;
38
+ parentFieldName: string;
39
+ selectedNodeId?: null | number | string;
40
+ showAllOption?: boolean;
41
+ toggleNode: ({ id }: {
42
+ id: number | string;
43
+ }) => void;
44
+ treeLimit?: number;
45
+ typeFieldName?: string;
46
+ useAsTitle?: string;
47
+ };
48
+ export type TreeNodeProps = {
49
+ allPossibleTypeValues?: string[];
50
+ baseFilter?: null | Where;
51
+ cache: TreeCache;
52
+ collectionSlug: string;
53
+ depth: number;
54
+ expandedNodes: Set<number | string>;
55
+ filterByCollections?: string[];
56
+ limit: number;
57
+ node: TreeNodeData;
58
+ onSelect?: ({ id }: {
59
+ id: number | string;
60
+ }) => void;
61
+ onToggle: ({ id }: {
62
+ id: number | string;
63
+ }) => void;
64
+ parentFieldName: string;
65
+ selected?: boolean;
66
+ selectedNodeId?: number | string;
67
+ typeFieldName?: null | string;
68
+ useAsTitle?: string;
69
+ };
70
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/Tree/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/Tree/types.ts"],"sourcesContent":["import type { Where } from 'payload'\nimport type { MutableRefObject, ReactNode } from 'react'\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 = MutableRefObject<Map<string, CachedChildren>>\n\nexport type TreeInitialData = {\n docs: TreeDocument[]\n loadedParents: Record<string, { hasMore: boolean; loadedCount?: number; totalDocs: number }>\n}\n\nexport type TreeProps = {\n allPossibleTypeValues?: string[]\n baseFilter?: null | Where\n collectionSlug: string\n expandedNodes: Set<number | string>\n filterByCollections?: string[]\n icon?: ReactNode\n initialData?: null | TreeInitialData\n onNodeClick?: ({ id }: { id: null | number | string }) => void\n parentFieldName: string\n selectedNodeId?: null | number | string\n showAllOption?: boolean\n toggleNode: ({ id }: { id: number | string }) => void\n treeLimit?: number\n typeFieldName?: string\n useAsTitle?: string\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":"AA8CA","ignoreList":[]}
@@ -0,0 +1,28 @@
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
+ collectionSlug: string;
9
+ enabled?: boolean;
10
+ filterByCollections?: string[];
11
+ initialData?: null | TreeInitialData;
12
+ limit?: number;
13
+ parentFieldName: string;
14
+ parentId: number | string;
15
+ typeFieldName?: null | string;
16
+ useAsTitle?: string;
17
+ };
18
+ type UseChildrenReturn = {
19
+ children: null | TreeDocument[];
20
+ hasMore: boolean;
21
+ isLoading: boolean;
22
+ loadMore: () => Promise<TreeDocument[]>;
23
+ refresh: () => Promise<TreeDocument[]>;
24
+ totalDocs: number;
25
+ };
26
+ export declare const useChildren: ({ allPossibleTypeValues, baseFilter, cache, collectionSlug, enabled, filterByCollections, initialData, limit, parentFieldName, parentId, typeFieldName, useAsTitle, }: UseChildrenArgs) => UseChildrenReturn;
27
+ export {};
28
+ //# sourceMappingURL=useChildren.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChildren.d.ts","sourceRoot":"","sources":["../../../src/elements/Tree/useChildren.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAMpC,OAAO,KAAK,EAAkB,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAK1F,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,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,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,0KAarB,eAAe,KAAG,iBAuOpB,CAAA"}
@@ -0,0 +1,213 @@
1
+ import { combineWhereConstraints, formatAdminURL } from 'payload/shared';
2
+ import * as qs from 'qs-esm';
3
+ import { useCallback, useEffect, useRef, useState } from 'react';
4
+ import { useConfig } from '../../providers/Config/index.js';
5
+ import { isSuperset } from '../../utilities/isSuperset.js';
6
+ export const useChildren = ({
7
+ allPossibleTypeValues,
8
+ baseFilter,
9
+ cache,
10
+ collectionSlug,
11
+ enabled = true,
12
+ filterByCollections,
13
+ initialData,
14
+ limit = 2,
15
+ parentFieldName,
16
+ parentId,
17
+ typeFieldName,
18
+ useAsTitle
19
+ }) => {
20
+ const filterKey = filterByCollections?.length ? filterByCollections.slice().sort().join(',') : '';
21
+ const baseFilterKey = baseFilter ? JSON.stringify(baseFilter) : '';
22
+ const cacheKey = `${collectionSlug}-${parentId}-${filterKey}-${baseFilterKey}`;
23
+ const cachedData = cache?.current.get(cacheKey);
24
+ // Check if we have initial data for this specific parent
25
+ const parentKey = parentId === 'null' ? 'null' : String(parentId);
26
+ const parentMeta = initialData?.loadedParents?.[parentKey];
27
+ const hasInitialData = !!parentMeta;
28
+ // Extract docs for this parent from initialData if available
29
+ // Apply same superset filter as fetchPage for consistency
30
+ const initialDocsForParent = hasInitialData ? initialData.docs.filter(doc => {
31
+ const docParent = doc[parentFieldName] || 'null';
32
+ if (String(docParent) !== parentKey) {
33
+ return false;
34
+ }
35
+ if (filterByCollections?.length && typeFieldName) {
36
+ return isSuperset(doc[typeFieldName], filterByCollections);
37
+ }
38
+ return true;
39
+ }) : null;
40
+ const [children, setChildren] = useState(initialDocsForParent || cachedData?.children || null);
41
+ const [isLoading, setIsLoading] = useState(!hasInitialData && !cachedData && enabled);
42
+ const [page, setPage] = useState(cachedData?.page || 1);
43
+ const [totalDocs, setTotalDocs] = useState(parentMeta?.totalDocs || cachedData?.totalDocs || 0);
44
+ const [hasMore, setHasMore] = useState(parentMeta?.hasMore || cachedData?.hasMore || false);
45
+ const initializedRef = useRef(!!hasInitialData);
46
+ const {
47
+ config: {
48
+ routes: {
49
+ api
50
+ },
51
+ serverURL
52
+ }
53
+ } = useConfig();
54
+ const fetchPage = useCallback(async (pageToFetch, currentChildren) => {
55
+ setIsLoading(true);
56
+ try {
57
+ const parentCondition = parentId === 'null' || parentId === null ? {
58
+ or: [{
59
+ [parentFieldName]: {
60
+ exists: false
61
+ }
62
+ }, {
63
+ [parentFieldName]: {
64
+ equals: null
65
+ }
66
+ }]
67
+ } : {
68
+ [parentFieldName]: {
69
+ equals: parentId
70
+ }
71
+ };
72
+ // Build filter condition for collection type filtering
73
+ // Matches items that:
74
+ // - allow ANY of the selected collections, OR
75
+ // - are unrestricted (type field doesn't exist), OR
76
+ // - have empty allowedTypes array (unrestricted)
77
+ const filterCondition = filterByCollections?.length && typeFieldName ? {
78
+ or: [{
79
+ [typeFieldName]: {
80
+ in: filterByCollections
81
+ }
82
+ }, {
83
+ [typeFieldName]: {
84
+ exists: false
85
+ }
86
+ },
87
+ // Using not_in with all possible values matches empty arrays in both MongoDB and Postgres
88
+ ...(allPossibleTypeValues?.length ? [{
89
+ [typeFieldName]: {
90
+ not_in: allPossibleTypeValues
91
+ }
92
+ }] : [])]
93
+ } : undefined;
94
+ // Combine conditions: parent + filter + baseFilter
95
+ const where = combineWhereConstraints([parentCondition, filterCondition, baseFilter]);
96
+ const queryParams = {
97
+ limit,
98
+ page: pageToFetch,
99
+ sort: useAsTitle ?? 'id',
100
+ where
101
+ };
102
+ const queryString = qs.stringify(queryParams, {
103
+ addQueryPrefix: true
104
+ });
105
+ const url = formatAdminURL({
106
+ apiRoute: api,
107
+ path: `/${collectionSlug}${queryString}`,
108
+ serverURL
109
+ });
110
+ const response = await fetch(url, {
111
+ credentials: 'include'
112
+ });
113
+ if (!response.ok) {
114
+ throw new Error('Failed to fetch children');
115
+ }
116
+ const data = await response.json();
117
+ const allDocs = data.docs || [];
118
+ // Client-side filter: only show items that are a superset of required collections
119
+ // Server query uses ANY (due to PG limitations), but we want ALL (superset)
120
+ const newDocs = filterByCollections?.length && typeFieldName ? allDocs.filter(doc => isSuperset(doc[typeFieldName], filterByCollections)) : allDocs;
121
+ const newChildren = pageToFetch === 1 ? newDocs : [...(currentChildren || []), ...newDocs];
122
+ setChildren(newChildren);
123
+ setTotalDocs(data.totalDocs || 0);
124
+ setHasMore(data.hasNextPage || false);
125
+ setPage(pageToFetch);
126
+ if (cache) {
127
+ cache.current.set(cacheKey, {
128
+ children: newChildren,
129
+ hasMore: data.hasNextPage || false,
130
+ page: pageToFetch,
131
+ totalDocs: data.totalDocs || 0
132
+ });
133
+ }
134
+ return newDocs;
135
+ } catch {
136
+ if (pageToFetch === 1) {
137
+ const emptyChildren = [];
138
+ setChildren(emptyChildren);
139
+ setHasMore(false);
140
+ if (cache) {
141
+ cache.current.set(cacheKey, {
142
+ children: emptyChildren,
143
+ hasMore: false,
144
+ page: 1,
145
+ totalDocs: 0
146
+ });
147
+ }
148
+ }
149
+ return [];
150
+ } finally {
151
+ setIsLoading(false);
152
+ }
153
+ }, [allPossibleTypeValues, baseFilter, parentId, filterKey, parentFieldName, filterByCollections, typeFieldName, limit, useAsTitle, api, collectionSlug, serverURL, cache, cacheKey]);
154
+ // Reset state when filter changes
155
+ const prevFilterKeyRef = useRef(filterKey);
156
+ useEffect(() => {
157
+ if (prevFilterKeyRef.current !== filterKey) {
158
+ prevFilterKeyRef.current = filterKey;
159
+ setChildren(null);
160
+ setPage(1);
161
+ setTotalDocs(0);
162
+ setHasMore(false);
163
+ }
164
+ }, [filterKey]);
165
+ useEffect(() => {
166
+ if (!enabled) {
167
+ return;
168
+ }
169
+ // Skip initial fetch if we have initialData
170
+ if (initializedRef.current && children !== null) {
171
+ initializedRef.current = false;
172
+ return;
173
+ }
174
+ // Restore from cache if children was reset (e.g., filter changed)
175
+ if (cachedData && children === null) {
176
+ setChildren(cachedData.children);
177
+ setPage(cachedData.page);
178
+ setTotalDocs(cachedData.totalDocs);
179
+ setHasMore(cachedData.hasMore);
180
+ return;
181
+ }
182
+ if (cachedData && page === cachedData.page) {
183
+ return;
184
+ }
185
+ void fetchPage(page, children);
186
+ }, [enabled, page, cachedData, fetchPage, children]);
187
+ const loadMore = useCallback(async () => {
188
+ if (isLoading || !hasMore) {
189
+ return [];
190
+ }
191
+ // If we have fewer items than our limit, the cached data was fetched with a smaller limit
192
+ // We need to re-fetch page 1 with our limit to get the full first page
193
+ const shouldRefetchPage1 = children && children.length < limit;
194
+ return fetchPage(shouldRefetchPage1 ? 1 : page + 1, children);
195
+ }, [isLoading, hasMore, page, children, fetchPage, limit]);
196
+ const refresh = useCallback(async () => {
197
+ if (cache) {
198
+ cache.current.delete(cacheKey);
199
+ }
200
+ setChildren(null);
201
+ setPage(1);
202
+ return fetchPage(1, null);
203
+ }, [cache, cacheKey, fetchPage]);
204
+ return {
205
+ children,
206
+ hasMore,
207
+ isLoading,
208
+ loadMore,
209
+ refresh,
210
+ totalDocs
211
+ };
212
+ };
213
+ //# sourceMappingURL=useChildren.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChildren.js","names":["combineWhereConstraints","formatAdminURL","qs","useCallback","useEffect","useRef","useState","useConfig","isSuperset","useChildren","allPossibleTypeValues","baseFilter","cache","collectionSlug","enabled","filterByCollections","initialData","limit","parentFieldName","parentId","typeFieldName","useAsTitle","filterKey","length","slice","sort","join","baseFilterKey","JSON","stringify","cacheKey","cachedData","current","get","parentKey","String","parentMeta","loadedParents","hasInitialData","initialDocsForParent","docs","filter","doc","docParent","children","setChildren","isLoading","setIsLoading","page","setPage","totalDocs","setTotalDocs","hasMore","setHasMore","initializedRef","config","routes","api","serverURL","fetchPage","pageToFetch","currentChildren","parentCondition","or","exists","equals","filterCondition","in","not_in","undefined","where","queryParams","queryString","addQueryPrefix","url","apiRoute","path","response","fetch","credentials","ok","Error","data","json","allDocs","newDocs","newChildren","hasNextPage","set","emptyChildren","prevFilterKeyRef","loadMore","shouldRefetchPage1","refresh","delete"],"sources":["../../../src/elements/Tree/useChildren.tsx"],"sourcesContent":["import type { Where } from 'payload'\n\nimport { combineWhereConstraints, formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport { useCallback, useEffect, useRef, useState } from 'react'\n\nimport type { CachedChildren, TreeCache, TreeDocument, TreeInitialData } from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { isSuperset } from '../../utilities/isSuperset.js'\n\ntype UseChildrenArgs = {\n allPossibleTypeValues?: string[]\n /** Base filter to apply to all queries (e.g., tenant filter) */\n baseFilter?: null | Where\n cache?: TreeCache\n collectionSlug: string\n enabled?: boolean\n filterByCollections?: string[]\n initialData?: null | TreeInitialData\n limit?: number\n parentFieldName: string\n parentId: number | string\n typeFieldName?: null | string\n useAsTitle?: string\n}\n\ntype UseChildrenReturn = {\n children: null | TreeDocument[]\n hasMore: boolean\n isLoading: boolean\n loadMore: () => Promise<TreeDocument[]>\n refresh: () => Promise<TreeDocument[]>\n totalDocs: number\n}\n\nexport const useChildren = ({\n allPossibleTypeValues,\n baseFilter,\n cache,\n collectionSlug,\n enabled = true,\n filterByCollections,\n initialData,\n limit = 2,\n parentFieldName,\n parentId,\n typeFieldName,\n useAsTitle,\n}: UseChildrenArgs): UseChildrenReturn => {\n const filterKey = filterByCollections?.length ? filterByCollections.slice().sort().join(',') : ''\n const baseFilterKey = baseFilter ? JSON.stringify(baseFilter) : ''\n const cacheKey = `${collectionSlug}-${parentId}-${filterKey}-${baseFilterKey}`\n const cachedData = cache?.current.get(cacheKey)\n\n // Check if we have initial data for this specific parent\n const parentKey = parentId === 'null' ? 'null' : String(parentId)\n const parentMeta = initialData?.loadedParents?.[parentKey]\n const hasInitialData = !!parentMeta\n\n // Extract docs for this parent from initialData if available\n // Apply same superset filter as fetchPage for consistency\n const initialDocsForParent = hasInitialData\n ? initialData.docs.filter((doc) => {\n const docParent = doc[parentFieldName] || 'null'\n if (String(docParent) !== parentKey) {\n return false\n }\n if (filterByCollections?.length && typeFieldName) {\n return isSuperset(doc[typeFieldName] as string[] | undefined, filterByCollections)\n }\n return true\n })\n : null\n\n const [children, setChildren] = useState<null | TreeDocument[]>(\n initialDocsForParent || cachedData?.children || null,\n )\n const [isLoading, setIsLoading] = useState(!hasInitialData && !cachedData && enabled)\n const [page, setPage] = useState(cachedData?.page || 1)\n const [totalDocs, setTotalDocs] = useState(parentMeta?.totalDocs || cachedData?.totalDocs || 0)\n const [hasMore, setHasMore] = useState(parentMeta?.hasMore || cachedData?.hasMore || false)\n const initializedRef = useRef(!!hasInitialData)\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const fetchPage = useCallback(\n async (\n pageToFetch: number,\n currentChildren: null | TreeDocument[],\n ): Promise<TreeDocument[]> => {\n setIsLoading(true)\n\n try {\n const parentCondition =\n parentId === 'null' || parentId === null\n ? {\n or: [\n { [parentFieldName]: { exists: false } },\n { [parentFieldName]: { equals: null } },\n ],\n }\n : { [parentFieldName]: { equals: parentId } }\n\n // Build filter condition for collection type filtering\n // Matches items that:\n // - allow ANY of the selected collections, OR\n // - are unrestricted (type field doesn't exist), OR\n // - have empty allowedTypes array (unrestricted)\n const filterCondition: undefined | Where =\n filterByCollections?.length && typeFieldName\n ? {\n or: [\n { [typeFieldName]: { in: filterByCollections } },\n { [typeFieldName]: { exists: false } },\n // Using not_in with all possible values matches empty arrays in both MongoDB and Postgres\n ...(allPossibleTypeValues?.length\n ? [{ [typeFieldName]: { not_in: allPossibleTypeValues } }]\n : []),\n ],\n }\n : undefined\n\n // Combine conditions: parent + filter + baseFilter\n const where = combineWhereConstraints([parentCondition, filterCondition, baseFilter])\n\n const queryParams: Record<string, unknown> = {\n limit,\n page: pageToFetch,\n sort: useAsTitle ?? 'id',\n where,\n }\n\n const queryString = qs.stringify(queryParams, { addQueryPrefix: true })\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${queryString}`,\n serverURL,\n })\n const response = await fetch(url, {\n credentials: 'include',\n })\n\n if (!response.ok) {\n throw new Error('Failed to fetch children')\n }\n\n const data = await response.json()\n const allDocs: TreeDocument[] = data.docs || []\n\n // Client-side filter: only show items that are a superset of required collections\n // Server query uses ANY (due to PG limitations), but we want ALL (superset)\n const newDocs =\n filterByCollections?.length && typeFieldName\n ? allDocs.filter((doc) =>\n isSuperset(doc[typeFieldName] as string[] | undefined, filterByCollections),\n )\n : allDocs\n\n const newChildren = pageToFetch === 1 ? newDocs : [...(currentChildren || []), ...newDocs]\n\n setChildren(newChildren)\n setTotalDocs(data.totalDocs || 0)\n setHasMore(data.hasNextPage || false)\n setPage(pageToFetch)\n\n if (cache) {\n cache.current.set(cacheKey, {\n children: newChildren,\n hasMore: data.hasNextPage || false,\n page: pageToFetch,\n totalDocs: data.totalDocs || 0,\n })\n }\n\n return newDocs\n } catch {\n if (pageToFetch === 1) {\n const emptyChildren: TreeDocument[] = []\n setChildren(emptyChildren)\n setHasMore(false)\n\n if (cache) {\n cache.current.set(cacheKey, {\n children: emptyChildren,\n hasMore: false,\n page: 1,\n totalDocs: 0,\n })\n }\n }\n\n return []\n } finally {\n setIsLoading(false)\n }\n },\n [\n allPossibleTypeValues,\n baseFilter,\n parentId,\n filterKey,\n parentFieldName,\n filterByCollections,\n typeFieldName,\n limit,\n useAsTitle,\n api,\n collectionSlug,\n serverURL,\n cache,\n cacheKey,\n ],\n )\n\n // Reset state when filter changes\n const prevFilterKeyRef = useRef(filterKey)\n useEffect(() => {\n if (prevFilterKeyRef.current !== filterKey) {\n prevFilterKeyRef.current = filterKey\n setChildren(null)\n setPage(1)\n setTotalDocs(0)\n setHasMore(false)\n }\n }, [filterKey])\n\n useEffect(() => {\n if (!enabled) {\n return\n }\n\n // Skip initial fetch if we have initialData\n if (initializedRef.current && children !== null) {\n initializedRef.current = false\n return\n }\n\n // Restore from cache if children was reset (e.g., filter changed)\n if (cachedData && children === null) {\n setChildren(cachedData.children)\n setPage(cachedData.page)\n setTotalDocs(cachedData.totalDocs)\n setHasMore(cachedData.hasMore)\n return\n }\n\n if (cachedData && page === cachedData.page) {\n return\n }\n\n void fetchPage(page, children)\n }, [enabled, page, cachedData, fetchPage, children])\n\n const loadMore = useCallback(async (): Promise<TreeDocument[]> => {\n if (isLoading || !hasMore) {\n return []\n }\n\n // If we have fewer items than our limit, the cached data was fetched with a smaller limit\n // We need to re-fetch page 1 with our limit to get the full first page\n const shouldRefetchPage1 = children && children.length < limit\n\n return fetchPage(shouldRefetchPage1 ? 1 : page + 1, children)\n }, [isLoading, hasMore, page, children, fetchPage, limit])\n\n const refresh = useCallback(async (): Promise<TreeDocument[]> => {\n if (cache) {\n cache.current.delete(cacheKey)\n }\n setChildren(null)\n setPage(1)\n return fetchPage(1, null)\n }, [cache, cacheKey, fetchPage])\n\n return { children, hasMore, isLoading, loadMore, refresh, totalDocs }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,7 @@ import React from 'react';
8
8
  * rendering the original component.
9
9
  *
10
10
  * @example
11
- * const PredefinedComponent = withMergedProps({
11
+ * const PredefinedComponent = getMergedPropsComponent({
12
12
  * Component: OriginalComponent,
13
13
  * toMergeIntoProps: { someExtraValue: 5 }
14
14
  * });
@@ -10,7 +10,7 @@ import React from 'react';
10
10
  * rendering the original component.
11
11
  *
12
12
  * @example
13
- * const PredefinedComponent = withMergedProps({
13
+ * const PredefinedComponent = getMergedPropsComponent({
14
14
  * Component: OriginalComponent,
15
15
  * toMergeIntoProps: { someExtraValue: 5 }
16
16
  * });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["isReactServerComponentOrFunction","serverProps","React","withMergedProps","Component","sanitizeServerOnlyProps","toMergeIntoProps","undefined","MergedPropsComponent","passedProps","mergedProps","simpleMergeProps","forEach","prop","_jsx","props","toMerge"],"sources":["../../../src/elements/withMergedProps/index.tsx"],"sourcesContent":["import { isReactServerComponentOrFunction, serverProps } from 'payload/shared'\nimport React from 'react'\n\n/**\n * Creates a higher-order component (HOC) that merges predefined properties (`toMergeIntoProps`)\n * with any properties passed to the resulting component.\n *\n * Use this when you want to pre-specify some props for a component, while also allowing users to\n * pass in their own props. The HOC ensures the passed props and predefined props are combined before\n * rendering the original component.\n *\n * @example\n * const PredefinedComponent = withMergedProps({\n * Component: OriginalComponent,\n * toMergeIntoProps: { someExtraValue: 5 }\n * });\n * // Using <PredefinedComponent customProp=\"value\" /> will result in\n * // <OriginalComponent customProp=\"value\" someExtraValue={5} />\n *\n * @returns A higher-order component with combined properties.\n *\n * @param Component - The original component to wrap.\n * @param sanitizeServerOnlyProps - If true, server-only props will be removed from the merged props. @default true if the component is not a server component, false otherwise.\n * @param toMergeIntoProps - The properties to merge into the passed props.\n */\nexport function withMergedProps<ToMergeIntoProps, CompleteReturnProps>({\n Component,\n sanitizeServerOnlyProps,\n toMergeIntoProps,\n}: {\n Component: React.FC<CompleteReturnProps>\n sanitizeServerOnlyProps?: boolean\n toMergeIntoProps: ToMergeIntoProps\n}): React.FC<CompleteReturnProps> {\n if (sanitizeServerOnlyProps === undefined) {\n sanitizeServerOnlyProps = !isReactServerComponentOrFunction(Component)\n }\n // A wrapper around the args.Component to inject the args.toMergeArgs as props, which are merged with the passed props\n const MergedPropsComponent: React.FC<CompleteReturnProps> = (passedProps) => {\n const mergedProps = simpleMergeProps(passedProps, toMergeIntoProps) as CompleteReturnProps\n\n if (sanitizeServerOnlyProps) {\n serverProps.forEach((prop) => {\n delete mergedProps[prop]\n })\n }\n\n return <Component {...mergedProps} />\n }\n\n return MergedPropsComponent\n}\n\nfunction simpleMergeProps(props, toMerge) {\n return { ...props, ...toMerge }\n}\n"],"mappings":";AAAA,SAASA,gCAAgC,EAAEC,WAAW,QAAQ;AAC9D,OAAOC,KAAA,MAAW;AAElB;;;;;;;;;;;;;;;;;;;;;;AAsBA,OAAO,SAASC,gBAAuD;EACrEC,SAAS;EACTC,uBAAuB;EACvBC;AAAgB,CAKjB;EACC,IAAID,uBAAA,KAA4BE,SAAA,EAAW;IACzCF,uBAAA,GAA0B,CAACL,gCAAA,CAAiCI,SAAA;EAC9D;EACA;EACA,MAAMI,oBAAA,GAAuDC,WAAA;IAC3D,MAAMC,WAAA,GAAcC,gBAAA,CAAiBF,WAAA,EAAaH,gBAAA;IAElD,IAAID,uBAAA,EAAyB;MAC3BJ,WAAA,CAAYW,OAAO,CAAEC,IAAA;QACnB,OAAOH,WAAW,CAACG,IAAA,CAAK;MAC1B;IACF;IAEA,oBAAOC,IAAA,CAACV,SAAA;MAAW,GAAGM;;EACxB;EAEA,OAAOF,oBAAA;AACT;AAEA,SAASG,iBAAiBI,KAAK,EAAEC,OAAO;EACtC,OAAO;IAAE,GAAGD,KAAK;IAAE,GAAGC;EAAQ;AAChC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["isReactServerComponentOrFunction","serverProps","React","withMergedProps","Component","sanitizeServerOnlyProps","toMergeIntoProps","undefined","MergedPropsComponent","passedProps","mergedProps","simpleMergeProps","forEach","prop","_jsx","props","toMerge"],"sources":["../../../src/elements/withMergedProps/index.tsx"],"sourcesContent":["import { isReactServerComponentOrFunction, serverProps } from 'payload/shared'\nimport React from 'react'\n\n/**\n * Creates a higher-order component (HOC) that merges predefined properties (`toMergeIntoProps`)\n * with any properties passed to the resulting component.\n *\n * Use this when you want to pre-specify some props for a component, while also allowing users to\n * pass in their own props. The HOC ensures the passed props and predefined props are combined before\n * rendering the original component.\n *\n * @example\n * const PredefinedComponent = getMergedPropsComponent({\n * Component: OriginalComponent,\n * toMergeIntoProps: { someExtraValue: 5 }\n * });\n * // Using <PredefinedComponent customProp=\"value\" /> will result in\n * // <OriginalComponent customProp=\"value\" someExtraValue={5} />\n *\n * @returns A higher-order component with combined properties.\n *\n * @param Component - The original component to wrap.\n * @param sanitizeServerOnlyProps - If true, server-only props will be removed from the merged props. @default true if the component is not a server component, false otherwise.\n * @param toMergeIntoProps - The properties to merge into the passed props.\n */\nexport function withMergedProps<ToMergeIntoProps, CompleteReturnProps>({\n Component,\n sanitizeServerOnlyProps,\n toMergeIntoProps,\n}: {\n Component: React.FC<CompleteReturnProps>\n sanitizeServerOnlyProps?: boolean\n toMergeIntoProps: ToMergeIntoProps\n}): React.FC<CompleteReturnProps> {\n if (sanitizeServerOnlyProps === undefined) {\n sanitizeServerOnlyProps = !isReactServerComponentOrFunction(Component)\n }\n // A wrapper around the args.Component to inject the args.toMergeArgs as props, which are merged with the passed props\n const MergedPropsComponent: React.FC<CompleteReturnProps> = (passedProps) => {\n const mergedProps = simpleMergeProps(passedProps, toMergeIntoProps) as CompleteReturnProps\n\n if (sanitizeServerOnlyProps) {\n serverProps.forEach((prop) => {\n delete mergedProps[prop]\n })\n }\n\n return <Component {...mergedProps} />\n }\n\n return MergedPropsComponent\n}\n\nfunction simpleMergeProps(props, toMerge) {\n return { ...props, ...toMerge }\n}\n"],"mappings":";AAAA,SAASA,gCAAgC,EAAEC,WAAW,QAAQ;AAC9D,OAAOC,KAAA,MAAW;AAElB;;;;;;;;;;;;;;;;;;;;;;AAsBA,OAAO,SAASC,gBAAuD;EACrEC,SAAS;EACTC,uBAAuB;EACvBC;AAAgB,CAKjB;EACC,IAAID,uBAAA,KAA4BE,SAAA,EAAW;IACzCF,uBAAA,GAA0B,CAACL,gCAAA,CAAiCI,SAAA;EAC9D;EACA;EACA,MAAMI,oBAAA,GAAuDC,WAAA;IAC3D,MAAMC,WAAA,GAAcC,gBAAA,CAAiBF,WAAA,EAAaH,gBAAA;IAElD,IAAID,uBAAA,EAAyB;MAC3BJ,WAAA,CAAYW,OAAO,CAAEC,IAAA;QACnB,OAAOH,WAAW,CAACG,IAAA,CAAK;MAC1B;IACF;IAEA,oBAAOC,IAAA,CAACV,SAAA;MAAW,GAAGM;;EACxB;EAEA,OAAOF,oBAAA;AACT;AAEA,SAASG,iBAAiBI,KAAK,EAAEC,OAAO;EACtC,OAAO;IAAE,GAAGD,KAAK;IAAE,GAAGC;EAAQ;AAChC","ignoreList":[]}
@@ -46,6 +46,7 @@ export { AnimateHeight } from '../../elements/AnimateHeight/index.js';
46
46
  export { PillSelector, type SelectablePill } from '../../elements/PillSelector/index.js';
47
47
  export { Card } from '../../elements/Card/index.js';
48
48
  export { Collapsible, useCollapsible } from '../../elements/Collapsible/index.js';
49
+ export { HierarchySidebarTab } from '../../elements/HierarchyTree/HierarchySidebarTab.js';
49
50
  export { CopyLocaleData } from '../../elements/CopyLocaleData/index.js';
50
51
  export { CopyToClipboard } from '../../elements/CopyToClipboard/index.js';
51
52
  export { DeleteMany } from '../../elements/DeleteMany/index.js';
@@ -67,10 +68,24 @@ export { GenerateConfirmation } from '../../elements/GenerateConfirmation/index.
67
68
  export { Gutter } from '../../elements/Gutter/index.js';
68
69
  export { Hamburger } from '../../elements/Hamburger/index.js';
69
70
  export { HydrateAuthProvider } from '../../elements/HydrateAuthProvider/index.js';
71
+ export { HydrateHierarchyProvider } from '../../elements/HydrateHierarchyProvider/index.js';
72
+ export { Tree } from '../../elements/Tree/index.js';
73
+ export { LoadMore } from '../../elements/Tree/LoadMore/index.js';
74
+ export { TreeConnector } from '../../elements/Tree/TreeConnector.js';
75
+ export { TreeFocusProvider, useTreeFocus } from '../../elements/Tree/TreeFocusContext.js';
76
+ export { TreeNode } from '../../elements/Tree/TreeNode/index.js';
77
+ export type { CachedChildren, TreeCache, TreeDocument, TreeInitialData, TreeNodeData, TreeNodeProps, TreeProps, } from '../../elements/Tree/types.js';
78
+ export { useChildren } from '../../elements/Tree/useChildren.js';
70
79
  export { Locked } from '../../elements/Locked/index.js';
71
80
  export { ListControls } from '../../elements/ListControls/index.js';
72
81
  export { useListDrawer } from '../../elements/ListDrawer/index.js';
73
82
  export type { ListDrawerProps, ListTogglerProps, RenderListServerFnArgs, RenderListServerFnReturnType, UseListDrawer, } from '../../elements/ListDrawer/types.js';
83
+ export { HierarchyButtonClient } from '../../elements/HierarchyButton/index.js';
84
+ export type { HierarchyButtonClientProps } from '../../elements/HierarchyButton/index.js';
85
+ export { HierarchyFieldClient } from '../../elements/HierarchyField/index.client.js';
86
+ export type { HierarchyFieldClientProps } from '../../elements/HierarchyField/index.client.js';
87
+ export { formatHierarchyDrawerSlug, HierarchyDrawerToggler, useHierarchyDrawer, } from '../../elements/HierarchyDrawer/index.js';
88
+ export type { HierarchyDrawerProps, HierarchyDrawerTogglerProps, SelectionWithPath, UseHierarchyDrawer, UseHierarchyDrawerArgs, } from '../../elements/HierarchyDrawer/types.js';
74
89
  export { ListSelection } from '../../views/List/ListSelection/index.js';
75
90
  export { CollectionListHeader as ListHeader } from '../../views/List/ListHeader/index.js';
76
91
  export { GroupByHeader } from '../../views/List/GroupByHeader/index.js';
@@ -80,6 +95,10 @@ export { GroupByPageControls } from '../../elements/PageControls/GroupByPageCont
80
95
  export { LoadingOverlayToggle } from '../../elements/Loading/index.js';
81
96
  export { FormLoadingOverlayToggle } from '../../elements/Loading/index.js';
82
97
  export { LoadingOverlay } from '../../elements/Loading/index.js';
98
+ export { Spinner } from '../../elements/Spinner/index.js';
99
+ export type { SpinnerProps } from '../../elements/Spinner/index.js';
100
+ export { DelayedSpinner } from '../../elements/DelayedSpinner/index.js';
101
+ export type { DelayedSpinnerProps } from '../../elements/DelayedSpinner/index.js';
83
102
  export { Logout } from '../../elements/Logout/index.js';
84
103
  export { Modal, useModal } from '../../elements/Modal/index.js';
85
104
  export { NavToggler } from '../../elements/Nav/NavToggler/index.js';
@@ -98,13 +117,9 @@ export { PublishButton } from '../../elements/PublishButton/index.js';
98
117
  export { SaveButton } from '../../elements/SaveButton/index.js';
99
118
  export { SaveDraftButton } from '../../elements/SaveDraftButton/index.js';
100
119
  export { UnpublishButton } from '../../elements/UnpublishButton/index.js';
101
- export { FolderProvider, useFolder } from '../../providers/Folders/index.js';
102
- export { BrowseByFolderButton } from '../../elements/FolderView/BrowseByFolderButton/index.js';
103
- export { FolderTypeField } from '../../elements/FolderView/FolderTypeField/index.js';
104
- export { FolderFileTable } from '../../elements/FolderView/FolderFileTable/index.js';
105
- export { ItemCardGrid } from '../../elements/FolderView/ItemCardGrid/index.js';
106
120
  export { type Option as ReactSelectOption, ReactSelect } from '../../elements/ReactSelect/index.js';
107
121
  export { ReactSelect as Select } from '../../elements/ReactSelect/index.js';
122
+ export type { ReactSelectAdapterProps } from '../../elements/ReactSelect/types.js';
108
123
  export { RenderTitle } from '../../elements/RenderTitle/index.js';
109
124
  export { ShimmerEffect } from '../../elements/ShimmerEffect/index.js';
110
125
  export { StaggeredShimmers } from '../../elements/ShimmerEffect/index.js';
@@ -135,12 +150,12 @@ export { PreviewSizes } from '../../elements/PreviewSizes/index.js';
135
150
  export { PreviewButton } from '../../elements/PreviewButton/index.js';
136
151
  export { RelationshipTable } from '../../elements/RelationshipTable/index.js';
137
152
  export { TimezonePicker } from '../../elements/TimezonePicker/index.js';
138
- export { MoveDocToFolder, MoveDocToFolderButton, } from '../../elements/FolderView/MoveDocToFolder/index.js';
139
153
  export { BlocksDrawer } from '../../fields/Blocks/BlocksDrawer/index.js';
140
154
  export { BlockSelector } from '../../fields/Blocks/BlockSelector/index.js';
141
155
  export { SectionTitle } from '../../fields/Blocks/SectionTitle/index.js';
142
156
  export { ItemsDrawer } from '../../elements/ItemsDrawer/index.js';
143
157
  export { HiddenField } from '../../fields/Hidden/index.js';
158
+ export { NullField } from '../../fields/Null/index.js';
144
159
  export { ArrayField } from '../../fields/Array/index.js';
145
160
  export { BlocksField } from '../../fields/Blocks/index.js';
146
161
  export { CheckboxField, CheckboxInput } from '../../fields/Checkbox/index.js';
@@ -163,7 +178,7 @@ export { RadioGroupField } from '../../fields/RadioGroup/index.js';
163
178
  export { RelationshipField, RelationshipInput } from '../../fields/Relationship/index.js';
164
179
  export { RichTextField } from '../../fields/RichText/index.js';
165
180
  export { RowField } from '../../fields/Row/index.js';
166
- export { SelectField, SelectInput } from '../../fields/Select/index.js';
181
+ export { formatOptions, SelectField, SelectInput } from '../../fields/Select/index.js';
167
182
  export { TabsField, TabsProvider } from '../../fields/Tabs/index.js';
168
183
  export { TabComponent } from '../../fields/Tabs/Tab/index.js';
169
184
  export { SlugField } from '../../fields/Slug/index.js';
@@ -177,6 +192,7 @@ export { UIField } from '../../fields/UI/index.js';
177
192
  export { UploadField, UploadInput } from '../../fields/Upload/index.js';
178
193
  export type { UploadInputProps } from '../../fields/Upload/index.js';
179
194
  export { fieldBaseClass } from '../../fields/shared/index.js';
195
+ export { mergeFieldStyles } from '../../fields/mergeFieldStyles.js';
180
196
  export { useAllFormFields, useDocumentForm, useForm, useFormBackgroundProcessing, useFormFields, useFormInitializing, useFormModified, useFormProcessing, useFormSubmitted, useWatchForm, } from '../../forms/Form/context.js';
181
197
  export { Form, type FormProps } from '../../forms/Form/index.js';
182
198
  export type { FieldAction } from '../../forms/Form/types.js';
@@ -214,6 +230,7 @@ export { PlusIcon } from '../../icons/Plus/index.js';
214
230
  export { SearchIcon } from '../../icons/Search/index.js';
215
231
  export { SwapIcon } from '../../icons/Swap/index.js';
216
232
  export { XIcon } from '../../icons/X/index.js';
233
+ export { FilterIcon } from '../../icons/Filter/index.js';
217
234
  export { FolderIcon } from '../../icons/Folder/index.js';
218
235
  export { GearIcon } from '../../icons/Gear/index.js';
219
236
  export { DocumentIcon } from '../../icons/Document/index.js';
@@ -224,6 +241,7 @@ export { Error as ErrorIcon } from '../../providers/ToastContainer/icons/Error.j
224
241
  export { Info as InfoIcon } from '../../providers/ToastContainer/icons/Info.js';
225
242
  export { Success as SuccessIcon } from '../../providers/ToastContainer/icons/Success.js';
226
243
  export { Warning as WarningIcon } from '../../providers/ToastContainer/icons/Warning.js';
244
+ export { TagIcon } from '../../icons/Tag/index.js';
227
245
  export { type RenderDocumentResult, type RenderDocumentServerFunction, ServerFunctionsContext, type ServerFunctionsContextType, ServerFunctionsProvider, useServerFunctions, } from '../../providers/ServerFunctions/index.js';
228
246
  export { ActionsProvider, useActions } from '../../providers/Actions/index.js';
229
247
  export { AuthProvider, useAuth } from '../../providers/Auth/index.js';
@@ -253,6 +271,10 @@ export { RouteCache as RouteCacheProvider, useRouteCache, } from '../../provider
253
271
  export { ScrollInfoProvider, useScrollInfo } from '../../providers/ScrollInfo/index.js';
254
272
  export { SearchParamsProvider, useSearchParams } from '../../providers/SearchParams/index.js';
255
273
  export { SelectionProvider, useSelection } from '../../providers/Selection/index.js';
274
+ export { DocumentSelectionProvider, useDocumentSelection, } from '../../providers/DocumentSelection/index.js';
275
+ export type { CollectionData, DocumentSelectionContextValue, SelectableDocument, } from '../../providers/DocumentSelection/types.js';
276
+ export { HierarchyProvider, useHierarchy } from '../../providers/Hierarchy/index.js';
277
+ export type { AllowedCollection } from '../../providers/Hierarchy/types.js';
256
278
  export { UploadHandlersProvider, useUploadHandlers } from '../../providers/UploadHandlers/index.js';
257
279
  export type { UploadHandlersContext } from '../../providers/UploadHandlers/index.js';
258
280
  export { defaultTheme, type Theme, ThemeProvider, useTheme } from '../../providers/Theme/index.js';
@@ -269,8 +291,7 @@ export { SelectAll } from '../../elements/SelectAll/index.js';
269
291
  export { SelectRow } from '../../elements/SelectRow/index.js';
270
292
  export { SelectMany } from '../../elements/SelectMany/index.js';
271
293
  export { DefaultListView } from '../../views/List/index.js';
272
- export { DefaultCollectionFolderView } from '../../views/CollectionFolder/index.js';
273
- export { DefaultBrowseByFolderView } from '../../views/BrowseByFolder/index.js';
294
+ export { HierarchyListView } from '../../views/HierarchyList/index.js';
274
295
  export type {
275
296
  /**
276
297
  * @deprecated