@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
@@ -1,641 +0,0 @@
1
- 'use client';
2
-
3
- import { jsx as _jsx } from "react/jsx-runtime";
4
- import { useRouter, useSearchParams } from 'next/navigation.js';
5
- import { extractID, formatAdminURL, formatFolderOrDocumentItem } from 'payload/shared';
6
- import * as qs from 'qs-esm';
7
- import React from 'react';
8
- import { toast } from 'sonner';
9
- import { useDrawerDepth } from '../../elements/Drawer/index.js';
10
- import { parseSearchParams } from '../../utilities/parseSearchParams.js';
11
- import { useConfig } from '../Config/index.js';
12
- import { useLocale } from '../Locale/index.js';
13
- import { useRouteTransition } from '../RouteTransition/index.js';
14
- import { useTranslation } from '../Translation/index.js';
15
- import { groupItemIDsByRelation } from './groupItemIDsByRelation.js';
16
- const Context = /*#__PURE__*/React.createContext({
17
- activeCollectionFolderSlugs: [],
18
- allCollectionFolderSlugs: [],
19
- allowCreateCollectionSlugs: [],
20
- breadcrumbs: [],
21
- checkIfItemIsDisabled: () => false,
22
- clearSelections: () => {},
23
- currentFolder: null,
24
- documents: [],
25
- dragOverlayItem: undefined,
26
- focusedRowIndex: -1,
27
- folderCollectionConfig: null,
28
- folderCollectionSlug: '',
29
- folderFieldName: 'folder',
30
- folderID: undefined,
31
- FolderResultsComponent: null,
32
- folderType: undefined,
33
- getFolderRoute: () => '',
34
- getSelectedItems: () => [],
35
- isDragging: false,
36
- itemKeysToMove: undefined,
37
- moveToFolder: () => Promise.resolve(undefined),
38
- onItemClick: () => undefined,
39
- onItemKeyPress: () => undefined,
40
- refineFolderData: () => undefined,
41
- search: '',
42
- selectedFolderCollections: undefined,
43
- selectedItemKeys: new Set(),
44
- setBreadcrumbs: () => {},
45
- setFocusedRowIndex: () => -1,
46
- setIsDragging: () => false,
47
- sort: 'name',
48
- subfolders: []
49
- });
50
- export function FolderProvider({
51
- activeCollectionFolderSlugs: activeCollectionSlugs,
52
- allCollectionFolderSlugs = [],
53
- allowCreateCollectionSlugs,
54
- allowMultiSelection = true,
55
- baseFolderPath,
56
- breadcrumbs: _breadcrumbsFromProps = [],
57
- children,
58
- documents,
59
- folderFieldName,
60
- folderID,
61
- FolderResultsComponent: InitialFolderResultsComponent,
62
- onItemClick: onItemClickFromProps,
63
- search,
64
- sort = 'name',
65
- subfolders
66
- }) {
67
- const parentFolderContext = useFolder();
68
- const {
69
- config
70
- } = useConfig();
71
- const {
72
- routes
73
- } = config;
74
- const drawerDepth = useDrawerDepth();
75
- const {
76
- t
77
- } = useTranslation();
78
- const router = useRouter();
79
- const {
80
- startRouteTransition
81
- } = useRouteTransition();
82
- const locale = useLocale();
83
- const localeCode = locale ? locale.code : undefined;
84
- const currentlySelectedIndexes = React.useRef(new Set());
85
- const [selectedFolderCollections, setSelectedFolderCollections] = React.useState([]);
86
- const [FolderResultsComponent, setFolderResultsComponent] = React.useState(InitialFolderResultsComponent || (() => null));
87
- const [folderCollectionConfig] = React.useState(() => config.collections.find(collection => config.folders && collection.slug === config.folders.slug));
88
- const folderCollectionSlug = folderCollectionConfig.slug;
89
- const rawSearchParams = useSearchParams();
90
- const searchParams = React.useMemo(() => parseSearchParams(rawSearchParams), [rawSearchParams]);
91
- const [currentQuery, setCurrentQuery] = React.useState(searchParams);
92
- const [isDragging, setIsDragging] = React.useState(false);
93
- const [selectedItemKeys, setSelectedItemKeys] = React.useState(() => new Set());
94
- const [focusedRowIndex, setFocusedRowIndex] = React.useState(-1);
95
- // This is used to determine what data to display on the drag overlay
96
- const [dragOverlayItem, setDragOverlayItem] = React.useState();
97
- const [breadcrumbs, setBreadcrumbs] = React.useState(_breadcrumbsFromProps);
98
- const lastClickTime = React.useRef(null);
99
- const totalCount = subfolders.length + documents.length;
100
- const clearSelections = React.useCallback(() => {
101
- setFocusedRowIndex(-1);
102
- setSelectedItemKeys(new Set());
103
- setDragOverlayItem(undefined);
104
- currentlySelectedIndexes.current = new Set();
105
- }, []);
106
- const mergeQuery = React.useCallback((newQuery = {}) => {
107
- let page = 'page' in newQuery ? newQuery.page : currentQuery?.page;
108
- if ('search' in newQuery) {
109
- page = '1';
110
- }
111
- const mergedQuery = {
112
- ...currentQuery,
113
- ...newQuery,
114
- locale: localeCode,
115
- page,
116
- relationTo: 'relationTo' in newQuery ? newQuery.relationTo : currentQuery?.relationTo,
117
- search: 'search' in newQuery ? newQuery.search : currentQuery?.search,
118
- sort: 'sort' in newQuery ? newQuery.sort : currentQuery?.sort ?? undefined
119
- };
120
- return mergedQuery;
121
- }, [currentQuery, localeCode]);
122
- const refineFolderData = React.useCallback(({
123
- query,
124
- updateURL
125
- }) => {
126
- if (updateURL) {
127
- const queryParams = mergeQuery(query);
128
- startRouteTransition(() => router.replace(`${qs.stringify({
129
- ...queryParams,
130
- relationTo: JSON.stringify(queryParams.relationTo)
131
- }, {
132
- addQueryPrefix: true
133
- })}`));
134
- setCurrentQuery(queryParams);
135
- }
136
- }, [mergeQuery, router, startRouteTransition]);
137
- const getFolderRoute = React.useCallback(toFolderID => {
138
- const queryParams_0 = qs.stringify(mergeQuery({
139
- page: '1',
140
- search: ''
141
- }), {
142
- addQueryPrefix: true
143
- });
144
- return formatAdminURL({
145
- adminRoute: config.routes.admin,
146
- path: `${baseFolderPath}${toFolderID ? `/${toFolderID}` : ''}${queryParams_0}`
147
- });
148
- }, [baseFolderPath, config.routes.admin, mergeQuery]);
149
- const getItem = React.useCallback(itemKey => {
150
- return [...subfolders, ...documents].find(doc => doc.itemKey === itemKey);
151
- }, [documents, subfolders]);
152
- const getSelectedItems = React.useCallback(() => {
153
- return Array.from(selectedItemKeys).reduce((acc, itemKey_0) => {
154
- const item = getItem(itemKey_0);
155
- if (item) {
156
- acc.push(item);
157
- }
158
- return acc;
159
- }, []);
160
- }, [selectedItemKeys, getItem]);
161
- const navigateAfterSelection = React.useCallback(({
162
- collectionSlug,
163
- docID
164
- }) => {
165
- if (drawerDepth === 1) {
166
- // not in a drawer (default is 1)
167
- if (collectionSlug === folderCollectionSlug) {
168
- // clicked on folder, take the user to the folder view
169
- startRouteTransition(() => {
170
- router.push(getFolderRoute(docID));
171
- clearSelections();
172
- });
173
- } else if (collectionSlug) {
174
- // clicked on document, take the user to the documet view
175
- startRouteTransition(() => {
176
- router.push(formatAdminURL({
177
- adminRoute: config.routes.admin,
178
- path: `/collections/${collectionSlug}/${docID}`
179
- }));
180
- clearSelections();
181
- });
182
- }
183
- } else {
184
- clearSelections();
185
- }
186
- if (typeof onItemClickFromProps === 'function') {
187
- onItemClickFromProps(getItem(`${collectionSlug}-${docID}`));
188
- }
189
- }, [clearSelections, config.routes.admin, drawerDepth, folderCollectionSlug, getFolderRoute, getItem, onItemClickFromProps, router, startRouteTransition]);
190
- const handleShiftSelection = React.useCallback(targetIndex => {
191
- const allItems = [...subfolders, ...documents];
192
- // Find existing selection boundaries
193
- const existingIndexes = allItems.reduce((acc_0, item_0, idx) => {
194
- if (selectedItemKeys.has(item_0.itemKey)) {
195
- acc_0.push(idx);
196
- }
197
- return acc_0;
198
- }, []);
199
- if (existingIndexes.length === 0) {
200
- // No existing selection, just select target
201
- return [targetIndex];
202
- }
203
- const firstSelectedIndex = Math.min(...existingIndexes);
204
- const lastSelectedIndex = Math.max(...existingIndexes);
205
- const isWithinBounds = targetIndex >= firstSelectedIndex && targetIndex <= lastSelectedIndex;
206
- // Choose anchor based on whether we're contracting or extending
207
- let anchorIndex = targetIndex;
208
- if (isWithinBounds) {
209
- // Contracting: if target is at a boundary, use target as anchor
210
- // Otherwise, use furthest boundary to maintain opposite edge
211
- if (targetIndex === firstSelectedIndex || targetIndex === lastSelectedIndex) {
212
- anchorIndex = targetIndex;
213
- } else {
214
- const distanceToFirst = Math.abs(targetIndex - firstSelectedIndex);
215
- const distanceToLast = Math.abs(targetIndex - lastSelectedIndex);
216
- anchorIndex = distanceToFirst >= distanceToLast ? firstSelectedIndex : lastSelectedIndex;
217
- }
218
- } else {
219
- // Extending: use closest boundary
220
- const distanceToFirst_0 = Math.abs(targetIndex - firstSelectedIndex);
221
- const distanceToLast_0 = Math.abs(targetIndex - lastSelectedIndex);
222
- anchorIndex = distanceToFirst_0 <= distanceToLast_0 ? firstSelectedIndex : lastSelectedIndex;
223
- }
224
- // Create range from anchor to target
225
- const startIndex = Math.min(anchorIndex, targetIndex);
226
- const endIndex = Math.max(anchorIndex, targetIndex);
227
- const newRangeIndexes = Array.from({
228
- length: endIndex - startIndex + 1
229
- }, (_, i) => startIndex + i);
230
- if (isWithinBounds) {
231
- // Contracting: replace with new range
232
- return newRangeIndexes;
233
- } else {
234
- // Extending: union with existing
235
- return [...new Set([...existingIndexes, ...newRangeIndexes])];
236
- }
237
- }, [subfolders, documents, selectedItemKeys]);
238
- const updateSelections = React.useCallback(({
239
- indexes
240
- }) => {
241
- const allItems_0 = [...subfolders, ...documents];
242
- const {
243
- newSelectedFolderCollections,
244
- newSelectedItemKeys
245
- } = allItems_0.reduce((acc_1, item_1, index) => {
246
- if (indexes.includes(index)) {
247
- acc_1.newSelectedItemKeys.add(item_1.itemKey);
248
- if (item_1.relationTo === folderCollectionSlug) {
249
- item_1.value.folderType?.forEach(collectionSlug_0 => {
250
- if (!acc_1.newSelectedFolderCollections.includes(collectionSlug_0)) {
251
- acc_1.newSelectedFolderCollections.push(collectionSlug_0);
252
- }
253
- });
254
- } else {
255
- if (!acc_1.newSelectedFolderCollections.includes(item_1.relationTo)) {
256
- acc_1.newSelectedFolderCollections.push(item_1.relationTo);
257
- }
258
- }
259
- }
260
- return acc_1;
261
- }, {
262
- newSelectedFolderCollections: [],
263
- newSelectedItemKeys: new Set()
264
- });
265
- setSelectedFolderCollections(newSelectedFolderCollections);
266
- setSelectedItemKeys(newSelectedItemKeys);
267
- }, [documents, folderCollectionSlug, subfolders]);
268
- const onItemKeyPress = React.useCallback(({
269
- event,
270
- item: currentItem
271
- }) => {
272
- const {
273
- code,
274
- ctrlKey,
275
- metaKey,
276
- shiftKey
277
- } = event;
278
- const isShiftPressed = shiftKey;
279
- const isCtrlPressed = ctrlKey || metaKey;
280
- const isCurrentlySelected = selectedItemKeys.has(currentItem.itemKey);
281
- const allItems_1 = [...subfolders, ...documents];
282
- const currentItemIndex = allItems_1.findIndex(item_2 => item_2.itemKey === currentItem.itemKey);
283
- switch (code) {
284
- case 'ArrowDown':
285
- case 'ArrowLeft':
286
- case 'ArrowRight':
287
- case 'ArrowUp':
288
- {
289
- event.preventDefault();
290
- if (currentItemIndex === -1) {
291
- break;
292
- }
293
- const isBackward = code === 'ArrowLeft' || code === 'ArrowUp';
294
- const newItemIndex = isBackward ? currentItemIndex - 1 : currentItemIndex + 1;
295
- if (newItemIndex < 0 || newItemIndex > totalCount - 1) {
296
- // out of bounds, keep current selection
297
- return;
298
- }
299
- setFocusedRowIndex(newItemIndex);
300
- if (isCtrlPressed) {
301
- break;
302
- }
303
- if (isShiftPressed && allowMultiSelection) {
304
- const selectedIndexes = handleShiftSelection(newItemIndex);
305
- updateSelections({
306
- indexes: selectedIndexes
307
- });
308
- return;
309
- }
310
- // Single selection without shift
311
- if (!isShiftPressed) {
312
- const newItem = allItems_1[newItemIndex];
313
- setSelectedItemKeys(new Set([newItem.itemKey]));
314
- }
315
- break;
316
- }
317
- case 'Enter':
318
- {
319
- if (selectedItemKeys.size === 1) {
320
- setFocusedRowIndex(undefined);
321
- navigateAfterSelection({
322
- collectionSlug: currentItem.relationTo,
323
- docID: extractID(currentItem.value)
324
- });
325
- return;
326
- }
327
- break;
328
- }
329
- case 'Escape':
330
- {
331
- clearSelections();
332
- break;
333
- }
334
- case 'KeyA':
335
- {
336
- if (allowMultiSelection && isCtrlPressed) {
337
- event.preventDefault();
338
- setFocusedRowIndex(totalCount - 1);
339
- updateSelections({
340
- indexes: Array.from({
341
- length: totalCount
342
- }, (__0, i_0) => i_0)
343
- });
344
- }
345
- break;
346
- }
347
- case 'Space':
348
- {
349
- if (allowMultiSelection && isShiftPressed) {
350
- event.preventDefault();
351
- const allItems_2 = [...subfolders, ...documents];
352
- updateSelections({
353
- indexes: allItems_2.reduce((acc_2, item_3, idx_0) => {
354
- if (item_3.itemKey === currentItem.itemKey) {
355
- if (isCurrentlySelected) {
356
- return acc_2;
357
- } else {
358
- acc_2.push(idx_0);
359
- }
360
- } else if (selectedItemKeys.has(item_3.itemKey)) {
361
- acc_2.push(idx_0);
362
- }
363
- return acc_2;
364
- }, [])
365
- });
366
- } else {
367
- event.preventDefault();
368
- updateSelections({
369
- indexes: isCurrentlySelected ? [] : [currentItemIndex]
370
- });
371
- }
372
- break;
373
- }
374
- case 'Tab':
375
- {
376
- if (allowMultiSelection && isShiftPressed) {
377
- const prevIndex = currentItemIndex - 1;
378
- if (prevIndex < 0 && selectedItemKeys?.size > 0) {
379
- setFocusedRowIndex(prevIndex);
380
- }
381
- } else {
382
- const nextIndex = currentItemIndex + 1;
383
- if (nextIndex === totalCount && selectedItemKeys.size > 0) {
384
- setFocusedRowIndex(totalCount - 1);
385
- }
386
- }
387
- break;
388
- }
389
- }
390
- }, [selectedItemKeys, subfolders, documents, allowMultiSelection, handleShiftSelection, updateSelections, navigateAfterSelection, clearSelections, totalCount]);
391
- const onItemClick = React.useCallback(({
392
- event: event_0,
393
- item: clickedItem
394
- }) => {
395
- let doubleClicked = false;
396
- const isCtrlPressed_0 = event_0.ctrlKey || event_0.metaKey;
397
- const isShiftPressed_0 = event_0.shiftKey;
398
- const isCurrentlySelected_0 = selectedItemKeys.has(clickedItem.itemKey);
399
- const allItems_3 = [...subfolders, ...documents];
400
- const currentItemIndex_0 = allItems_3.findIndex(item_4 => item_4.itemKey === clickedItem.itemKey);
401
- if (allowMultiSelection && isCtrlPressed_0) {
402
- event_0.preventDefault();
403
- let overlayItemKey;
404
- const indexes_0 = allItems_3.reduce((acc_3, item_5, idx_1) => {
405
- if (item_5.itemKey === clickedItem.itemKey) {
406
- if (isCurrentlySelected_0 && event_0.type !== 'pointermove') {
407
- return acc_3;
408
- } else {
409
- acc_3.push(idx_1);
410
- overlayItemKey = item_5.itemKey;
411
- }
412
- } else if (selectedItemKeys.has(item_5.itemKey)) {
413
- acc_3.push(idx_1);
414
- }
415
- return acc_3;
416
- }, []);
417
- updateSelections({
418
- indexes: indexes_0
419
- });
420
- if (overlayItemKey) {
421
- setDragOverlayItem(getItem(overlayItemKey));
422
- }
423
- } else if (allowMultiSelection && isShiftPressed_0) {
424
- if (currentItemIndex_0 !== -1) {
425
- const selectedIndexes_0 = handleShiftSelection(currentItemIndex_0);
426
- updateSelections({
427
- indexes: selectedIndexes_0
428
- });
429
- }
430
- } else if (allowMultiSelection && event_0.type === 'pointermove') {
431
- // on drag start of an unselected item
432
- if (!isCurrentlySelected_0) {
433
- updateSelections({
434
- indexes: allItems_3.reduce((acc_4, item_6, idx_2) => {
435
- if (item_6.itemKey === clickedItem.itemKey) {
436
- acc_4.push(idx_2);
437
- }
438
- return acc_4;
439
- }, [])
440
- });
441
- }
442
- setDragOverlayItem(getItem(clickedItem.itemKey));
443
- } else {
444
- // Normal click - select single item
445
- const now = Date.now();
446
- doubleClicked = now - lastClickTime.current < 400 && dragOverlayItem?.itemKey === clickedItem.itemKey;
447
- lastClickTime.current = now;
448
- if (!doubleClicked) {
449
- updateSelections({
450
- indexes: isCurrentlySelected_0 && selectedItemKeys.size === 1 ? [] : [currentItemIndex_0]
451
- });
452
- }
453
- setDragOverlayItem(getItem(clickedItem.itemKey));
454
- }
455
- if (doubleClicked) {
456
- navigateAfterSelection({
457
- collectionSlug: clickedItem.relationTo,
458
- docID: extractID(clickedItem.value)
459
- });
460
- }
461
- }, [selectedItemKeys, subfolders, documents, allowMultiSelection, dragOverlayItem, getItem, updateSelections, navigateAfterSelection, handleShiftSelection]);
462
- /**
463
- * Makes requests to the server to update the folder field on passed in documents
464
- *
465
- * Might rewrite this in the future to return the promises so errors can be handled contextually
466
- */
467
- const moveToFolder = React.useCallback(async args => {
468
- const {
469
- itemsToMove: items,
470
- toFolderID: toFolderID_0
471
- } = args;
472
- if (!items.length) {
473
- return;
474
- }
475
- const movingCurrentFolder = items.length === 1 && items[0].relationTo === folderCollectionSlug && items[0].value.id === folderID;
476
- if (movingCurrentFolder) {
477
- const queryParams_1 = qs.stringify({
478
- depth: 0,
479
- locale: localeCode
480
- }, {
481
- addQueryPrefix: true
482
- });
483
- const req = await fetch(formatAdminURL({
484
- apiRoute: routes.api,
485
- path: `/${folderCollectionSlug}/${folderID}${queryParams_1}`
486
- }), {
487
- body: JSON.stringify({
488
- [folderFieldName]: toFolderID_0 || null
489
- }),
490
- credentials: 'include',
491
- headers: {
492
- 'content-type': 'application/json'
493
- },
494
- method: 'PATCH'
495
- });
496
- if (req.status !== 200) {
497
- toast.error(t('general:error'));
498
- }
499
- } else {
500
- for (const [collectionSlug_1, ids] of Object.entries(groupItemIDsByRelation(items))) {
501
- const queryParams_2 = qs.stringify({
502
- depth: 0,
503
- limit: 0,
504
- locale: localeCode,
505
- where: {
506
- id: {
507
- in: ids
508
- }
509
- }
510
- }, {
511
- addQueryPrefix: true
512
- });
513
- try {
514
- await fetch(formatAdminURL({
515
- apiRoute: routes.api,
516
- path: `/${collectionSlug_1}${queryParams_2}`
517
- }), {
518
- body: JSON.stringify({
519
- [folderFieldName]: toFolderID_0 || null
520
- }),
521
- credentials: 'include',
522
- headers: {
523
- 'content-type': 'application/json'
524
- },
525
- method: 'PATCH'
526
- });
527
- } catch (error) {
528
- toast.error(t('general:error'));
529
- // eslint-disable-next-line no-console
530
- console.error(error);
531
- continue;
532
- }
533
- }
534
- }
535
- clearSelections();
536
- }, [folderID, clearSelections, folderCollectionSlug, folderFieldName, routes.api, t, localeCode]);
537
- const checkIfItemIsDisabled = React.useCallback(item_7 => {
538
- function folderAcceptsItem({
539
- item: item_8,
540
- selectedFolderCollections: selectedFolderCollections_0
541
- }) {
542
- if (!item_8.value.folderType || Array.isArray(item_8.value.folderType) && item_8.value.folderType.length === 0) {
543
- // Enable folder that accept all collections
544
- return false;
545
- }
546
- if (selectedFolderCollections_0.length === 0) {
547
- // If no collections are selected, enable folders that accept all collections
548
- return Boolean(item_8.value.folderType || item_8.value.folderType.length > 0);
549
- }
550
- // Disable folders that do not accept all of the selected collections
551
- return selectedFolderCollections_0.some(slug => {
552
- return !item_8.value.folderType.includes(slug);
553
- });
554
- }
555
- if (isDragging) {
556
- const isSelected = selectedItemKeys.has(item_7.itemKey);
557
- if (isSelected) {
558
- return true;
559
- } else if (item_7.relationTo === folderCollectionSlug) {
560
- return folderAcceptsItem({
561
- item: item_7,
562
- selectedFolderCollections
563
- });
564
- } else {
565
- // Non folder items are disabled on drag
566
- return true;
567
- }
568
- } else if (parentFolderContext?.selectedItemKeys?.size) {
569
- // Disable selected items from being navigated to in move to drawer
570
- if (parentFolderContext.selectedItemKeys.has(item_7.itemKey)) {
571
- return true;
572
- }
573
- // Moving items to folder
574
- if (item_7.relationTo === folderCollectionSlug) {
575
- return folderAcceptsItem({
576
- item: item_7,
577
- selectedFolderCollections: parentFolderContext.selectedFolderCollections
578
- });
579
- }
580
- // If the item is not a folder, it is disabled on move
581
- return true;
582
- }
583
- }, [selectedFolderCollections, isDragging, selectedItemKeys, folderCollectionSlug, parentFolderContext?.selectedFolderCollections, parentFolderContext?.selectedItemKeys]);
584
- // If a new component is provided, update the state so children can re-render with the new component
585
- React.useEffect(() => {
586
- if (InitialFolderResultsComponent) {
587
- setFolderResultsComponent(InitialFolderResultsComponent);
588
- }
589
- }, [InitialFolderResultsComponent]);
590
- return /*#__PURE__*/_jsx(Context, {
591
- value: {
592
- activeCollectionFolderSlugs: activeCollectionSlugs || allCollectionFolderSlugs,
593
- allCollectionFolderSlugs,
594
- allowCreateCollectionSlugs,
595
- breadcrumbs,
596
- checkIfItemIsDisabled,
597
- clearSelections,
598
- currentFolder: breadcrumbs?.[breadcrumbs.length - 1]?.id !== undefined ? formatFolderOrDocumentItem({
599
- folderFieldName,
600
- isUpload: false,
601
- relationTo: folderCollectionSlug,
602
- useAsTitle: folderCollectionConfig.admin.useAsTitle,
603
- value: breadcrumbs[breadcrumbs.length - 1]
604
- }) : null,
605
- documents,
606
- dragOverlayItem,
607
- focusedRowIndex,
608
- folderCollectionConfig,
609
- folderCollectionSlug,
610
- folderFieldName,
611
- folderID,
612
- FolderResultsComponent,
613
- folderType: breadcrumbs?.[breadcrumbs.length - 1]?.folderType,
614
- getFolderRoute,
615
- getSelectedItems,
616
- isDragging,
617
- itemKeysToMove: parentFolderContext.selectedItemKeys,
618
- moveToFolder,
619
- onItemClick,
620
- onItemKeyPress,
621
- refineFolderData,
622
- search,
623
- selectedFolderCollections,
624
- selectedItemKeys,
625
- setBreadcrumbs,
626
- setFocusedRowIndex,
627
- setIsDragging,
628
- sort,
629
- subfolders
630
- },
631
- children: children
632
- });
633
- }
634
- export function useFolder() {
635
- const context = React.use(Context);
636
- if (context === undefined) {
637
- throw new Error('useFolder must be used within a FolderProvider');
638
- }
639
- return context;
640
- }
641
- //# sourceMappingURL=index.js.map